udp-react-enterprise-component-library 25.18.1-beta.70 → 25.18.1-beta.72

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 (228) hide show
  1. package/dist/{ActionProvider-DGzli-X1.js → ActionProvider-BGugOmjV.js} +2 -2
  2. package/dist/{ActionProvider-DGzli-X1.js.map → ActionProvider-BGugOmjV.js.map} +1 -1
  3. package/dist/{ActionSplitScreen-gKH4ISoo.js → ActionSplitScreen-D6_7PlK-.js} +4 -4
  4. package/dist/{ActionSplitScreen-gKH4ISoo.js.map → ActionSplitScreen-D6_7PlK-.js.map} +1 -1
  5. package/dist/{ActionWrapper-Bpp9Mn4j.js → ActionWrapper-DnP7lGDq.js} +4 -4
  6. package/dist/{ActionWrapper-Bpp9Mn4j.js.map → ActionWrapper-DnP7lGDq.js.map} +1 -1
  7. package/dist/{AmbientCard-CLW4bPCu.js → AmbientCard-DhAiVDYD.js} +2 -2
  8. package/dist/{AmbientCard-CLW4bPCu.js.map → AmbientCard-DhAiVDYD.js.map} +1 -1
  9. package/dist/{AmbientVisualizationCard-CAxx4QWe.js → AmbientVisualizationCard-CivQRhmD.js} +4 -4
  10. package/dist/{AmbientVisualizationCard-CAxx4QWe.js.map → AmbientVisualizationCard-CivQRhmD.js.map} +1 -1
  11. package/dist/{AmbientVisualizer-BABKxgsK.js → AmbientVisualizer-buICwVdO.js} +2 -2
  12. package/dist/{AmbientVisualizer-BABKxgsK.js.map → AmbientVisualizer-buICwVdO.js.map} +1 -1
  13. package/dist/{BioCardWrapper-B2bT-4zw.js → BioCardWrapper-D1ZOHyA4.js} +3 -3
  14. package/dist/{BioCardWrapper-B2bT-4zw.js.map → BioCardWrapper-D1ZOHyA4.js.map} +1 -1
  15. package/dist/{CrudTableSidePanel-CNEZxJi0.js → CrudTableSidePanel-Dw8gZSqR.js} +2 -2
  16. package/dist/{CrudTableSidePanel-CNEZxJi0.js.map → CrudTableSidePanel-Dw8gZSqR.js.map} +1 -1
  17. package/dist/{DashboardWidget-CsOrr74H.js → DashboardWidget-D3HStfJA.js} +26 -10
  18. package/dist/DashboardWidget-D3HStfJA.js.map +1 -0
  19. package/dist/{DataBrowserContainer-cU_EEIiR.js → DataBrowserContainer-D4gJ66IC.js} +2 -2
  20. package/dist/{DataBrowserContainer-cU_EEIiR.js.map → DataBrowserContainer-D4gJ66IC.js.map} +1 -1
  21. package/dist/{DynamicRangeSlider-prr4fg8d.js → DynamicRangeSlider-BX4kCzUd.js} +2 -2
  22. package/dist/{DynamicRangeSlider-prr4fg8d.js.map → DynamicRangeSlider-BX4kCzUd.js.map} +1 -1
  23. package/dist/{EmailDisplay-Dm8ynSko.js → EmailDisplay-DZHmPeiL.js} +2 -2
  24. package/dist/{EmailDisplay-Dm8ynSko.js.map → EmailDisplay-DZHmPeiL.js.map} +1 -1
  25. package/dist/{ExportSidesheet-DWkoiwxC.js → ExportSidesheet-BQiNzxN9.js} +4 -4
  26. package/dist/{ExportSidesheet-DWkoiwxC.js.map → ExportSidesheet-BQiNzxN9.js.map} +1 -1
  27. package/dist/{FieldArrayCard-Ds_ysYWL.js → FieldArrayCard-sEe2pmg7.js} +3 -3
  28. package/dist/{FieldArrayCard-Ds_ysYWL.js.map → FieldArrayCard-sEe2pmg7.js.map} +1 -1
  29. package/dist/{FluentListItem-_Nq3fhEY.js → FluentListItem-1fzW--Dq.js} +2 -2
  30. package/dist/{FluentListItem-_Nq3fhEY.js.map → FluentListItem-1fzW--Dq.js.map} +1 -1
  31. package/dist/{GraphCard-BhcSveF4.js → GraphCard-Bdh6VeDb.js} +2 -2
  32. package/dist/{GraphCard-BhcSveF4.js.map → GraphCard-Bdh6VeDb.js.map} +1 -1
  33. package/dist/{ImportDataFromFileMapping-3XXgUR-Z.js → ImportDataFromFileMapping-BIcQmKll.js} +2 -2
  34. package/dist/{ImportDataFromFileMapping-3XXgUR-Z.js.map → ImportDataFromFileMapping-BIcQmKll.js.map} +1 -1
  35. package/dist/{Inquiry-KKLgba3g.js → Inquiry-1o8EuckI.js} +12 -10
  36. package/dist/{Inquiry-KKLgba3g.js.map → Inquiry-1o8EuckI.js.map} +1 -1
  37. package/dist/Inquiry-B9U7e2Iu.js +3 -0
  38. package/dist/{InquirySearchContainer-DKDrIqNO.js → InquirySearchContainer-zxbukV51.js} +3 -3
  39. package/dist/{InquirySearchContainer-DKDrIqNO.js.map → InquirySearchContainer-zxbukV51.js.map} +1 -1
  40. package/dist/MenuPage-CdzHSWBt.js +3 -0
  41. package/dist/{MenuPage-tkkhpco5.js → MenuPage-KiNfnc7P.js} +3 -3
  42. package/dist/{MenuPage-tkkhpco5.js.map → MenuPage-KiNfnc7P.js.map} +1 -1
  43. package/dist/{MttMainTimeline-s0ANW7l-.js → MttMainTimeline-DbaaXXQv.js} +2 -2
  44. package/dist/{MttMainTimeline-s0ANW7l-.js.map → MttMainTimeline-DbaaXXQv.js.map} +1 -1
  45. package/dist/{NotesScreen-DQatppnX.js → NotesScreen-D8-QnWaB.js} +2 -2
  46. package/dist/{NotesScreen-DQatppnX.js.map → NotesScreen-D8-QnWaB.js.map} +1 -1
  47. package/dist/{PDFViewer-B4nJKbIy.js → PDFViewer-BvaqCfIS.js} +2 -2
  48. package/dist/{PDFViewer-B4nJKbIy.js.map → PDFViewer-BvaqCfIS.js.map} +1 -1
  49. package/dist/{Page-fxgRfgm6.js → Page-BNjiUMqy.js} +5 -4
  50. package/dist/Page-BNjiUMqy.js.map +1 -0
  51. package/dist/{PageActionWrapper-BBkGtnC6.js → PageActionWrapper-Bm6J0thr.js} +2 -2
  52. package/dist/{PageActionWrapper-BBkGtnC6.js.map → PageActionWrapper-Bm6J0thr.js.map} +1 -1
  53. package/dist/{PageContainer-DTXNLt_2.js → PageContainer-ButX_XVS.js} +8 -6
  54. package/dist/PageContainer-ButX_XVS.js.map +1 -0
  55. package/dist/{PageRenderer-BTkUO-hr.js → PageRenderer-hxobUKe_.js} +2 -2
  56. package/dist/{PageRenderer-BTkUO-hr.js.map → PageRenderer-hxobUKe_.js.map} +1 -1
  57. package/dist/{PaymentForm-Dum5p1mf.js → PaymentForm-BdWY9dEt.js} +2 -2
  58. package/dist/{PaymentForm-Dum5p1mf.js.map → PaymentForm-BdWY9dEt.js.map} +1 -1
  59. package/dist/{PrimaryActionHeader-DBJpROPu.js → PrimaryActionHeader-H5w3twaM.js} +3 -2
  60. package/dist/PrimaryActionHeader-H5w3twaM.js.map +1 -0
  61. package/dist/{RecentlyLoadedNodesTable-Dy8yBVfH.js → RecentlyLoadedNodesTable-BzvR0L0h.js} +2 -2
  62. package/dist/{RecentlyLoadedNodesTable-Dy8yBVfH.js.map → RecentlyLoadedNodesTable-BzvR0L0h.js.map} +1 -1
  63. package/dist/{RecentlyLoadedNodesWidget-Cb8fiSSn.js → RecentlyLoadedNodesWidget-Kt5BElrK.js} +2 -2
  64. package/dist/{RecentlyLoadedNodesWidget-Cb8fiSSn.js.map → RecentlyLoadedNodesWidget-Kt5BElrK.js.map} +1 -1
  65. package/dist/{RemindersScreen-Cp7lMWrE.js → RemindersScreen-BDgMIUaq.js} +2 -2
  66. package/dist/{RemindersScreen-Cp7lMWrE.js.map → RemindersScreen-BDgMIUaq.js.map} +1 -1
  67. package/dist/{Shell-BE_Aq6W2.js → Shell-Bcr0PHnd.js} +6 -6
  68. package/dist/{Shell-BE_Aq6W2.js.map → Shell-Bcr0PHnd.js.map} +1 -1
  69. package/dist/{SiteHeader-CuOFCr7D.js → SiteHeader-DmfTUOmH.js} +4 -4
  70. package/dist/{SiteHeader-CuOFCr7D.js.map → SiteHeader-DmfTUOmH.js.map} +1 -1
  71. package/dist/{SummaryBlock-BjUNDl4q.js → SummaryBlock-Q5Jf4V8A.js} +2 -2
  72. package/dist/{SummaryBlock-BjUNDl4q.js.map → SummaryBlock-Q5Jf4V8A.js.map} +1 -1
  73. package/dist/{SupportCaseSideSheet-DuvvXDWF.js → SupportCaseSideSheet-9iAiZyOu.js} +1 -1
  74. package/dist/{SupportCaseSideSheet-BNec-nDN.js → SupportCaseSideSheet-CT15Dg8h.js} +2 -2
  75. package/dist/{SupportCaseSideSheet-BNec-nDN.js.map → SupportCaseSideSheet-CT15Dg8h.js.map} +1 -1
  76. package/dist/{Typography-BMsa1JYd.js → Typography-FuShOop3.js} +2 -2
  77. package/dist/{Typography-BMsa1JYd.js.map → Typography-FuShOop3.js.map} +1 -1
  78. package/dist/UI/accordion/index.js +1 -1
  79. package/dist/UI/components/dataDisplay/index.js +1 -1
  80. package/dist/UI/components/index.js +1 -1
  81. package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
  82. package/dist/UI/dataDisplay/index.js +2 -2
  83. package/dist/UI/dataDisplay/typography/index.js +1 -1
  84. package/dist/UI/dataDisplay/visualization/index.js +1 -1
  85. package/dist/UI/fileViewer/index.js +1 -1
  86. package/dist/UI/fileViewer/pdfViewer/index.js +1 -1
  87. package/dist/UI/forms/index.js +1 -1
  88. package/dist/UI/index.js +11 -11
  89. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  90. package/dist/UI/mapLayout/index.js +1 -1
  91. package/dist/UI/support/index.js +1 -1
  92. package/dist/UI/surfaces/cards/AmbientCard/index.js +1 -1
  93. package/dist/UI/surfaces/cards/chartDisplayCards/index.js +1 -1
  94. package/dist/UI/surfaces/cards/workOrderCard/index.js +1 -1
  95. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  96. package/dist/UI/templates/newGrid/index.js +1 -1
  97. package/dist/UI/utilityDisplay/index.js +2 -2
  98. package/dist/UI/utilityDisplay/utilityHeader/index.js +1 -1
  99. package/dist/UI/widgets/index.js +1 -1
  100. package/dist/UI/widgets/library/CircleGaugeWidget/index.js +1 -1
  101. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  102. package/dist/{UdpAuditEvents-C5p1KgV0.js → UdpAuditEvents-DotSR4R9.js} +2 -2
  103. package/dist/{UdpAuditEvents-C5p1KgV0.js.map → UdpAuditEvents-DotSR4R9.js.map} +1 -1
  104. package/dist/{UdpAuditEventsPage-CohNvZiq.js → UdpAuditEventsPage-BZ5fMCYW.js} +2 -2
  105. package/dist/{UdpAuditEventsPage-CohNvZiq.js.map → UdpAuditEventsPage-BZ5fMCYW.js.map} +1 -1
  106. package/dist/UdpAuditEventsPage-BtsmPFyR.js +3 -0
  107. package/dist/{UdpDataBrowserPage-DQXaWtYD.js → UdpDataBrowserPage-3fiOCSkx.js} +3 -3
  108. package/dist/{UdpDataBrowserPage-DQXaWtYD.js.map → UdpDataBrowserPage-3fiOCSkx.js.map} +1 -1
  109. package/dist/{UdpFormsSubmissionGrid-DzMuwwTO.js → UdpFormsSubmissionGrid-B3pQiK5q.js} +10 -9
  110. package/dist/UdpFormsSubmissionGrid-B3pQiK5q.js.map +1 -0
  111. package/dist/{UdpGridTemplate-OsS_O6jR.js → UdpGridTemplate-xen0Fvww.js} +2 -2
  112. package/dist/{UdpGridTemplate-OsS_O6jR.js.map → UdpGridTemplate-xen0Fvww.js.map} +1 -1
  113. package/dist/{UdpImportFromFileMappingPage-Dti79T9x.js → UdpImportFromFileMappingPage-BxGvGFua.js} +2 -2
  114. package/dist/{UdpImportFromFileMappingPage-Dti79T9x.js.map → UdpImportFromFileMappingPage-BxGvGFua.js.map} +1 -1
  115. package/dist/{UdpInquiryMaintenanceEnginePage-Boln3evx.js → UdpInquiryMaintenanceEnginePage-CSf7jB35.js} +2 -2
  116. package/dist/{UdpInquiryMaintenanceEnginePage-Boln3evx.js.map → UdpInquiryMaintenanceEnginePage-CSf7jB35.js.map} +1 -1
  117. package/dist/{UdpMaintenanceEnginePage-B8OpNNcP.js → UdpMaintenanceEnginePage-C8NLZSPb.js} +3 -3
  118. package/dist/{UdpMaintenanceEnginePage-B8OpNNcP.js.map → UdpMaintenanceEnginePage-C8NLZSPb.js.map} +1 -1
  119. package/dist/{UdpNotesPage-DCjDBqqU.js → UdpNotesPage-BABI4D2S.js} +2 -2
  120. package/dist/{UdpNotesPage-DCjDBqqU.js.map → UdpNotesPage-BABI4D2S.js.map} +1 -1
  121. package/dist/{UdpRemindersPage-CrgWmKWD.js → UdpRemindersPage-DuS3aPUk.js} +2 -2
  122. package/dist/{UdpRemindersPage-CrgWmKWD.js.map → UdpRemindersPage-DuS3aPUk.js.map} +1 -1
  123. package/dist/{UdpTransactionsPage-X1Wu4-CC.js → UdpTransactionsPage-DXt_i8vP.js} +6 -6
  124. package/dist/{UdpTransactionsPage-X1Wu4-CC.js.map → UdpTransactionsPage-DXt_i8vP.js.map} +1 -1
  125. package/dist/{UtilitySideBar-wvrocDGI.js → UtilitySideBar-BU3ppHrv.js} +2 -2
  126. package/dist/{UtilitySideBar-wvrocDGI.js.map → UtilitySideBar-BU3ppHrv.js.map} +1 -1
  127. package/dist/VirtualBrowser-CbL5X-W-.js +3 -0
  128. package/dist/{VirtualBrowser-CVs-vW3x.js → VirtualBrowser-qF1k097T.js} +2 -2
  129. package/dist/{VirtualBrowser-CVs-vW3x.js.map → VirtualBrowser-qF1k097T.js.map} +1 -1
  130. package/dist/{WorkOrderCard-s-6QK3Re.js → WorkOrderCard-geZ9o4iP.js} +2 -2
  131. package/dist/{WorkOrderCard-s-6QK3Re.js.map → WorkOrderCard-geZ9o4iP.js.map} +1 -1
  132. package/dist/{WorkflowContainer-Boj87JRI.js → WorkflowContainer-BxBxnHEY.js} +1 -1
  133. package/dist/{WorkflowContainer-DDGm1Cxo.js → WorkflowContainer-Drts8hsZ.js} +3 -3
  134. package/dist/{WorkflowContainer-DDGm1Cxo.js.map → WorkflowContainer-Drts8hsZ.js.map} +1 -1
  135. package/dist/{WorkflowContent-CU_-pOym.js → WorkflowContent-HlBHhWl8.js} +4 -4
  136. package/dist/{WorkflowContent-CU_-pOym.js.map → WorkflowContent-HlBHhWl8.js.map} +1 -1
  137. package/dist/{accordion--zpb1uMC.js → accordion-Ca8ECaw2.js} +3 -3
  138. package/dist/accordion-Ca8ECaw2.js.map +1 -0
  139. package/dist/{actionSummary-D0CwyTXJ.js → actionSummary-DwSHY1Tt.js} +2 -2
  140. package/dist/{actionSummary-D0CwyTXJ.js.map → actionSummary-DwSHY1Tt.js.map} +1 -1
  141. package/dist/actions/actionSummary/index.js +1 -1
  142. package/dist/actions/index.js +4 -4
  143. package/dist/{colorConverter-x64WSLsF.js → colorConverter-5PvESBA1.js} +7 -1
  144. package/dist/colorConverter-5PvESBA1.js.map +1 -0
  145. package/dist/componentSystems/multiThreadTimeline/index.js +2 -2
  146. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  147. package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
  148. package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
  149. package/dist/componentSystems/pageRenderer/index.js +3 -3
  150. package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
  151. package/dist/dashboard/index.js +1 -1
  152. package/dist/dataBrowser/index.js +1 -1
  153. package/dist/{fileViewer-BbIFHura.js → fileViewer-C_Q-hFda.js} +4 -4
  154. package/dist/{fileViewer-BbIFHura.js.map → fileViewer-C_Q-hFda.js.map} +1 -1
  155. package/dist/{forms-BVssUn2h.js → forms-lyNriVSn.js} +3 -3
  156. package/dist/{forms-BVssUn2h.js.map → forms-lyNriVSn.js.map} +1 -1
  157. package/dist/index.js +47 -47
  158. package/dist/inquiry/dashboard/index.js +1 -1
  159. package/dist/inquiry/index.js +3 -3
  160. package/dist/inquiry/search/index.js +1 -1
  161. package/dist/layout/index.js +1 -1
  162. package/dist/{layout-Do6o2q2R.js → layout-IgoykV-U.js} +2 -2
  163. package/dist/{layout-Do6o2q2R.js.map → layout-IgoykV-U.js.map} +1 -1
  164. package/dist/maintenanceEngine/crudBrowser/index.js +1 -1
  165. package/dist/maintenanceEngine/index.js +2 -2
  166. package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
  167. package/dist/{mapLayout-B_m2Fh8n.js → mapLayout-BlHtCf7p.js} +2 -2
  168. package/dist/{mapLayout-B_m2Fh8n.js.map → mapLayout-BlHtCf7p.js.map} +1 -1
  169. package/dist/menuPage/index.js +1 -1
  170. package/dist/{menuPage-7DcUM-Q3.js → menuPage-BHXchSeD.js} +2 -2
  171. package/dist/{menuPage-7DcUM-Q3.js.map → menuPage-BHXchSeD.js.map} +1 -1
  172. package/dist/{newGrid-zmtQXU5G.js → newGrid-Cx_UGQS8.js} +2 -2
  173. package/dist/{newGrid-zmtQXU5G.js.map → newGrid-Cx_UGQS8.js.map} +1 -1
  174. package/dist/notes/index.js +1 -1
  175. package/dist/page/PageContainer/index.js +1 -1
  176. package/dist/reminders/index.js +1 -1
  177. package/dist/routes/index.js +1 -1
  178. package/dist/{routes-DafRlYVQ.js → routes-Cep1JMTf.js} +5 -5
  179. package/dist/{routes-DafRlYVQ.js.map → routes-Cep1JMTf.js.map} +1 -1
  180. package/dist/shell/index.js +2 -2
  181. package/dist/shell/ui/index.js +1 -1
  182. package/dist/types/src/UI/accordion/Accordion.d.ts.map +1 -1
  183. package/dist/types/src/UI/utilityDisplay/utilityHeader/PrimaryActionHeader.d.ts.map +1 -1
  184. package/dist/types/src/dashboard/DashboardCardGrid.d.ts.map +1 -1
  185. package/dist/types/src/inquiry/InquiryContainer.d.ts.map +1 -1
  186. package/dist/types/src/page/Page.d.ts.map +1 -1
  187. package/dist/types/src/page/PageContainer/PageContainer.d.ts.map +1 -1
  188. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +3 -1
  189. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -1
  190. package/dist/types/src/utilities/style/colorConverter.d.ts.map +1 -1
  191. package/dist/types/tsconfig.tsbuildinfo +1 -1
  192. package/dist/udp/export/index.js +1 -1
  193. package/dist/udp/fileImportMapping/index.js +1 -1
  194. package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
  195. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  196. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  197. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
  198. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  199. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  200. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  201. package/dist/udp/pages/UdpPages/index.js +9 -9
  202. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  203. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  204. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  205. package/dist/uploader/index.js +1 -1
  206. package/dist/{uploader-YWjDebFN.js → uploader-BdeUKdYW.js} +2 -2
  207. package/dist/{uploader-YWjDebFN.js.map → uploader-BdeUKdYW.js.map} +1 -1
  208. package/dist/utilities/form/paymentForm/index.js +1 -1
  209. package/dist/utilities/provider/index.js +1 -1
  210. package/dist/utilities/style/index.js +1 -1
  211. package/dist/{widgets-BCHN3J80.js → widgets-Bwklnxz1.js} +2 -2
  212. package/dist/{widgets-BCHN3J80.js.map → widgets-Bwklnxz1.js.map} +1 -1
  213. package/dist/{withEngineComponent-CpOJBSmx.js → withEngineComponent-Bcnxug3h.js} +2 -2
  214. package/dist/{withEngineComponent-CpOJBSmx.js.map → withEngineComponent-Bcnxug3h.js.map} +1 -1
  215. package/dist/workflow/index.js +2 -2
  216. package/export-map.json +1 -1
  217. package/package.json +2 -2
  218. package/dist/DashboardWidget-CsOrr74H.js.map +0 -1
  219. package/dist/Inquiry-C094H1jQ.js +0 -3
  220. package/dist/MenuPage-R6mbeCuS.js +0 -3
  221. package/dist/Page-fxgRfgm6.js.map +0 -1
  222. package/dist/PageContainer-DTXNLt_2.js.map +0 -1
  223. package/dist/PrimaryActionHeader-DBJpROPu.js.map +0 -1
  224. package/dist/UdpAuditEventsPage-BiUdXrGu.js +0 -3
  225. package/dist/UdpFormsSubmissionGrid-DzMuwwTO.js.map +0 -1
  226. package/dist/VirtualBrowser-CcWYHhRb.js +0 -3
  227. package/dist/accordion--zpb1uMC.js.map +0 -1
  228. package/dist/colorConverter-x64WSLsF.js.map +0 -1
package/dist/UI/index.js CHANGED
@@ -2,7 +2,7 @@ import { n as getSuccessAction } from "../actionUtils-CPmiSAig.js";
2
2
  import { n as TeleportSource, t as PAHAdditionalRightComponent } from "../PAHAdditionalRightComponent-DMOU9Mho.js";
3
3
  import { n as SideSheet, t as BaseSideSheet } from "../SideSheet-CDXVa_Kr.js";
4
4
  import { t as PageLoading } from "../PageLoading-GD6E2uMU.js";
5
- import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../PrimaryActionHeader-DBJpROPu.js";
5
+ import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../PrimaryActionHeader-H5w3twaM.js";
6
6
  import { t as UdpTabs } from "../UdpTabs-DVZGEwOC.js";
7
7
  import { n as OpenPage, t as DraggableSidebarTemplate } from "../DraggableSidebarTemplate-BUWBvL6H.js";
8
8
  import { t as Adornment } from "../Adornment-Ciq1X7he.js";
@@ -15,15 +15,15 @@ import { t as DynamicContainerWithMenu } from "../DynamicContainerWithMenu-lYZyN
15
15
  import { t as BioCard } from "../BioCard-M1ZP7x1X.js";
16
16
  import { t as Iframe } from "../Iframe-BfXbTs-j.js";
17
17
  import { t as QuickViewCard } from "../QuickViewCard-odqSWVkJ.js";
18
- import { t as SummaryBlock } from "../SummaryBlock-BjUNDl4q.js";
18
+ import { t as SummaryBlock } from "../SummaryBlock-Q5Jf4V8A.js";
19
19
  import { i as getPropertiesForFieldValues, n as PropertyFields, r as getFieldValuesForProperties, t as PropertyField } from "../PropertyFields-DlNSPR7S.js";
20
20
  import { t as NodeLoader } from "../NodeLoader-6vxxLuHg.js";
21
21
  import { t as getThresholdStatus } from "../aggregateUtils-UcpEjFnf.js";
22
22
  import { t as AggregateChip } from "../AggregateChip-BF7S3x_K.js";
23
- import { t as UtilitySideBar } from "../UtilitySideBar-wvrocDGI.js";
23
+ import { t as UtilitySideBar } from "../UtilitySideBar-BU3ppHrv.js";
24
24
  import { t as LinearProgress } from "../LinearProgress-CpJeIaEP.js";
25
25
  import { t as CircularProgress } from "../CircularProgress-D9GixVnK.js";
26
- import { n as SmsDisplay, t as EmailDisplay } from "../EmailDisplay-Dm8ynSko.js";
26
+ import { n as SmsDisplay, t as EmailDisplay } from "../EmailDisplay-DZHmPeiL.js";
27
27
  import { n as AppMenuItem, r as AppMenuItemComponent, t as AppMenu } from "../AppMenu-oGJtO6Vp.js";
28
28
  import { t as UtilityBar } from "../utilityDisplay-DtdjV7V1.js";
29
29
  import { t as UdpStepper } from "../stepper-BaIo_Rol.js";
@@ -38,7 +38,7 @@ import { t as FormControl } from "../FormControl-CkybPp4U.js";
38
38
  import { t as IndicatorChip } from "../IndicatorChip-Dmaib9uq.js";
39
39
  import { t as InputAdornment } from "../InputAdornment-CLuALIhc.js";
40
40
  import { n as UdpCrudFormFields, t as CrudForm } from "../CrudForm-C9xMnPoA.js";
41
- import { n as PaymentReversalForm, r as LoginForm, t as UdpTransactionEmailForm } from "../forms-BVssUn2h.js";
41
+ import { n as PaymentReversalForm, r as LoginForm, t as UdpTransactionEmailForm } from "../forms-lyNriVSn.js";
42
42
  import { t as Box } from "../Box-Colr5GEl.js";
43
43
  import { t as Grid } from "../Grid-D1-yWIw5.js";
44
44
  import { t as VirtualForm } from "../VirtualForm-Cw3gjug-.js";
@@ -47,22 +47,22 @@ import { t as AmbientToast } from "../AmbientToast-iliGNjGA.js";
47
47
  import { t as AmbientAlert } from "../AmbientAlert-DcYkGCUm.js";
48
48
  import { t as CoreLayoutFloorplan } from "../floorplans-DNUFP5-n.js";
49
49
  import { t as Sticky } from "../dataDisplay-BP3z7lU0.js";
50
- import { t as Accordion } from "../accordion--zpb1uMC.js";
50
+ import { t as Accordion } from "../accordion-Ca8ECaw2.js";
51
51
  import { t as EmptyStateDisplay } from "../EmptyStateDisplay-YOwCw38_.js";
52
- import { t as ItemsWidgetCard } from "../widgets-BCHN3J80.js";
52
+ import { t as ItemsWidgetCard } from "../widgets-Bwklnxz1.js";
53
53
  import { t as ExpandRenderer } from "../ui-BcqvpQOG.js";
54
54
  import { i as toggleHeader, n as NestWrapper, r as NestedGrid, t as NestParent } from "../NestedGrid-BPb_PuxN.js";
55
55
  import { n as ContentDisplayCard, t as InfoCard } from "../cards-Z72cvAh5.js";
56
- import { t as SupportCaseSideSheet } from "../SupportCaseSideSheet-BNec-nDN.js";
56
+ import { t as SupportCaseSideSheet } from "../SupportCaseSideSheet-CT15Dg8h.js";
57
57
  import { t as CompactDataList } from "../CompactDataList-j2xAs8-I.js";
58
58
  import { t as CompactDataListItem } from "../CompactDataListItem-BB0gf0JD.js";
59
59
  import { n as UdpMapComponent, t as UdpMapToolbar } from "../UdpMapToolbar-B410Zi_h.js";
60
- import { t as MapLayout } from "../mapLayout-B_m2Fh8n.js";
61
- import { t as FileViewer } from "../fileViewer-BbIFHura.js";
60
+ import { t as MapLayout } from "../mapLayout-BlHtCf7p.js";
61
+ import { t as FileViewer } from "../fileViewer-C_Q-hFda.js";
62
62
  import { t as FluentDataTable } from "../FluentDataTable-BSQ_EHJX.js";
63
63
  import { t as AvatarAlphabet } from "../AvatarAlphabet-D5klbFfJ.js";
64
64
  import { n as FluentActivity, t as FluentActivityRow } from "../FluentActivity-CQQeL7Qe.js";
65
- import { t as FluentListItem } from "../FluentListItem-_Nq3fhEY.js";
65
+ import { t as FluentListItem } from "../FluentListItem-1fzW--Dq.js";
66
66
  import { t as ChipAlphabet } from "../ChipAlphabet-DCU1DsB-.js";
67
67
  import { t as InsightRenderer } from "../charts-pX01x8rO.js";
68
68
  import { t as FluentTabPanel } from "../FluentTabPanel-DZPtDTkV.js";
@@ -1,3 +1,3 @@
1
- import { n as FieldType, t as FieldArrayCard } from "../../../FieldArrayCard-Ds_ysYWL.js";
1
+ import { n as FieldType, t as FieldArrayCard } from "../../../FieldArrayCard-sEe2pmg7.js";
2
2
 
3
3
  export { FieldArrayCard, FieldType };
@@ -1,3 +1,3 @@
1
- import { t as MapLayout } from "../../mapLayout-B_m2Fh8n.js";
1
+ import { t as MapLayout } from "../../mapLayout-BlHtCf7p.js";
2
2
 
3
3
  export { MapLayout };
@@ -1,3 +1,3 @@
1
- import { t as SupportCaseSideSheet } from "../../SupportCaseSideSheet-BNec-nDN.js";
1
+ import { t as SupportCaseSideSheet } from "../../SupportCaseSideSheet-CT15Dg8h.js";
2
2
 
3
3
  export { SupportCaseSideSheet };
@@ -1,4 +1,4 @@
1
- import { t as AmbientCard } from "../../../../AmbientCard-CLW4bPCu.js";
1
+ import { t as AmbientCard } from "../../../../AmbientCard-DhAiVDYD.js";
2
2
  import { t as AmbientCardTitle } from "../../../../AmbientCardTitle-CvXW2qf0.js";
3
3
 
4
4
  export { AmbientCard, AmbientCardTitle };
@@ -1,3 +1,3 @@
1
- import { n as AmbientSplitStatCard, t as AmbientVisualizationCard } from "../../../../AmbientVisualizationCard-CAxx4QWe.js";
1
+ import { n as AmbientSplitStatCard, t as AmbientVisualizationCard } from "../../../../AmbientVisualizationCard-CivQRhmD.js";
2
2
 
3
3
  export { AmbientSplitStatCard, AmbientVisualizationCard };
@@ -1,3 +1,3 @@
1
- import { n as WorkOrderHeader, t as WorkOrderCard } from "../../../../WorkOrderCard-s-6QK3Re.js";
1
+ import { n as WorkOrderHeader, t as WorkOrderCard } from "../../../../WorkOrderCard-geZ9o4iP.js";
2
2
 
3
3
  export { WorkOrderCard, WorkOrderHeader };
@@ -1,3 +1,3 @@
1
- import { t as UdpGridTemplate } from "../../../../UdpGridTemplate-OsS_O6jR.js";
1
+ import { t as UdpGridTemplate } from "../../../../UdpGridTemplate-xen0Fvww.js";
2
2
 
3
3
  export { UdpGridTemplate };
@@ -1,5 +1,5 @@
1
1
  import { t as SearchMethodUdpGrid } from "../../../SearchMethodUdpGrid-CWYZUOx-.js";
2
- import { i as EntityMaintenanceUdpGrid, n as ApiMethodInstanceUdpGrid, r as BackwardsCompatibleGrid, t as ServerSideUdpGrid } from "../../../newGrid-zmtQXU5G.js";
2
+ import { i as EntityMaintenanceUdpGrid, n as ApiMethodInstanceUdpGrid, r as BackwardsCompatibleGrid, t as ServerSideUdpGrid } from "../../../newGrid-Cx_UGQS8.js";
3
3
  import { t as ClientSideUdpGrid } from "../../../ClientSideUdpGrid-D5fGumO-.js";
4
4
 
5
5
  export { ApiMethodInstanceUdpGrid, BackwardsCompatibleGrid, ClientSideUdpGrid, EntityMaintenanceUdpGrid, SearchMethodUdpGrid, ServerSideUdpGrid };
@@ -1,9 +1,9 @@
1
1
  import { n as TeleportSource, t as PAHAdditionalRightComponent } from "../../PAHAdditionalRightComponent-DMOU9Mho.js";
2
- import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../../PrimaryActionHeader-DBJpROPu.js";
2
+ import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../../PrimaryActionHeader-H5w3twaM.js";
3
3
  import { a as GridActionBar, i as GridPrimaryBar, n as ChipSection, r as SaveViewFormDialog, t as BulkActionsGridButton } from "../../BulkActionsGridButton-JYgIABWU.js";
4
4
  import { t as getThresholdStatus } from "../../aggregateUtils-UcpEjFnf.js";
5
5
  import { t as AggregateChip } from "../../AggregateChip-BF7S3x_K.js";
6
- import { t as UtilitySideBar } from "../../UtilitySideBar-wvrocDGI.js";
6
+ import { t as UtilitySideBar } from "../../UtilitySideBar-BU3ppHrv.js";
7
7
  import { t as UtilityBar } from "../../utilityDisplay-DtdjV7V1.js";
8
8
  import { n as UtilityTabHeader, t as PAHAdditionalTitleComponent } from "../../utilityHeader-XiCwxUED.js";
9
9
  import { n as UdpAlert, t as UdpAlertsContainer } from "../../UdpAlertsContainer-CbiqX1P0.js";
@@ -1,5 +1,5 @@
1
1
  import { n as TeleportSource, t as PAHAdditionalRightComponent } from "../../../PAHAdditionalRightComponent-DMOU9Mho.js";
2
- import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../../../PrimaryActionHeader-DBJpROPu.js";
2
+ import { n as useAllTeleporters, r as PAHExport, t as PrimaryActionHeader } from "../../../PrimaryActionHeader-H5w3twaM.js";
3
3
  import { n as UtilityTabHeader, t as PAHAdditionalTitleComponent } from "../../../utilityHeader-XiCwxUED.js";
4
4
 
5
5
  export { PAHAdditionalRightComponent, PAHAdditionalTitleComponent, PAHExport, PrimaryActionHeader, TeleportSource, UtilityTabHeader, useAllTeleporters };
@@ -1,3 +1,3 @@
1
- import { t as ItemsWidgetCard } from "../../widgets-BCHN3J80.js";
1
+ import { t as ItemsWidgetCard } from "../../widgets-Bwklnxz1.js";
2
2
 
3
3
  export { ItemsWidgetCard };
@@ -1,4 +1,4 @@
1
- import { t as SummaryBlock } from "../../../../SummaryBlock-BjUNDl4q.js";
1
+ import { t as SummaryBlock } from "../../../../SummaryBlock-Q5Jf4V8A.js";
2
2
  import React from "react";
3
3
  import { Box, Typography, makeStyles } from "@material-ui/core";
4
4
  import { PropTypes as PropTypes$1 } from "prop-types";
@@ -1,3 +1,3 @@
1
- import { n as RecentlyLoadedNodesWidget, r as RecentlyLoadedNodesWidget_default } from "../../../../RecentlyLoadedNodesWidget-Cb8fiSSn.js";
1
+ import { n as RecentlyLoadedNodesWidget, r as RecentlyLoadedNodesWidget_default } from "../../../../RecentlyLoadedNodesWidget-Kt5BElrK.js";
2
2
 
3
3
  export { RecentlyLoadedNodesWidget, RecentlyLoadedNodesWidget_default as default };
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./chunk-BN_g-Awi.js";
2
- import { t as UdpAuditEventsPage_default } from "./UdpAuditEventsPage-CohNvZiq.js";
2
+ import { t as UdpAuditEventsPage_default } from "./UdpAuditEventsPage-BZ5fMCYW.js";
3
3
 
4
4
  //#region src/udp/pages/UdpAuditEvents/index.ts
5
5
  var UdpAuditEvents_exports = /* @__PURE__ */ __exportAll({ default: () => UdpAuditEventsPage_default });
6
6
 
7
7
  //#endregion
8
8
  export { UdpAuditEvents_exports as t };
9
- //# sourceMappingURL=UdpAuditEvents-C5p1KgV0.js.map
9
+ //# sourceMappingURL=UdpAuditEvents-DotSR4R9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpAuditEvents-C5p1KgV0.js","names":[],"sources":["../src/udp/pages/UdpAuditEvents/index.ts"],"sourcesContent":["export * from './UdpAuditEventsPage';\nexport {default} from './UdpAuditEventsPage';\n"],"mappings":""}
1
+ {"version":3,"file":"UdpAuditEvents-DotSR4R9.js","names":[],"sources":["../src/udp/pages/UdpAuditEvents/index.ts"],"sourcesContent":["export * from './UdpAuditEventsPage';\nexport {default} from './UdpAuditEventsPage';\n"],"mappings":""}
@@ -4,7 +4,7 @@ import { L as UdpEnums, c as GridExcelStyleEnums } from "./unitySystemEnums-CZDC
4
4
  import { t as useCatalogStore } from "./catalogStore-DP2GxpTJ.js";
5
5
  import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
6
6
  import { a as getBaseMethod, i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-CDx9usdO.js";
7
- import { t as AmbientCard } from "./AmbientCard-CLW4bPCu.js";
7
+ import { t as AmbientCard } from "./AmbientCard-DhAiVDYD.js";
8
8
  import { t as LinearProgress$1 } from "./LinearProgress-CpJeIaEP.js";
9
9
  import { n as GridUnit, t as GridRow } from "./GridRow-14yfTur2.js";
10
10
  import { t as FluentTextField } from "./FluentTextField-WfFk-koa.js";
@@ -380,4 +380,4 @@ var UdpAuditEventsPage_default = UdpAuditEventsPage;
380
380
 
381
381
  //#endregion
382
382
  export { UdpAuditEventsPage_default as t };
383
- //# sourceMappingURL=UdpAuditEventsPage-CohNvZiq.js.map
383
+ //# sourceMappingURL=UdpAuditEventsPage-BZ5fMCYW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpAuditEventsPage-CohNvZiq.js","names":["useStyles","getLocalizedDateTimeString","auditEventDetail","LinearProgress","getLocalizedDateTimeString","getLocalizedDateString","params","LinearProgress","UdpAuditEventSidesheet"],"sources":["../src/enums/auditEventEnums.ts","../src/udp/utilities/dateLocalizationHooks.jsx","../src/udp/pages/UdpAuditEvents/UdpAuditEventSidesheet.jsx","../src/udp/utilities/useDateStringColumnDef.js","../src/udp/pages/UdpAuditEvents/UdpAuditEventsPage.jsx"],"sourcesContent":["export enum AuditEventTypeEnums {\n Create_Domain = 1,\n Update_Domain = 2,\n Delete_Domain = 3,\n}\n","import { IANAZone } from 'luxon';\nimport { useCallback } from 'react';\nimport {\n getLocalizedDateString,\n getLocalizedDateTimeString,\n} from '../../UI/widgets/utils/dateUtils';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date string without time in the specified IANA time zone.\n * @param timeZone An IANA time zone to convert the date to before returning as a string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateString = (timeZone) => {\n const user = useAuthedUser();\n\n const getDateString = useCallback(\n (date) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateString(date, validTimeZone);\n },\n [user, timeZone],\n );\n\n return getDateString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the specified IANA time zone.\n * @param timeZone The IANA time zone to convert the date before converting to\n * a localized string.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateTimeString = (timeZone, includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateTimeString(date, delimiter, validTimeZone, includeTimeZoneOffset);\n },\n [user, timeZone, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the current user's time zone.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedUserDateTimeString = (includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n return getLocalizedDateTimeString(\n date,\n delimiter,\n user?.additionalProperties?.timeZone,\n includeTimeZoneOffset,\n );\n },\n [user, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextField } from '../../../UI/inputs/textField/FluentTextField';\nimport { GridRow } from '../../../layout/GridRow';\nimport { GridUnit } from '../../../layout/GridUnit';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard/AmbientCard';\nimport { makeStyles, Box } from \"@material-ui/core\";\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJson from 'react-json-view';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { useGetLocalizedUserDateTimeString } from '../../utilities/dateLocalizationHooks';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryWithParameters, getBaseMethod } from '../../utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n textField: {\n marginTop: theme.spacing(0),\n },\n loadingBar: {\n top: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UdpAuditEventSidesheet = props => {\n const {\n auditEvent,\n isSideSheetOpen,\n handleSideSheet,\n promotedEntities,\n sheetProps,\n } = props;\n\n const { t } = useTranslation();\n const classes = useStyles();\n const getLocalizedDateTimeString = useGetLocalizedUserDateTimeString();\n const [auditEventDetail, setAuditEventDetail] = React.useState({});\n const [loading, setLoading] = useState(false);\n\n const auditEventDetailGetApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Detail,\n 'unityBaseGetMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const onCloseSideSheet = () => {\n handleSideSheet(false);\n }\n\n useEffect(() => {\n const getAuditEventDetail = async () => {\n let auditEventDetail = {};\n const data = {};\n try {\n if (auditEventDetailGetApiMethod && auditEvent) {\n setLoading(true);\n data['{auditEventId}'] = auditEvent.id;\n const response = await executeQueryWithParameters(\n { data },\n auditEventDetailGetApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n auditEventDetail = response.data;\n setAuditEventDetail(auditEventDetail);\n }\n }\n } finally {\n setLoading(false);\n }\n };\n getAuditEventDetail();\n }, [auditEvent, auditEventDetailGetApiMethod]);\n\n return (\n <SideSheet\n {...sheetProps}\n open={isSideSheetOpen}\n onClose={onCloseSideSheet}\n title={t(`Audit Event Details`)}\n width={800}\n color='primary'\n >\n {loading && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n <GridRow>\n <GridUnit ratio=\"1:1\" width=\"100%\">\n <AmbientCard title={t('Event')} fullWidth={true} subCard>\n <>\n <FluentTextField\n className={classes.textField}\n id=\"auditEventTypeName\"\n label={t('Event Type')}\n value={auditEvent?.auditEventTypeName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventUserDisplayName\"\n label={t('User')}\n value={auditEvent?.userDisplayName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventDomain\"\n label={t('Description')}\n value={auditEvent?.domain || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventCreatedOn\"\n label={t('Created On')}\n value={getLocalizedDateTimeString(auditEvent?.createdOn ?? '')}\n disabled={true}\n />\n <Box>\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Delete_Domain) &&\n <ReactJson\n src={auditEventDetail?.oldObj ? JSON.parse(auditEventDetail?.oldObj) : {}}\n name={t('Old Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Create_Domain) &&\n <ReactJson\n src={auditEventDetail?.newObj ? JSON.parse(auditEventDetail?.newObj) : {}}\n name={t('New Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n </Box>\n </>\n </AmbientCard>\n </GridUnit>\n </GridRow>\n </SideSheet>\n )\n}\n\nexport default UdpAuditEventSidesheet;\n","import { DateTime, IANAZone } from 'luxon';\nimport { useMemo } from 'react';\nimport { getDateFromString } from '../../UI/widgets/utils/dateUtils';\nimport { GridExcelStyleEnums } from '../../enums/unitySystemEnums';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\nimport { useGetLocalizedDateString, useGetLocalizedDateTimeString } from './dateLocalizationHooks';\n\n\nexport const useDateStringColumnDef = (\n includeTime = false,\n timeZone = null,\n includeTimeZoneOffset = false,\n) => {\n const user = useAuthedUser();\n\n const zone = useMemo(() => {\n const tz = timeZone ?? user?.additionalProperties?.timeZone ?? 'local';\n const validTimeZone =\n tz !== 'local' &&\n (tz === user?.additionalProperties?.timeZone || IANAZone.isValidZone(tz))\n ? tz\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return validTimeZone;\n }, [timeZone, user]);\n\n const getLocalizedDateTimeString = useGetLocalizedDateTimeString(zone, includeTimeZoneOffset);\n const getLocalizedDateString = useGetLocalizedDateString(zone);\n\n const columnDef = useMemo(() => {\n return !user\n ? {}\n : ({\n valueFormatter: (params) => {\n if (!params) {\n return '';\n }\n if (includeTime) {\n return getLocalizedDateTimeString(params.value);\n } else {\n return getLocalizedDateString(params.value);\n }\n },\n cellClass: includeTime\n ? GridExcelStyleEnums.DateTimeShortWithSeconds\n : GridExcelStyleEnums.DateShort,\n filter: 'agDateColumnFilter',\n filterParams: {\n comparator: function (filterLocalDateAtMidnight, cellValue) {\n const cellDate = getDateFromString(cellValue);\n if (!cellDate) {\n return null;\n }\n\n // Assume date picker is in the same time zone that we're displaying dates in so that the results make sense to the user\n const filterDateTimeMidnight = DateTime.fromJSDate(filterLocalDateAtMidnight).setZone(\n zone,\n { keepLocalTime: true },\n );\n const cellDateTimeMidnight = DateTime.fromJSDate(cellDate, { zone: zone }).set({\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n });\n\n if (cellDateTimeMidnight < filterDateTimeMidnight) {\n return -1;\n } else if (cellDateTimeMidnight > filterDateTimeMidnight) {\n return 1;\n } else {\n return 0;\n }\n },\n buttons: ['apply', 'reset'],\n closeOnApply: true,\n suppressAndOrCondition: true,\n filterOptions: ['equals', 'lessThan', 'greaterThan', 'inRange'],\n },\n });\n }, [includeTime, getLocalizedDateString, getLocalizedDateTimeString, user, zone]);\n\n return columnDef;\n};\n","import React, { useCallback, useEffect, useState, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { useAgGridApi } from '../../../utilities/aggrid/AgTable';\nimport { debounce } from 'lodash';\nimport { LogicalSearchOperatorEnums, UdpEnums } from '../../../enums/unitySystemEnums';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { ViewIcon, RefreshIcon } from '@fluentui/react-icons';\nimport UdpAuditEventSidesheet from './UdpAuditEventSidesheet';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useDateStringColumnDef } from '../../utilities/useDateStringColumnDef';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { usePromotedMethodEntity } from '../../../hooks';\n\nconst PAGE_SIZE = 15;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n};\n\nconst useStyles = makeStyles(theme => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5),\n },\n}));\n\nconst UdpAuditEventsPage = (props) => {\n const { params } = props;\n\n // Hooks\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { t } = useTranslation();\n const classes = useStyles();\n const dateStringColumnDef = useDateStringColumnDef(true);\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const gridApiRef = useRef(null);\n\n // States\n const [searchQuery, setSearchQuery] = useState('');\n const [displayProgressBar, setDisplayProgressBar] = useState(false);\n const [selectedAuditEvent, setSelectedAuditEvent] = useState(null);\n const [viewSideSheetOpen, setViewSideSheetOpen] = useState(false);\n const [auditEventTypes, setAuditEventTypes] = useState([]);\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const promotedMethodEntitiesMap = useCatalogStore(\n (state) => state.promotedMethodEntitiesMap\n );\n\n const promotedEntities = useMemo(() => {\n if (!currentApiCatalogId || !promotedMethodEntitiesMap) {\n return null;\n }\n return promotedMethodEntitiesMap[currentApiCatalogId] || [];\n }, [promotedMethodEntitiesMap, currentApiCatalogId]);\n\n const auditEventTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Type,\n 'unityBaseGetAllMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const auditEventSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event,\n 'unityBaseSearchMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const getAuditEventTypeName = useCallback(auditEventTypeCode => {\n if (!auditEventTypes) return '';\n const matchingAuditEventType = auditEventTypes.find(\n auditEventType => auditEventType.code === auditEventTypeCode\n );\n return matchingAuditEventType?.name || '';\n }, [auditEventTypes]);\n\n const handleSideSheet = useCallback((isOpen, auditEvent) => {\n setViewSideSheetOpen(isOpen);\n setSelectedAuditEvent(auditEvent);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Event Type'),\n field: 'UdpAuditEventUdpAuditEventType.Name',\n valueGetter: params => getAuditEventTypeName(params.data.typeCode),\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('User'),\n field: 'userDisplayName',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Description'),\n field: 'domain',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Created On'),\n field: 'createdOn',\n resizable: true,\n sortable: true,\n ...dateStringColumnDef\n },\n {\n field: 'actions',\n headerName: t('Details'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('View'),\n iconName: 'view',\n handleOnClick: (e, auditEvent) =>\n handleSideSheet(true, {...auditEvent?.data, auditEventTypeName: getAuditEventTypeName(auditEvent?.data?.typeCode)}),\n disabled: false,\n },\n\n ],\n },\n suppressMenu: true,\n sortable: false,\n filter: false,\n },\n ];\n }, [getAuditEventTypeName]);\n\n const gridFunctions = [\n { name: 'chipFilter' },\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' },\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true,\n };\n }, []);\n\n useEffect(() => {\n const getAuditEventTypes = async () => {\n let types = [];\n if (auditEventTypeGetAllApiMethod) {\n const response = await executeQueryAdHoc(\n { data: {}},\n auditEventTypeGetAllApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n types = response.data;\n }\n }\n setAuditEventTypes(types);\n };\n getAuditEventTypes();\n }, [auditEventTypeGetAllApiMethod]);\n\n const handleGridApiCallback = api => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: auditEventSearchApiMethod?.apiMethodId,\n customSearchObject: searchObject,\n };\n }, [auditEventSearchApiMethod]);\n\n return (\n <>\n {(displayProgressBar) && (<LinearProgress className={classes.loadingBar} color=\"secondary\" />)}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={{\n title: t('Audit Events'),\n }}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpAuditEventSidesheet\n auditEvent={selectedAuditEvent}\n isSideSheetOpen={viewSideSheetOpen}\n handleSideSheet={handleSideSheet}\n promotedEntities={promotedEntities}\n />\n </>\n )\n}\n\n export default UdpAuditEventsPage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpAuditEventsPage-BZ5fMCYW.js","names":["useStyles","getLocalizedDateTimeString","auditEventDetail","LinearProgress","getLocalizedDateTimeString","getLocalizedDateString","params","LinearProgress","UdpAuditEventSidesheet"],"sources":["../src/enums/auditEventEnums.ts","../src/udp/utilities/dateLocalizationHooks.jsx","../src/udp/pages/UdpAuditEvents/UdpAuditEventSidesheet.jsx","../src/udp/utilities/useDateStringColumnDef.js","../src/udp/pages/UdpAuditEvents/UdpAuditEventsPage.jsx"],"sourcesContent":["export enum AuditEventTypeEnums {\n Create_Domain = 1,\n Update_Domain = 2,\n Delete_Domain = 3,\n}\n","import { IANAZone } from 'luxon';\nimport { useCallback } from 'react';\nimport {\n getLocalizedDateString,\n getLocalizedDateTimeString,\n} from '../../UI/widgets/utils/dateUtils';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date string without time in the specified IANA time zone.\n * @param timeZone An IANA time zone to convert the date to before returning as a string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateString = (timeZone) => {\n const user = useAuthedUser();\n\n const getDateString = useCallback(\n (date) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateString(date, validTimeZone);\n },\n [user, timeZone],\n );\n\n return getDateString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the specified IANA time zone.\n * @param timeZone The IANA time zone to convert the date before converting to\n * a localized string.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateTimeString = (timeZone, includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateTimeString(date, delimiter, validTimeZone, includeTimeZoneOffset);\n },\n [user, timeZone, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the current user's time zone.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedUserDateTimeString = (includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n return getLocalizedDateTimeString(\n date,\n delimiter,\n user?.additionalProperties?.timeZone,\n includeTimeZoneOffset,\n );\n },\n [user, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextField } from '../../../UI/inputs/textField/FluentTextField';\nimport { GridRow } from '../../../layout/GridRow';\nimport { GridUnit } from '../../../layout/GridUnit';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard/AmbientCard';\nimport { makeStyles, Box } from \"@material-ui/core\";\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJson from 'react-json-view';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { useGetLocalizedUserDateTimeString } from '../../utilities/dateLocalizationHooks';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryWithParameters, getBaseMethod } from '../../utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n textField: {\n marginTop: theme.spacing(0),\n },\n loadingBar: {\n top: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UdpAuditEventSidesheet = props => {\n const {\n auditEvent,\n isSideSheetOpen,\n handleSideSheet,\n promotedEntities,\n sheetProps,\n } = props;\n\n const { t } = useTranslation();\n const classes = useStyles();\n const getLocalizedDateTimeString = useGetLocalizedUserDateTimeString();\n const [auditEventDetail, setAuditEventDetail] = React.useState({});\n const [loading, setLoading] = useState(false);\n\n const auditEventDetailGetApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Detail,\n 'unityBaseGetMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const onCloseSideSheet = () => {\n handleSideSheet(false);\n }\n\n useEffect(() => {\n const getAuditEventDetail = async () => {\n let auditEventDetail = {};\n const data = {};\n try {\n if (auditEventDetailGetApiMethod && auditEvent) {\n setLoading(true);\n data['{auditEventId}'] = auditEvent.id;\n const response = await executeQueryWithParameters(\n { data },\n auditEventDetailGetApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n auditEventDetail = response.data;\n setAuditEventDetail(auditEventDetail);\n }\n }\n } finally {\n setLoading(false);\n }\n };\n getAuditEventDetail();\n }, [auditEvent, auditEventDetailGetApiMethod]);\n\n return (\n <SideSheet\n {...sheetProps}\n open={isSideSheetOpen}\n onClose={onCloseSideSheet}\n title={t(`Audit Event Details`)}\n width={800}\n color='primary'\n >\n {loading && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n <GridRow>\n <GridUnit ratio=\"1:1\" width=\"100%\">\n <AmbientCard title={t('Event')} fullWidth={true} subCard>\n <>\n <FluentTextField\n className={classes.textField}\n id=\"auditEventTypeName\"\n label={t('Event Type')}\n value={auditEvent?.auditEventTypeName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventUserDisplayName\"\n label={t('User')}\n value={auditEvent?.userDisplayName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventDomain\"\n label={t('Description')}\n value={auditEvent?.domain || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventCreatedOn\"\n label={t('Created On')}\n value={getLocalizedDateTimeString(auditEvent?.createdOn ?? '')}\n disabled={true}\n />\n <Box>\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Delete_Domain) &&\n <ReactJson\n src={auditEventDetail?.oldObj ? JSON.parse(auditEventDetail?.oldObj) : {}}\n name={t('Old Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Create_Domain) &&\n <ReactJson\n src={auditEventDetail?.newObj ? JSON.parse(auditEventDetail?.newObj) : {}}\n name={t('New Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n </Box>\n </>\n </AmbientCard>\n </GridUnit>\n </GridRow>\n </SideSheet>\n )\n}\n\nexport default UdpAuditEventSidesheet;\n","import { DateTime, IANAZone } from 'luxon';\nimport { useMemo } from 'react';\nimport { getDateFromString } from '../../UI/widgets/utils/dateUtils';\nimport { GridExcelStyleEnums } from '../../enums/unitySystemEnums';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\nimport { useGetLocalizedDateString, useGetLocalizedDateTimeString } from './dateLocalizationHooks';\n\n\nexport const useDateStringColumnDef = (\n includeTime = false,\n timeZone = null,\n includeTimeZoneOffset = false,\n) => {\n const user = useAuthedUser();\n\n const zone = useMemo(() => {\n const tz = timeZone ?? user?.additionalProperties?.timeZone ?? 'local';\n const validTimeZone =\n tz !== 'local' &&\n (tz === user?.additionalProperties?.timeZone || IANAZone.isValidZone(tz))\n ? tz\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return validTimeZone;\n }, [timeZone, user]);\n\n const getLocalizedDateTimeString = useGetLocalizedDateTimeString(zone, includeTimeZoneOffset);\n const getLocalizedDateString = useGetLocalizedDateString(zone);\n\n const columnDef = useMemo(() => {\n return !user\n ? {}\n : ({\n valueFormatter: (params) => {\n if (!params) {\n return '';\n }\n if (includeTime) {\n return getLocalizedDateTimeString(params.value);\n } else {\n return getLocalizedDateString(params.value);\n }\n },\n cellClass: includeTime\n ? GridExcelStyleEnums.DateTimeShortWithSeconds\n : GridExcelStyleEnums.DateShort,\n filter: 'agDateColumnFilter',\n filterParams: {\n comparator: function (filterLocalDateAtMidnight, cellValue) {\n const cellDate = getDateFromString(cellValue);\n if (!cellDate) {\n return null;\n }\n\n // Assume date picker is in the same time zone that we're displaying dates in so that the results make sense to the user\n const filterDateTimeMidnight = DateTime.fromJSDate(filterLocalDateAtMidnight).setZone(\n zone,\n { keepLocalTime: true },\n );\n const cellDateTimeMidnight = DateTime.fromJSDate(cellDate, { zone: zone }).set({\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n });\n\n if (cellDateTimeMidnight < filterDateTimeMidnight) {\n return -1;\n } else if (cellDateTimeMidnight > filterDateTimeMidnight) {\n return 1;\n } else {\n return 0;\n }\n },\n buttons: ['apply', 'reset'],\n closeOnApply: true,\n suppressAndOrCondition: true,\n filterOptions: ['equals', 'lessThan', 'greaterThan', 'inRange'],\n },\n });\n }, [includeTime, getLocalizedDateString, getLocalizedDateTimeString, user, zone]);\n\n return columnDef;\n};\n","import React, { useCallback, useEffect, useState, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { useAgGridApi } from '../../../utilities/aggrid/AgTable';\nimport { debounce } from 'lodash';\nimport { LogicalSearchOperatorEnums, UdpEnums } from '../../../enums/unitySystemEnums';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { ViewIcon, RefreshIcon } from '@fluentui/react-icons';\nimport UdpAuditEventSidesheet from './UdpAuditEventSidesheet';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useDateStringColumnDef } from '../../utilities/useDateStringColumnDef';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { usePromotedMethodEntity } from '../../../hooks';\n\nconst PAGE_SIZE = 15;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n};\n\nconst useStyles = makeStyles(theme => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5),\n },\n}));\n\nconst UdpAuditEventsPage = (props) => {\n const { params } = props;\n\n // Hooks\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { t } = useTranslation();\n const classes = useStyles();\n const dateStringColumnDef = useDateStringColumnDef(true);\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const gridApiRef = useRef(null);\n\n // States\n const [searchQuery, setSearchQuery] = useState('');\n const [displayProgressBar, setDisplayProgressBar] = useState(false);\n const [selectedAuditEvent, setSelectedAuditEvent] = useState(null);\n const [viewSideSheetOpen, setViewSideSheetOpen] = useState(false);\n const [auditEventTypes, setAuditEventTypes] = useState([]);\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const promotedMethodEntitiesMap = useCatalogStore(\n (state) => state.promotedMethodEntitiesMap\n );\n\n const promotedEntities = useMemo(() => {\n if (!currentApiCatalogId || !promotedMethodEntitiesMap) {\n return null;\n }\n return promotedMethodEntitiesMap[currentApiCatalogId] || [];\n }, [promotedMethodEntitiesMap, currentApiCatalogId]);\n\n const auditEventTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Type,\n 'unityBaseGetAllMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const auditEventSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event,\n 'unityBaseSearchMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const getAuditEventTypeName = useCallback(auditEventTypeCode => {\n if (!auditEventTypes) return '';\n const matchingAuditEventType = auditEventTypes.find(\n auditEventType => auditEventType.code === auditEventTypeCode\n );\n return matchingAuditEventType?.name || '';\n }, [auditEventTypes]);\n\n const handleSideSheet = useCallback((isOpen, auditEvent) => {\n setViewSideSheetOpen(isOpen);\n setSelectedAuditEvent(auditEvent);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Event Type'),\n field: 'UdpAuditEventUdpAuditEventType.Name',\n valueGetter: params => getAuditEventTypeName(params.data.typeCode),\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('User'),\n field: 'userDisplayName',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Description'),\n field: 'domain',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Created On'),\n field: 'createdOn',\n resizable: true,\n sortable: true,\n ...dateStringColumnDef\n },\n {\n field: 'actions',\n headerName: t('Details'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('View'),\n iconName: 'view',\n handleOnClick: (e, auditEvent) =>\n handleSideSheet(true, {...auditEvent?.data, auditEventTypeName: getAuditEventTypeName(auditEvent?.data?.typeCode)}),\n disabled: false,\n },\n\n ],\n },\n suppressMenu: true,\n sortable: false,\n filter: false,\n },\n ];\n }, [getAuditEventTypeName]);\n\n const gridFunctions = [\n { name: 'chipFilter' },\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' },\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true,\n };\n }, []);\n\n useEffect(() => {\n const getAuditEventTypes = async () => {\n let types = [];\n if (auditEventTypeGetAllApiMethod) {\n const response = await executeQueryAdHoc(\n { data: {}},\n auditEventTypeGetAllApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n types = response.data;\n }\n }\n setAuditEventTypes(types);\n };\n getAuditEventTypes();\n }, [auditEventTypeGetAllApiMethod]);\n\n const handleGridApiCallback = api => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: auditEventSearchApiMethod?.apiMethodId,\n customSearchObject: searchObject,\n };\n }, [auditEventSearchApiMethod]);\n\n return (\n <>\n {(displayProgressBar) && (<LinearProgress className={classes.loadingBar} color=\"secondary\" />)}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={{\n title: t('Audit Events'),\n }}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpAuditEventSidesheet\n auditEvent={selectedAuditEvent}\n isSideSheetOpen={viewSideSheetOpen}\n handleSideSheet={handleSideSheet}\n promotedEntities={promotedEntities}\n />\n </>\n )\n}\n\n export default UdpAuditEventsPage;\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { t as UdpAuditEventsPage_default } from "./UdpAuditEventsPage-BZ5fMCYW.js";
2
+
3
+ export { UdpAuditEventsPage_default as default };
@@ -14,8 +14,8 @@ import { t as useApiCatalog } from "./useApiCatalog-cpchDfC1.js";
14
14
  import { t as useQueryExecutors } from "./useQueryExecutors-DuuHrj2M.js";
15
15
  import { t as useSearchFilterParamsMap } from "./useSearchFilterParamsMap-hAHx2Rav.js";
16
16
  import { t as useAuthedUser } from "./useAuthedUser-Bhr7Yhlg.js";
17
- import { t as CrudTableSidePanel } from "./CrudTableSidePanel-CNEZxJi0.js";
18
- import { t as DataBrowserContainer } from "./DataBrowserContainer-cU_EEIiR.js";
17
+ import { t as CrudTableSidePanel } from "./CrudTableSidePanel-Dw8gZSqR.js";
18
+ import { t as DataBrowserContainer } from "./DataBrowserContainer-D4gJ66IC.js";
19
19
  import React, { memo, useCallback, useEffect, useMemo, useState } from "react";
20
20
  import { useLocation } from "react-router-dom";
21
21
  import { DeleteIcon, EditIcon, UploadIcon } from "@fluentui/react-icons";
@@ -455,4 +455,4 @@ var UdpDataBrowserPage_exports = /* @__PURE__ */ __exportAll({
455
455
 
456
456
  //#endregion
457
457
  export { UdpDataBrowserPage as n, UdpDataBrowserPage_default as r, UdpDataBrowserPage_exports as t };
458
- //# sourceMappingURL=UdpDataBrowserPage-DQXaWtYD.js.map
458
+ //# sourceMappingURL=UdpDataBrowserPage-3fiOCSkx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpDataBrowserPage-DQXaWtYD.js","names":["entityName","uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpDataBrowserPage-3fiOCSkx.js","names":["entityName","uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":"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"}