@argusoft/medplat-core 1.0.30 → 1.0.32

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 (226) hide show
  1. package/dist/{AccessRights-xrday-L1.js → AccessRights-DBjTQA1-.js} +395 -390
  2. package/dist/AccessRights-DBjTQA1-.js.map +1 -0
  3. package/dist/{AddFeatures-D1sU8RjY.js → AddFeatures-COj4ZTIM.js} +2 -2
  4. package/dist/{AddFeatures-D1sU8RjY.js.map → AddFeatures-COj4ZTIM.js.map} +1 -1
  5. package/dist/AddMenuConfiguration-Creeib5X.js +11223 -0
  6. package/dist/AddMenuConfiguration-Creeib5X.js.map +1 -0
  7. package/dist/AddMenuConfiguration.css +1 -1
  8. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js → BrandsPage-CdcAvaml-ZtVTX6vX.js} +43 -43
  9. package/dist/{BrandsPage-DmRW5bhm-Bk1szrjI.js.map → BrandsPage-CdcAvaml-ZtVTX6vX.js.map} +1 -1
  10. package/dist/{CategoriesPage-BsS5IQh3-B03lWRY5.js → CategoriesPage-BprQEYJw-CclreTv1.js} +109 -102
  11. package/dist/CategoriesPage-BprQEYJw-CclreTv1.js.map +1 -0
  12. package/dist/{ChangePasswordModalCore-BPsJquTS.js → ChangePasswordModalCore-DZGOkbRY.js} +3 -3
  13. package/dist/{ChangePasswordModalCore-BPsJquTS.js.map → ChangePasswordModalCore-DZGOkbRY.js.map} +1 -1
  14. package/dist/ConditionConfig-Bpm6OoV5.js +408 -0
  15. package/dist/ConditionConfig-Bpm6OoV5.js.map +1 -0
  16. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js → DashboardPage-CTiGSx71-CsYohJ5e.js} +32 -32
  17. package/dist/{DashboardPage-C3bKc5na-sBd9Yqbi.js.map → DashboardPage-CTiGSx71-CsYohJ5e.js.map} +1 -1
  18. package/dist/EntityManagement-BGwJGl9k.js +62 -0
  19. package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
  20. package/dist/EventConfig-BY2cgGyx.js +27 -0
  21. package/dist/{EventConfig-BmLemzX3.js.map → EventConfig-BY2cgGyx.js.map} +1 -1
  22. package/dist/EventConfigurations-B-z7xHh_.js +544 -0
  23. package/dist/EventConfigurations-B-z7xHh_.js.map +1 -0
  24. package/dist/EventConfigurations.css +1 -1
  25. package/dist/EventsExceptionModal-DafomIv6.js +188 -0
  26. package/dist/EventsExceptionModal-DafomIv6.js.map +1 -0
  27. package/dist/EventsUi-Dl_yckSA.js +263 -0
  28. package/dist/EventsUi-Dl_yckSA.js.map +1 -0
  29. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js +112 -0
  30. package/dist/FacilityPicker-BXa2VF7i-Dab_Jwa5.js.map +1 -0
  31. package/dist/{FeatureMenu-DYJmDt7q.js → FeatureMenu-Kc73yPHH.js} +9 -5
  32. package/dist/FeatureMenu-Kc73yPHH.js.map +1 -0
  33. package/dist/{FhirServerList-DuTwnngN.js → FhirServerList-CrIHMAxz.js} +16 -16
  34. package/dist/{FhirServerList-DuTwnngN.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  35. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  36. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  37. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  38. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  39. package/dist/{GrantPermissionModal-BDN66Atn.js → GrantPermissionModal-D7iNZd0M.js} +54 -51
  40. package/dist/GrantPermissionModal-D7iNZd0M.js.map +1 -0
  41. package/dist/ImmunizationConfigurationBase-lKsJZMak.js +8060 -0
  42. package/dist/ImmunizationConfigurationBase-lKsJZMak.js.map +1 -0
  43. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js +1017 -0
  44. package/dist/InventoryPage-JadYMCzU-CzJQfQ2A.js.map +1 -0
  45. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  46. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  47. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  48. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  49. package/dist/ManageEventConfiguration-DqPbn3Oi.js +1216 -0
  50. package/dist/ManageEventConfiguration-DqPbn3Oi.js.map +1 -0
  51. package/dist/ManageEventConfiguration.css +1 -1
  52. package/dist/ManageRole-CyfpySt9.js +981 -0
  53. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  54. package/dist/{ManageUser-DCFkUMV9.js → ManageUser-Dm0l833u.js} +286 -286
  55. package/dist/{ManageUser-DCFkUMV9.js.map → ManageUser-Dm0l833u.js.map} +1 -1
  56. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js → MemberProfileCard-01d_jz3w-DYHtbgMX.js} +46 -46
  57. package/dist/{MemberProfileCard-BdUNgHRB-VywqQdFF.js.map → MemberProfileCard-01d_jz3w-DYHtbgMX.js.map} +1 -1
  58. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  59. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  60. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  61. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  62. package/dist/MobileTypeEventConfigModal-DodU3beR.js +752 -0
  63. package/dist/MobileTypeEventConfigModal-DodU3beR.js.map +1 -0
  64. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  65. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  66. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  67. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  68. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js} +58 -58
  69. package/dist/{PaymentCreatePage-CIVe0P0p-25BQVpOX.js.map → PaymentCreatePage-D6NZBUC3-DxXf2kvH.js.map} +1 -1
  70. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js → PaymentsPage-CHieGNrn-BnYCtqHd.js} +37 -37
  71. package/dist/{PaymentsPage-BvPe5Q9F-D2gfziwW.js.map → PaymentsPage-CHieGNrn-BnYCtqHd.js.map} +1 -1
  72. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  73. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  74. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js} +2 -2
  75. package/dist/{PickupBatchLinesEditor-DHmcAG23-DL2p6IKJ.js.map → PickupBatchLinesEditor-QPaqFtUO-CY7BShYh.js.map} +1 -1
  76. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js +801 -0
  77. package/dist/PickupCreatePage-C7_67u_u-OId8-e2a.js.map +1 -0
  78. package/dist/{PickupsPage-Ctpghavs-CUp4uIZq.js → PickupsPage-BWblMlic-CWkgeBw0.js} +132 -132
  79. package/dist/PickupsPage-BWblMlic-CWkgeBw0.js.map +1 -0
  80. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js +641 -0
  81. package/dist/PmGuard-BvUUbU80-BpYNaDzl.js.map +1 -0
  82. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js +1523 -0
  83. package/dist/ProductEditPage-Dbq4vUAA-BoBmTPPL.js.map +1 -0
  84. package/dist/{ProductsPage-CupVmOD4-D45a_hf-.js → ProductsPage-BI22nPb4-CQBjnc-n.js} +44 -43
  85. package/dist/ProductsPage-BI22nPb4-CQBjnc-n.js.map +1 -0
  86. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js +724 -0
  87. package/dist/PurchaseCreatePage-C0EK9z4w-BQMTsjE7.js.map +1 -0
  88. package/dist/{PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js → PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js} +428 -418
  89. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CWZPqzt9.js.map +1 -0
  90. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js} +65 -65
  91. package/dist/{PurchaseRequestsPage-DPAPzpmm-mDH2IrTl.js.map → PurchaseRequestsPage-Bj9HUMxb-B7-AxT8m.js.map} +1 -1
  92. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js → PurchasesPage-Djl1AqD_-DXeYFMrX.js} +55 -55
  93. package/dist/{PurchasesPage-It1GHiXl-eH4IsF_U.js.map → PurchasesPage-Djl1AqD_-DXeYFMrX.js.map} +1 -1
  94. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  95. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  96. package/dist/Roles-BoNGJhtR.js +19 -0
  97. package/dist/Roles-BoNGJhtR.js.map +1 -0
  98. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js → SaleCreatePage-DHBLmlBr-BlgjVsq6.js} +39 -39
  99. package/dist/{SaleCreatePage-C9kFmTvm-B3Y0o4CX.js.map → SaleCreatePage-DHBLmlBr-BlgjVsq6.js.map} +1 -1
  100. package/dist/{SalesPage-D18DCseD-BxktGDRQ.js → SalesPage-eF9Yr42z-BQ9FlXC3.js} +61 -61
  101. package/dist/{SalesPage-D18DCseD-BxktGDRQ.js.map → SalesPage-eF9Yr42z-BQ9FlXC3.js.map} +1 -1
  102. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js +741 -0
  103. package/dist/SettingsPage-Cre-UE3r-9ntnLYsQ.js.map +1 -0
  104. package/dist/{ShowFlywayQuery-D1y_4A1u.js → ShowFlywayQuery-DIOUdYfG.js} +26 -19
  105. package/dist/{ShowFlywayQuery-D1y_4A1u.js.map → ShowFlywayQuery-DIOUdYfG.js.map} +1 -1
  106. package/dist/{StorageUnitsPage-7EqwuMOI-BwUso1Th.js → StorageUnitsPage-CTEVuemZ-B4osG74N.js} +253 -223
  107. package/dist/StorageUnitsPage-CTEVuemZ-B4osG74N.js.map +1 -0
  108. package/dist/{SubMenu-eEDhZUvh.js → SubMenu-OO2zhKiu.js} +5 -3
  109. package/dist/SubMenu-OO2zhKiu.js.map +1 -0
  110. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  111. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  112. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  113. package/dist/TableList-B5tX4wII.js.map +1 -0
  114. package/dist/{TransactionsPage-DrH53pVS-BkhIGB6C.js → TransactionsPage-Zuu7sjID-B-ACzvd1.js} +195 -180
  115. package/dist/TransactionsPage-Zuu7sjID-B-ACzvd1.js.map +1 -0
  116. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js +635 -0
  117. package/dist/TransferCreatePage-DlT0nCDj-B2SdPgYB.js.map +1 -0
  118. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js +600 -0
  119. package/dist/TransfersPage-DqaSvHda-G2tFa5Jq.js.map +1 -0
  120. package/dist/TypeConfiguration-EaFiOzRE.js +114 -0
  121. package/dist/TypeConfiguration-EaFiOzRE.js.map +1 -0
  122. package/dist/UserList-Cf5B-o_1.js +1904 -0
  123. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  124. package/dist/Users-MC7txo1V.js +43 -0
  125. package/dist/{Users-Bpc4Sazd.js.map → Users-MC7txo1V.js.map} +1 -1
  126. package/dist/VaccineEducation-T_UE57Ef.js +231 -0
  127. package/dist/VaccineEducation-T_UE57Ef.js.map +1 -0
  128. package/dist/VaccineEducation.css +1 -0
  129. package/dist/VaccineEducationConfigurator-CWc20_rv.js +50948 -0
  130. package/dist/VaccineEducationConfigurator-CWc20_rv.js.map +1 -0
  131. package/dist/VaccineEducationConfigurator.css +4 -0
  132. package/dist/VaccineEducationList-Ok7_5EFb.js +334 -0
  133. package/dist/VaccineEducationList-Ok7_5EFb.js.map +1 -0
  134. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js +457 -0
  135. package/dist/VialsPage-LoDaUqVv-DmMXbK8j.js.map +1 -0
  136. package/dist/{constants-ClZJY2x1-MkSWn6TZ.js → constants-BTpJFQe_-CYPZIqQF.js} +166 -56
  137. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  138. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  139. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  140. package/dist/index-mfoqII2U.js +524 -0
  141. package/dist/index-mfoqII2U.js.map +1 -0
  142. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  143. package/dist/index-o8Pyt1Bt.js.map +1 -0
  144. package/dist/index.css +1 -1
  145. package/dist/index.js +1 -1
  146. package/dist/index.lib-BySa9-Z-.js +936 -0
  147. package/dist/index.lib-BySa9-Z-.js.map +1 -0
  148. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js +43 -0
  149. package/dist/listValueStore-5d4vNGQM-WclZ5nBG.js.map +1 -0
  150. package/package.json +5 -1
  151. package/dist/AccessRights-xrday-L1.js.map +0 -1
  152. package/dist/AddMenuConfiguration-e5BVXhmw.js +0 -8547
  153. package/dist/AddMenuConfiguration-e5BVXhmw.js.map +0 -1
  154. package/dist/CategoriesPage-BsS5IQh3-B03lWRY5.js.map +0 -1
  155. package/dist/ConditionConfig-Ddz9halE.js +0 -395
  156. package/dist/ConditionConfig-Ddz9halE.js.map +0 -1
  157. package/dist/ConditionConfig.css +0 -1
  158. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  159. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  160. package/dist/EventConfig-BmLemzX3.js +0 -26
  161. package/dist/EventConfigurations-Bzh1qWXU.js +0 -450
  162. package/dist/EventConfigurations-Bzh1qWXU.js.map +0 -1
  163. package/dist/EventsExceptionModal-B2SRrnB1.js +0 -200
  164. package/dist/EventsExceptionModal-B2SRrnB1.js.map +0 -1
  165. package/dist/EventsSkeleton-BIcPks4T.js +0 -61
  166. package/dist/EventsSkeleton-BIcPks4T.js.map +0 -1
  167. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js +0 -79
  168. package/dist/FacilityPicker-BiZeupmP-CyPHmj6b.js.map +0 -1
  169. package/dist/FeatureMenu-DYJmDt7q.js.map +0 -1
  170. package/dist/GrantPermissionModal-BDN66Atn.js.map +0 -1
  171. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js +0 -7639
  172. package/dist/ImmunizationConfigurationBase-Di1KO3oW.js.map +0 -1
  173. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js +0 -665
  174. package/dist/InventoryPage-C_AxSy7A-QLvlL4rE.js.map +0 -1
  175. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  176. package/dist/ManageEventConfiguration-CoYcpjR9.js +0 -1085
  177. package/dist/ManageEventConfiguration-CoYcpjR9.js.map +0 -1
  178. package/dist/ManageRole-CNZBRKGU.js +0 -776
  179. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  180. package/dist/MobileAnalytics-pQoE8cG1.js +0 -16888
  181. package/dist/MobileAnalytics-pQoE8cG1.js.map +0 -1
  182. package/dist/MobileMenuManagement-Cf8IZlla.js +0 -108
  183. package/dist/MobileMenuManagement-Cf8IZlla.js.map +0 -1
  184. package/dist/MobileTypeEventConfigModal-BeveaX0C.js +0 -783
  185. package/dist/MobileTypeEventConfigModal-BeveaX0C.js.map +0 -1
  186. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  187. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js +0 -2046
  188. package/dist/OtherTypeEventConfigModal-CM6VkdmY.js.map +0 -1
  189. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  190. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js +0 -783
  191. package/dist/PickupCreatePage-CB0Sl0Hb-Mmj7zESG.js.map +0 -1
  192. package/dist/PickupsPage-Ctpghavs-CUp4uIZq.js.map +0 -1
  193. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js +0 -599
  194. package/dist/PmGuard-b10TGXEi-G3N0G_Wg.js.map +0 -1
  195. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js +0 -1302
  196. package/dist/ProductEditPage-C1thoKHu-URQaZ6st.js.map +0 -1
  197. package/dist/ProductsPage-CupVmOD4-D45a_hf-.js.map +0 -1
  198. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js +0 -648
  199. package/dist/PurchaseCreatePage-YD3NmhPQ-2j4etSjM.js.map +0 -1
  200. package/dist/PurchaseRequestDetailPage-Dg_MRY_N-D1bgTEAn.js.map +0 -1
  201. package/dist/Roles-BIyiic67.js +0 -14
  202. package/dist/Roles-BIyiic67.js.map +0 -1
  203. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js +0 -747
  204. package/dist/SettingsPage-VsxI-ano-DcmtUUEj.js.map +0 -1
  205. package/dist/StorageUnitsPage-7EqwuMOI-BwUso1Th.js.map +0 -1
  206. package/dist/SubMenu-eEDhZUvh.js.map +0 -1
  207. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  208. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  209. package/dist/TransactionsPage-DrH53pVS-BkhIGB6C.js.map +0 -1
  210. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js +0 -315
  211. package/dist/TransferCreatePage-CuvoMrYH-DTTfHjz-.js.map +0 -1
  212. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js +0 -476
  213. package/dist/TransfersPage-Cf701t8s-BBbN7cBf.js.map +0 -1
  214. package/dist/TypeConfiguration-3O6ABrK-.js +0 -117
  215. package/dist/TypeConfiguration-3O6ABrK-.js.map +0 -1
  216. package/dist/UserList-DgPxsnj2.js +0 -1129
  217. package/dist/UserList-DgPxsnj2.js.map +0 -1
  218. package/dist/Users-Bpc4Sazd.js +0 -41
  219. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js +0 -321
  220. package/dist/VialsPage-8oAc1yFv-Cl3FUXBJ.js.map +0 -1
  221. package/dist/constants-ClZJY2x1-MkSWn6TZ.js.map +0 -1
  222. package/dist/dashboardLayoutUtils-D1xCAxp3.js +0 -405
  223. package/dist/dashboardLayoutUtils-D1xCAxp3.js.map +0 -1
  224. package/dist/index-D9YNFPn9.js.map +0 -1
  225. package/dist/index.lib-Dn8PMkeD.js +0 -862
  226. package/dist/index.lib-Dn8PMkeD.js.map +0 -1
@@ -0,0 +1,231 @@
1
+ import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
+ import { api as B } from "@/common/interceptors/AxiosInterceptor";
3
+ import { showToast as J } from "@/common/toaster/toaster";
4
+ import { Box as o, Card as q, Typography as g, Paper as E, InputAdornment as S, IconButton as G, Button as w } from "@mui/material";
5
+ import $ from "@mui/material/Grid2";
6
+ import u from "prop-types";
7
+ import { useState as h, useEffect as L, useMemo as U } from "react";
8
+ import { useNavigate as H } from "react-router";
9
+ import p from "@/common/fontAwesomeIcons/FontAwesomeIcons";
10
+ import { useTranslateProvider as O } from "@/common/languageTranslator/TranslationContext";
11
+ import X from "@/views/custom-components/CustomizedTable/CustomizedTableV2";
12
+ import Y from "@/views/custom-components/DebouncedSearchInput";
13
+ import { c as K } from "./dashboardLayoutUtils--xUnoKPa.js";
14
+ import { getAssignedFeatures as Q } from "@/utils/feature";
15
+ import T from "@/common/services/util/GeneralUtil";
16
+ const V = "/mobilemenu/v2", Z = {
17
+ getMobileMenuList: () => B.get(V + "/list")
18
+ }, y = ({ icon: s, title: x, body: a, action: c, dataTestId: m }) => /* @__PURE__ */ f(
19
+ o,
20
+ {
21
+ "data-testid": m,
22
+ sx: {
23
+ display: "flex",
24
+ flexDirection: "column",
25
+ alignItems: "center",
26
+ justifyContent: "center",
27
+ textAlign: "center",
28
+ gap: 1,
29
+ px: 3,
30
+ py: 8
31
+ },
32
+ children: [
33
+ /* @__PURE__ */ e(o, { sx: { color: "text.disabled" }, children: /* @__PURE__ */ e(p, { iconName: s, size: "2x" }) }),
34
+ /* @__PURE__ */ e(g, { variant: "subtitle1", sx: { fontWeight: 700 }, children: x }),
35
+ a && /* @__PURE__ */ e(g, { variant: "body2", color: "text.secondary", sx: { maxWidth: 440 }, children: a }),
36
+ c
37
+ ]
38
+ }
39
+ );
40
+ y.propTypes = {
41
+ icon: u.string,
42
+ title: u.node,
43
+ body: u.node,
44
+ action: u.node,
45
+ dataTestId: u.string
46
+ };
47
+ function pe() {
48
+ const [s, x] = h([]), [a, c] = h(""), [m, M] = h(!0), [i, k] = h(null), [P, C] = h(!0), I = H(), A = T.hasCheckRights(i == null ? void 0 : i["update.admin.mobileMenuManagement"]), { translate: n } = O(), R = [
49
+ { field: "Sr. No.", label: "#", align: "left" },
50
+ { field: "name", label: n("Role Name"), align: "left", minWidth: 220, isBold: !0 },
51
+ { field: "features", label: n("Features"), align: "left", minWidth: 340 },
52
+ { field: "Actions", label: n("Actions"), align: "left", minWidth: 110 }
53
+ ], z = (t) => {
54
+ const r = `addMenuConfiguration?${new URLSearchParams({ id: t.id }).toString()}`;
55
+ I(r, { state: { mobileMenuList: t, roleId: t.roleId } });
56
+ }, W = (t) => [
57
+ {
58
+ icon: /* @__PURE__ */ e(p, { iconName: "faPen" }),
59
+ ariaLabel: `${n("Edit menu configuration for")} ${(t == null ? void 0 : t.name) ?? ""}`,
60
+ onClick: z,
61
+ dataTestId: "mobilemenumanagement-edit-action"
62
+ }
63
+ ];
64
+ L(() => {
65
+ (async () => (C(!0), await D(), C(!1)))();
66
+ }, []), L(() => {
67
+ (async () => {
68
+ try {
69
+ const { data: t } = await Q("techo.admin.mobileMenuManagement");
70
+ k(JSON.parse(t));
71
+ } catch (t) {
72
+ console.error(t);
73
+ }
74
+ })();
75
+ }, []);
76
+ const D = async () => {
77
+ try {
78
+ M(!0);
79
+ const r = ((await Z.getMobileMenuList()).data || []).map((l) => {
80
+ let b = {};
81
+ try {
82
+ b = typeof l.configJson == "string" ? JSON.parse(l.configJson) : l.configJson || {};
83
+ } catch {
84
+ b = {};
85
+ }
86
+ const F = K(b), j = [...new Set(F)].join(", ");
87
+ return {
88
+ id: l.id,
89
+ roleId: l.roleId,
90
+ name: l.roleName,
91
+ features: j,
92
+ configJson: b
93
+ };
94
+ });
95
+ x(r);
96
+ } catch (t) {
97
+ J({
98
+ message: n("Could not load the mobile menu configurations. Try again in a moment."),
99
+ type: "error"
100
+ }), console.error(t);
101
+ } finally {
102
+ M(!1);
103
+ }
104
+ }, v = U(() => {
105
+ const t = a.trim().toLowerCase();
106
+ return t ? s.filter((d) => {
107
+ var r;
108
+ return (r = d.name) == null ? void 0 : r.toLowerCase().includes(t);
109
+ }) : s;
110
+ }, [s, a]), N = (t, d = "contained") => /* @__PURE__ */ e(
111
+ w,
112
+ {
113
+ size: "small",
114
+ variant: d,
115
+ onClick: () => I("addMenuConfiguration"),
116
+ startIcon: /* @__PURE__ */ e(p, { iconName: "faPlus" }),
117
+ "data-testid": t,
118
+ children: n("Add configuration")
119
+ }
120
+ );
121
+ return !P && i !== null && !T.hasCheckRights(i == null ? void 0 : i["view.admin.mobileMenuManagement"]) ? /* @__PURE__ */ e(o, { sx: { display: "flex", justifyContent: "center", alignItems: "center", width: "100%", height: "80vh" }, children: /* @__PURE__ */ e(q, { sx: { height: 320, width: 600, display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ e(g, { variant: "h5", className: "text-customBlue", children: "You dont have permission to view Mobile Menu Management" }) }) }) : /* @__PURE__ */ e($, { "data-testid": "mobilemenumanagement-container", children: /* @__PURE__ */ e(
122
+ E,
123
+ {
124
+ elevation: 0,
125
+ sx: {
126
+ p: { xs: 2.5, md: 3 },
127
+ mt: 2,
128
+ mb: 3,
129
+ border: "1px solid",
130
+ borderColor: "divider",
131
+ borderRadius: (t) => `${t.shape.cardRadius}px`,
132
+ backgroundColor: "background.paper"
133
+ },
134
+ children: /* @__PURE__ */ f(o, { sx: { display: "flex", flexDirection: "column", gap: 3 }, children: [
135
+ /* @__PURE__ */ f(
136
+ o,
137
+ {
138
+ sx: {
139
+ display: "flex",
140
+ justifyContent: "space-between",
141
+ alignItems: "flex-start",
142
+ flexWrap: "wrap",
143
+ gap: 2
144
+ },
145
+ children: [
146
+ /* @__PURE__ */ f(o, { sx: { minWidth: { xs: "100%", lg: "40%" } }, children: [
147
+ /* @__PURE__ */ e(
148
+ g,
149
+ {
150
+ variant: "h5",
151
+ component: "h1",
152
+ sx: { fontWeight: 800, color: "text.primary", mb: 0.5 },
153
+ children: n("Mobile Menu Management")
154
+ }
155
+ ),
156
+ /* @__PURE__ */ e(g, { variant: "body2", color: "text.secondary", children: n(
157
+ "Decide what each role sees on the mobile home screen: menu blocks, dashboards and shortcuts."
158
+ ) })
159
+ ] }),
160
+ /* @__PURE__ */ f(o, { sx: { display: "flex", alignItems: "center", gap: 1.5, flexWrap: "wrap" }, children: [
161
+ /* @__PURE__ */ e(
162
+ Y,
163
+ {
164
+ value: a,
165
+ onChange: c,
166
+ placeholder: n("Search Role"),
167
+ autoFocus: !1,
168
+ size: "small",
169
+ "data-testid": "mobilemenumanagement-search-textfield",
170
+ sx: { width: { xs: "100%", sm: 240 } },
171
+ slotProps: { htmlInput: { "aria-label": n("Search Role") } },
172
+ inputProps: {
173
+ startAdornment: /* @__PURE__ */ e(S, { position: "start", children: /* @__PURE__ */ e(o, { sx: { color: "text.disabled", display: "flex" }, children: /* @__PURE__ */ e(p, { iconName: "faMagnifyingGlass", size: "sm" }) }) }),
174
+ endAdornment: a ? /* @__PURE__ */ e(S, { position: "end", children: /* @__PURE__ */ e(
175
+ G,
176
+ {
177
+ size: "small",
178
+ "aria-label": n("Clear search"),
179
+ onClick: () => c(""),
180
+ children: /* @__PURE__ */ e(p, { iconName: "faXmark", size: "sm" })
181
+ }
182
+ ) }) : null
183
+ }
184
+ }
185
+ ),
186
+ A && N("mobilemenumanagement-add-button")
187
+ ] })
188
+ ]
189
+ }
190
+ ),
191
+ !m && v.length === 0 && a ? /* @__PURE__ */ e(
192
+ y,
193
+ {
194
+ icon: "faMagnifyingGlass",
195
+ title: n("No roles match your search"),
196
+ body: n("Search matches the role name. Check the spelling, or try a shorter term."),
197
+ action: /* @__PURE__ */ e(w, { variant: "text", size: "small", onClick: () => c(""), children: n("Clear search") }),
198
+ dataTestId: "mobilemenumanagement-no-results"
199
+ }
200
+ ) : !m && s.length === 0 ? /* @__PURE__ */ e(
201
+ y,
202
+ {
203
+ icon: "faMobileScreenButton",
204
+ title: n("No mobile menus configured yet"),
205
+ body: n(
206
+ "Add a configuration to choose which blocks a role sees when it opens the mobile app."
207
+ ),
208
+ action: N("mobilemenumanagement-empty-add-button", "text"),
209
+ dataTestId: "mobilemenumanagement-empty"
210
+ }
211
+ ) : /* @__PURE__ */ e(
212
+ X,
213
+ {
214
+ columns: R,
215
+ tableData: v,
216
+ actions: W,
217
+ isLoading: m,
218
+ disableHtml: !0,
219
+ showFullContent: !1,
220
+ styleConfig: { tableStyle: { maxHeight: 65 }, cellStyle: { maxLines: 2 } },
221
+ dataTestId: "mobilemenumanagement-customizedtable"
222
+ }
223
+ )
224
+ ] })
225
+ }
226
+ ) });
227
+ }
228
+ export {
229
+ pe as default
230
+ };
231
+ //# sourceMappingURL=MobileMenuManagement-BmzTPXy7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileMenuManagement-BmzTPXy7.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 {\n Box,\n Button,\n Card,\n IconButton,\n InputAdornment,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TextField,\n Typography,\n} 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';\nimport { getAssignedFeatures } from '@/utils/feature';\nimport GeneralUtil from '@/common/services/util/GeneralUtil';\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 const [rights, setRights] = useState(null);\n const [loading, setLoading] = useState(true);\n\n const navigate = useNavigate();\n const canUpdate = GeneralUtil.hasCheckRights(rights?.['update.admin.mobileMenuManagement']);\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 setLoading(true);\n await fetchMenuRelations();\n setLoading(false);\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n try {\n const { data } = await getAssignedFeatures('techo.admin.mobileMenuManagement');\n setRights(JSON.parse(data));\n } catch (error) {\n console.error(error);\n }\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 = typeof item.configJson === 'string' ? JSON.parse(item.configJson) : 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 if (!loading && rights !== null && !GeneralUtil.hasCheckRights(rights?.['view.admin.mobileMenuManagement'])) {\n return (\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width: '100%', height: '80vh' }}>\n <Card sx={{ height: 320, width: 600, display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <Typography variant=\"h5\" className=\"text-customBlue\">\n You dont have permission to view Mobile Menu Management\n </Typography>\n </Card>\n </Box>\n );\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 {canUpdate && (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","rights","setRights","loading","setLoading","navigate","useNavigate","canUpdate","GeneralUtil","translate","useTranslateProvider","columns","handleEdit","row","url","actions","useEffect","fetchMenuRelations","data","getAssignedFeatures","error","formattedData","item","config","allFeatureNames","collectFeatureNamesFromLayout","featureSummary","showToast","filteredList","useMemo","term","_a","addConfigurationButton","variant","Button","Card","Grid","Paper","DebouncedSearchInput","InputAdornment","IconButton","CustomizedTable"],"mappings":"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"}