@argusoft/medplat-core 1.0.31 → 1.0.33

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 (218) hide show
  1. package/dist/AccessRights-BC43Jhml.js +1093 -0
  2. package/dist/AccessRights-BC43Jhml.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-DMw2vT0u-BVhvhc6J.js → BrandsPage-CdcAvaml-CYT80CMH.js} +45 -45
  9. package/dist/{BrandsPage-DMw2vT0u-BVhvhc6J.js.map → BrandsPage-CdcAvaml-CYT80CMH.js.map} +1 -1
  10. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js → CategoriesPage-BprQEYJw-BRAukJB1.js} +43 -43
  11. package/dist/{CategoriesPage-D3ihx9Gi-CT58g0ry.js.map → CategoriesPage-BprQEYJw-BRAukJB1.js.map} +1 -1
  12. package/dist/ChangePasswordModalCore-rypTxA2O.js +238 -0
  13. package/dist/ChangePasswordModalCore-rypTxA2O.js.map +1 -0
  14. package/dist/{ConditionConfig-BQBmBHaM.js → ConditionConfig-Bpm6OoV5.js} +3 -3
  15. package/dist/{ConditionConfig-BQBmBHaM.js.map → ConditionConfig-Bpm6OoV5.js.map} +1 -1
  16. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js → DashboardPage-CTiGSx71-DX-TzGOH.js} +29 -29
  17. package/dist/{DashboardPage-asr2XDRu-uOOlX9Vq.js.map → DashboardPage-CTiGSx71-DX-TzGOH.js.map} +1 -1
  18. package/dist/EntityManagement-BGwJGl9k.js +62 -0
  19. package/dist/EntityManagement-BGwJGl9k.js.map +1 -0
  20. package/dist/{EventConfigurations-CUPEN5BV.js → EventConfigurations-B-z7xHh_.js} +3 -3
  21. package/dist/{EventConfigurations-CUPEN5BV.js.map → EventConfigurations-B-z7xHh_.js.map} +1 -1
  22. package/dist/{EventsExceptionModal-BX-ArkBE.js → EventsExceptionModal-DafomIv6.js} +2 -2
  23. package/dist/{EventsExceptionModal-BX-ArkBE.js.map → EventsExceptionModal-DafomIv6.js.map} +1 -1
  24. package/dist/{EventsUi-D6O9S7BK.js → EventsUi-Dl_yckSA.js} +37 -32
  25. package/dist/EventsUi-Dl_yckSA.js.map +1 -0
  26. package/dist/FacilityPicker-BXa2VF7i-D0JUIqLv.js +112 -0
  27. package/dist/FacilityPicker-BXa2VF7i-D0JUIqLv.js.map +1 -0
  28. package/dist/FaqList-CeDEuhU_.js +237 -0
  29. package/dist/FaqList-CeDEuhU_.js.map +1 -0
  30. package/dist/FaqSkeletons-hLCEcRr-.js +19 -0
  31. package/dist/FaqSkeletons-hLCEcRr-.js.map +1 -0
  32. package/dist/FaqView-sDzBVyXV.js +617 -0
  33. package/dist/FaqView-sDzBVyXV.js.map +1 -0
  34. package/dist/{FeatureMenu-CHsBbw3W.js → FeatureMenu-CaI-ZhSZ.js} +2 -2
  35. package/dist/{FeatureMenu-CHsBbw3W.js.map → FeatureMenu-CaI-ZhSZ.js.map} +1 -1
  36. package/dist/{FhirServerList-iXBPkRVF.js → FhirServerList-CrIHMAxz.js} +19 -19
  37. package/dist/{FhirServerList-iXBPkRVF.js.map → FhirServerList-CrIHMAxz.js.map} +1 -1
  38. package/dist/{FhirServerProfile-CUOwC6Wb.js → FhirServerProfile-D3aYcpwY.js} +8 -8
  39. package/dist/{FhirServerProfile-CUOwC6Wb.js.map → FhirServerProfile-D3aYcpwY.js.map} +1 -1
  40. package/dist/{FhirServerWizard-DZI8Olku.js → FhirServerWizard-Db6Hm4bQ.js} +15 -15
  41. package/dist/{FhirServerWizard-DZI8Olku.js.map → FhirServerWizard-Db6Hm4bQ.js.map} +1 -1
  42. package/dist/{ImmunizationConfigurationBase-aUtx0JEe.js → ImmunizationConfigurationBase-Clkk0-n6.js} +2638 -2577
  43. package/dist/ImmunizationConfigurationBase-Clkk0-n6.js.map +1 -0
  44. package/dist/InventoryPage-JadYMCzU-CWcCauMI.js +1017 -0
  45. package/dist/InventoryPage-JadYMCzU-CWcCauMI.js.map +1 -0
  46. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js +1344 -0
  47. package/dist/LocationWiseExpectedTargetPage-CjKk1aTF.js.map +1 -0
  48. package/dist/{ManageDynamicFeature-BU0I45dd.js → ManageDynamicFeature-CuyYfx_P.js} +104 -97
  49. package/dist/ManageDynamicFeature-CuyYfx_P.js.map +1 -0
  50. package/dist/{ManageEventConfiguration-DqW3krT6.js → ManageEventConfiguration-DqPbn3Oi.js} +5 -5
  51. package/dist/{ManageEventConfiguration-DqW3krT6.js.map → ManageEventConfiguration-DqPbn3Oi.js.map} +1 -1
  52. package/dist/ManageFaq-4cT6bntx.js +1583 -0
  53. package/dist/ManageFaq-4cT6bntx.js.map +1 -0
  54. package/dist/ManageFaq.css +1 -0
  55. package/dist/ManageRole-CyfpySt9.js +981 -0
  56. package/dist/ManageRole-CyfpySt9.js.map +1 -0
  57. package/dist/{ManageUser-DZltBina.js → ManageUser-DchUMAyC.js} +172 -172
  58. package/dist/{ManageUser-DZltBina.js.map → ManageUser-DchUMAyC.js.map} +1 -1
  59. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js → MemberProfileCard-01d_jz3w-CQi_zu6x.js} +37 -37
  60. package/dist/{MemberProfileCard-D5CgkTdJ-D2NgDJl3.js.map → MemberProfileCard-01d_jz3w-CQi_zu6x.js.map} +1 -1
  61. package/dist/MobileAnalytics-C9oc2yAo.js +18399 -0
  62. package/dist/MobileAnalytics-C9oc2yAo.js.map +1 -0
  63. package/dist/MobileMenuManagement-BmzTPXy7.js +231 -0
  64. package/dist/MobileMenuManagement-BmzTPXy7.js.map +1 -0
  65. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js → MobileTypeEventConfigModal-DodU3beR.js} +3 -3
  66. package/dist/{MobileTypeEventConfigModal-CMcj7Ozp.js.map → MobileTypeEventConfigModal-DodU3beR.js.map} +1 -1
  67. package/dist/{NewServerManagement-Cxe0dV0O.js → NewServerManagement-BdayO78D.js} +368 -352
  68. package/dist/NewServerManagement-BdayO78D.js.map +1 -0
  69. package/dist/OtherTypeEventConfigModal-D_9S50aI.js +1414 -0
  70. package/dist/OtherTypeEventConfigModal-D_9S50aI.js.map +1 -0
  71. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js → PaymentCreatePage-D6NZBUC3-_98S21Sa.js} +56 -56
  72. package/dist/{PaymentCreatePage-DfvSZ-kB-CckogYoe.js.map → PaymentCreatePage-D6NZBUC3-_98S21Sa.js.map} +1 -1
  73. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js → PaymentsPage-CHieGNrn-ChCXEyck.js} +38 -38
  74. package/dist/{PaymentsPage-DMNjYWAJ-ChO9IXmk.js.map → PaymentsPage-CHieGNrn-ChCXEyck.js.map} +1 -1
  75. package/dist/{PermissionsModal-CCYkcKlC.js → PermissionsModal-Dxbkkrqe.js} +18 -18
  76. package/dist/PermissionsModal-Dxbkkrqe.js.map +1 -0
  77. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js → PickupBatchLinesEditor-QPaqFtUO-BEtI5mIU.js} +2 -2
  78. package/dist/{PickupBatchLinesEditor-CE2RuyJT-BPceiJr8.js.map → PickupBatchLinesEditor-QPaqFtUO-BEtI5mIU.js.map} +1 -1
  79. package/dist/PickupCreatePage-C7_67u_u-DbDIZ1WC.js +801 -0
  80. package/dist/PickupCreatePage-C7_67u_u-DbDIZ1WC.js.map +1 -0
  81. package/dist/{PickupsPage-D7zyioJB-bHKnARYw.js → PickupsPage-BWblMlic-KehDMebm.js} +122 -122
  82. package/dist/PickupsPage-BWblMlic-KehDMebm.js.map +1 -0
  83. package/dist/PmGuard-BvUUbU80-DJipZoSg.js +641 -0
  84. package/dist/PmGuard-BvUUbU80-DJipZoSg.js.map +1 -0
  85. package/dist/ProductEditPage-Dbq4vUAA-DusAdAvm.js +1523 -0
  86. package/dist/ProductEditPage-Dbq4vUAA-DusAdAvm.js.map +1 -0
  87. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js → ProductsPage-BI22nPb4-D3GnWz34.js} +29 -29
  88. package/dist/{ProductsPage-DvNHIeZt-BoOOJJtk.js.map → ProductsPage-BI22nPb4-D3GnWz34.js.map} +1 -1
  89. package/dist/PurchaseCreatePage-C0EK9z4w-D4PlZsOH.js +724 -0
  90. package/dist/PurchaseCreatePage-C0EK9z4w-D4PlZsOH.js.map +1 -0
  91. package/dist/{PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js → PurchaseRequestDetailPage-DhBuOGHZ-CAmlL4fP.js} +446 -436
  92. package/dist/PurchaseRequestDetailPage-DhBuOGHZ-CAmlL4fP.js.map +1 -0
  93. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js → PurchaseRequestsPage-Bj9HUMxb-BCAhEEkL.js} +55 -55
  94. package/dist/{PurchaseRequestsPage-DS9i4o0--TpoxA5Kd.js.map → PurchaseRequestsPage-Bj9HUMxb-BCAhEEkL.js.map} +1 -1
  95. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js → PurchasesPage-Djl1AqD_-DxBRFRDy.js} +61 -61
  96. package/dist/{PurchasesPage-DgL5T6BY-DePUuE9l.js.map → PurchasesPage-Djl1AqD_-DxBRFRDy.js.map} +1 -1
  97. package/dist/{RoleManagement-s8iNx2Mu.js → RoleManagement-DVYufwy-.js} +3 -3
  98. package/dist/{RoleManagement-s8iNx2Mu.js.map → RoleManagement-DVYufwy-.js.map} +1 -1
  99. package/dist/Roles-BoNGJhtR.js +19 -0
  100. package/dist/Roles-BoNGJhtR.js.map +1 -0
  101. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js → SaleCreatePage-DHBLmlBr-aEGmvJQq.js} +33 -33
  102. package/dist/{SaleCreatePage-CZnIOydv-DKBw-qp7.js.map → SaleCreatePage-DHBLmlBr-aEGmvJQq.js.map} +1 -1
  103. package/dist/{SalesPage-DPIRrC_O-M8rqnK7z.js → SalesPage-eF9Yr42z-CvOr82vo.js} +34 -34
  104. package/dist/SalesPage-eF9Yr42z-CvOr82vo.js.map +1 -0
  105. package/dist/SettingsPage-Cre-UE3r-CGTVp5Zw.js +741 -0
  106. package/dist/SettingsPage-Cre-UE3r-CGTVp5Zw.js.map +1 -0
  107. package/dist/{StorageUnitsPage-BDRkdCjW-UF64rf7q.js → StorageUnitsPage-CTEVuemZ-C7zkwKMz.js} +213 -190
  108. package/dist/StorageUnitsPage-CTEVuemZ-C7zkwKMz.js.map +1 -0
  109. package/dist/{SubMenu-BdMTYtC1.js → SubMenu-DZIhur09.js} +2 -2
  110. package/dist/{SubMenu-BdMTYtC1.js.map → SubMenu-DZIhur09.js.map} +1 -1
  111. package/dist/{TableDetails-BtafRxXb.js → TableDetails-Cc40dEUs.js} +272 -267
  112. package/dist/TableDetails-Cc40dEUs.js.map +1 -0
  113. package/dist/{TableList-Dpo6dO7S.js → TableList-B5tX4wII.js} +316 -312
  114. package/dist/TableList-B5tX4wII.js.map +1 -0
  115. package/dist/{TransactionsPage-CqWTMNU8-Df6eGFDW.js → TransactionsPage-Zuu7sjID-BDmUK7s1.js} +185 -170
  116. package/dist/TransactionsPage-Zuu7sjID-BDmUK7s1.js.map +1 -0
  117. package/dist/TransferCreatePage-DlT0nCDj-evHPJc99.js +635 -0
  118. package/dist/TransferCreatePage-DlT0nCDj-evHPJc99.js.map +1 -0
  119. package/dist/TransfersPage-DqaSvHda-DAUn5SSr.js +600 -0
  120. package/dist/TransfersPage-DqaSvHda-DAUn5SSr.js.map +1 -0
  121. package/dist/{TypeConfiguration-JbRCN6GR.js → TypeConfiguration-EaFiOzRE.js} +3 -3
  122. package/dist/{TypeConfiguration-JbRCN6GR.js.map → TypeConfiguration-EaFiOzRE.js.map} +1 -1
  123. package/dist/UserList-Cf5B-o_1.js +1904 -0
  124. package/dist/UserList-Cf5B-o_1.js.map +1 -0
  125. package/dist/Users-MC7txo1V.js +43 -0
  126. package/dist/{Users-CsJ08Kjm.js.map → Users-MC7txo1V.js.map} +1 -1
  127. package/dist/VaccineEducation-DWkNNasF.js +231 -0
  128. package/dist/VaccineEducation-DWkNNasF.js.map +1 -0
  129. package/dist/VaccineEducation.css +1 -0
  130. package/dist/VaccineEducationConfigurator-BFCvu5Mw.js +1450 -0
  131. package/dist/VaccineEducationConfigurator-BFCvu5Mw.js.map +1 -0
  132. package/dist/VaccineEducationConfigurator.css +1 -0
  133. package/dist/VaccineEducationList-BxZHahCh.js +334 -0
  134. package/dist/VaccineEducationList-BxZHahCh.js.map +1 -0
  135. package/dist/VialsPage-LoDaUqVv-Dw00Zc06.js +457 -0
  136. package/dist/VialsPage-LoDaUqVv-Dw00Zc06.js.map +1 -0
  137. package/dist/ckeditor5-_x14lrzc.js +49590 -0
  138. package/dist/ckeditor5-_x14lrzc.js.map +1 -0
  139. package/dist/ckeditor5.css +4 -0
  140. package/dist/{constants-DpXnLsAB-D6lN5cjK.js → constants-BTpJFQe_-CYPZIqQF.js} +160 -61
  141. package/dist/constants-BTpJFQe_-CYPZIqQF.js.map +1 -0
  142. package/dist/dashboardLayoutUtils--xUnoKPa.js +615 -0
  143. package/dist/dashboardLayoutUtils--xUnoKPa.js.map +1 -0
  144. package/dist/faqMedia-FDpje7v0.js +234 -0
  145. package/dist/faqMedia-FDpje7v0.js.map +1 -0
  146. package/dist/index-mfoqII2U.js +524 -0
  147. package/dist/index-mfoqII2U.js.map +1 -0
  148. package/dist/{index-D9YNFPn9.js → index-o8Pyt1Bt.js} +445 -439
  149. package/dist/index-o8Pyt1Bt.js.map +1 -0
  150. package/dist/index.css +1 -1
  151. package/dist/index.js +1 -1
  152. package/dist/{index.lib-ETRQOzvE.js → index.lib-QDEODnRT.js} +409 -327
  153. package/dist/index.lib-QDEODnRT.js.map +1 -0
  154. package/dist/listValueStore-5d4vNGQM-DB08drLf.js +43 -0
  155. package/dist/listValueStore-5d4vNGQM-DB08drLf.js.map +1 -0
  156. package/dist/proxy-C4gcRXzG.js +5265 -0
  157. package/dist/proxy-C4gcRXzG.js.map +1 -0
  158. package/package.json +7 -2
  159. package/dist/AccessRights-DUgY6ewy.js +0 -1031
  160. package/dist/AccessRights-DUgY6ewy.js.map +0 -1
  161. package/dist/AddMenuConfiguration-c6ZKiN0i.js +0 -8898
  162. package/dist/AddMenuConfiguration-c6ZKiN0i.js.map +0 -1
  163. package/dist/ChangePasswordModalCore-lQ9GamH1.js +0 -5494
  164. package/dist/ChangePasswordModalCore-lQ9GamH1.js.map +0 -1
  165. package/dist/EntityManagement-CPQL6qBj.js +0 -50
  166. package/dist/EntityManagement-CPQL6qBj.js.map +0 -1
  167. package/dist/EventsUi-D6O9S7BK.js.map +0 -1
  168. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js +0 -79
  169. package/dist/FacilityPicker-DYl_PDyt-Cbwo2tAY.js.map +0 -1
  170. package/dist/ImmunizationConfigurationBase-aUtx0JEe.js.map +0 -1
  171. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js +0 -665
  172. package/dist/InventoryPage-DOotGZrj-CoPjOJEI.js.map +0 -1
  173. package/dist/ManageDynamicFeature-BU0I45dd.js.map +0 -1
  174. package/dist/ManageRole-CNZBRKGU.js +0 -776
  175. package/dist/ManageRole-CNZBRKGU.js.map +0 -1
  176. package/dist/MobileAnalytics-BLOionG_.js +0 -17301
  177. package/dist/MobileAnalytics-BLOionG_.js.map +0 -1
  178. package/dist/MobileMenuManagement-68Wijb0X.js +0 -220
  179. package/dist/MobileMenuManagement-68Wijb0X.js.map +0 -1
  180. package/dist/NewServerManagement-Cxe0dV0O.js.map +0 -1
  181. package/dist/OtherTypeEventConfigModal-stNmuSv_.js +0 -1812
  182. package/dist/OtherTypeEventConfigModal-stNmuSv_.js.map +0 -1
  183. package/dist/PermissionsModal-CCYkcKlC.js.map +0 -1
  184. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js +0 -783
  185. package/dist/PickupCreatePage-B4O_-vE5-DoOo9nJO.js.map +0 -1
  186. package/dist/PickupsPage-D7zyioJB-bHKnARYw.js.map +0 -1
  187. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js +0 -599
  188. package/dist/PmGuard-BZE-y4In-D_pUm5MP.js.map +0 -1
  189. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js +0 -1305
  190. package/dist/ProductEditPage-BVlVUCtD-BR-tJ5Wb.js.map +0 -1
  191. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js +0 -675
  192. package/dist/PurchaseCreatePage-Cq_i9snz-DRtHHFWw.js.map +0 -1
  193. package/dist/PurchaseRequestDetailPage-CA9KFOfE-CtjG4Gx6.js.map +0 -1
  194. package/dist/Roles-BIyiic67.js +0 -14
  195. package/dist/Roles-BIyiic67.js.map +0 -1
  196. package/dist/SalesPage-DPIRrC_O-M8rqnK7z.js.map +0 -1
  197. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js +0 -676
  198. package/dist/SettingsPage-BC_R6Z-Q-CKNt9zRu.js.map +0 -1
  199. package/dist/StorageUnitsPage-BDRkdCjW-UF64rf7q.js.map +0 -1
  200. package/dist/TableDetails-BtafRxXb.js.map +0 -1
  201. package/dist/TableList-Dpo6dO7S.js.map +0 -1
  202. package/dist/TransactionsPage-CqWTMNU8-Df6eGFDW.js.map +0 -1
  203. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js +0 -315
  204. package/dist/TransferCreatePage-DF7FZaTJ-CL79V3aR.js.map +0 -1
  205. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js +0 -476
  206. package/dist/TransfersPage-CGrRFaBF-cTwBUv0o.js.map +0 -1
  207. package/dist/UserList-L41Xw0Q6.js +0 -1129
  208. package/dist/UserList-L41Xw0Q6.js.map +0 -1
  209. package/dist/Users-CsJ08Kjm.js +0 -40
  210. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js +0 -321
  211. package/dist/VialsPage-rvvXjgZG-Oqo1v6kQ.js.map +0 -1
  212. package/dist/constants-DpXnLsAB-D6lN5cjK.js.map +0 -1
  213. package/dist/dashboardLayoutUtils-CJivzaU1.js +0 -408
  214. package/dist/dashboardLayoutUtils-CJivzaU1.js.map +0 -1
  215. package/dist/index-D9YNFPn9.js.map +0 -1
  216. package/dist/index.lib-ETRQOzvE.js.map +0 -1
  217. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js +0 -36
  218. package/dist/listValueStore-BFQtDYIR-Bj0yX145.js.map +0 -1
@@ -0,0 +1,1093 @@
1
+ import { jsxs as R, jsx as o, Fragment as xs } from "react/jsx-runtime";
2
+ import { Box as J, Autocomplete as Ss, TextField as Ue, Button as bs, InputAdornment as $e, IconButton as me, Typography as ie, Accordion as Cs, AccordionSummary as Ns, Chip as vs, Tooltip as he, AccordionDetails as ks, FormControlLabel as Os, Checkbox as Ds, Menu as Js, MenuItem as Ps } from "@mui/material";
3
+ import x from "prop-types";
4
+ import As from "@/views/custom-components/CustomConfirmationModal";
5
+ import _s from "@/views/custom-components/DebouncedSearchInput";
6
+ import { useState as d, useMemo as ae, useEffect as le, createElement as We, useRef as oe, useCallback as Be, Suspense as Rs, lazy as Ge } from "react";
7
+ import { a as ee, d as Ts, b as ke, c as Es, p as Ls, e as Fs, f as zs } from "./Features-Dne21RWu.js";
8
+ import { execute as re, getRoleList as Ms } from "@/common/services/GlobalApis.js";
9
+ import "@/assets/scss/scrollBar.scss";
10
+ import { useForm as He, Controller as Us } from "react-hook-form";
11
+ import { showToast as O } from "@/common/toaster/toaster";
12
+ import $s from "@/hooks/useTrackEvent";
13
+ import { useTranslateProvider as Ws } from "@/common/languageTranslator/TranslationContext";
14
+ import B from "@/common/fontAwesomeIcons/FontAwesomeIcons";
15
+ import { execute as Bs } from "@/common/services/GlobalApis";
16
+ import { alpha as ws } from "@mui/material/styles";
17
+ import js, { VirtualListbox as Gs } from "@/views/custom-components/CustomAutoComplete";
18
+ import Ke from "@/hooks/useCaching";
19
+ import we from "@/common/services/util/GeneralUtil";
20
+ import { A as Hs } from "./FeatureMenu-CaI-ZhSZ.js";
21
+ const je = 200;
22
+ function Xe({
23
+ translate: l,
24
+ onSubmit: X,
25
+ roleList: w,
26
+ featureData: D
27
+ }) {
28
+ const [P, Z] = d(""), [M, j] = d(""), [E, k] = d([]), { control: y, handleSubmit: U, reset: G } = He({}), { getCachedData: _ } = Ke(), L = ae(() => {
29
+ const u = /* @__PURE__ */ new Set(), A = /* @__PURE__ */ new Set();
30
+ return (D || []).forEach((S) => {
31
+ S != null && S.designationId && u.add(S.designationId), S != null && S.userId && A.add(S.userId);
32
+ }), { roles: u, users: A };
33
+ }, [D]), se = ae(
34
+ () => w.filter((u) => !L.roles.has(u == null ? void 0 : u.id)),
35
+ [w, L]
36
+ );
37
+ le(() => {
38
+ const u = setTimeout(() => {
39
+ j(P);
40
+ }, 300);
41
+ return () => clearTimeout(u);
42
+ }, [P]), le(() => {
43
+ M !== "" && $(M);
44
+ }, [M]), le(() => {
45
+ $("");
46
+ }, []);
47
+ const $ = async (u, A = D) => {
48
+ try {
49
+ const S = async (m) => {
50
+ const { data: F } = await Bs({
51
+ code: "user_search_for_selectize",
52
+ parameters: { searchString: m }
53
+ });
54
+ return F;
55
+ }, g = u ? await S(u) : await _({
56
+ cacheKey: ["user_search_for_selectize", ""],
57
+ fetchFn: () => S(""),
58
+ staleTime: 3e5,
59
+ cacheTime: 18e5
60
+ }), C = A === D ? L.users : new Set(
61
+ (A || []).map((m) => m == null ? void 0 : m.userId).filter(Boolean)
62
+ ), I = ((g == null ? void 0 : g.result) || []).filter((m) => (m == null ? void 0 : m.id) && !C.has(m.id)).map((m) => ({
63
+ ...m,
64
+ displayName: `${m.firstName || ""} ${m.lastName || ""} (${m.userName || ""})`.trim()
65
+ }));
66
+ k(I);
67
+ } catch (S) {
68
+ console.error(S);
69
+ }
70
+ };
71
+ return /* @__PURE__ */ R(
72
+ J,
73
+ {
74
+ sx: {
75
+ display: "flex",
76
+ flexDirection: { xs: "column", md: "row" },
77
+ alignItems: { xs: "stretch", md: "flex-start" },
78
+ gap: 1.5,
79
+ flex: 1,
80
+ minWidth: 0
81
+ },
82
+ children: [
83
+ /* @__PURE__ */ o(J, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ o(
84
+ Us,
85
+ {
86
+ name: "roles",
87
+ id: "roles",
88
+ control: y,
89
+ defaultValue: null,
90
+ render: ({ field: { onChange: u, value: A, ref: S } }) => /* @__PURE__ */ o(
91
+ Ss,
92
+ {
93
+ options: E,
94
+ size: "small",
95
+ slots: {
96
+ listbox: E.length > je ? Gs : void 0
97
+ },
98
+ getOptionLabel: (g) => g.displayName || "",
99
+ isOptionEqualToValue: (g, C) => g.id === (C == null ? void 0 : C.id),
100
+ value: A || null,
101
+ onChange: (g, C, I) => {
102
+ I === "clear" && $(""), u(C);
103
+ },
104
+ onInputChange: (g, C, I) => {
105
+ I === "input" && Z(C);
106
+ },
107
+ renderOption: (g, C) => {
108
+ const I = C.displayName || "", m = P.trim(), F = I.toLowerCase().indexOf(m.toLowerCase());
109
+ if (F === -1)
110
+ return /* @__PURE__ */ We(
111
+ "li",
112
+ {
113
+ ...g,
114
+ key: C.id,
115
+ style: { lineHeight: 1.5, fontSize: "14px" }
116
+ },
117
+ I
118
+ );
119
+ const q = I.substring(0, F), ye = I.substring(F, F + m.length), te = I.substring(F + m.length);
120
+ return /* @__PURE__ */ We(
121
+ "li",
122
+ {
123
+ ...g,
124
+ key: C.id,
125
+ style: { lineHeight: 1.5, fontSize: "14px" }
126
+ },
127
+ /* @__PURE__ */ R("span", { children: [
128
+ q,
129
+ /* @__PURE__ */ o(
130
+ J,
131
+ {
132
+ component: "span",
133
+ sx: {
134
+ fontWeight: 700,
135
+ borderRadius: "2px",
136
+ backgroundColor: (ce) => ws(ce.palette.primary.main, 0.18)
137
+ },
138
+ children: ye
139
+ }
140
+ ),
141
+ te
142
+ ] })
143
+ );
144
+ },
145
+ renderInput: (g) => /* @__PURE__ */ o(
146
+ Ue,
147
+ {
148
+ ...g,
149
+ label: l("User"),
150
+ variant: "outlined",
151
+ size: "small",
152
+ inputRef: S
153
+ }
154
+ )
155
+ }
156
+ )
157
+ }
158
+ ) }),
159
+ /* @__PURE__ */ o(J, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ o(
160
+ js,
161
+ {
162
+ id: "selectedRoles",
163
+ name: "selectedRoles",
164
+ options: se,
165
+ control: y,
166
+ isVirtualized: se.length > je,
167
+ getOptionLabel: (u) => u == null ? void 0 : u.name,
168
+ dataTestId: "accessrights-select-role",
169
+ renderInput: (u) => /* @__PURE__ */ o(
170
+ Ue,
171
+ {
172
+ ...u,
173
+ label: l("Role"),
174
+ variant: "outlined",
175
+ size: "small"
176
+ }
177
+ )
178
+ }
179
+ ) }),
180
+ /* @__PURE__ */ o(
181
+ bs,
182
+ {
183
+ variant: "contained",
184
+ size: "small",
185
+ "data-testid": "accessrights-add-button",
186
+ startIcon: /* @__PURE__ */ o(B, { iconName: "faPlus" }),
187
+ sx: { flexShrink: 0, alignSelf: { xs: "flex-end", md: "center" } },
188
+ onClick: U((u) => {
189
+ var A;
190
+ X(u), $("", [...D, { userId: (A = u.roles) == null ? void 0 : A.id }]), G();
191
+ }),
192
+ children: l("Add")
193
+ }
194
+ )
195
+ ]
196
+ }
197
+ );
198
+ }
199
+ Xe.propTypes = {
200
+ translate: x.any,
201
+ permissionDetailsList: x.any,
202
+ getPermissionDetails: x.any,
203
+ onSubmit: x.any,
204
+ permissionTypes: x.any,
205
+ roleList: x.any,
206
+ featureData: x.any
207
+ };
208
+ const Ks = Ge(() => import("./GrantPermissionModal-D7iNZd0M.js")), Xs = Ge(() => import("./PermissionsModal-Dxbkkrqe.js"));
209
+ function Ze({ config: l, row: X }) {
210
+ var E;
211
+ const [w, D] = d(null), P = !!w, Z = (k) => {
212
+ k.stopPropagation(), D(k.currentTarget), typeof l.menuClick == "function" && l.menuClick(X);
213
+ }, M = (k) => {
214
+ k && k.stopPropagation(), D(null);
215
+ }, j = (k) => (y) => {
216
+ y.stopPropagation(), typeof k.onClick == "function" && k.onClick(X), D(null);
217
+ };
218
+ return /* @__PURE__ */ R(xs, { children: [
219
+ /* @__PURE__ */ o(he, { title: l.tooltip, children: /* @__PURE__ */ o(
220
+ me,
221
+ {
222
+ size: "small",
223
+ "aria-label": l.tooltip,
224
+ onClick: Z,
225
+ "data-testid": l.dataTestId,
226
+ children: l.icon
227
+ }
228
+ ) }),
229
+ /* @__PURE__ */ o(
230
+ Js,
231
+ {
232
+ anchorEl: w,
233
+ open: P,
234
+ onClose: M,
235
+ anchorOrigin: { vertical: "bottom", horizontal: "right" },
236
+ transformOrigin: { vertical: "top", horizontal: "right" },
237
+ children: (E = l.menuItems) == null ? void 0 : E.map((k, y) => /* @__PURE__ */ o(Ps, { onClick: j(k), children: k.label }, y))
238
+ }
239
+ )
240
+ ] });
241
+ }
242
+ Ze.propTypes = {
243
+ config: x.any,
244
+ row: x.any
245
+ };
246
+ function Zs({
247
+ subMenuId: l,
248
+ // subMenuGroupName,
249
+ subMenuFeatureVal: X,
250
+ // selectedTab,
251
+ parentLoading: w,
252
+ onNewAPIChange: D,
253
+ rights: P
254
+ }) {
255
+ const Z = oe(null), M = oe(!1), j = $s(), E = oe(!1), { getCachedData: k } = Ke(), [y, U] = d([]), [G, _] = d([]), [L, se] = d([]), [$, u] = d([]), [A, S] = d([]), [g, C] = d(""), [I, m] = d({}), [F, q] = d(!1), [ye, te] = d(!1), [ce, qe] = d(""), [b, Qe] = d(null), [Ye, Ve] = d({}), [es, Q] = d(!1), [Y, Oe] = d(!1), [ss, de] = d(null), [T, ts] = d([]), [ns, ge] = d(0), [ue, De] = d(""), { translate: h } = Ws(), [is, Ie] = d(""), [os, xe] = d([]), [ne, fe] = d(null), Se = we.hasCheckRights(
256
+ P == null ? void 0 : P["update.manage.featurelist"],
257
+ void 0,
258
+ !0
259
+ ), rs = we.hasCheckRights(
260
+ P == null ? void 0 : P["delete.manage.featurelist"],
261
+ void 0,
262
+ !0
263
+ ), Je = ae(() => {
264
+ const e = /* @__PURE__ */ new Map();
265
+ return (T || []).forEach((n) => e.set(String(n.id), n)), e;
266
+ }, [T]), as = ae(() => {
267
+ const e = /* @__PURE__ */ new Map();
268
+ return (y || []).forEach((n) => {
269
+ n != null && n.feature_name && e.set(n.feature_name, n.display_name);
270
+ }), e;
271
+ }, [y]), ls = () => {
272
+ var n;
273
+ if (!T || T.length === 0) return null;
274
+ const e = T.filter(
275
+ (i) => {
276
+ var t;
277
+ return (t = i == null ? void 0 : i.id) == null ? void 0 : t.startsWith("view");
278
+ }
279
+ );
280
+ if (e && e.length > 0) {
281
+ const i = e.find(
282
+ (s) => /^view\.report\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(
283
+ s.id
284
+ )
285
+ );
286
+ if (i) return i.id;
287
+ if (e.some((s) => s.id === "view.report")) return "view.report";
288
+ const t = e.filter(
289
+ (s) => s.id.split(".").length === 3
290
+ );
291
+ if (t.length > 0)
292
+ return t[0].id;
293
+ }
294
+ return (n = T[0]) == null ? void 0 : n.id;
295
+ };
296
+ le(() => {
297
+ let e = Z.current;
298
+ return () => {
299
+ j("conversion_event", {
300
+ form: e,
301
+ form_name: "Access Rights",
302
+ submit: M.current
303
+ });
304
+ };
305
+ }, []);
306
+ const be = (e) => {
307
+ var i;
308
+ let n;
309
+ return n = (i = e.userMenuItemDtos) == null ? void 0 : i.toSorted((t, s) => t.designationId !== void 0 && s.designationId !== void 0 ? t.designationId - s.designationId : t.designationId !== void 0 && s.designationId === void 0 ? -1 : t.designationId === void 0 && s.designationId !== void 0 ? 1 : t.userId !== void 0 && s.userId !== void 0 ? t.userId - s.userId : t.userId !== void 0 && s.userId === void 0 ? -1 : t.userId === void 0 && s.userId !== void 0 ? 1 : 0), n;
310
+ }, Ce = (e) => (e == null || e.userMenuItemDtos.forEach((n) => {
311
+ n.featureJson = ps(
312
+ JSON.parse(e.featureJson || "{}"),
313
+ JSON.parse(n.featureJson || "{}")
314
+ ), n.designationId ? (n.code = "Role", n.displayName = n.roleName) : (n.code = "User", n.displayName = n.fullName);
315
+ }), e), cs = async () => {
316
+ var e, n;
317
+ try {
318
+ if (Q((i) => !i), Y) {
319
+ const i = [];
320
+ Object.entries(JSON.parse(b == null ? void 0 : b.featureJson)).forEach(
321
+ ([t, s]) => {
322
+ s === !0 && i.push(t);
323
+ }
324
+ );
325
+ try {
326
+ await re({
327
+ code: "delete_permissions",
328
+ parameters: {
329
+ permissionList: i,
330
+ roleId: parseInt(b == null ? void 0 : b.designationId),
331
+ userId: parseInt(b == null ? void 0 : b.userId)
332
+ }
333
+ }), O({
334
+ type: "success",
335
+ message: "Permission Deleted Successfully"
336
+ });
337
+ const { data: t } = await ee(l);
338
+ V(t);
339
+ } catch {
340
+ O({
341
+ type: "error",
342
+ message: "error occurred"
343
+ });
344
+ }
345
+ } else {
346
+ await Ts(ce);
347
+ let { data: i } = await ke(l);
348
+ (i == null ? void 0 : i.userMenuItemDtos.length) > 0 && (i = Ce(i)), _(i.userMenuItemDtos);
349
+ }
350
+ q(!1), Q((i) => !i);
351
+ } catch (i) {
352
+ O({
353
+ type: "error",
354
+ message: `Error Deleting data: ${(n = (e = i == null ? void 0 : i.response) == null ? void 0 : e.data) == null ? void 0 : n.message}`
355
+ }), Q((t) => !t), q(!1);
356
+ }
357
+ }, ds = (e, n) => {
358
+ const i = new Set(e.map((s) => s.id)), t = [];
359
+ return Object.entries(n).forEach(([s, a]) => {
360
+ a === !0 && !i.has(s) && t.push({ id: s, action: "grant" });
361
+ }), e.forEach((s) => {
362
+ n[s.id] || t.push({ id: s.id, action: "revoke" });
363
+ }), t;
364
+ }, { handleSubmit: us } = He({}), Pe = async (e) => {
365
+ var n, i, t, s, a, N;
366
+ try {
367
+ if (Y) {
368
+ e = { ...e, featureJson: JSON.parse(e == null ? void 0 : e.featureJson) };
369
+ const r = ds(
370
+ e.permissions,
371
+ e == null ? void 0 : e.featureJson
372
+ );
373
+ if (((n = r[0]) == null ? void 0 : n.action) === "grant")
374
+ de({
375
+ ...e,
376
+ id: (i = r[0]) == null ? void 0 : i.id
377
+ }), ge(1);
378
+ else if (((t = r[0]) == null ? void 0 : t.action) === "revoke")
379
+ try {
380
+ await re({
381
+ code: "revoke_permission",
382
+ parameters: {
383
+ featureName: (s = r[0]) == null ? void 0 : s.id,
384
+ roleId: parseInt(e == null ? void 0 : e.designationId),
385
+ userId: parseInt(e == null ? void 0 : e.userId)
386
+ }
387
+ }), O({
388
+ type: "success",
389
+ message: "Permission Revoked Successfully"
390
+ });
391
+ } catch {
392
+ O({
393
+ type: "error",
394
+ message: "Error in revoking permission"
395
+ });
396
+ }
397
+ const { data: f } = await ee(l);
398
+ V(f);
399
+ } else
400
+ await Es(e);
401
+ } catch (r) {
402
+ O({
403
+ type: "error",
404
+ message: `Error Updating data: ${(N = (a = r == null ? void 0 : r.response) == null ? void 0 : a.data) == null ? void 0 : N.message}`
405
+ });
406
+ }
407
+ }, fs = async (e) => {
408
+ try {
409
+ if (e = {
410
+ ...e,
411
+ featureJson: JSON.parse(e == null ? void 0 : e.featureJson)
412
+ }, e != null && e.checkAll) {
413
+ const i = Object.keys(e == null ? void 0 : e.featureJson).filter(
414
+ (a) => (e == null ? void 0 : e.featureJson[a]) === !1
415
+ ), t = /^view\.report\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, s = i.flatMap(
416
+ (a) => t.test(a) ? [a, `${a}.candrilldown`] : [a]
417
+ ).join(",");
418
+ await re({
419
+ code: "grant_permission_bulk",
420
+ parameters: {
421
+ permission_id_list: s,
422
+ role_id: parseInt(e == null ? void 0 : e.designationId),
423
+ user_id: parseInt(e == null ? void 0 : e.userId)
424
+ }
425
+ }), O({
426
+ type: "success",
427
+ message: "Permission granted Successfully"
428
+ });
429
+ }
430
+ const { data: n } = await ee(l);
431
+ V(n);
432
+ } catch (n) {
433
+ console.error(n);
434
+ }
435
+ }, Ae = async (e) => {
436
+ var n, i, t, s, a, N;
437
+ if (!(e != null && e.roles || e != null && e.selectedRoles)) {
438
+ O({
439
+ message: "Please select either user or role !!",
440
+ type: "info"
441
+ });
442
+ return;
443
+ }
444
+ if (Y && y.length < 1) {
445
+ O({
446
+ message: "Please add permissions first for this feature !!",
447
+ type: "info"
448
+ });
449
+ return;
450
+ }
451
+ try {
452
+ const r = ((n = e == null ? void 0 : e.selectedRoles) == null ? void 0 : n.map((c) => c == null ? void 0 : c.id)) || [], f = I != null && I.id ? G.some((c) => (c == null ? void 0 : c.userId) === (I == null ? void 0 : I.id)) : !1, H = (r == null ? void 0 : r.length) > 0 ? G.some(
453
+ (c) => r.includes(c == null ? void 0 : c.designationId)
454
+ ) : !1;
455
+ if (f || H)
456
+ O({
457
+ message: "Selected User Already found please select another id",
458
+ type: "warning"
459
+ });
460
+ else {
461
+ const c = r == null ? void 0 : r.join(","), K = {
462
+ userId: (i = e == null ? void 0 : e.roles) == null ? void 0 : i.id,
463
+ designationId: c || null
464
+ }, W = T.filter(
465
+ (p) => {
466
+ var z;
467
+ return (z = p == null ? void 0 : p.id) == null ? void 0 : z.startsWith("view");
468
+ }
469
+ );
470
+ if (Y) {
471
+ const p = (t = W.find(
472
+ (v) => /^view\.report\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(
473
+ v.id
474
+ )
475
+ )) == null ? void 0 : t.id;
476
+ p ? de({
477
+ ...K,
478
+ id: p
479
+ }) : W.some((v) => v.id === "view.report") ? de({
480
+ ...K,
481
+ id: "view.report"
482
+ }) : de({
483
+ ...K,
484
+ id: (W == null ? void 0 : W.filter((v) => v.id.split(".").length === 3).map((v) => v.id)[0]) || ((s = T[0]) == null ? void 0 : s.id)
485
+ }), ge(1);
486
+ const { data: z } = await ee(l);
487
+ V(z);
488
+ } else {
489
+ await Ls(l, K);
490
+ let { data: p } = await ke(l);
491
+ (p == null ? void 0 : p.userMenuItemDtos.length) > 0 && (p == null ? void 0 : p.userMenuItemDtos.length) > 0 && (p = Ce(p)), C(p == null ? void 0 : p.featureJson);
492
+ const z = be(p);
493
+ _(z);
494
+ const v = p.featureJson ? Object.keys(JSON.parse(p.featureJson)) : [];
495
+ if (v.length > 0) {
496
+ const { data: Ne } = await re({
497
+ code: "retrieve_display_name_for_feature",
498
+ parameters: {
499
+ menu_id: l,
500
+ feature_name_list: v
501
+ }
502
+ });
503
+ U(Ne.result);
504
+ } else
505
+ U([]);
506
+ O({
507
+ message: (a = e == null ? void 0 : e.roles) != null && a.id && r.length > 0 ? "Permission granted to User and Role Successfully" : (N = e == null ? void 0 : e.roles) != null && N.id ? "Permission granted to User Successfully" : "Permission granted to Role Successfully",
508
+ type: "success"
509
+ });
510
+ }
511
+ M.current = !0, m({});
512
+ }
513
+ } catch (r) {
514
+ console.error(r), O({
515
+ message: "Cannot grant permission",
516
+ type: "error"
517
+ });
518
+ }
519
+ }, _e = Be(
520
+ (e) => {
521
+ const n = (e || "").toLowerCase();
522
+ if (De(n), !n) {
523
+ _(L);
524
+ return;
525
+ }
526
+ const i = L == null ? void 0 : L.filter(
527
+ (t) => {
528
+ var s, a;
529
+ return t != null && t.designationId ? (s = t.roleName) == null ? void 0 : s.toLowerCase().includes(n) : (a = t.fullName) == null ? void 0 : a.toLowerCase().includes(n);
530
+ }
531
+ );
532
+ j("search_tracking", {
533
+ searchTerm: n,
534
+ results_count: i.length,
535
+ search_type: "Page Search"
536
+ }), _(i);
537
+ },
538
+ [L, j]
539
+ ), ps = (e, n = {}) => {
540
+ const i = {};
541
+ return Object.keys(e).forEach((t) => {
542
+ Object.prototype.hasOwnProperty.call(n, t) ? i[t] = n[t] : i[t] = e[t];
543
+ }), JSON.stringify(i);
544
+ }, Re = (e, n) => {
545
+ const i = new Set(n.map((s) => s.id)), t = {};
546
+ return e.forEach((s) => {
547
+ t[s.id] = i.has(s.id);
548
+ }), JSON.stringify(t);
549
+ }, V = (e) => {
550
+ e == null || e.userMenuItemDtos.forEach((t) => {
551
+ t.id = (t == null ? void 0 : t.designationId) || (t == null ? void 0 : t.userId), t.featureJson = Re(
552
+ e == null ? void 0 : e.permissions,
553
+ t == null ? void 0 : t.permissions
554
+ ), t.designationId ? (t.code = "Role", t.displayName = t.roleName) : (t.code = "User", t.displayName = t.fullName);
555
+ });
556
+ const n = [
557
+ ...new Set(e.permissions.map((t) => t.id))
558
+ ];
559
+ U(n), ts(e == null ? void 0 : e.permissions);
560
+ const i = be(e);
561
+ _(i), se(i);
562
+ };
563
+ le(() => {
564
+ (async () => {
565
+ var n, i, t;
566
+ try {
567
+ if (l) {
568
+ fe(null), Te(!1), Q((f) => !f), De("");
569
+ let s, a;
570
+ if (X) {
571
+ if (E.current)
572
+ s = (await ee(l)).data;
573
+ else
574
+ try {
575
+ s = (await Fs(l)).data;
576
+ } catch (f) {
577
+ console.error(
578
+ "configtypesV2/summary unavailable, falling back to full bundle",
579
+ f
580
+ ), E.current = !0, s = (await ee(l)).data;
581
+ }
582
+ a = !0, Oe(!0), D({ id: l, val: !0 });
583
+ } else
584
+ s = (await ke(l)).data, a = !1, Oe(!1), D({ id: l, val: !1 });
585
+ if (a)
586
+ V(s);
587
+ else {
588
+ (s == null ? void 0 : s.userMenuItemDtos.length) > 0 && (s = Ce(s)), C(s == null ? void 0 : s.featureJson);
589
+ const f = be(s);
590
+ _(f), se(f);
591
+ }
592
+ let N = A;
593
+ if (!$ || $.length === 0) {
594
+ const f = await k({
595
+ cacheKey: ["roleList"],
596
+ fetchFn: async () => (await Ms()).data,
597
+ staleTime: 3e5,
598
+ cacheTime: 18e5
599
+ });
600
+ S(f), N = f;
601
+ }
602
+ let r;
603
+ if (a)
604
+ r = s.permissions.map((f) => f.id), U(r);
605
+ else if (r = s.featureJson ? Object.keys(JSON.parse(s.featureJson)) : [], r.length > 0) {
606
+ const [f] = await Promise.all([
607
+ await re({
608
+ code: "retrieve_display_name_for_feature",
609
+ parameters: {
610
+ menu_id: l,
611
+ feature_name_list: r
612
+ }
613
+ })
614
+ ]);
615
+ U((n = f.data) == null ? void 0 : n.result);
616
+ } else
617
+ U([]);
618
+ if (N && N.length > 0)
619
+ if (s.isDynamicFeature) {
620
+ const H = JSON.parse(JSON.stringify(N)).filter((pe) => {
621
+ const c = pe.roleType;
622
+ return c === null || s != null && s.isMobileFeature && (s != null && s.isWebFeature) ? !0 : s.isMobileFeature ? c === "MOBILE" || c === "BOTH" : s.isWebFeature ? c === "WEB" || c === "BOTH" : !1;
623
+ });
624
+ u(H);
625
+ } else
626
+ u(N);
627
+ Q((f) => !f);
628
+ }
629
+ } catch (s) {
630
+ O({
631
+ type: "error",
632
+ message: `Error loading initial data: ${(t = (i = s == null ? void 0 : s.response) == null ? void 0 : i.data) == null ? void 0 : t.message}`
633
+ }), Q((a) => !a);
634
+ }
635
+ })();
636
+ }, [l, D]);
637
+ const ms = Be(
638
+ (e) => Je.get(String(e)) || null,
639
+ [Je]
640
+ ), hs = ae(() => ls(), [T]), [ys, Te] = d(!1), gs = (e) => async (n, i) => {
641
+ const t = `panel${e == null ? void 0 : e.id}`;
642
+ if (Te(i ? t : !1), i && Y && e && !e._permissionsLoaded && !E.current)
643
+ try {
644
+ const { data: s } = await zs(
645
+ l,
646
+ {
647
+ userId: e.userId,
648
+ roleId: e.designationId
649
+ }
650
+ );
651
+ e.permissions = s, e.featureJson = Re(T, s), e._permissionsLoaded = !0, _((a) => [...a]);
652
+ } catch (s) {
653
+ console.error(s), O({
654
+ type: "error",
655
+ message: "Error loading permissions for row"
656
+ });
657
+ }
658
+ }, Ee = ({
659
+ row: e,
660
+ featureState: n,
661
+ featureKey: i,
662
+ lookupKey: t,
663
+ index: s,
664
+ withModal: a
665
+ }) => {
666
+ var z;
667
+ const N = n[i] || !1, r = ms(t), f = (((z = r == null ? void 0 : r.child) == null ? void 0 : z.length) || 0) > 0, H = i === hs, pe = !Se || H, c = (ne == null ? void 0 : ne.id) === (r == null ? void 0 : r.id), K = /* @__PURE__ */ o(
668
+ Os,
669
+ {
670
+ sx: {
671
+ mr: 0,
672
+ minWidth: 0,
673
+ flex: 1,
674
+ // Permission ids are single unbreakable words, so the label box has
675
+ // to be allowed to shrink below its content or it runs under the eye
676
+ // button and into the next grid column.
677
+ "& .MuiFormControlLabel-label": { minWidth: 0 }
678
+ },
679
+ control: /* @__PURE__ */ o(
680
+ Ds,
681
+ {
682
+ size: "small",
683
+ disabled: pe,
684
+ checked: N,
685
+ name: i,
686
+ onClick: () => {
687
+ const v = {
688
+ ...n,
689
+ [i]: !N
690
+ };
691
+ _(
692
+ (Ne) => Ne.map(
693
+ (ve) => ve.id === e.id ? {
694
+ ...ve,
695
+ featureJson: JSON.stringify(v)
696
+ } : ve
697
+ )
698
+ ), Pe({
699
+ ...e,
700
+ featureJson: JSON.stringify(v),
701
+ code: e.designationId ? "Role" : "User",
702
+ menuConfigId: l,
703
+ displayName: e.designationId ? e.roleName : e.fullName
704
+ });
705
+ }
706
+ }
707
+ ),
708
+ label: /* @__PURE__ */ o(
709
+ ie,
710
+ {
711
+ variant: "body2",
712
+ sx: {
713
+ overflowWrap: "anywhere",
714
+ // Granted rights read darker/heavier than the ones that are off,
715
+ // so a long list can be skimmed for what is actually enabled.
716
+ color: N ? "text.primary" : "text.secondary",
717
+ fontWeight: N ? 500 : 400
718
+ },
719
+ children: r ? r.name : t
720
+ }
721
+ )
722
+ }
723
+ ), W = H ? [
724
+ r == null ? void 0 : r.desc,
725
+ h(
726
+ "This is the base right for the sub menu and cannot be changed here."
727
+ )
728
+ ].filter(Boolean).join(" — ") : (r == null ? void 0 : r.desc) || "";
729
+ return /* @__PURE__ */ R(
730
+ J,
731
+ {
732
+ sx: {
733
+ display: "flex",
734
+ alignItems: "center",
735
+ gap: 0.5,
736
+ minWidth: 0,
737
+ // Each right sits on its own hairline card so neighbouring entries
738
+ // in the grid read as separate items instead of one block of text.
739
+ px: 1,
740
+ py: 0.5,
741
+ border: 1,
742
+ borderColor: "divider",
743
+ borderRadius: 1,
744
+ transition: (v) => v.transitions.create(["background-color", "border-color"], {
745
+ duration: v.transitions.duration.shortest
746
+ }),
747
+ "&:hover": {
748
+ borderColor: "primary.light",
749
+ backgroundColor: "action.hover"
750
+ }
751
+ },
752
+ children: [
753
+ W ? /* @__PURE__ */ o(he, { title: W, children: /* @__PURE__ */ o("span", { style: { display: "flex", flex: 1, minWidth: 0 }, children: K }) }) : K,
754
+ f && /* @__PURE__ */ o(
755
+ he,
756
+ {
757
+ title: h(c ? "Close Permissions" : "View Permissions"),
758
+ children: /* @__PURE__ */ o(
759
+ me,
760
+ {
761
+ size: "small",
762
+ color: c ? "primary" : "default",
763
+ sx: {
764
+ flexShrink: 0,
765
+ color: c ? "primary.main" : "text.secondary",
766
+ "&:hover": { color: "primary.main" }
767
+ },
768
+ "aria-label": h(c ? "Close Permissions" : "View Permissions"),
769
+ onClick: () => {
770
+ if (c) {
771
+ fe(null), a && (te(!1), Ie(""), xe([]));
772
+ return;
773
+ }
774
+ a && (Ie(i), xe(n), te(!0)), fe(r);
775
+ },
776
+ children: /* @__PURE__ */ o(
777
+ B,
778
+ {
779
+ iconName: c ? "faEyeSlash" : "faEye",
780
+ size: "sm"
781
+ }
782
+ )
783
+ }
784
+ )
785
+ }
786
+ )
787
+ ]
788
+ },
789
+ `featureName-${s}`
790
+ );
791
+ }, Is = y.length > 0 || Object.keys(JSON.parse(g || "{}")).length > 0, Le = !!(ye && ne), Fe = ns === 1, ze = oe(!1), Me = oe(!1);
792
+ return Le && (ze.current = !0), Fe && (Me.current = !0), /* @__PURE__ */ o(Hs, { isLoading: es || w, children: /* @__PURE__ */ R(J, { sx: { width: "100%" }, children: [
793
+ /* @__PURE__ */ o(
794
+ As,
795
+ {
796
+ description: b != null && b.displayName ? `Remove all access to this sub menu for ${b.code === "Role" ? "the role" : ""} ${b.displayName}? Every right listed below will be revoked.` : "Remove all access to this sub menu? Every right listed below will be revoked.",
797
+ title: h("Remove access"),
798
+ open: F && ce === (b == null ? void 0 : b.id),
799
+ handleClick: cs,
800
+ handleClose: () => q((e) => !e),
801
+ dataTestId: "accessrights-delete-modal"
802
+ }
803
+ ),
804
+ /* @__PURE__ */ R(Rs, { fallback: null, children: [
805
+ ze.current && /* @__PURE__ */ o(
806
+ Xs,
807
+ {
808
+ isOpen: Le,
809
+ onClose: () => {
810
+ te((e) => !e), fe(null), Ie(""), xe([]);
811
+ },
812
+ featureState: os,
813
+ featureName: is,
814
+ permissions: ne
815
+ }
816
+ ),
817
+ Me.current && /* @__PURE__ */ o(
818
+ Ks,
819
+ {
820
+ isOpen: Fe,
821
+ onClose: () => ge(0),
822
+ pendingGrant: ss,
823
+ subMenuId: l,
824
+ newApiData: V
825
+ }
826
+ )
827
+ ] }),
828
+ /* @__PURE__ */ o("form", { ref: Z, onSubmit: us(Ae), children: /* @__PURE__ */ R(
829
+ J,
830
+ {
831
+ sx: {
832
+ display: "flex",
833
+ flexDirection: { xs: "column", lg: "row" },
834
+ alignItems: { xs: "stretch", lg: "center" },
835
+ gap: 2,
836
+ px: 2,
837
+ py: 1.5,
838
+ borderBottom: "1px solid",
839
+ borderColor: "divider"
840
+ },
841
+ children: [
842
+ /* @__PURE__ */ o(
843
+ _s,
844
+ {
845
+ value: ue,
846
+ onChange: _e,
847
+ placeholder: h("Search roles and users"),
848
+ autoFocus: !1,
849
+ "data-testid": "access-rights-textfield-search",
850
+ sx: { width: { xs: "100%", lg: 240 }, flexShrink: 0 },
851
+ slotProps: {
852
+ htmlInput: {
853
+ "aria-label": h("Search roles and users")
854
+ }
855
+ },
856
+ inputProps: {
857
+ startAdornment: /* @__PURE__ */ o($e, { position: "start", children: /* @__PURE__ */ o(J, { sx: { color: "text.disabled", display: "flex" }, children: /* @__PURE__ */ o(
858
+ B,
859
+ {
860
+ iconName: "faMagnifyingGlass",
861
+ size: "sm"
862
+ }
863
+ ) }) }),
864
+ endAdornment: ue ? /* @__PURE__ */ o($e, { position: "end", children: /* @__PURE__ */ o(
865
+ me,
866
+ {
867
+ size: "small",
868
+ "aria-label": h("Clear search"),
869
+ onClick: () => _e(""),
870
+ children: /* @__PURE__ */ o(B, { iconName: "faXmark", size: "sm" })
871
+ }
872
+ ) }) : null
873
+ }
874
+ }
875
+ ),
876
+ Se && /* @__PURE__ */ o(
877
+ Xe,
878
+ {
879
+ translate: h,
880
+ onSubmit: Ae,
881
+ roleList: $,
882
+ featureData: G
883
+ }
884
+ )
885
+ ]
886
+ }
887
+ ) }),
888
+ G.length === 0 ? /* @__PURE__ */ R(
889
+ J,
890
+ {
891
+ "data-testid": "accessrights-empty-state",
892
+ sx: {
893
+ display: "flex",
894
+ flexDirection: "column",
895
+ alignItems: "center",
896
+ justifyContent: "center",
897
+ textAlign: "center",
898
+ gap: 1,
899
+ px: 3,
900
+ py: 6
901
+ },
902
+ children: [
903
+ /* @__PURE__ */ o(J, { sx: { color: "text.disabled" }, children: /* @__PURE__ */ o(B, { iconName: "faUserShield", size: "2x" }) }),
904
+ /* @__PURE__ */ o(ie, { variant: "subtitle1", sx: { fontWeight: 700 }, children: h(ue ? "No roles or users match your search" : "No access granted yet") }),
905
+ /* @__PURE__ */ o(ie, { variant: "body2", color: "text.secondary", children: h(ue ? "Clear the search to see everyone with access." : "Pick a user or a role above and select Add to grant access to this sub menu.") })
906
+ ]
907
+ }
908
+ ) : /* @__PURE__ */ o(J, { children: G.map((e) => /* @__PURE__ */ R(
909
+ Cs,
910
+ {
911
+ expanded: ys === `panel${e == null ? void 0 : e.id}`,
912
+ onChange: gs(e),
913
+ slotProps: { transition: { unmountOnExit: !0 } },
914
+ children: [
915
+ /* @__PURE__ */ R(
916
+ Ns,
917
+ {
918
+ expandIcon: /* @__PURE__ */ o(B, { iconName: "faAngleDown" }),
919
+ "aria-controls": `accessrights-panel-${e == null ? void 0 : e.id}-content`,
920
+ id: `accessrights-panel-${e == null ? void 0 : e.id}-header`,
921
+ sx: {
922
+ "& .MuiAccordionSummary-content": {
923
+ alignItems: "center",
924
+ gap: 1.5,
925
+ minWidth: 0
926
+ }
927
+ },
928
+ children: [
929
+ /* @__PURE__ */ o(
930
+ vs,
931
+ {
932
+ size: "small",
933
+ label: h(e.code),
934
+ color: e.code === "Role" ? "primary" : "default",
935
+ variant: "outlined"
936
+ }
937
+ ),
938
+ /* @__PURE__ */ o(
939
+ ie,
940
+ {
941
+ variant: "body2",
942
+ noWrap: !0,
943
+ sx: { fontWeight: 600, minWidth: 0 },
944
+ children: e.displayName
945
+ }
946
+ ),
947
+ /* @__PURE__ */ R(
948
+ J,
949
+ {
950
+ sx: {
951
+ ml: "auto",
952
+ mr: 1,
953
+ display: "flex",
954
+ alignItems: "center",
955
+ gap: 0.5
956
+ },
957
+ children: [
958
+ rs && /* @__PURE__ */ o(he, { title: h("Remove access"), children: /* @__PURE__ */ o(
959
+ me,
960
+ {
961
+ size: "small",
962
+ color: "error",
963
+ "aria-label": `${h("Remove access")}: ${e.displayName}`,
964
+ "data-testid": "accessrights-delete-icon",
965
+ onClick: (n) => {
966
+ n.stopPropagation(), n.preventDefault(), q(!0), qe(e.id), Qe(e);
967
+ },
968
+ children: /* @__PURE__ */ o(B, { iconName: "faTrash", size: "sm" })
969
+ }
970
+ ) }),
971
+ Se && /* @__PURE__ */ o(
972
+ Ze,
973
+ {
974
+ config: {
975
+ tooltip: h("Bulk actions"),
976
+ icon: /* @__PURE__ */ o(B, { iconName: "faPen", size: "sm" }),
977
+ dataTestId: "accessrights-edit-icon",
978
+ menuClick: (n) => {
979
+ Ve(() => ({
980
+ ...n,
981
+ code: n.designationId ? "Role" : "User",
982
+ menuConfigId: l,
983
+ displayName: n.designationId ? n.roleName : n.fullName
984
+ }));
985
+ },
986
+ menuItems: [
987
+ {
988
+ label: "Check All",
989
+ onClick: (n) => {
990
+ if (Y)
991
+ fs({
992
+ ...n,
993
+ checkAll: !0
994
+ });
995
+ else {
996
+ let i = JSON.parse(g);
997
+ const t = (y == null ? void 0 : y.length) > 0 ? y.reduce(
998
+ (s, { feature_name: a }) => (s[a] = !0, s),
999
+ {}
1000
+ ) : Object.keys(i).reduce((s, a) => (s[a] = !0, s), {});
1001
+ _(
1002
+ (s) => s.map(
1003
+ (a) => a.id === n.id ? {
1004
+ ...a,
1005
+ featureJson: JSON.stringify(t)
1006
+ } : a
1007
+ )
1008
+ ), Pe({
1009
+ ...Ye,
1010
+ featureJson: JSON.stringify(t)
1011
+ });
1012
+ }
1013
+ }
1014
+ }
1015
+ ]
1016
+ },
1017
+ row: e
1018
+ }
1019
+ )
1020
+ ]
1021
+ }
1022
+ )
1023
+ ]
1024
+ }
1025
+ ),
1026
+ /* @__PURE__ */ o(ks, { id: `accessrights-panel-${e == null ? void 0 : e.id}-content`, children: Is ? /* @__PURE__ */ o(
1027
+ J,
1028
+ {
1029
+ sx: {
1030
+ display: "grid",
1031
+ gridTemplateColumns: {
1032
+ xs: "1fr",
1033
+ sm: "repeat(2, minmax(0, 1fr))",
1034
+ lg: "repeat(3, minmax(0, 1fr))"
1035
+ },
1036
+ columnGap: 1.5,
1037
+ rowGap: 1
1038
+ },
1039
+ children: (() => {
1040
+ const n = JSON.parse(
1041
+ e.featureJson || "{}"
1042
+ );
1043
+ return (y == null ? void 0 : y.length) > 0 ? Object.keys(n).map(
1044
+ (i, t) => Ee({
1045
+ row: e,
1046
+ featureState: n,
1047
+ featureKey: i,
1048
+ lookupKey: as.get(i) || i,
1049
+ index: t,
1050
+ withModal: !0
1051
+ })
1052
+ ) : Object.keys(JSON.parse(g || "{}")).map(
1053
+ (i, t) => Ee({
1054
+ row: e,
1055
+ featureState: n,
1056
+ featureKey: i,
1057
+ lookupKey: i,
1058
+ index: t,
1059
+ withModal: !1
1060
+ })
1061
+ );
1062
+ })()
1063
+ }
1064
+ ) : /* @__PURE__ */ o(
1065
+ ie,
1066
+ {
1067
+ variant: "body2",
1068
+ color: "text.secondary",
1069
+ sx: { fontStyle: "italic", px: 1, py: 0.5 },
1070
+ children: h("No rights configured for this sub menu yet")
1071
+ }
1072
+ ) })
1073
+ ]
1074
+ },
1075
+ e == null ? void 0 : e.id
1076
+ )) })
1077
+ ] }) });
1078
+ }
1079
+ Zs.propTypes = {
1080
+ subMenuId: x.any,
1081
+ subMenuGroupName: x.any,
1082
+ selectedTab: x.any,
1083
+ parentLoading: x.any,
1084
+ isNewApi: x.any,
1085
+ setIsNewApi: x.any,
1086
+ onNewAPIChange: x.any,
1087
+ subMenuFeatureVal: x.any,
1088
+ rights: x.any
1089
+ };
1090
+ export {
1091
+ Zs as default
1092
+ };
1093
+ //# sourceMappingURL=AccessRights-BC43Jhml.js.map