@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
@@ -1 +1 @@
1
- {"version":3,"file":"FhirServerWizard-DZI8Olku.js","sources":["../src/views/FhirResource/FhirServerWizard.jsx"],"sourcesContent":["import { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport {\n Box, Button, Stack, Typography, Stepper, Step, StepLabel, Paper,\n CircularProgress, Alert, Chip, FormControlLabel, Checkbox, Divider, IconButton, Tooltip,\n} from \"@mui/material\";\nimport ArrowBackRoundedIcon from \"@mui/icons-material/ArrowBackRounded\";\nimport CheckCircleRoundedIcon from \"@mui/icons-material/CheckCircleRounded\";\nimport CloudSyncRoundedIcon from \"@mui/icons-material/CloudSyncRounded\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport {\n createServer, refreshCapability, syncTypesSequentially,\n} from \"../../services/FhirResource\";\nimport { FhirPageHeader, SectionCard, SyncProgress } from \"./components/FhirUi\";\nimport { FhirGuard, FHIR_PERMS } from \"./components/permissions\";\nimport ServerFormFields, { validateServerForm } from \"./components/ServerFormFields\";\n\nconst STEPS = [\"Server Details\", \"Discover Capability\", \"Sync Resources\"];\nconst DEFAULT_TYPES = [\"ValueSet\", \"CodeSystem\", \"Organization\", \"Location\", \"HealthcareService\"];\n\nfunction FhirServerWizard() {\n const navigate = useNavigate();\n const [activeStep, setActiveStep] = useState(0);\n\n const [form, setForm] = useState({ name: \"\", baseUrl: \"\", authType: \"NONE\", isActive: true });\n const [errors, setErrors] = useState({});\n const [server, setServer] = useState(null); // created server (with id + capability)\n const [busy, setBusy] = useState(false);\n\n // capability step\n const [capState, setCapState] = useState(\"idle\"); // idle | loading | done | error\n const [capError, setCapError] = useState(\"\");\n\n // sync step\n const [selected, setSelected] = useState({});\n const [alsoProcess, setAlsoProcess] = useState(true);\n const [progress, setProgress] = useState(null);\n\n const goToServers = () => navigate(\"/ui/medplat/admin/fhirResource\");\n\n // ---- Step 0: create the server ----\n const handleCreate = async () => {\n const errs = validateServerForm(form);\n setErrors(errs);\n if (Object.keys(errs).length) return;\n setBusy(true);\n try {\n const res = await createServer(form);\n setServer(res.data);\n setActiveStep(1);\n runCapability(res.data.id);\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to create server.\" });\n } finally {\n setBusy(false);\n }\n };\n\n // ---- Step 1: discover capability ----\n const runCapability = async (serverId) => {\n setCapState(\"loading\");\n setCapError(\"\");\n try {\n const res = await refreshCapability(serverId);\n setServer(res.data);\n setCapState(\"done\");\n } catch (err) {\n setCapState(\"error\");\n setCapError(err?.response?.data?.message ?? \"Could not reach the server's /metadata endpoint.\");\n }\n };\n\n const availableTypes = server?.supportedResources?.length ? server.supportedResources : DEFAULT_TYPES;\n const checkedTypes = Object.keys(selected).filter((t) => selected[t]);\n const allSelected = availableTypes.length > 0 && availableTypes.every((t) => selected[t]);\n const someSelected = availableTypes.some((t) => selected[t]);\n\n const toggleSelectAll = (checked) => {\n setSelected(Object.fromEntries(availableTypes.map((t) => [t, checked])));\n };\n\n // ---- Step 2: sync ----\n const handleSync = async () => {\n if (checkedTypes.length === 0) {\n showToast({ type: \"error\", message: \"Select at least one resource type, or skip this step.\" });\n return;\n }\n setBusy(true);\n try {\n const total = await syncTypesSequentially(server.id, checkedTypes, {\n alsoProcess,\n onProgress: setProgress,\n });\n showToast({ type: \"success\", message: `Synced ${total} resource(s).` });\n navigate(`/ui/medplat/admin/fhirResource/${server.id}`);\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Sync failed.\" });\n } finally {\n setBusy(false);\n setProgress(null);\n }\n };\n\n const finishSkip = () => navigate(`/ui/medplat/admin/fhirResource/${server.id}`);\n\n return (\n <FhirGuard perm={FHIR_PERMS.MANAGE}>\n <Box sx={{ p: { xs: 2, md: 3 } }}>\n <FhirPageHeader\n title={\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <Tooltip title=\"Back to servers\">\n <IconButton size=\"small\" onClick={goToServers}><ArrowBackRoundedIcon fontSize=\"small\" /></IconButton>\n </Tooltip>\n <span>Connect a FHIR Server</span>\n </Stack>\n }\n subtitle=\"Register a server by its base URL, discover what it supports, and optionally sync resources — all in a few guided steps.\"\n />\n\n <Stepper activeStep={activeStep} alternativeLabel sx={{ mb: 3 }}>\n {STEPS.map((label) => (\n <Step key={label}><StepLabel>{label}</StepLabel></Step>\n ))}\n </Stepper>\n\n {/* Step 0 */}\n {activeStep === 0 && (\n <SectionCard title=\"Server Details\" subtitle=\"Where to connect and how to authenticate\">\n <Box sx={{ maxWidth: 560 }}>\n <ServerFormFields value={form} onChange={setForm} errors={errors} />\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" sx={{ mt: 3 }}>\n <Button onClick={goToServers} disabled={busy}>Cancel</Button>\n <Button variant=\"contained\" onClick={handleCreate} disabled={busy}>\n {busy ? \"Creating…\" : \"Create & Continue\"}\n </Button>\n </Stack>\n </Box>\n </SectionCard>\n )}\n\n {/* Step 1 */}\n {activeStep === 1 && (\n <SectionCard title=\"Discover Capability\" subtitle=\"Reading GET /metadata to learn what this server supports\">\n {capState === \"loading\" && (\n <Stack alignItems=\"center\" spacing={2} sx={{ py: 5 }}>\n <CircularProgress />\n <Typography variant=\"body2\" color=\"text.secondary\">Contacting {server?.baseUrl}…</Typography>\n </Stack>\n )}\n\n {capState === \"error\" && (\n <Stack spacing={2} sx={{ py: 2 }}>\n <Alert severity=\"error\">{capError}</Alert>\n <Typography variant=\"body2\" color=\"text.secondary\">\n The server was saved. You can retry capability discovery, or continue and try later from the server profile.\n </Typography>\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\">\n <Button onClick={() => runCapability(server.id)} startIcon={<CloudSyncRoundedIcon />}>Retry</Button>\n <Button variant=\"contained\" onClick={() => setActiveStep(2)}>Continue anyway</Button>\n </Stack>\n </Stack>\n )}\n\n {capState === \"done\" && (\n <Stack spacing={2} sx={{ py: 1 }}>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n <CheckCircleRoundedIcon color=\"success\" />\n <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>Capability discovered</Typography>\n </Stack>\n <Stack direction=\"row\" spacing={1.5} flexWrap=\"wrap\" useFlexGap>\n <Chip label={`FHIR ${server?.fhirVersion ?? \"?\"}`} color=\"primary\" variant=\"outlined\" />\n <Chip label={`${server?.supportedResources?.length ?? 0} resource types`} variant=\"outlined\" />\n <Chip label={server?.supportsExpand ? \"$expand supported\" : \"no $expand\"} color={server?.supportsExpand ? \"success\" : \"default\"} variant=\"outlined\" />\n </Stack>\n {server?.supportedResources?.length ? (\n <Box>\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>SUPPORTED RESOURCES</Typography>\n <Stack direction=\"row\" spacing={0.75} flexWrap=\"wrap\" useFlexGap sx={{ mt: 0.75 }}>\n {server.supportedResources.map((r) => <Chip key={r} size=\"small\" label={r} />)}\n </Stack>\n </Box>\n ) : null}\n <Divider />\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\">\n <Button onClick={finishSkip}>Finish (sync later)</Button>\n <Button variant=\"contained\" onClick={() => setActiveStep(2)}>Continue to Sync</Button>\n </Stack>\n </Stack>\n )}\n </SectionCard>\n )}\n\n {/* Step 2 */}\n {activeStep === 2 && (\n <SectionCard title=\"Sync Resources\" subtitle=\"Choose what to sync now — you can always sync more later\">\n <Box sx={{ maxWidth: 560 }}>\n {busy && progress ? (\n <SyncProgress progress={progress} />\n ) : (\n <>\n {!server?.supportedResources?.length && (\n <Alert severity=\"info\" sx={{ mb: 2 }}>\n Capability wasn't discovered — showing common resource types.\n </Alert>\n )}\n <FormControlLabel\n control={\n <Checkbox\n checked={allSelected}\n indeterminate={someSelected && !allSelected}\n onChange={(e) => toggleSelectAll(e.target.checked)}\n />\n }\n label={<Typography variant=\"body2\" sx={{ fontWeight: 700 }}>Select All</Typography>}\n sx={{ mb: 0.5 }}\n />\n <Divider sx={{ mb: 1 }} />\n <Stack>\n {availableTypes.map((t) => (\n <FormControlLabel\n key={t}\n control={<Checkbox checked={Boolean(selected[t])} onChange={(e) => setSelected((s) => ({ ...s, [t]: e.target.checked }))} />}\n label={t}\n />\n ))}\n </Stack>\n <FormControlLabel\n sx={{ mt: 1 }}\n control={<Checkbox checked={alsoProcess} onChange={(e) => setAlsoProcess(e.target.checked)} />}\n label={<Typography variant=\"body2\">Process into the system after sync</Typography>}\n />\n </>\n )}\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" sx={{ mt: 3 }}>\n {/* While syncing the user can only watch progress — no skip/cancel. */}\n {!busy && <Button onClick={finishSkip}>Skip</Button>}\n <Button variant=\"contained\" onClick={handleSync} disabled={busy}>\n {busy ? \"Syncing…\" : `Sync ${checkedTypes.length || \"\"} Selected`}\n </Button>\n </Stack>\n </Box>\n </SectionCard>\n )}\n </Box>\n </FhirGuard>\n );\n}\n\nexport default FhirServerWizard;\n"],"names":["STEPS","DEFAULT_TYPES","FhirServerWizard","navigate","useNavigate","activeStep","setActiveStep","useState","form","setForm","errors","setErrors","server","setServer","busy","setBusy","capState","setCapState","capError","setCapError","selected","setSelected","alsoProcess","setAlsoProcess","progress","setProgress","goToServers","handleCreate","errs","validateServerForm","res","createServer","runCapability","err","showToast","_b","_a","serverId","refreshCapability","availableTypes","checkedTypes","t","allSelected","someSelected","toggleSelectAll","checked","handleSync","total","syncTypesSequentially","finishSkip","FhirGuard","FHIR_PERMS","Box","jsx","FhirPageHeader","Stack","Tooltip","IconButton","ArrowBackRoundedIcon","Stepper","label","Step","StepLabel","SectionCard","jsxs","ServerFormFields","Button","CircularProgress","Typography","Alert","CloudSyncRoundedIcon","CheckCircleRoundedIcon","Chip","_c","Divider","SyncProgress","Fragment","_d","FormControlLabel","Checkbox","e"],"mappings":"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"}
1
+ {"version":3,"file":"FhirServerWizard-Db6Hm4bQ.js","sources":["../src/views/FhirResource/FhirServerWizard.jsx"],"sourcesContent":["import { useState } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport {\n Box, Button, Stack, Typography, Stepper, Step, StepLabel, Paper,\n CircularProgress, Alert, Chip, FormControlLabel, Checkbox, Divider, IconButton, Tooltip,\n} from \"@mui/material\";\nimport ArrowBackRoundedIcon from \"@mui/icons-material/ArrowBackRounded\";\nimport CheckCircleRoundedIcon from \"@mui/icons-material/CheckCircleRounded\";\nimport CloudSyncRoundedIcon from \"@mui/icons-material/CloudSyncRounded\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport {\n createServer, refreshCapability, syncTypesSequentially,\n} from \"../../services/FhirResource\";\nimport { FhirPageHeader, SectionCard, SyncProgress } from \"./components/FhirUi\";\nimport { FhirGuard, FHIR_PERMS } from \"./components/permissions\";\nimport ServerFormFields, { validateServerForm } from \"./components/ServerFormFields\";\n\nconst STEPS = [\"Server Details\", \"Discover Capability\", \"Sync Resources\"];\nconst DEFAULT_TYPES = [\"ValueSet\", \"CodeSystem\", \"Organization\", \"Location\", \"HealthcareService\"];\n\nfunction FhirServerWizard() {\n const navigate = useNavigate();\n const [activeStep, setActiveStep] = useState(0);\n\n const [form, setForm] = useState({ name: \"\", baseUrl: \"\", authType: \"NONE\", isActive: true });\n const [errors, setErrors] = useState({});\n const [server, setServer] = useState(null); // created server (with id + capability)\n const [busy, setBusy] = useState(false);\n\n // capability step\n const [capState, setCapState] = useState(\"idle\"); // idle | loading | done | error\n const [capError, setCapError] = useState(\"\");\n\n // sync step\n const [selected, setSelected] = useState({});\n const [alsoProcess, setAlsoProcess] = useState(true);\n const [progress, setProgress] = useState(null);\n\n const goToServers = () => navigate(\"/ui/medplat/admin/fhirResource\");\n\n // ---- Step 0: create the server ----\n const handleCreate = async () => {\n const errs = validateServerForm(form);\n setErrors(errs);\n if (Object.keys(errs).length) return;\n setBusy(true);\n try {\n const res = await createServer(form);\n setServer(res.data);\n setActiveStep(1);\n runCapability(res.data.id);\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to create server.\" });\n } finally {\n setBusy(false);\n }\n };\n\n // ---- Step 1: discover capability ----\n const runCapability = async (serverId) => {\n setCapState(\"loading\");\n setCapError(\"\");\n try {\n const res = await refreshCapability(serverId);\n setServer(res.data);\n setCapState(\"done\");\n } catch (err) {\n setCapState(\"error\");\n setCapError(err?.response?.data?.message ?? \"Could not reach the server's /metadata endpoint.\");\n }\n };\n\n const availableTypes = server?.supportedResources?.length ? server.supportedResources : DEFAULT_TYPES;\n const checkedTypes = Object.keys(selected).filter((t) => selected[t]);\n const allSelected = availableTypes.length > 0 && availableTypes.every((t) => selected[t]);\n const someSelected = availableTypes.some((t) => selected[t]);\n\n const toggleSelectAll = (checked) => {\n setSelected(Object.fromEntries(availableTypes.map((t) => [t, checked])));\n };\n\n // ---- Step 2: sync ----\n const handleSync = async () => {\n if (checkedTypes.length === 0) {\n showToast({ type: \"error\", message: \"Select at least one resource type, or skip this step.\" });\n return;\n }\n setBusy(true);\n try {\n const total = await syncTypesSequentially(server.id, checkedTypes, {\n alsoProcess,\n onProgress: setProgress,\n });\n showToast({ type: \"success\", message: `Synced ${total} resource(s).` });\n navigate(`/ui/medplat/admin/fhirResource/${server.id}`);\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Sync failed.\" });\n } finally {\n setBusy(false);\n setProgress(null);\n }\n };\n\n const finishSkip = () => navigate(`/ui/medplat/admin/fhirResource/${server.id}`);\n\n return (\n <FhirGuard perm={FHIR_PERMS.MANAGE}>\n <Box sx={{ p: { xs: 2, md: 3 } }}>\n <FhirPageHeader\n title={\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <Tooltip title=\"Back to servers\">\n <IconButton size=\"small\" onClick={goToServers}><ArrowBackRoundedIcon fontSize=\"small\" /></IconButton>\n </Tooltip>\n <span>Connect a FHIR Server</span>\n </Stack>\n }\n subtitle=\"Register a server by its base URL, discover what it supports, and optionally sync resources — all in a few guided steps.\"\n />\n\n <Stepper activeStep={activeStep} alternativeLabel sx={{ mb: 3 }}>\n {STEPS.map((label) => (\n <Step key={label}><StepLabel>{label}</StepLabel></Step>\n ))}\n </Stepper>\n\n {/* Step 0 */}\n {activeStep === 0 && (\n <SectionCard title=\"Server Details\" subtitle=\"Where to connect and how to authenticate\">\n <Box sx={{ maxWidth: 560 }}>\n <ServerFormFields value={form} onChange={setForm} errors={errors} />\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" sx={{ mt: 3 }}>\n <Button onClick={goToServers} disabled={busy}>Cancel</Button>\n <Button variant=\"contained\" onClick={handleCreate} disabled={busy}>\n {busy ? \"Creating…\" : \"Create & Continue\"}\n </Button>\n </Stack>\n </Box>\n </SectionCard>\n )}\n\n {/* Step 1 */}\n {activeStep === 1 && (\n <SectionCard title=\"Discover Capability\" subtitle=\"Reading GET /metadata to learn what this server supports\">\n {capState === \"loading\" && (\n <Stack alignItems=\"center\" spacing={2} sx={{ py: 5 }}>\n <CircularProgress />\n <Typography variant=\"body2\" color=\"text.secondary\">Contacting {server?.baseUrl}…</Typography>\n </Stack>\n )}\n\n {capState === \"error\" && (\n <Stack spacing={2} sx={{ py: 2 }}>\n <Alert severity=\"error\">{capError}</Alert>\n <Typography variant=\"body2\" color=\"text.secondary\">\n The server was saved. You can retry capability discovery, or continue and try later from the server profile.\n </Typography>\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\">\n <Button onClick={() => runCapability(server.id)} startIcon={<CloudSyncRoundedIcon />}>Retry</Button>\n <Button variant=\"contained\" onClick={() => setActiveStep(2)}>Continue anyway</Button>\n </Stack>\n </Stack>\n )}\n\n {capState === \"done\" && (\n <Stack spacing={2} sx={{ py: 1 }}>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n <CheckCircleRoundedIcon color=\"success\" />\n <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>Capability discovered</Typography>\n </Stack>\n <Stack direction=\"row\" spacing={1.5} flexWrap=\"wrap\" useFlexGap>\n <Chip label={`FHIR ${server?.fhirVersion ?? \"?\"}`} color=\"primary\" variant=\"outlined\" />\n <Chip label={`${server?.supportedResources?.length ?? 0} resource types`} variant=\"outlined\" />\n <Chip label={server?.supportsExpand ? \"$expand supported\" : \"no $expand\"} color={server?.supportsExpand ? \"success\" : \"default\"} variant=\"outlined\" />\n </Stack>\n {server?.supportedResources?.length ? (\n <Box>\n <Typography variant=\"caption\" color=\"text.secondary\" sx={{ fontWeight: 700 }}>SUPPORTED RESOURCES</Typography>\n <Stack direction=\"row\" spacing={0.75} flexWrap=\"wrap\" useFlexGap sx={{ mt: 0.75 }}>\n {server.supportedResources.map((r) => <Chip key={r} size=\"small\" label={r} />)}\n </Stack>\n </Box>\n ) : null}\n <Divider />\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\">\n <Button onClick={finishSkip}>Finish (sync later)</Button>\n <Button variant=\"contained\" onClick={() => setActiveStep(2)}>Continue to Sync</Button>\n </Stack>\n </Stack>\n )}\n </SectionCard>\n )}\n\n {/* Step 2 */}\n {activeStep === 2 && (\n <SectionCard title=\"Sync Resources\" subtitle=\"Choose what to sync now — you can always sync more later\">\n <Box sx={{ maxWidth: 560 }}>\n {busy && progress ? (\n <SyncProgress progress={progress} />\n ) : (\n <>\n {!server?.supportedResources?.length && (\n <Alert severity=\"info\" sx={{ mb: 2 }}>\n Capability wasn't discovered — showing common resource types.\n </Alert>\n )}\n <FormControlLabel\n control={\n <Checkbox\n checked={allSelected}\n indeterminate={someSelected && !allSelected}\n onChange={(e) => toggleSelectAll(e.target.checked)}\n />\n }\n label={<Typography variant=\"body2\" sx={{ fontWeight: 700 }}>Select All</Typography>}\n sx={{ mb: 0.5 }}\n />\n <Divider sx={{ mb: 1 }} />\n <Stack>\n {availableTypes.map((t) => (\n <FormControlLabel\n key={t}\n control={<Checkbox checked={Boolean(selected[t])} onChange={(e) => setSelected((s) => ({ ...s, [t]: e.target.checked }))} />}\n label={t}\n />\n ))}\n </Stack>\n <FormControlLabel\n sx={{ mt: 1 }}\n control={<Checkbox checked={alsoProcess} onChange={(e) => setAlsoProcess(e.target.checked)} />}\n label={<Typography variant=\"body2\">Process into the system after sync</Typography>}\n />\n </>\n )}\n <Stack direction=\"row\" spacing={1} justifyContent=\"flex-end\" sx={{ mt: 3 }}>\n {/* While syncing the user can only watch progress — no skip/cancel. */}\n {!busy && <Button onClick={finishSkip}>Skip</Button>}\n <Button variant=\"contained\" onClick={handleSync} disabled={busy}>\n {busy ? \"Syncing…\" : `Sync ${checkedTypes.length || \"\"} Selected`}\n </Button>\n </Stack>\n </Box>\n </SectionCard>\n )}\n </Box>\n </FhirGuard>\n );\n}\n\nexport default FhirServerWizard;\n"],"names":["STEPS","DEFAULT_TYPES","FhirServerWizard","navigate","useNavigate","activeStep","setActiveStep","useState","form","setForm","errors","setErrors","server","setServer","busy","setBusy","capState","setCapState","capError","setCapError","selected","setSelected","alsoProcess","setAlsoProcess","progress","setProgress","goToServers","handleCreate","errs","validateServerForm","res","createServer","runCapability","err","showToast","_b","_a","serverId","refreshCapability","availableTypes","checkedTypes","t","allSelected","someSelected","toggleSelectAll","checked","handleSync","total","syncTypesSequentially","finishSkip","FhirGuard","FHIR_PERMS","Box","jsx","FhirPageHeader","Stack","Tooltip","IconButton","ArrowBackRoundedIcon","Stepper","label","Step","StepLabel","SectionCard","jsxs","ServerFormFields","Button","CircularProgress","Typography","Alert","CloudSyncRoundedIcon","CheckCircleRoundedIcon","Chip","_c","Divider","SyncProgress","Fragment","_d","FormControlLabel","Checkbox","e"],"mappings":";;;;;;;;;;AAiBA,MAAMA,KAAQ,CAAC,kBAAkB,uBAAuB,gBAAgB,GAClEC,KAAgB,CAAC,YAAY,cAAc,gBAAgB,YAAY,mBAAmB;AAEhG,SAASC,KAAmB;;AAC1B,QAAMC,IAAWC,GAAA,GACX,CAACC,GAAYC,CAAa,IAAIC,EAAS,CAAC,GAExC,CAACC,GAAMC,CAAO,IAAIF,EAAS,EAAE,MAAM,IAAI,SAAS,IAAI,UAAU,QAAQ,UAAU,IAAM,GACtF,CAACG,GAAQC,CAAS,IAAIJ,EAAS,CAAA,CAAE,GACjC,CAACK,GAAQC,CAAS,IAAIN,EAAS,IAAI,GACnC,CAACO,GAAMC,CAAO,IAAIR,EAAS,EAAK,GAGhC,CAACS,GAAUC,CAAW,IAAIV,EAAS,MAAM,GACzC,CAACW,GAAUC,CAAW,IAAIZ,EAAS,EAAE,GAGrC,CAACa,GAAUC,CAAW,IAAId,EAAS,CAAA,CAAE,GACrC,CAACe,GAAaC,CAAc,IAAIhB,EAAS,EAAI,GAC7C,CAACiB,GAAUC,CAAW,IAAIlB,EAAS,IAAI,GAEvCmB,IAAc,MAAMvB,EAAS,gCAAgC,GAG7DwB,IAAe,YAAY;;AAC/B,UAAMC,IAAOC,GAAmBrB,CAAI;AAEpC,QADAG,EAAUiB,CAAI,GACV,QAAO,KAAKA,CAAI,EAAE,QACtB;AAAA,MAAAb,EAAQ,EAAI;AACZ,UAAI;AACF,cAAMe,IAAM,MAAMC,GAAavB,CAAI;AACnC,QAAAK,EAAUiB,EAAI,IAAI,GAClBxB,EAAc,CAAC,GACf0B,EAAcF,EAAI,KAAK,EAAE;AAAA,MAC3B,SAASG,GAAK;AACZ,QAAAC,EAAU,EAAE,MAAM,SAAS,WAASC,KAAAC,IAAAH,KAAA,gBAAAA,EAAK,aAAL,gBAAAG,EAAe,SAAf,gBAAAD,EAAqB,YAAW,4BAA4B;AAAA,MAClG,UAAA;AACE,QAAApB,EAAQ,EAAK;AAAA,MACf;AAAA;AAAA,EACF,GAGMiB,IAAgB,OAAOK,MAAa;;AACxC,IAAApB,EAAY,SAAS,GACrBE,EAAY,EAAE;AACd,QAAI;AACF,YAAMW,IAAM,MAAMQ,GAAkBD,CAAQ;AAC5C,MAAAxB,EAAUiB,EAAI,IAAI,GAClBb,EAAY,MAAM;AAAA,IACpB,SAASgB,GAAK;AACZ,MAAAhB,EAAY,OAAO,GACnBE,IAAYgB,KAAAC,IAAAH,KAAA,gBAAAA,EAAK,aAAL,gBAAAG,EAAe,SAAf,gBAAAD,EAAqB,YAAW,kDAAkD;AAAA,IAChG;AAAA,EACF,GAEMI,KAAiBH,IAAAxB,KAAA,gBAAAA,EAAQ,uBAAR,QAAAwB,EAA4B,SAASxB,EAAO,qBAAqBX,IAClFuC,IAAe,OAAO,KAAKpB,CAAQ,EAAE,OAAO,CAACqB,MAAMrB,EAASqB,CAAC,CAAC,GAC9DC,IAAcH,EAAe,SAAS,KAAKA,EAAe,MAAM,CAACE,MAAMrB,EAASqB,CAAC,CAAC,GAClFE,IAAeJ,EAAe,KAAK,CAACE,MAAMrB,EAASqB,CAAC,CAAC,GAErDG,IAAkB,CAACC,MAAY;AACnC,IAAAxB,EAAY,OAAO,YAAYkB,EAAe,IAAI,CAACE,MAAM,CAACA,GAAGI,CAAO,CAAC,CAAC,CAAC;AAAA,EACzE,GAGMC,IAAa,YAAY;;AAC7B,QAAIN,EAAa,WAAW,GAAG;AAC7B,MAAAN,EAAU,EAAE,MAAM,SAAS,SAAS,yDAAyD;AAC7F;AAAA,IACF;AACA,IAAAnB,EAAQ,EAAI;AACZ,QAAI;AACF,YAAMgC,IAAQ,MAAMC,GAAsBpC,EAAO,IAAI4B,GAAc;AAAA,QACjE,aAAAlB;AAAA,QACA,YAAYG;AAAA,MAAA,CACb;AACD,MAAAS,EAAU,EAAE,MAAM,WAAW,SAAS,UAAUa,CAAK,iBAAiB,GACtE5C,EAAS,kCAAkCS,EAAO,EAAE,EAAE;AAAA,IACxD,SAASqB,GAAK;AACZ,MAAAC,EAAU,EAAE,MAAM,SAAS,WAASC,KAAAC,IAAAH,KAAA,gBAAAA,EAAK,aAAL,gBAAAG,EAAe,SAAf,gBAAAD,EAAqB,YAAW,gBAAgB;AAAA,IACtF,UAAA;AACE,MAAApB,EAAQ,EAAK,GACbU,EAAY,IAAI;AAAA,IAClB;AAAA,EACF,GAEMwB,IAAa,MAAM9C,EAAS,kCAAkCS,EAAO,EAAE,EAAE;AAE/E,2BACGsC,IAAA,EAAU,MAAMC,GAAW,QAC5B,4BAACC,GAAA,EAAI,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAA,KACzB,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,yBACGC,GAAA,EAAM,WAAU,OAAM,YAAW,UAAS,SAAS,GAClD,UAAA;AAAA,UAAA,gBAAAF,EAACG,IAAA,EAAQ,OAAM,mBACb,UAAA,gBAAAH,EAACI,MAAW,MAAK,SAAQ,SAAS/B,GAAa,UAAA,gBAAA2B,EAACK,IAAA,EAAqB,UAAS,QAAA,CAAQ,GAAE,GAC1F;AAAA,UACA,gBAAAL,EAAC,UAAK,UAAA,wBAAA,CAAqB;AAAA,QAAA,GAC7B;AAAA,QAEF,UAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAGX,gBAAAA,EAACM,MAAQ,YAAAtD,GAAwB,kBAAgB,IAAC,IAAI,EAAE,IAAI,EAAA,GACzD,UAAAL,GAAM,IAAI,CAAC4D,wBACTC,IAAA,EAAiB,UAAA,gBAAAR,EAACS,MAAW,UAAAF,EAAA,CAAM,EAAA,GAAzBA,CAAqC,CACjD,EAAA,CACH;AAAA,IAGCvD,MAAe,KACd,gBAAAgD,EAACU,GAAA,EAAY,OAAM,kBAAiB,UAAS,4CAC3C,UAAA,gBAAAC,EAACZ,GAAA,EAAI,IAAI,EAAE,UAAU,OACnB,UAAA;AAAA,MAAA,gBAAAC,EAACY,IAAA,EAAiB,OAAOzD,GAAM,UAAUC,GAAS,QAAAC,GAAgB;AAAA,MAClE,gBAAAsD,EAACT,GAAA,EAAM,WAAU,OAAM,SAAS,GAAG,gBAAe,YAAW,IAAI,EAAE,IAAI,EAAA,GACrE,UAAA;AAAA,QAAA,gBAAAF,EAACa,GAAA,EAAO,SAASxC,GAAa,UAAUZ,GAAM,UAAA,UAAM;AAAA,QACpD,gBAAAuC,EAACa,GAAA,EAAO,SAAQ,aAAY,SAASvC,GAAc,UAAUb,GAC1D,UAAAA,IAAO,cAAc,oBAAA,CACxB;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,IAIDT,MAAe,KACd,gBAAA2D,EAACD,KAAY,OAAM,uBAAsB,UAAS,4DAC/C,UAAA;AAAA,MAAA/C,MAAa,aACZ,gBAAAgD,EAACT,GAAA,EAAM,YAAW,UAAS,SAAS,GAAG,IAAI,EAAE,IAAI,EAAA,GAC/C,UAAA;AAAA,QAAA,gBAAAF,EAACc,IAAA,EAAiB;AAAA,QAClB,gBAAAH,EAACI,GAAA,EAAW,SAAQ,SAAQ,OAAM,kBAAiB,UAAA;AAAA,UAAA;AAAA,UAAYxD,KAAA,gBAAAA,EAAQ;AAAA,UAAQ;AAAA,QAAA,EAAA,CAAC;AAAA,MAAA,GAClF;AAAA,MAGDI,MAAa,WACZ,gBAAAgD,EAACT,GAAA,EAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAA,GAC3B,UAAA;AAAA,QAAA,gBAAAF,EAACgB,GAAA,EAAM,UAAS,SAAS,UAAAnD,GAAS;AAAA,0BACjCkD,GAAA,EAAW,SAAQ,SAAQ,OAAM,kBAAiB,UAAA,gHAEnD;AAAA,0BACCb,GAAA,EAAM,WAAU,OAAM,SAAS,GAAG,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAAF,EAACa,GAAA,EAAO,SAAS,MAAMlC,EAAcpB,EAAO,EAAE,GAAG,WAAW,gBAAAyC,EAACiB,IAAA,CAAA,CAAqB,GAAI,UAAA,QAAA,CAAK;AAAA,UAC3F,gBAAAjB,EAACa,KAAO,SAAQ,aAAY,SAAS,MAAM5D,EAAc,CAAC,GAAG,UAAA,kBAAA,CAAe;AAAA,QAAA,EAAA,CAC9E;AAAA,MAAA,GACF;AAAA,MAGDU,MAAa,UACZ,gBAAAgD,EAACT,GAAA,EAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAA,GAC3B,UAAA;AAAA,QAAA,gBAAAS,EAACT,KAAM,WAAU,OAAM,SAAS,GAAG,YAAW,UAC5C,UAAA;AAAA,UAAA,gBAAAF,EAACkB,IAAA,EAAuB,OAAM,UAAA,CAAU;AAAA,UACxC,gBAAAlB,EAACe,KAAW,SAAQ,aAAY,IAAI,EAAE,YAAY,IAAA,GAAO,UAAA,wBAAA,CAAqB;AAAA,QAAA,GAChF;AAAA,QACA,gBAAAJ,EAACT,KAAM,WAAU,OAAM,SAAS,KAAK,UAAS,QAAO,YAAU,IAC7D,UAAA;AAAA,UAAA,gBAAAF,EAACmB,GAAA,EAAK,OAAO,SAAQ5D,KAAA,gBAAAA,EAAQ,gBAAe,GAAG,IAAI,OAAM,WAAU,SAAQ,WAAA,CAAW;AAAA,UACtF,gBAAAyC,EAACmB,GAAA,EAAK,OAAO,KAAGrC,IAAAvB,KAAA,gBAAAA,EAAQ,uBAAR,gBAAAuB,EAA4B,WAAU,CAAC,mBAAmB,SAAQ,WAAA,CAAW;AAAA,UAC7F,gBAAAkB,EAACmB,GAAA,EAAK,OAAO5D,KAAA,QAAAA,EAAQ,iBAAiB,sBAAsB,cAAc,OAAOA,KAAA,QAAAA,EAAQ,iBAAiB,YAAY,WAAW,SAAQ,WAAA,CAAW;AAAA,QAAA,GACtJ;AAAA,SACC6D,IAAA7D,KAAA,gBAAAA,EAAQ,uBAAR,QAAA6D,EAA4B,SAC3B,gBAAAT,EAACZ,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAC,EAACe,GAAA,EAAW,SAAQ,WAAU,OAAM,kBAAiB,IAAI,EAAE,YAAY,IAAA,GAAO,UAAA,sBAAA,CAAmB;AAAA,UACjG,gBAAAf,EAACE,GAAA,EAAM,WAAU,OAAM,SAAS,MAAM,UAAS,QAAO,YAAU,IAAC,IAAI,EAAE,IAAI,KAAA,GACxE,UAAA3C,EAAO,mBAAmB,IAAI,CAAC,MAAM,gBAAAyC,EAACmB,GAAA,EAAa,MAAK,SAAQ,OAAO,EAAA,GAAvB,CAA0B,CAAE,EAAA,CAC/E;AAAA,QAAA,EAAA,CACF,IACE;AAAA,0BACHE,GAAA,EAAQ;AAAA,0BACRnB,GAAA,EAAM,WAAU,OAAM,SAAS,GAAG,gBAAe,YAChD,UAAA;AAAA,UAAA,gBAAAF,EAACa,GAAA,EAAO,SAASjB,GAAY,UAAA,uBAAmB;AAAA,UAChD,gBAAAI,EAACa,KAAO,SAAQ,aAAY,SAAS,MAAM5D,EAAc,CAAC,GAAG,UAAA,mBAAA,CAAgB;AAAA,QAAA,EAAA,CAC/E;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GAEJ;AAAA,IAIDD,MAAe,KACd,gBAAAgD,EAACU,GAAA,EAAY,OAAM,kBAAiB,UAAS,4DAC3C,UAAA,gBAAAC,EAACZ,GAAA,EAAI,IAAI,EAAE,UAAU,OAClB,UAAA;AAAA,MAAAtC,KAAQU,IACP,gBAAA6B,EAACsB,IAAA,EAAa,UAAAnD,EAAA,CAAoB,IAElC,gBAAAwC,EAAAY,GAAA,EACG,UAAA;AAAA,QAAA,GAACC,IAAAjE,KAAA,gBAAAA,EAAQ,uBAAR,QAAAiE,EAA4B,WAC5B,gBAAAxB,EAACgB,GAAA,EAAM,UAAS,QAAO,IAAI,EAAE,IAAI,EAAA,GAAK,UAAA,gEAAA,CAEtC;AAAA,QAEF,gBAAAhB;AAAA,UAACyB;AAAA,UAAA;AAAA,YACC,SACE,gBAAAzB;AAAA,cAAC0B;AAAA,cAAA;AAAA,gBACC,SAASrC;AAAA,gBACT,eAAeC,KAAgB,CAACD;AAAA,gBAChC,UAAU,CAACsC,MAAMpC,EAAgBoC,EAAE,OAAO,OAAO;AAAA,cAAA;AAAA,YAAA;AAAA,YAGrD,OAAO,gBAAA3B,EAACe,GAAA,EAAW,SAAQ,SAAQ,IAAI,EAAE,YAAY,IAAA,GAAO,UAAA,aAAA,CAAU;AAAA,YACtE,IAAI,EAAE,IAAI,IAAA;AAAA,UAAI;AAAA,QAAA;AAAA,0BAEfM,GAAA,EAAQ,IAAI,EAAE,IAAI,KAAK;AAAA,QACxB,gBAAArB,EAACE,GAAA,EACE,UAAAhB,EAAe,IAAI,CAACE,MACnB,gBAAAY;AAAA,UAACyB;AAAA,UAAA;AAAA,YAEC,SAAS,gBAAAzB,EAAC0B,GAAA,EAAS,SAAS,EAAQ3D,EAASqB,CAAC,GAAI,UAAU,CAACuC,MAAM3D,EAAY,CAAC,OAAO,EAAE,GAAG,GAAG,CAACoB,CAAC,GAAGuC,EAAE,OAAO,UAAU,GAAG;AAAA,YAC1H,OAAOvC;AAAA,UAAA;AAAA,UAFFA;AAAA,QAAA,CAIR,GACH;AAAA,QACA,gBAAAY;AAAA,UAACyB;AAAA,UAAA;AAAA,YACC,IAAI,EAAE,IAAI,EAAA;AAAA,YACV,SAAS,gBAAAzB,EAAC0B,GAAA,EAAS,SAASzD,GAAa,UAAU,CAAC0D,MAAMzD,EAAeyD,EAAE,OAAO,OAAO,EAAA,CAAG;AAAA,YAC5F,OAAO,gBAAA3B,EAACe,GAAA,EAAW,SAAQ,SAAQ,UAAA,qCAAA,CAAkC;AAAA,UAAA;AAAA,QAAA;AAAA,MACvE,GACF;AAAA,MAEF,gBAAAJ,EAACT,GAAA,EAAM,WAAU,OAAM,SAAS,GAAG,gBAAe,YAAW,IAAI,EAAE,IAAI,EAAA,GAEpE,UAAA;AAAA,QAAA,CAACzC,KAAQ,gBAAAuC,EAACa,GAAA,EAAO,SAASjB,GAAY,UAAA,QAAI;AAAA,QAC3C,gBAAAI,EAACa,GAAA,EAAO,SAAQ,aAAY,SAASpB,GAAY,UAAUhC,GACxD,UAAAA,IAAO,aAAa,QAAQ0B,EAAa,UAAU,EAAE,YAAA,CACxD;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,EAAA,CAEJ,EAAA,CACA;AAEJ;"}
@@ -1,18 +1,18 @@
1
1
  import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
2
  import "react";
3
- import { Dialog as M, DialogTitle as W, Box as m, Typography as w, IconButton as j, DialogContent as A, DialogActions as F, Button as g } from "@mui/material";
4
- import P from "@/common/fontAwesomeIcons/FontAwesomeIcons";
5
- import { useForm as q } from "react-hook-form";
6
- import { yupResolver as N } from "@hookform/resolvers/yup";
3
+ import { Dialog as R, DialogTitle as q, Box as m, Typography as w, IconButton as z, DialogContent as V, DialogActions as _, Button as E } from "@mui/material";
4
+ import $ from "@/common/fontAwesomeIcons/FontAwesomeIcons";
5
+ import { useForm as L } from "react-hook-form";
6
+ import { yupResolver as X } from "@hookform/resolvers/yup";
7
7
  import * as s from "yup";
8
8
  import h from "@/views/custom-components/CustomCheckBox";
9
9
  import k from "@/views/custom-components/CustomDatePicker";
10
10
  import r from "prop-types";
11
- import { a as z } from "./Features-Dne21RWu.js";
11
+ import { a as H } from "./Features-Dne21RWu.js";
12
12
  import { showToast as B } from "@/common/toaster/toaster";
13
- import { execute as V } from "@/common/services/GlobalApis.js";
14
- import { useTranslateProvider as L } from "@/common/languageTranslator/TranslationContext";
15
- const R = s.object().shape({
13
+ import { execute as J } from "@/common/services/GlobalApis.js";
14
+ import { useTranslateProvider as K } from "@/common/languageTranslator/TranslationContext";
15
+ const Q = s.object().shape({
16
16
  noStartDate: s.boolean().default(!0),
17
17
  noEndDate: s.boolean().default(!0),
18
18
  startDate: s.date().nullable().when("noStartDate", {
@@ -32,22 +32,22 @@ const R = s.object().shape({
32
32
  ),
33
33
  isBackendOnly: s.boolean().default(!1)
34
34
  });
35
- function X({
35
+ function U({
36
36
  isOpen: a,
37
37
  onClose: n,
38
38
  pendingGrant: e,
39
- subMenuId: E,
39
+ subMenuId: T,
40
40
  newApiData: I
41
41
  }) {
42
- const { translate: l } = L(), {
43
- handleSubmit: v,
44
- control: i,
42
+ const { translate: i } = K(), {
43
+ handleSubmit: g,
44
+ control: l,
45
45
  reset: p,
46
46
  watch: u,
47
47
  formState: { errors: f },
48
48
  trigger: b
49
- } = q({
50
- resolver: N(R),
49
+ } = L({
50
+ resolver: X(Q),
51
51
  defaultValues: {
52
52
  noStartDate: !0,
53
53
  noEndDate: !0,
@@ -56,26 +56,29 @@ function X({
56
56
  isBackendOnly: !1
57
57
  },
58
58
  mode: "onChange"
59
- }), T = u("noStartDate"), Y = u("noEndDate"), x = u("startDate"), y = u("endDate"), O = async (d) => {
59
+ }), v = u("noStartDate"), O = u("noEndDate"), x = u("startDate"), y = u("endDate"), Y = /^view\.report\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, P = async (d) => {
60
60
  var S, C;
61
61
  if (e) {
62
62
  try {
63
- await V({
64
- code: "grant_permission",
65
- parameters: {
66
- featureName: e.id,
67
- roleIds: e != null && e.designationId ? String(e == null ? void 0 : e.designationId) : null,
68
- userIds: e != null && e.userId ? String(e.userId) : null,
69
- startDate: d.noStartDate ? null : d.startDate,
70
- endDate: d.noEndDate ? null : d.endDate,
71
- isBackendOnly: d.isBackendOnly
72
- }
73
- }), B({
63
+ const c = e != null && e.designationId ? String(e == null ? void 0 : e.designationId) : null, A = e != null && e.userId ? String(e.userId) : null, M = d.noStartDate ? null : d.startDate, N = d.noEndDate ? null : d.endDate, W = Y.test(e.id) ? [e.id, `${e.id}.candrilldown`] : [e.id];
64
+ for (const F of W)
65
+ await J({
66
+ code: "grant_permission",
67
+ parameters: {
68
+ featureName: F,
69
+ roleIds: c,
70
+ userIds: A,
71
+ startDate: M,
72
+ endDate: N,
73
+ isBackendOnly: d.isBackendOnly
74
+ }
75
+ });
76
+ B({
74
77
  type: "success",
75
78
  message: "Permission Granted Successfully"
76
79
  });
77
- const { data: c } = await z(E);
78
- I(c);
80
+ const { data: j } = await H(T);
81
+ I(j);
79
82
  } catch (c) {
80
83
  B({
81
84
  type: "error",
@@ -87,9 +90,9 @@ function X({
87
90
  }, D = () => {
88
91
  p(), n();
89
92
  };
90
- return /* @__PURE__ */ t(M, { open: !!a, onClose: D, fullWidth: !0, maxWidth: "sm", children: /* @__PURE__ */ o("form", { onSubmit: v(O), children: [
93
+ return /* @__PURE__ */ t(R, { open: !!a, onClose: D, fullWidth: !0, maxWidth: "sm", children: /* @__PURE__ */ o("form", { onSubmit: g(P), children: [
91
94
  /* @__PURE__ */ o(
92
- W,
95
+ q,
93
96
  {
94
97
  sx: {
95
98
  display: "flex",
@@ -108,27 +111,27 @@ function X({
108
111
  variant: "subtitle1",
109
112
  component: "span",
110
113
  sx: { fontWeight: 700, display: "block" },
111
- children: l("Set Access Window")
114
+ children: i("Set Access Window")
112
115
  }
113
116
  ),
114
- /* @__PURE__ */ t(w, { variant: "body2", color: "text.secondary", children: l(
117
+ /* @__PURE__ */ t(w, { variant: "body2", color: "text.secondary", children: i(
115
118
  "Leave both dates off to grant access that never expires."
116
119
  ) })
117
120
  ] }),
118
121
  /* @__PURE__ */ t(
119
- j,
122
+ z,
120
123
  {
121
124
  size: "small",
122
125
  onClick: D,
123
- "aria-label": l("Close"),
126
+ "aria-label": i("Close"),
124
127
  "data-testid": "grantpermission-close-button",
125
- children: /* @__PURE__ */ t(P, { iconName: "faXmark" })
128
+ children: /* @__PURE__ */ t($, { iconName: "faXmark" })
126
129
  }
127
130
  )
128
131
  ]
129
132
  }
130
133
  ),
131
- /* @__PURE__ */ o(A, { children: [
134
+ /* @__PURE__ */ o(V, { children: [
132
135
  /* @__PURE__ */ o(
133
136
  m,
134
137
  {
@@ -145,7 +148,7 @@ function X({
145
148
  {
146
149
  defaultChecked: !0,
147
150
  label: "No Start Date",
148
- control: i,
151
+ control: l,
149
152
  errors: f,
150
153
  name: "noStartDate",
151
154
  onChange: () => b("startDate")
@@ -154,10 +157,10 @@ function X({
154
157
  /* @__PURE__ */ t(
155
158
  k,
156
159
  {
157
- control: i,
160
+ control: l,
158
161
  name: "startDate",
159
162
  errors: f,
160
- disabled: T,
163
+ disabled: v,
161
164
  format: "DD/MM/YYYY",
162
165
  maxDate: y || void 0
163
166
  }
@@ -168,7 +171,7 @@ function X({
168
171
  h,
169
172
  {
170
173
  label: "No End Date",
171
- control: i,
174
+ control: l,
172
175
  name: "noEndDate",
173
176
  errors: f,
174
177
  onChange: () => b("endDate")
@@ -177,10 +180,10 @@ function X({
177
180
  /* @__PURE__ */ t(
178
181
  k,
179
182
  {
180
- control: i,
183
+ control: l,
181
184
  name: "endDate",
182
185
  errors: f,
183
- disabled: Y,
186
+ disabled: O,
184
187
  format: "DD/MM/YYYY",
185
188
  minDate: x || void 0
186
189
  }
@@ -193,34 +196,34 @@ function X({
193
196
  h,
194
197
  {
195
198
  label: "Is Backend Only?",
196
- control: i,
199
+ control: l,
197
200
  name: "isBackendOnly"
198
201
  }
199
202
  ) })
200
203
  ] }),
201
204
  /* @__PURE__ */ o(
202
- F,
205
+ _,
203
206
  {
204
207
  sx: { px: 3, py: 2, borderTop: "1px solid", borderColor: "divider" },
205
208
  children: [
206
209
  /* @__PURE__ */ t(
207
- g,
210
+ E,
208
211
  {
209
212
  variant: "outlined",
210
213
  color: "inherit",
211
214
  size: "small",
212
215
  onClick: D,
213
216
  type: "button",
214
- children: l("Close")
217
+ children: i("Close")
215
218
  }
216
219
  ),
217
- /* @__PURE__ */ t(g, { variant: "contained", color: "primary", size: "small", type: "submit", children: l("Submit") })
220
+ /* @__PURE__ */ t(E, { variant: "contained", color: "primary", size: "small", type: "submit", children: i("Submit") })
218
221
  ]
219
222
  }
220
223
  )
221
224
  ] }) });
222
225
  }
223
- X.propTypes = {
226
+ U.propTypes = {
224
227
  isOpen: r.bool,
225
228
  onClose: r.func,
226
229
  pendingGrant: r.object,
@@ -231,6 +234,6 @@ X.propTypes = {
231
234
  showToast: r.func
232
235
  };
233
236
  export {
234
- X as default
237
+ U as default
235
238
  };
236
- //# sourceMappingURL=GrantPermissionModal-BDN66Atn.js.map
239
+ //# sourceMappingURL=GrantPermissionModal-D7iNZd0M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrantPermissionModal-D7iNZd0M.js","sources":["../src/views/Features/GrantPermissionModal.jsx"],"sourcesContent":["import React from \"react\";\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography,\n} from \"@mui/material\";\nimport FontAwesomeIcons from \"@/common/fontAwesomeIcons/FontAwesomeIcons\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as Yup from \"yup\";\nimport CustomCheckBox from \"@/views/custom-components/CustomCheckBox\";\nimport CustomDatePicker from \"@/views/custom-components/CustomDatePicker\";\nimport PropTypes from \"prop-types\";\nimport { getFeatureDataV2 } from \"../../services/Features\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { execute } from \"@/common/services/GlobalApis.js\";\nimport { useTranslateProvider } from \"@/common/languageTranslator/TranslationContext\";\n\nconst schema = Yup.object().shape({\n noStartDate: Yup.boolean().default(true),\n noEndDate: Yup.boolean().default(true),\n startDate: Yup.date()\n .nullable()\n .when(\"noStartDate\", {\n is: false,\n then: (schema) => schema.required(\"Start date is required\"),\n }),\n endDate: Yup.date()\n .nullable()\n .when(\"noEndDate\", {\n is: false,\n then: (schema) => schema.required(\"End date is required\"),\n })\n .test(\n \"endAfterStart\",\n \"End date must be after start date\",\n function (value) {\n const { startDate, noEndDate } = this.parent;\n if (!value || noEndDate || !startDate) return true;\n return new Date(value) >= new Date(startDate);\n }\n ),\n isBackendOnly: Yup.boolean().default(false),\n});\n\nexport default function GrantPermissionModal({\n isOpen,\n onClose,\n pendingGrant,\n subMenuId,\n newApiData,\n}) {\n const { translate } = useTranslateProvider();\n const {\n handleSubmit,\n control,\n reset,\n watch,\n formState: { errors },\n trigger,\n } = useForm({\n resolver: yupResolver(schema),\n defaultValues: {\n noStartDate: true,\n noEndDate: true,\n startDate: null,\n endDate: null,\n isBackendOnly: false,\n },\n mode: \"onChange\",\n });\n\n const noStartDate = watch(\"noStartDate\");\n const noEndDate = watch(\"noEndDate\");\n const startDate = watch(\"startDate\");\n const endDate = watch(\"endDate\");\n\n // Anchored so candrilldown (and any other) sub-rights of a report never match this —\n // matches the same pattern used in AccessRights.jsx's getBasicRightId.\n const REPORT_ROOT_PATTERN =\n /^view\\.report\\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\n const handleFormSubmit = async (values) => {\n if (!pendingGrant) return;\n\n try {\n const roleIds = pendingGrant?.designationId\n ? String(pendingGrant?.designationId)\n : null;\n const userIds = pendingGrant?.userId ? String(pendingGrant.userId) : null;\n const startDate = values.noStartDate ? null : values.startDate;\n const endDate = values.noEndDate ? null : values.endDate;\n\n // Granting a report's root permission implicitly grants drill-down too, since\n // there is no separate UI control for it (candrilldown never appears as its own\n // toggleable row — only report roots do).\n const featureNames = REPORT_ROOT_PATTERN.test(pendingGrant.id)\n ? [pendingGrant.id, `${pendingGrant.id}.candrilldown`]\n : [pendingGrant.id];\n\n for (const featureName of featureNames) {\n await execute({\n code: \"grant_permission\",\n parameters: {\n featureName,\n roleIds,\n userIds,\n startDate,\n endDate,\n isBackendOnly: values.isBackendOnly,\n },\n });\n }\n\n showToast({\n type: \"success\",\n message: \"Permission Granted Successfully\",\n });\n\n // refresh data\n const { data: val } = await getFeatureDataV2(subMenuId);\n newApiData(val);\n } catch (error) {\n showToast({\n type: \"error\",\n message: `Error granting permission: ${error?.response?.data?.message}`,\n });\n }\n\n // cleanup\n reset();\n onClose();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n return (\n <Dialog open={Boolean(isOpen)} onClose={handleClose} fullWidth maxWidth=\"sm\">\n <form onSubmit={handleSubmit(handleFormSubmit)}>\n <DialogTitle\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: 2,\n py: 1.5,\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n }}\n >\n <Box>\n <Typography\n variant=\"subtitle1\"\n component=\"span\"\n sx={{ fontWeight: 700, display: \"block\" }}\n >\n {translate(\"Set Access Window\")}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {translate(\n \"Leave both dates off to grant access that never expires.\",\n )}\n </Typography>\n </Box>\n <IconButton\n size=\"small\"\n onClick={handleClose}\n aria-label={translate(\"Close\")}\n data-testid=\"grantpermission-close-button\"\n >\n <FontAwesomeIcons iconName=\"faXmark\" />\n </IconButton>\n </DialogTitle>\n\n <DialogContent>\n <Box\n sx={{\n display: \"flex\",\n flexDirection: { xs: \"column\", sm: \"row\" },\n gap: 3,\n pt: 2,\n }}\n >\n <Box sx={{ flex: 1, minWidth: 0 }}>\n <CustomCheckBox\n defaultChecked={true}\n label={\"No Start Date\"}\n control={control}\n errors={errors}\n name={\"noStartDate\"}\n onChange={() => trigger(\"startDate\")}\n />\n <CustomDatePicker\n control={control}\n name={\"startDate\"}\n errors={errors}\n disabled={noStartDate}\n format=\"DD/MM/YYYY\"\n maxDate={endDate ? endDate : undefined}\n />\n </Box>\n <Box sx={{ flex: 1, minWidth: 0 }}>\n <CustomCheckBox\n label={\"No End Date\"}\n control={control}\n name={\"noEndDate\"}\n errors={errors}\n onChange={() => trigger(\"endDate\")}\n />\n <CustomDatePicker\n control={control}\n name={\"endDate\"}\n errors={errors}\n disabled={noEndDate}\n format=\"DD/MM/YYYY\"\n minDate={startDate ? startDate : undefined}\n />\n </Box>\n </Box>\n\n <Box sx={{ mt: 1 }}>\n <CustomCheckBox\n label={\"Is Backend Only?\"}\n control={control}\n name={\"isBackendOnly\"}\n />\n </Box>\n </DialogContent>\n\n <DialogActions\n sx={{ px: 3, py: 2, borderTop: \"1px solid\", borderColor: \"divider\" }}\n >\n <Button\n variant=\"outlined\"\n color=\"inherit\"\n size=\"small\"\n onClick={handleClose}\n type=\"button\"\n >\n {translate(\"Close\")}\n </Button>\n <Button variant=\"contained\" color=\"primary\" size=\"small\" type=\"submit\">\n {translate(\"Submit\")}\n </Button>\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n\nGrantPermissionModal.propTypes = {\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n pendingGrant: PropTypes.object,\n execute: PropTypes.func,\n getFeatureDataV2: PropTypes.func,\n subMenuId: PropTypes.string,\n newApiData: PropTypes.func,\n showToast: PropTypes.func,\n};\n"],"names":["schema","Yup","value","startDate","noEndDate","GrantPermissionModal","isOpen","onClose","pendingGrant","subMenuId","newApiData","translate","useTranslateProvider","handleSubmit","control","reset","watch","errors","trigger","useForm","yupResolver","noStartDate","endDate","REPORT_ROOT_PATTERN","handleFormSubmit","values","roleIds","userIds","featureNames","featureName","execute","showToast","val","getFeatureDataV2","error","_b","_a","handleClose","Dialog","jsxs","DialogTitle","Box","jsx","Typography","IconButton","FontAwesomeIcons","DialogContent","CustomCheckBox","CustomDatePicker","DialogActions","Button","PropTypes"],"mappings":"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"}