@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
@@ -1 +1 @@
1
- {"version":3,"file":"FhirServerProfile-CUOwC6Wb.js","sources":["../src/views/FhirResource/AddEditFhirServerModal.jsx","../src/views/FhirResource/FhirServerProfile.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n Dialog, DialogTitle, DialogContent, DialogActions, Button,\n} from \"@mui/material\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { createServer, updateServer } from \"../../services/FhirResource\";\nimport ServerFormFields, { validateServerForm } from \"./components/ServerFormFields\";\n\nconst emptyForm = () => ({\n name: \"\", baseUrl: \"\", authType: \"NONE\",\n authUsername: \"\", authHeaderName: \"\", authSecret: \"\", isActive: true, hasSecret: false,\n});\n\nfunction AddEditFhirServerModal({ open, server, onClose, onSaved }) {\n const isEdit = Boolean(server?.id);\n const [form, setForm] = useState(emptyForm());\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n if (server) {\n setForm({\n name: server.name ?? \"\",\n baseUrl: server.baseUrl ?? \"\",\n authType: server.authType ?? \"NONE\",\n authUsername: server.authUsername ?? \"\",\n authHeaderName: server.authHeaderName ?? \"\",\n authSecret: \"\",\n hasSecret: Boolean(server.hasSecret),\n isActive: server.isActive ?? true,\n });\n } else {\n setForm(emptyForm());\n }\n setErrors({});\n }, [server, open]);\n\n const handleSave = async () => {\n const errs = validateServerForm(form, { isEdit });\n setErrors(errs);\n if (Object.keys(errs).length) return;\n setBusy(true);\n try {\n if (isEdit) {\n await updateServer(server.id, form);\n showToast({ type: \"success\", message: \"Server updated.\" });\n } else {\n await createServer(form);\n showToast({ type: \"success\", message: \"Server created.\" });\n }\n onSaved?.();\n onClose();\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to save server.\" });\n } finally {\n setBusy(false);\n }\n };\n\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n <DialogTitle>{isEdit ? \"Edit FHIR Server\" : \"Add FHIR Server\"}</DialogTitle>\n <DialogContent dividers>\n <ServerFormFields value={form} onChange={setForm} isEdit={isEdit} errors={errors} />\n </DialogContent>\n <DialogActions sx={{ px: 3, pb: 2 }}>\n <Button onClick={onClose} disabled={busy}>Cancel</Button>\n <Button variant=\"contained\" onClick={handleSave} disabled={busy}>\n {isEdit ? \"Update\" : \"Save\"}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport default AddEditFhirServerModal;\n","import { useEffect, useState, useCallback } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nimport {\n Box, Stack, Typography, Skeleton, Chip, Paper, Divider, IconButton, Tooltip,\n Card, CardActionArea, CardContent, Grid,\n} from \"@mui/material\";\nimport ArrowBackRoundedIcon from \"@mui/icons-material/ArrowBackRounded\";\nimport SyncRoundedIcon from \"@mui/icons-material/SyncRounded\";\nimport CloudSyncRoundedIcon from \"@mui/icons-material/CloudSyncRounded\";\nimport InboxRoundedIcon from \"@mui/icons-material/InboxRounded\";\nimport EditRoundedIcon from \"@mui/icons-material/EditRounded\";\nimport DeleteOutlineRoundedIcon from \"@mui/icons-material/DeleteOutlineRounded\";\nimport LockRoundedIcon from \"@mui/icons-material/LockRounded\";\nimport LockOpenRoundedIcon from \"@mui/icons-material/LockOpenRounded\";\nimport moment from \"moment\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { retrieveServerById, refreshCapability, deleteServer } from \"../../services/FhirResource\";\nimport { FhirPageHeader, StatusChip, MonoText, ConfirmModal } from \"./components/FhirUi\";\nimport { FhirGuard, useFhirPermissions } from \"./components/permissions\";\nimport AddEditFhirServerModal from \"./AddEditFhirServerModal\";\nimport SyncDialog from \"./SyncDialog\";\n\nfunction InfoTile({ label, children }) {\n return (\n <Box>\n <Typography variant=\"overline\" color=\"text.secondary\" sx={{ fontWeight: 700, lineHeight: 1 }}>{label}</Typography>\n <Box sx={{ mt: 0.5 }}>{children}</Box>\n </Box>\n );\n}\n\nfunction ActionCard({ icon, title, description, color = \"primary\", onClick, disabled }) {\n return (\n <Card variant=\"outlined\" sx={{ height: \"100%\", borderRadius: 1.5, opacity: disabled ? 0.6 : 1 }}>\n <CardActionArea onClick={onClick} disabled={disabled} sx={{ height: \"100%\", p: 0.5 }}>\n <CardContent>\n <Stack direction=\"row\" spacing={1.5} alignItems=\"flex-start\">\n <Box sx={{\n width: 40, height: 40, borderRadius: 1.5, flexShrink: 0,\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n bgcolor: `${color}.main`, color: \"#fff\",\n }}>\n {icon}\n </Box>\n <Box>\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 800 }}>{title}</Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">{description}</Typography>\n </Box>\n </Stack>\n </CardContent>\n </CardActionArea>\n </Card>\n );\n}\n\nfunction FhirServerProfile() {\n const { serverId } = useParams();\n const navigate = useNavigate();\n const { canManage } = useFhirPermissions();\n\n const [server, setServer] = useState(null);\n const [loading, setLoading] = useState(false);\n const [busy, setBusy] = useState(false);\n const [editOpen, setEditOpen] = useState(false);\n const [syncOpen, setSyncOpen] = useState(false);\n const [confirm, setConfirm] = useState(null);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n const res = await retrieveServerById(serverId);\n setServer(res?.data);\n } catch {\n showToast({ type: \"error\", message: \"Failed to load server.\" });\n } finally {\n setLoading(false);\n }\n }, [serverId]);\n\n useEffect(() => { load(); }, [load]);\n\n const handleRefreshCapability = async () => {\n setBusy(true);\n try {\n await refreshCapability(serverId);\n showToast({ type: \"success\", message: \"Capability refreshed.\" });\n load();\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Could not reach /metadata.\" });\n } finally {\n setBusy(false);\n }\n };\n\n const askDelete = () => setConfirm({\n title: \"Delete FHIR Server\",\n description: `Delete \"${server.name}\" (${server.baseUrl})? All of its staged resources will also be removed. This cannot be undone.`,\n onConfirm: async () => {\n try {\n await deleteServer(serverId);\n showToast({ type: \"success\", message: `Server \"${server.name}\" deleted.` });\n navigate(\"/ui/medplat/admin/fhirResource\");\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to delete server.\" });\n }\n },\n });\n\n const authLabel = server?.authType && server.authType !== \"NONE\"\n ? `${server.authType}${server.hasSecret ? \"\" : \" (no secret)\"}`\n : \"None (public)\";\n\n return (\n <FhirGuard>\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={() => navigate(\"/ui/medplat/admin/fhirResource\")}>\n <ArrowBackRoundedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <span>{server ? server.name : \"Server\"}</span>\n </Stack>\n }\n subtitle=\"Server profile — connection, discovered capability, and everything you can do with it.\"\n />\n\n {/* Rich detail card */}\n <Paper variant=\"outlined\" sx={{ p: 3, mb: 3, borderRadius: 2 }}>\n {loading ? (\n <Skeleton height={120} />\n ) : server ? (\n <Stack spacing={2.5}>\n <Stack direction={{ xs: \"column\", md: \"row\" }} justifyContent=\"space-between\" spacing={2}>\n <Stack direction=\"row\" spacing={1.5} alignItems=\"center\">\n <Typography variant=\"h6\" sx={{ fontWeight: 800 }}>{server.name}</Typography>\n <StatusChip value={server.isActive ? \"ACTIVE\" : \"INACTIVE\"} />\n <Chip\n size=\"small\"\n icon={server.authType && server.authType !== \"NONE\" ? <LockRoundedIcon /> : <LockOpenRoundedIcon />}\n label={authLabel}\n variant=\"outlined\"\n sx={{ height: 24 }}\n />\n </Stack>\n </Stack>\n\n <MonoText muted>{server.baseUrl}</MonoText>\n\n <Divider />\n\n <Grid container spacing={3}>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"FHIR Version\">\n <Typography variant=\"body2\" sx={{ fontWeight: 700 }}>{server.fhirVersion ?? \"—\"}</Typography>\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"Resource Types\">\n <Typography variant=\"body2\" sx={{ fontWeight: 700 }}>{server.supportedResources?.length ?? 0}</Typography>\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"$expand\">\n <Chip size=\"small\" label={server.supportsExpand ? \"Supported\" : \"Not supported\"}\n color={server.supportsExpand ? \"success\" : \"default\"} variant=\"outlined\" sx={{ height: 22 }} />\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"Capability Synced\">\n <Typography variant=\"body2\">\n {server.capabilitySyncedAt ? moment(server.capabilitySyncedAt).fromNow() : \"Never\"}\n </Typography>\n </InfoTile>\n </Grid>\n </Grid>\n\n {server.supportedResources?.length ? (\n <Box>\n <Typography variant=\"overline\" 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 ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Capability not discovered yet — use “Refresh Capability” to learn what this server supports.\n </Typography>\n )}\n </Stack>\n ) : null}\n </Paper>\n\n {/* Action cards */}\n {server && (\n <Grid container spacing={2}>\n {canManage && (\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<SyncRoundedIcon />} color=\"primary\"\n title=\"Sync Resources\"\n description=\"Sync resources from this server into the staging inbox (by type, or a single resource by id).\"\n onClick={() => setSyncOpen(true)}\n />\n </Grid>\n )}\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<InboxRoundedIcon />} color=\"info\"\n title=\"Staging Inbox\"\n description=\"View synced raw resources and their processing status; process or reprocess into the system.\"\n onClick={() => navigate(`/ui/medplat/admin/fhirResource/${serverId}/staging`)}\n />\n </Grid>\n {canManage && (\n <>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<CloudSyncRoundedIcon />} color=\"secondary\"\n title=\"Refresh Capability\"\n description=\"Re-query GET /metadata to refresh the FHIR version and supported resources/operations.\"\n onClick={handleRefreshCapability} disabled={busy}\n />\n </Grid>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<EditRoundedIcon />} color=\"warning\"\n title=\"Edit Server\"\n description=\"Update the base URL, authentication credentials, or active status of this server.\"\n onClick={() => setEditOpen(true)}\n />\n </Grid>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<DeleteOutlineRoundedIcon />} color=\"error\"\n title=\"Delete Server\"\n description=\"Remove this server and all of its staged resources. This action cannot be undone.\"\n onClick={askDelete}\n />\n </Grid>\n </>\n )}\n </Grid>\n )}\n\n {editOpen && (\n <AddEditFhirServerModal\n open={editOpen}\n server={server}\n onClose={() => setEditOpen(false)}\n onSaved={load}\n />\n )}\n\n {syncOpen && (\n <SyncDialog\n open={syncOpen}\n server={server}\n onClose={() => setSyncOpen(false)}\n onDone={load}\n />\n )}\n\n <ConfirmModal confirm={confirm} onClose={() => setConfirm(null)} />\n </Box>\n </FhirGuard>\n );\n}\n\nexport default FhirServerProfile;\n"],"names":["emptyForm","AddEditFhirServerModal","open","server","onClose","onSaved","isEdit","form","setForm","useState","errors","setErrors","busy","setBusy","useEffect","Dialog","jsx","DialogTitle","DialogContent","ServerFormFields","jsxs","DialogActions","Button","errs","validateServerForm","updateServer","showToast","createServer","err","_b","_a","InfoTile","label","children","Box","Typography","ActionCard","icon","title","description","color","onClick","disabled","Card","CardActionArea","CardContent","Stack","FhirServerProfile","serverId","useParams","navigate","useNavigate","canManage","useFhirPermissions","setServer","loading","setLoading","editOpen","setEditOpen","syncOpen","setSyncOpen","confirm","setConfirm","load","useCallback","res","retrieveServerById","handleRefreshCapability","refreshCapability","askDelete","deleteServer","authLabel","FhirGuard","FhirPageHeader","Tooltip","IconButton","ArrowBackRoundedIcon","Paper","Skeleton","StatusChip","Chip","LockRoundedIcon","LockOpenRoundedIcon","MonoText","Divider","Grid","moment","r","SyncRoundedIcon","InboxRoundedIcon","Fragment","CloudSyncRoundedIcon","EditRoundedIcon","DeleteOutlineRoundedIcon","SyncDialog","ConfirmModal"],"mappings":"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"}
1
+ {"version":3,"file":"FhirServerProfile-D3aYcpwY.js","sources":["../src/views/FhirResource/AddEditFhirServerModal.jsx","../src/views/FhirResource/FhirServerProfile.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n Dialog, DialogTitle, DialogContent, DialogActions, Button,\n} from \"@mui/material\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { createServer, updateServer } from \"../../services/FhirResource\";\nimport ServerFormFields, { validateServerForm } from \"./components/ServerFormFields\";\n\nconst emptyForm = () => ({\n name: \"\", baseUrl: \"\", authType: \"NONE\",\n authUsername: \"\", authHeaderName: \"\", authSecret: \"\", isActive: true, hasSecret: false,\n});\n\nfunction AddEditFhirServerModal({ open, server, onClose, onSaved }) {\n const isEdit = Boolean(server?.id);\n const [form, setForm] = useState(emptyForm());\n const [errors, setErrors] = useState({});\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n if (server) {\n setForm({\n name: server.name ?? \"\",\n baseUrl: server.baseUrl ?? \"\",\n authType: server.authType ?? \"NONE\",\n authUsername: server.authUsername ?? \"\",\n authHeaderName: server.authHeaderName ?? \"\",\n authSecret: \"\",\n hasSecret: Boolean(server.hasSecret),\n isActive: server.isActive ?? true,\n });\n } else {\n setForm(emptyForm());\n }\n setErrors({});\n }, [server, open]);\n\n const handleSave = async () => {\n const errs = validateServerForm(form, { isEdit });\n setErrors(errs);\n if (Object.keys(errs).length) return;\n setBusy(true);\n try {\n if (isEdit) {\n await updateServer(server.id, form);\n showToast({ type: \"success\", message: \"Server updated.\" });\n } else {\n await createServer(form);\n showToast({ type: \"success\", message: \"Server created.\" });\n }\n onSaved?.();\n onClose();\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to save server.\" });\n } finally {\n setBusy(false);\n }\n };\n\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n <DialogTitle>{isEdit ? \"Edit FHIR Server\" : \"Add FHIR Server\"}</DialogTitle>\n <DialogContent dividers>\n <ServerFormFields value={form} onChange={setForm} isEdit={isEdit} errors={errors} />\n </DialogContent>\n <DialogActions sx={{ px: 3, pb: 2 }}>\n <Button onClick={onClose} disabled={busy}>Cancel</Button>\n <Button variant=\"contained\" onClick={handleSave} disabled={busy}>\n {isEdit ? \"Update\" : \"Save\"}\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n\nexport default AddEditFhirServerModal;\n","import { useEffect, useState, useCallback } from \"react\";\nimport { useParams, useNavigate } from \"react-router\";\nimport {\n Box, Stack, Typography, Skeleton, Chip, Paper, Divider, IconButton, Tooltip,\n Card, CardActionArea, CardContent, Grid,\n} from \"@mui/material\";\nimport ArrowBackRoundedIcon from \"@mui/icons-material/ArrowBackRounded\";\nimport SyncRoundedIcon from \"@mui/icons-material/SyncRounded\";\nimport CloudSyncRoundedIcon from \"@mui/icons-material/CloudSyncRounded\";\nimport InboxRoundedIcon from \"@mui/icons-material/InboxRounded\";\nimport EditRoundedIcon from \"@mui/icons-material/EditRounded\";\nimport DeleteOutlineRoundedIcon from \"@mui/icons-material/DeleteOutlineRounded\";\nimport LockRoundedIcon from \"@mui/icons-material/LockRounded\";\nimport LockOpenRoundedIcon from \"@mui/icons-material/LockOpenRounded\";\nimport moment from \"moment\";\nimport { showToast } from \"@/common/toaster/toaster\";\nimport { retrieveServerById, refreshCapability, deleteServer } from \"../../services/FhirResource\";\nimport { FhirPageHeader, StatusChip, MonoText, ConfirmModal } from \"./components/FhirUi\";\nimport { FhirGuard, useFhirPermissions } from \"./components/permissions\";\nimport AddEditFhirServerModal from \"./AddEditFhirServerModal\";\nimport SyncDialog from \"./SyncDialog\";\n\nfunction InfoTile({ label, children }) {\n return (\n <Box>\n <Typography variant=\"overline\" color=\"text.secondary\" sx={{ fontWeight: 700, lineHeight: 1 }}>{label}</Typography>\n <Box sx={{ mt: 0.5 }}>{children}</Box>\n </Box>\n );\n}\n\nfunction ActionCard({ icon, title, description, color = \"primary\", onClick, disabled }) {\n return (\n <Card variant=\"outlined\" sx={{ height: \"100%\", borderRadius: 1.5, opacity: disabled ? 0.6 : 1 }}>\n <CardActionArea onClick={onClick} disabled={disabled} sx={{ height: \"100%\", p: 0.5 }}>\n <CardContent>\n <Stack direction=\"row\" spacing={1.5} alignItems=\"flex-start\">\n <Box sx={{\n width: 40, height: 40, borderRadius: 1.5, flexShrink: 0,\n display: \"flex\", alignItems: \"center\", justifyContent: \"center\",\n bgcolor: `${color}.main`, color: \"#fff\",\n }}>\n {icon}\n </Box>\n <Box>\n <Typography variant=\"subtitle2\" sx={{ fontWeight: 800 }}>{title}</Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">{description}</Typography>\n </Box>\n </Stack>\n </CardContent>\n </CardActionArea>\n </Card>\n );\n}\n\nfunction FhirServerProfile() {\n const { serverId } = useParams();\n const navigate = useNavigate();\n const { canManage } = useFhirPermissions();\n\n const [server, setServer] = useState(null);\n const [loading, setLoading] = useState(false);\n const [busy, setBusy] = useState(false);\n const [editOpen, setEditOpen] = useState(false);\n const [syncOpen, setSyncOpen] = useState(false);\n const [confirm, setConfirm] = useState(null);\n\n const load = useCallback(async () => {\n setLoading(true);\n try {\n const res = await retrieveServerById(serverId);\n setServer(res?.data);\n } catch {\n showToast({ type: \"error\", message: \"Failed to load server.\" });\n } finally {\n setLoading(false);\n }\n }, [serverId]);\n\n useEffect(() => { load(); }, [load]);\n\n const handleRefreshCapability = async () => {\n setBusy(true);\n try {\n await refreshCapability(serverId);\n showToast({ type: \"success\", message: \"Capability refreshed.\" });\n load();\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Could not reach /metadata.\" });\n } finally {\n setBusy(false);\n }\n };\n\n const askDelete = () => setConfirm({\n title: \"Delete FHIR Server\",\n description: `Delete \"${server.name}\" (${server.baseUrl})? All of its staged resources will also be removed. This cannot be undone.`,\n onConfirm: async () => {\n try {\n await deleteServer(serverId);\n showToast({ type: \"success\", message: `Server \"${server.name}\" deleted.` });\n navigate(\"/ui/medplat/admin/fhirResource\");\n } catch (err) {\n showToast({ type: \"error\", message: err?.response?.data?.message ?? \"Failed to delete server.\" });\n }\n },\n });\n\n const authLabel = server?.authType && server.authType !== \"NONE\"\n ? `${server.authType}${server.hasSecret ? \"\" : \" (no secret)\"}`\n : \"None (public)\";\n\n return (\n <FhirGuard>\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={() => navigate(\"/ui/medplat/admin/fhirResource\")}>\n <ArrowBackRoundedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <span>{server ? server.name : \"Server\"}</span>\n </Stack>\n }\n subtitle=\"Server profile — connection, discovered capability, and everything you can do with it.\"\n />\n\n {/* Rich detail card */}\n <Paper variant=\"outlined\" sx={{ p: 3, mb: 3, borderRadius: 2 }}>\n {loading ? (\n <Skeleton height={120} />\n ) : server ? (\n <Stack spacing={2.5}>\n <Stack direction={{ xs: \"column\", md: \"row\" }} justifyContent=\"space-between\" spacing={2}>\n <Stack direction=\"row\" spacing={1.5} alignItems=\"center\">\n <Typography variant=\"h6\" sx={{ fontWeight: 800 }}>{server.name}</Typography>\n <StatusChip value={server.isActive ? \"ACTIVE\" : \"INACTIVE\"} />\n <Chip\n size=\"small\"\n icon={server.authType && server.authType !== \"NONE\" ? <LockRoundedIcon /> : <LockOpenRoundedIcon />}\n label={authLabel}\n variant=\"outlined\"\n sx={{ height: 24 }}\n />\n </Stack>\n </Stack>\n\n <MonoText muted>{server.baseUrl}</MonoText>\n\n <Divider />\n\n <Grid container spacing={3}>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"FHIR Version\">\n <Typography variant=\"body2\" sx={{ fontWeight: 700 }}>{server.fhirVersion ?? \"—\"}</Typography>\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"Resource Types\">\n <Typography variant=\"body2\" sx={{ fontWeight: 700 }}>{server.supportedResources?.length ?? 0}</Typography>\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"$expand\">\n <Chip size=\"small\" label={server.supportsExpand ? \"Supported\" : \"Not supported\"}\n color={server.supportsExpand ? \"success\" : \"default\"} variant=\"outlined\" sx={{ height: 22 }} />\n </InfoTile>\n </Grid>\n <Grid item xs={6} md={3}>\n <InfoTile label=\"Capability Synced\">\n <Typography variant=\"body2\">\n {server.capabilitySyncedAt ? moment(server.capabilitySyncedAt).fromNow() : \"Never\"}\n </Typography>\n </InfoTile>\n </Grid>\n </Grid>\n\n {server.supportedResources?.length ? (\n <Box>\n <Typography variant=\"overline\" 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 ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Capability not discovered yet — use “Refresh Capability” to learn what this server supports.\n </Typography>\n )}\n </Stack>\n ) : null}\n </Paper>\n\n {/* Action cards */}\n {server && (\n <Grid container spacing={2}>\n {canManage && (\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<SyncRoundedIcon />} color=\"primary\"\n title=\"Sync Resources\"\n description=\"Sync resources from this server into the staging inbox (by type, or a single resource by id).\"\n onClick={() => setSyncOpen(true)}\n />\n </Grid>\n )}\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<InboxRoundedIcon />} color=\"info\"\n title=\"Staging Inbox\"\n description=\"View synced raw resources and their processing status; process or reprocess into the system.\"\n onClick={() => navigate(`/ui/medplat/admin/fhirResource/${serverId}/staging`)}\n />\n </Grid>\n {canManage && (\n <>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<CloudSyncRoundedIcon />} color=\"secondary\"\n title=\"Refresh Capability\"\n description=\"Re-query GET /metadata to refresh the FHIR version and supported resources/operations.\"\n onClick={handleRefreshCapability} disabled={busy}\n />\n </Grid>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<EditRoundedIcon />} color=\"warning\"\n title=\"Edit Server\"\n description=\"Update the base URL, authentication credentials, or active status of this server.\"\n onClick={() => setEditOpen(true)}\n />\n </Grid>\n <Grid item xs={12} sm={6} md={4}>\n <ActionCard\n icon={<DeleteOutlineRoundedIcon />} color=\"error\"\n title=\"Delete Server\"\n description=\"Remove this server and all of its staged resources. This action cannot be undone.\"\n onClick={askDelete}\n />\n </Grid>\n </>\n )}\n </Grid>\n )}\n\n {editOpen && (\n <AddEditFhirServerModal\n open={editOpen}\n server={server}\n onClose={() => setEditOpen(false)}\n onSaved={load}\n />\n )}\n\n {syncOpen && (\n <SyncDialog\n open={syncOpen}\n server={server}\n onClose={() => setSyncOpen(false)}\n onDone={load}\n />\n )}\n\n <ConfirmModal confirm={confirm} onClose={() => setConfirm(null)} />\n </Box>\n </FhirGuard>\n );\n}\n\nexport default FhirServerProfile;\n"],"names":["emptyForm","AddEditFhirServerModal","open","server","onClose","onSaved","isEdit","form","setForm","useState","errors","setErrors","busy","setBusy","useEffect","Dialog","jsx","DialogTitle","DialogContent","ServerFormFields","jsxs","DialogActions","Button","errs","validateServerForm","updateServer","showToast","createServer","err","_b","_a","InfoTile","label","children","Box","Typography","ActionCard","icon","title","description","color","onClick","disabled","Card","CardActionArea","CardContent","Stack","FhirServerProfile","serverId","useParams","navigate","useNavigate","canManage","useFhirPermissions","setServer","loading","setLoading","editOpen","setEditOpen","syncOpen","setSyncOpen","confirm","setConfirm","load","useCallback","res","retrieveServerById","handleRefreshCapability","refreshCapability","askDelete","deleteServer","authLabel","FhirGuard","FhirPageHeader","Tooltip","IconButton","ArrowBackRoundedIcon","Paper","Skeleton","StatusChip","Chip","LockRoundedIcon","LockOpenRoundedIcon","MonoText","Divider","Grid","moment","r","SyncRoundedIcon","InboxRoundedIcon","Fragment","CloudSyncRoundedIcon","EditRoundedIcon","DeleteOutlineRoundedIcon","SyncDialog","ConfirmModal"],"mappings":"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"}
@@ -9,9 +9,9 @@ import { showToast as f } from "@/common/toaster/toaster";
9
9
  import { F as de, b as pe, a as he, c as E, d as ue, e as ye, f as me, s as ge } from "./permissions-DEWACxJN.js";
10
10
  import { S as Se, v as fe } from "./ServerFormFields-SLghoZ2z.js";
11
11
  const Ce = ["Server Details", "Discover Capability", "Sync Resources"], be = ["ValueSet", "CodeSystem", "Organization", "Location", "HealthcareService"];
12
- function Ie() {
12
+ function Ae() {
13
13
  var L, U, z, G;
14
- const C = ee(), [y, b] = c(0), [x, M] = c({ name: "", baseUrl: "", authType: "NONE", isActive: !0 }), [V, Y] = c({}), [t, T] = c(null), [d, m] = c(!1), [v, w] = c("idle"), [_, P] = c(""), [h, A] = c({}), [I, q] = c(!0), [j, W] = c(null), $ = () => C("/ui/medplat/admin/fhirResource"), J = async () => {
14
+ const C = ee(), [y, b] = c(0), [x, M] = c({ name: "", baseUrl: "", authType: "NONE", isActive: !0 }), [V, Y] = c({}), [t, T] = c(null), [d, m] = c(!1), [v, k] = c("idle"), [_, P] = c(""), [h, I] = c({}), [A, q] = c(!0), [j, W] = c(null), $ = () => C("/ui/medplat/admin/fhirResource"), J = async () => {
15
15
  var a, s;
16
16
  const r = fe(x);
17
17
  if (Y(r), !Object.keys(r).length) {
@@ -27,25 +27,25 @@ function Ie() {
27
27
  }
28
28
  }, B = async (r) => {
29
29
  var a, s;
30
- w("loading"), P("");
30
+ k("loading"), P("");
31
31
  try {
32
32
  const o = await me(r);
33
- T(o.data), w("done");
33
+ T(o.data), k("done");
34
34
  } catch (o) {
35
- w("error"), P(((s = (a = o == null ? void 0 : o.response) == null ? void 0 : a.data) == null ? void 0 : s.message) ?? "Could not reach the server's /metadata endpoint.");
35
+ k("error"), P(((s = (a = o == null ? void 0 : o.response) == null ? void 0 : a.data) == null ? void 0 : s.message) ?? "Could not reach the server's /metadata endpoint.");
36
36
  }
37
- }, u = (L = t == null ? void 0 : t.supportedResources) != null && L.length ? t.supportedResources : be, k = Object.keys(h).filter((r) => h[r]), D = u.length > 0 && u.every((r) => h[r]), K = u.some((r) => h[r]), Q = (r) => {
38
- A(Object.fromEntries(u.map((a) => [a, r])));
37
+ }, u = (L = t == null ? void 0 : t.supportedResources) != null && L.length ? t.supportedResources : be, w = Object.keys(h).filter((r) => h[r]), D = u.length > 0 && u.every((r) => h[r]), K = u.some((r) => h[r]), Q = (r) => {
38
+ I(Object.fromEntries(u.map((a) => [a, r])));
39
39
  }, X = async () => {
40
40
  var r, a;
41
- if (k.length === 0) {
41
+ if (w.length === 0) {
42
42
  f({ type: "error", message: "Select at least one resource type, or skip this step." });
43
43
  return;
44
44
  }
45
45
  m(!0);
46
46
  try {
47
- const s = await ge(t.id, k, {
48
- alsoProcess: I,
47
+ const s = await ge(t.id, w, {
48
+ alsoProcess: A,
49
49
  onProgress: W
50
50
  });
51
51
  f({ type: "success", message: `Synced ${s} resource(s).` }), C(`/ui/medplat/admin/fhirResource/${t.id}`);
@@ -134,7 +134,7 @@ function Ie() {
134
134
  /* @__PURE__ */ e(i, { children: u.map((r) => /* @__PURE__ */ e(
135
135
  R,
136
136
  {
137
- control: /* @__PURE__ */ e(F, { checked: !!h[r], onChange: (a) => A((s) => ({ ...s, [r]: a.target.checked })) }),
137
+ control: /* @__PURE__ */ e(F, { checked: !!h[r], onChange: (a) => I((s) => ({ ...s, [r]: a.target.checked })) }),
138
138
  label: r
139
139
  },
140
140
  r
@@ -143,19 +143,19 @@ function Ie() {
143
143
  R,
144
144
  {
145
145
  sx: { mt: 1 },
146
- control: /* @__PURE__ */ e(F, { checked: I, onChange: (r) => q(r.target.checked) }),
146
+ control: /* @__PURE__ */ e(F, { checked: A, onChange: (r) => q(r.target.checked) }),
147
147
  label: /* @__PURE__ */ e(p, { variant: "body2", children: "Process into the system after sync" })
148
148
  }
149
149
  )
150
150
  ] }),
151
151
  /* @__PURE__ */ n(i, { direction: "row", spacing: 1, justifyContent: "flex-end", sx: { mt: 3 }, children: [
152
152
  !d && /* @__PURE__ */ e(l, { onClick: O, children: "Skip" }),
153
- /* @__PURE__ */ e(l, { variant: "contained", onClick: X, disabled: d, children: d ? "Syncing…" : `Sync ${k.length || ""} Selected` })
153
+ /* @__PURE__ */ e(l, { variant: "contained", onClick: X, disabled: d, children: d ? "Syncing…" : `Sync ${w.length || ""} Selected` })
154
154
  ] })
155
155
  ] }) })
156
156
  ] }) });
157
157
  }
158
158
  export {
159
- Ie as default
159
+ Ae as default
160
160
  };
161
- //# sourceMappingURL=FhirServerWizard-DZI8Olku.js.map
161
+ //# sourceMappingURL=FhirServerWizard-Db6Hm4bQ.js.map
@@ -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":"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"}