udp-react-enterprise-component-library 25.18.1-beta.83 → 25.18.1-beta.85

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 (400) hide show
  1. package/dist/{ActionsRenderer-Cu0RVs9v.js → ActionsRenderer-CeKVHKrO.js} +4 -4
  2. package/dist/{ActionsRenderer-Cu0RVs9v.js.map → ActionsRenderer-CeKVHKrO.js.map} +1 -1
  3. package/dist/{AmChart-CTixft8X.js → AmChart-CITPijYq.js} +2 -2
  4. package/dist/{AmChart-CTixft8X.js.map → AmChart-CITPijYq.js.map} +1 -1
  5. package/dist/{AmbientAlert-DcYkGCUm.js → AmbientAlert-Ba_vefUx.js} +1 -1
  6. package/dist/{AmbientAlert-DcYkGCUm.js.map → AmbientAlert-Ba_vefUx.js.map} +1 -1
  7. package/dist/{AmbientStepper-BkhoDtpx.js → AmbientStepper-DSpZnJog.js} +1 -1
  8. package/dist/{AmbientStepper-BkhoDtpx.js.map → AmbientStepper-DSpZnJog.js.map} +1 -1
  9. package/dist/{AmbientToast-iliGNjGA.js → AmbientToast-CiI6QsTm.js} +1 -1
  10. package/dist/{AmbientToast-iliGNjGA.js.map → AmbientToast-CiI6QsTm.js.map} +1 -1
  11. package/dist/{AmbientToggleButtonGroup-DgFod3VK.js → AmbientToggleButtonGroup-CqtJnv9Z.js} +1 -1
  12. package/dist/{AmbientToggleButtonGroup-DgFod3VK.js.map → AmbientToggleButtonGroup-CqtJnv9Z.js.map} +1 -1
  13. package/dist/{AmbientVisualizationCard-CivQRhmD.js → AmbientVisualizationCard-Dt07i5W-.js} +4 -4
  14. package/dist/{AmbientVisualizationCard-CivQRhmD.js.map → AmbientVisualizationCard-Dt07i5W-.js.map} +1 -1
  15. package/dist/{AmbientVisualizer-buICwVdO.js → AmbientVisualizer-DqNCW3vX.js} +2 -2
  16. package/dist/{AmbientVisualizer-buICwVdO.js.map → AmbientVisualizer-DqNCW3vX.js.map} +1 -1
  17. package/dist/{AvatarAlphabet-D5klbFfJ.js → AvatarAlphabet-1xHvx7P6.js} +1 -1
  18. package/dist/{AvatarAlphabet-D5klbFfJ.js.map → AvatarAlphabet-1xHvx7P6.js.map} +1 -1
  19. package/dist/{BarChartWidget-BYJS3vMQ.js → BarChartWidget-u-8fxMn5.js} +4 -4
  20. package/dist/{BarChartWidget-BYJS3vMQ.js.map → BarChartWidget-u-8fxMn5.js.map} +1 -1
  21. package/dist/{BubbleWidget-FNCYe8So.js → BubbleWidget-CMJYN-7J.js} +3 -3
  22. package/dist/{BubbleWidget-FNCYe8So.js.map → BubbleWidget-CMJYN-7J.js.map} +1 -1
  23. package/dist/{CatalogUtilities-CAPPpjBH.js → CatalogUtilities-God-FM1u.js} +1 -1
  24. package/dist/{CatalogUtilities-CAPPpjBH.js.map → CatalogUtilities-God-FM1u.js.map} +1 -1
  25. package/dist/{ChartSummaryToggle-BxJXaJO8.js → ChartSummaryToggle-U4alJS0G.js} +1 -1
  26. package/dist/{ChartSummaryToggle-BxJXaJO8.js.map → ChartSummaryToggle-U4alJS0G.js.map} +1 -1
  27. package/dist/{ChatUDP-BHtX1Ipw.js → ChatUDP-DYAsqqXk.js} +1 -1
  28. package/dist/{ChatUDP-BHtX1Ipw.js.map → ChatUDP-DYAsqqXk.js.map} +1 -1
  29. package/dist/{ChipAlphabet-DCU1DsB-.js → ChipAlphabet-9xlSgNha.js} +2 -2
  30. package/dist/{ChipAlphabet-DCU1DsB-.js.map → ChipAlphabet-9xlSgNha.js.map} +1 -1
  31. package/dist/{ClientSideUdpGrid-D5fGumO-.js → ClientSideUdpGrid-BfhRDgKV.js} +1 -1
  32. package/dist/{ClientSideUdpGrid-D5fGumO-.js.map → ClientSideUdpGrid-BfhRDgKV.js.map} +1 -1
  33. package/dist/{CompactDataList-j2xAs8-I.js → CompactDataList-CFI63cvg.js} +1 -1
  34. package/dist/{CompactDataList-j2xAs8-I.js.map → CompactDataList-CFI63cvg.js.map} +1 -1
  35. package/dist/{CompactDataListItem-BB0gf0JD.js → CompactDataListItem-C3_Ro16-.js} +1 -1
  36. package/dist/{CompactDataListItem-BB0gf0JD.js.map → CompactDataListItem-C3_Ro16-.js.map} +1 -1
  37. package/dist/{ConvertISODate-C640-_Cm.js → ConvertISODate-C6RoXn_x.js} +1 -1
  38. package/dist/{ConvertISODate-C640-_Cm.js.map → ConvertISODate-C6RoXn_x.js.map} +1 -1
  39. package/dist/{CrudBrowserContainer-DJHq5ILl.js → CrudBrowserContainer-UJvAMHYL.js} +2 -2
  40. package/dist/{CrudBrowserContainer-DJHq5ILl.js.map → CrudBrowserContainer-UJvAMHYL.js.map} +1 -1
  41. package/dist/{CrudTableSidePanel-Dw8gZSqR.js → CrudTableSidePanel-D8UYaXhS.js} +1 -1
  42. package/dist/{CrudTableSidePanel-Dw8gZSqR.js.map → CrudTableSidePanel-D8UYaXhS.js.map} +1 -1
  43. package/dist/{DataBrowserContainer-D4gJ66IC.js → DataBrowserContainer-DGEL52Un.js} +2 -2
  44. package/dist/{DataBrowserContainer-D4gJ66IC.js.map → DataBrowserContainer-DGEL52Un.js.map} +1 -1
  45. package/dist/{DateTrendWidget-CbhpScrj.js → DateTrendWidget-CeJydQNr.js} +3 -3
  46. package/dist/{DateTrendWidget-CbhpScrj.js.map → DateTrendWidget-CeJydQNr.js.map} +1 -1
  47. package/dist/{DensePlotWidget-CsrA6oiC.js → DensePlotWidget-lJW-uzdQ.js} +2 -2
  48. package/dist/{DensePlotWidget-CsrA6oiC.js.map → DensePlotWidget-lJW-uzdQ.js.map} +1 -1
  49. package/dist/{DonutChartWidget-C0XsTjF9.js → DonutChartWidget-C6HPYg7I.js} +5 -5
  50. package/dist/{DonutChartWidget-C0XsTjF9.js.map → DonutChartWidget-C6HPYg7I.js.map} +1 -1
  51. package/dist/{DragDropFileUpload-CVnUu-6f.js → DragDropFileUpload-C0Jho_xA.js} +2 -2
  52. package/dist/{DragDropFileUpload-CVnUu-6f.js.map → DragDropFileUpload-C0Jho_xA.js.map} +1 -1
  53. package/dist/{EmptyStateDisplay-YOwCw38_.js → EmptyStateDisplay-CyINqvWU.js} +1 -1
  54. package/dist/{EmptyStateDisplay-YOwCw38_.js.map → EmptyStateDisplay-CyINqvWU.js.map} +1 -1
  55. package/dist/{EntityHeader-C3Ae5BLK.js → EntityHeader-CPvUEp7i.js} +2 -2
  56. package/dist/{EntityHeader-C3Ae5BLK.js.map → EntityHeader-CPvUEp7i.js.map} +1 -1
  57. package/dist/{ExportSidesheet-BQiNzxN9.js → ExportSidesheet-eHGdT42e.js} +4 -4
  58. package/dist/{ExportSidesheet-BQiNzxN9.js.map → ExportSidesheet-eHGdT42e.js.map} +1 -1
  59. package/dist/{ExtenderToggle-DAaajb90.js → ExtenderToggle-H2x6PXmn.js} +1 -1
  60. package/dist/{ExtenderToggle-DAaajb90.js.map → ExtenderToggle-H2x6PXmn.js.map} +1 -1
  61. package/dist/{FieldArrayCard-sEe2pmg7.js → FieldArrayCard-CkVvDF-N.js} +2 -2
  62. package/dist/{FieldArrayCard-sEe2pmg7.js.map → FieldArrayCard-CkVvDF-N.js.map} +1 -1
  63. package/dist/{FluentActivity-CQQeL7Qe.js → FluentActivity-D4CnqD1a.js} +2 -2
  64. package/dist/{FluentActivity-CQQeL7Qe.js.map → FluentActivity-D4CnqD1a.js.map} +1 -1
  65. package/dist/{FluentBody-CBqwLzTG.js → FluentBody-C_2uP08Y.js} +1 -1
  66. package/dist/{FluentBody-CBqwLzTG.js.map → FluentBody-C_2uP08Y.js.map} +1 -1
  67. package/dist/{FluentCell-F9eits6u.js → FluentCell-CuJJAwCD.js} +1 -1
  68. package/dist/{FluentCell-F9eits6u.js.map → FluentCell-CuJJAwCD.js.map} +1 -1
  69. package/dist/{FluentDataTable-BSQ_EHJX.js → FluentDataTable-CYNp3-qT.js} +5 -5
  70. package/dist/{FluentDataTable-BSQ_EHJX.js.map → FluentDataTable-CYNp3-qT.js.map} +1 -1
  71. package/dist/{FluentDisplayNumbers-C-zCWHot.js → FluentDisplayNumbers-BR-gZN5l.js} +1 -1
  72. package/dist/{FluentDisplayNumbers-C-zCWHot.js.map → FluentDisplayNumbers-BR-gZN5l.js.map} +1 -1
  73. package/dist/{FluentHead-C1bs_iJK.js → FluentHead-B9oIMLR1.js} +1 -1
  74. package/dist/{FluentHead-C1bs_iJK.js.map → FluentHead-B9oIMLR1.js.map} +1 -1
  75. package/dist/{FluentIconKey-BWCFV9Qs.js → FluentIconKey-D8jK0HK5.js} +1 -1
  76. package/dist/{FluentIconKey-BWCFV9Qs.js.map → FluentIconKey-D8jK0HK5.js.map} +1 -1
  77. package/dist/{FluentListItem-1fzW--Dq.js → FluentListItem-CSkJhTK-.js} +1 -1
  78. package/dist/{FluentListItem-1fzW--Dq.js.map → FluentListItem-CSkJhTK-.js.map} +1 -1
  79. package/dist/{FluentRow-C_YJYbQ5.js → FluentRow-BDiPXAgx.js} +1 -1
  80. package/dist/{FluentRow-C_YJYbQ5.js.map → FluentRow-BDiPXAgx.js.map} +1 -1
  81. package/dist/{FluentSecondaryStatNumber-CDTlsa6u.js → FluentSecondaryStatNumber-DaeGuXtJ.js} +2 -2
  82. package/dist/{FluentSecondaryStatNumber-CDTlsa6u.js.map → FluentSecondaryStatNumber-DaeGuXtJ.js.map} +1 -1
  83. package/dist/{FluentStatNumber-BYwIRVrE.js → FluentStatNumber-BN-HWfVM.js} +2 -2
  84. package/dist/{FluentStatNumber-BYwIRVrE.js.map → FluentStatNumber-BN-HWfVM.js.map} +1 -1
  85. package/dist/{FluentStatsSnippet-BN9VkqNq.js → FluentStatsSnippet-DKMsXSfg.js} +1 -1
  86. package/dist/{FluentStatsSnippet-BN9VkqNq.js.map → FluentStatsSnippet-DKMsXSfg.js.map} +1 -1
  87. package/dist/{FluentTabPanel-DZPtDTkV.js → FluentTabPanel-C8kO8Xo-.js} +1 -1
  88. package/dist/{FluentTabPanel-DZPtDTkV.js.map → FluentTabPanel-C8kO8Xo-.js.map} +1 -1
  89. package/dist/{GraphCard-Bdh6VeDb.js → GraphCard-oEpMu8jY.js} +2 -2
  90. package/dist/{GraphCard-Bdh6VeDb.js.map → GraphCard-oEpMu8jY.js.map} +1 -1
  91. package/dist/{HeaderExpander-Coexy8dm.js → HeaderExpander-DYt8poQf.js} +2 -2
  92. package/dist/{HeaderExpander-Coexy8dm.js.map → HeaderExpander-DYt8poQf.js.map} +1 -1
  93. package/dist/{IconLibrary-BcnAXrDy.js → IconLibrary-BXrFjEOe.js} +2 -2
  94. package/dist/{IconLibrary-BcnAXrDy.js.map → IconLibrary-BXrFjEOe.js.map} +1 -1
  95. package/dist/{ImportDataFromFileMapping-BIcQmKll.js → ImportDataFromFileMapping-Dy1iJMkI.js} +4 -4
  96. package/dist/{ImportDataFromFileMapping-BIcQmKll.js.map → ImportDataFromFileMapping-Dy1iJMkI.js.map} +1 -1
  97. package/dist/Inquiry-C6fDp46v.js +3 -0
  98. package/dist/{Inquiry-1o8EuckI.js → Inquiry-D6nWpzu2.js} +2 -2
  99. package/dist/{Inquiry-1o8EuckI.js.map → Inquiry-D6nWpzu2.js.map} +1 -1
  100. package/dist/{LineAndSparklinesWidget-J0kTiLt2.js → LineAndSparklinesWidget-DSWVrhFG.js} +4 -4
  101. package/dist/{LineAndSparklinesWidget-J0kTiLt2.js.map → LineAndSparklinesWidget-DSWVrhFG.js.map} +1 -1
  102. package/dist/{LineGraphWidget-OkrYlfsd.js → LineGraphWidget-Ly1fmTyr.js} +4 -4
  103. package/dist/{LineGraphWidget-OkrYlfsd.js.map → LineGraphWidget-Ly1fmTyr.js.map} +1 -1
  104. package/dist/{MapUtilities-BgKuNV8y.js → MapUtilities-BIMHy5V-.js} +1 -1
  105. package/dist/{MapUtilities-BgKuNV8y.js.map → MapUtilities-BIMHy5V-.js.map} +1 -1
  106. package/dist/{MyExportsPage-Ckti0gqK.js → MyExportsPage-C-pr-R0K.js} +3 -3
  107. package/dist/{MyExportsPage-Ckti0gqK.js.map → MyExportsPage-C-pr-R0K.js.map} +1 -1
  108. package/dist/MyExportsPage-DNvL1_1X.js +3 -0
  109. package/dist/{NestedGrid-BPb_PuxN.js → NestedGrid-DAqsZ216.js} +1 -1
  110. package/dist/{NestedGrid-BPb_PuxN.js.map → NestedGrid-DAqsZ216.js.map} +1 -1
  111. package/dist/{Notes-BPaEmexk.js → Notes-DrFq-1gt.js} +3 -3
  112. package/dist/{Notes-BPaEmexk.js.map → Notes-DrFq-1gt.js.map} +1 -1
  113. package/dist/{PDFViewer-BvaqCfIS.js → PDFViewer-aOheQArE.js} +1 -1
  114. package/dist/{PDFViewer-BvaqCfIS.js.map → PDFViewer-aOheQArE.js.map} +1 -1
  115. package/dist/{PaymentForm-BdWY9dEt.js → PaymentForm-C4IXoROF.js} +2 -2
  116. package/dist/{PaymentForm-BdWY9dEt.js.map → PaymentForm-C4IXoROF.js.map} +1 -1
  117. package/dist/{ProgressBarWidget-gY0_iFB-.js → ProgressBarWidget-BOzkpd0C.js} +4 -4
  118. package/dist/{ProgressBarWidget-gY0_iFB-.js.map → ProgressBarWidget-BOzkpd0C.js.map} +1 -1
  119. package/dist/{RecentlyLoadedNodesWidget-Kt5BElrK.js → RecentlyLoadedNodesWidget-7c9IngMR.js} +2 -2
  120. package/dist/{RecentlyLoadedNodesWidget-Kt5BElrK.js.map → RecentlyLoadedNodesWidget-7c9IngMR.js.map} +1 -1
  121. package/dist/{RemindersCard-BOSGv9pc.js → RemindersCard-C1_GeqUW.js} +1 -1
  122. package/dist/{RemindersCard-BOSGv9pc.js.map → RemindersCard-C1_GeqUW.js.map} +1 -1
  123. package/dist/{RemindersWidget-u_oonyMf.js → RemindersWidget-u_d6RoVv.js} +3 -3
  124. package/dist/{RemindersWidget-u_oonyMf.js.map → RemindersWidget-u_d6RoVv.js.map} +1 -1
  125. package/dist/{SearchMethodUdpGrid-CWYZUOx-.js → SearchMethodUdpGrid-BMHWSjf5.js} +1 -1
  126. package/dist/{SearchMethodUdpGrid-CWYZUOx-.js.map → SearchMethodUdpGrid-BMHWSjf5.js.map} +1 -1
  127. package/dist/{Shell-Bf26jefp.js → Shell-n8SMDgV0.js} +3 -3
  128. package/dist/{Shell-Bf26jefp.js.map → Shell-n8SMDgV0.js.map} +1 -1
  129. package/dist/{SiteHeader-CQSKBolX.js → SiteHeader-DaL_Dy45.js} +5 -5
  130. package/dist/{SiteHeader-CQSKBolX.js.map → SiteHeader-DaL_Dy45.js.map} +1 -1
  131. package/dist/{SparklineWidget-Bbeyk07x.js → SparklineWidget-BHV5aN9E.js} +4 -4
  132. package/dist/{SparklineWidget-Bbeyk07x.js.map → SparklineWidget-BHV5aN9E.js.map} +1 -1
  133. package/dist/{SparsePlotWidget-DSjCtlMJ.js → SparsePlotWidget-DuHbmEom.js} +3 -3
  134. package/dist/{SparsePlotWidget-DSjCtlMJ.js.map → SparsePlotWidget-DuHbmEom.js.map} +1 -1
  135. package/dist/{Statistic-CB8UpsW4.js → Statistic-DWW8GxYI.js} +4 -4
  136. package/dist/{Statistic-CB8UpsW4.js.map → Statistic-DWW8GxYI.js.map} +1 -1
  137. package/dist/{SupportCaseSideSheet-CT15Dg8h.js → SupportCaseSideSheet-6P8CVloZ.js} +2 -2
  138. package/dist/{SupportCaseSideSheet-CT15Dg8h.js.map → SupportCaseSideSheet-6P8CVloZ.js.map} +1 -1
  139. package/dist/{SupportCaseSideSheet-9iAiZyOu.js → SupportCaseSideSheet-BKAsjpN1.js} +1 -1
  140. package/dist/{TrimForAvatar-BP1gZWd5.js → TrimForAvatar-DazacBHv.js} +1 -1
  141. package/dist/{TrimForAvatar-BP1gZWd5.js.map → TrimForAvatar-DazacBHv.js.map} +1 -1
  142. package/dist/UI/accordion/index.js +1 -1
  143. package/dist/UI/advancedSearchBuilder/index.js +1 -1
  144. package/dist/UI/charts/amcharts/index.js +1 -1
  145. package/dist/UI/charts/index.js +1 -1
  146. package/dist/UI/components/dataDisplay/index.js +1 -1
  147. package/dist/UI/components/index.js +1 -1
  148. package/dist/UI/dataDisplay/FluentActivity/index.js +1 -1
  149. package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.js +1 -1
  150. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
  151. package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.js +1 -1
  152. package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.js +1 -1
  153. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  154. package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
  155. package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
  156. package/dist/UI/dataDisplay/index.js +10 -10
  157. package/dist/UI/dataDisplay/notes/index.js +1 -1
  158. package/dist/UI/dataDisplay/visualization/amCharts/index.js +1 -1
  159. package/dist/UI/dataDisplay/visualization/index.js +1 -1
  160. package/dist/UI/feedback/index.js +2 -2
  161. package/dist/UI/fileViewer/index.js +1 -1
  162. package/dist/UI/fileViewer/pdfViewer/index.js +1 -1
  163. package/dist/UI/floorplans/index.js +1 -1
  164. package/dist/UI/forms/index.js +1 -1
  165. package/dist/UI/index.js +36 -36
  166. package/dist/UI/inputs/buttons/UdpActionCard/index.js +1 -1
  167. package/dist/UI/inputs/buttons/index.js +3 -3
  168. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  169. package/dist/UI/inputs/menus/AmbientStepper/index.js +1 -1
  170. package/dist/UI/mapLayout/index.js +1 -1
  171. package/dist/UI/mapLayout/ui/index.js +2 -2
  172. package/dist/UI/mapLayout/utilities/index.js +1 -1
  173. package/dist/UI/maps/index.js +2 -2
  174. package/dist/UI/navigation/index.js +5 -5
  175. package/dist/UI/navigation/menus/index.js +1 -1
  176. package/dist/UI/navigation/tabs/defaultTabs/index.js +2 -2
  177. package/dist/UI/navigation/tabs/index.js +3 -3
  178. package/dist/UI/support/index.js +1 -1
  179. package/dist/UI/surfaces/NestedGrid/index.js +2 -2
  180. package/dist/UI/surfaces/NestedGrid/ui/index.js +1 -1
  181. package/dist/UI/surfaces/cards/chartDisplayCards/index.js +1 -1
  182. package/dist/UI/surfaces/cards/index.js +1 -1
  183. package/dist/UI/surfaces/index.js +3 -3
  184. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  185. package/dist/UI/templates/index.js +1 -1
  186. package/dist/UI/templates/newGrid/index.js +3 -3
  187. package/dist/UI/templates/ui/index.js +1 -1
  188. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  189. package/dist/UI/timeline/index.js +2 -2
  190. package/dist/UI/widgets/index.js +1 -1
  191. package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
  192. package/dist/UI/widgets/library/BubbleWidget/index.js +1 -1
  193. package/dist/UI/widgets/library/DateTrendWidget/index.js +1 -1
  194. package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
  195. package/dist/UI/widgets/library/DonutChartWidget/index.js +1 -1
  196. package/dist/UI/widgets/library/LineAndSparklinesWidget/index.js +1 -1
  197. package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
  198. package/dist/UI/widgets/library/ProgressBarWidget/index.js +1 -1
  199. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  200. package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
  201. package/dist/UI/widgets/library/SparklineWidget/index.js +1 -1
  202. package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
  203. package/dist/UI/widgets/library/TableWidget/index.js +1 -1
  204. package/dist/{UI-Baviuqz7.js → UI-sxwE9QQR.js} +1 -1
  205. package/dist/{UI-Baviuqz7.js.map → UI-sxwE9QQR.js.map} +1 -1
  206. package/dist/{UdpActionCard-VtAacuCM.js → UdpActionCard-De4UAFah.js} +1 -1
  207. package/dist/{UdpActionCard-VtAacuCM.js.map → UdpActionCard-De4UAFah.js.map} +1 -1
  208. package/dist/{UdpAuditEvents-DotSR4R9.js → UdpAuditEvents-CoD2y2CV.js} +2 -2
  209. package/dist/{UdpAuditEvents-DotSR4R9.js.map → UdpAuditEvents-CoD2y2CV.js.map} +1 -1
  210. package/dist/{UdpAuditEventsPage-BZ5fMCYW.js → UdpAuditEventsPage-B0yZyLfH.js} +3 -3
  211. package/dist/{UdpAuditEventsPage-BZ5fMCYW.js.map → UdpAuditEventsPage-B0yZyLfH.js.map} +1 -1
  212. package/dist/UdpAuditEventsPage-u7pIg9Z9.js +3 -0
  213. package/dist/{UdpBarChart-D2bfgm7n.js → UdpBarChart-D50QkZv0.js} +1 -1
  214. package/dist/{UdpBarChart-D2bfgm7n.js.map → UdpBarChart-D50QkZv0.js.map} +1 -1
  215. package/dist/{UdpDataBrowserPage-3fiOCSkx.js → UdpDataBrowserPage-Br0DJTMq.js} +3 -3
  216. package/dist/{UdpDataBrowserPage-3fiOCSkx.js.map → UdpDataBrowserPage-Br0DJTMq.js.map} +1 -1
  217. package/dist/{UdpFormsBuilderPage-BobXHgd_.js → UdpFormsBuilderPage-Pjd7wOKV.js} +1 -1
  218. package/dist/{UdpFormsBuilderPage-BobXHgd_.js.map → UdpFormsBuilderPage-Pjd7wOKV.js.map} +1 -1
  219. package/dist/{UdpFormsListPage-BuoLTPWK.js → UdpFormsListPage-AUcfVY2K.js} +1 -1
  220. package/dist/{UdpFormsListPage-BuoLTPWK.js.map → UdpFormsListPage-AUcfVY2K.js.map} +1 -1
  221. package/dist/{UdpFormsPrivateForm-Cy3PXVju.js → UdpFormsPrivateForm-ip2aj9xl.js} +1 -1
  222. package/dist/{UdpFormsPrivateForm-Cy3PXVju.js.map → UdpFormsPrivateForm-ip2aj9xl.js.map} +1 -1
  223. package/dist/{UdpFormsPublicForm-DDCpLG6l.js → UdpFormsPublicForm-YjrVSCGi.js} +1 -1
  224. package/dist/{UdpFormsPublicForm-DDCpLG6l.js.map → UdpFormsPublicForm-YjrVSCGi.js.map} +1 -1
  225. package/dist/{UdpFormsSubmissionGrid-Qj-ti4hh.js → UdpFormsSubmissionGrid-fhcfXjlD.js} +2 -2
  226. package/dist/{UdpFormsSubmissionGrid-Qj-ti4hh.js.map → UdpFormsSubmissionGrid-fhcfXjlD.js.map} +1 -1
  227. package/dist/{UdpGridPanelManagementPage-BYdQNWN3.js → UdpGridPanelManagementPage-CkeP9nO-.js} +2 -2
  228. package/dist/{UdpGridPanelManagementPage-BYdQNWN3.js.map → UdpGridPanelManagementPage-CkeP9nO-.js.map} +1 -1
  229. package/dist/{UdpGridPanelManagementSidesheet-CSGsefRn.js → UdpGridPanelManagementSidesheet-DAPOQmuk.js} +1 -1
  230. package/dist/{UdpGridPanelManagementSidesheet-CSGsefRn.js.map → UdpGridPanelManagementSidesheet-DAPOQmuk.js.map} +1 -1
  231. package/dist/{UdpGridTemplate-xen0Fvww.js → UdpGridTemplate-BjsxZFOQ.js} +2 -2
  232. package/dist/{UdpGridTemplate-xen0Fvww.js.map → UdpGridTemplate-BjsxZFOQ.js.map} +1 -1
  233. package/dist/{UdpImportFromFileMappingPage-BxGvGFua.js → UdpImportFromFileMappingPage-xfq_3nOx.js} +2 -2
  234. package/dist/{UdpImportFromFileMappingPage-BxGvGFua.js.map → UdpImportFromFileMappingPage-xfq_3nOx.js.map} +1 -1
  235. package/dist/{UdpInquiryMaintenanceEnginePage-CSf7jB35.js → UdpInquiryMaintenanceEnginePage-WRu7l1i_.js} +2 -2
  236. package/dist/{UdpInquiryMaintenanceEnginePage-CSf7jB35.js.map → UdpInquiryMaintenanceEnginePage-WRu7l1i_.js.map} +1 -1
  237. package/dist/{UdpMaintenanceEnginePage-C8NLZSPb.js → UdpMaintenanceEnginePage-D5pCaMao.js} +4 -4
  238. package/dist/{UdpMaintenanceEnginePage-C8NLZSPb.js.map → UdpMaintenanceEnginePage-D5pCaMao.js.map} +1 -1
  239. package/dist/{UdpMapToolbar-B410Zi_h.js → UdpMapToolbar-Bp3rryHY.js} +1 -1
  240. package/dist/{UdpMapToolbar-B410Zi_h.js.map → UdpMapToolbar-Bp3rryHY.js.map} +1 -1
  241. package/dist/{UdpNotesPage-BABI4D2S.js → UdpNotesPage-Bc1J9jHc.js} +1 -1
  242. package/dist/{UdpNotesPage-BABI4D2S.js.map → UdpNotesPage-Bc1J9jHc.js.map} +1 -1
  243. package/dist/{UdpRemindersPage-DuS3aPUk.js → UdpRemindersPage-BmNTjbO_.js} +1 -1
  244. package/dist/{UdpRemindersPage-DuS3aPUk.js.map → UdpRemindersPage-BmNTjbO_.js.map} +1 -1
  245. package/dist/{UdpReportsPage-CO1460ws.js → UdpReportsPage-ljtdb45L.js} +1 -1
  246. package/dist/{UdpReportsPage-CO1460ws.js.map → UdpReportsPage-ljtdb45L.js.map} +1 -1
  247. package/dist/{UdpTransactionTypesPage-CksJs2fe.js → UdpTransactionTypesPage-Uk2cRhpd.js} +2 -2
  248. package/dist/{UdpTransactionTypesPage-CksJs2fe.js.map → UdpTransactionTypesPage-Uk2cRhpd.js.map} +1 -1
  249. package/dist/{UdpTransactionsPage-B6OV3w81.js → UdpTransactionsPage-RiMTr1cK.js} +135 -70
  250. package/dist/UdpTransactionsPage-RiMTr1cK.js.map +1 -0
  251. package/dist/{UdpVerticalManagementPage-CQeGGUyp.js → UdpVerticalManagementPage-DQAI1xe3.js} +2 -2
  252. package/dist/{UdpVerticalManagementPage-CQeGGUyp.js.map → UdpVerticalManagementPage-DQAI1xe3.js.map} +1 -1
  253. package/dist/{UdpVerticalManagementSidesheet-DGL4dyia.js → UdpVerticalManagementSidesheet-heFj83jt.js} +2 -2
  254. package/dist/{UdpVerticalManagementSidesheet-DGL4dyia.js.map → UdpVerticalManagementSidesheet-heFj83jt.js.map} +1 -1
  255. package/dist/{UserForm-CBm_ZIJx.js → UserForm-DhBINx6I.js} +1 -1
  256. package/dist/{UserForm-CBm_ZIJx.js.map → UserForm-DhBINx6I.js.map} +1 -1
  257. package/dist/{UserFormSideSheet-7fHGhAER.js → UserFormSideSheet-Cj7IyfX1.js} +2 -2
  258. package/dist/{UserFormSideSheet-7fHGhAER.js.map → UserFormSideSheet-Cj7IyfX1.js.map} +1 -1
  259. package/dist/UserFormSideSheet-LAR4fJpW.js +3 -0
  260. package/dist/{WidgetCard-U1XoSuoz.js → WidgetCard-CgZSNV38.js} +1 -1
  261. package/dist/{WidgetCard-U1XoSuoz.js.map → WidgetCard-CgZSNV38.js.map} +1 -1
  262. package/dist/{WorkflowContainer-Drts8hsZ.js → WorkflowContainer-Cec3FFwP.js} +2 -2
  263. package/dist/{WorkflowContainer-Drts8hsZ.js.map → WorkflowContainer-Cec3FFwP.js.map} +1 -1
  264. package/dist/{WorkflowContainer-BxBxnHEY.js → WorkflowContainer-DecC3Yux.js} +1 -1
  265. package/dist/{accordion-Ca8ECaw2.js → accordion-CQ1AqRla.js} +1 -1
  266. package/dist/{accordion-Ca8ECaw2.js.map → accordion-CQ1AqRla.js.map} +1 -1
  267. package/dist/{advancedSearchBuilder-7ixhIwLW.js → advancedSearchBuilder-Dd4YO9zh.js} +1 -1
  268. package/dist/{advancedSearchBuilder-7ixhIwLW.js.map → advancedSearchBuilder-Dd4YO9zh.js.map} +1 -1
  269. package/dist/{amcharts-aenA6giA.js → amcharts-wdRwq2UE.js} +2 -2
  270. package/dist/{amcharts-aenA6giA.js.map → amcharts-wdRwq2UE.js.map} +1 -1
  271. package/dist/{buttons-DyKpA2qY.js → buttons-BUWLNCFF.js} +1 -1
  272. package/dist/{buttons-DyKpA2qY.js.map → buttons-BUWLNCFF.js.map} +1 -1
  273. package/dist/{cards-Z72cvAh5.js → cards-XHzWNKeW.js} +1 -1
  274. package/dist/{cards-Z72cvAh5.js.map → cards-XHzWNKeW.js.map} +1 -1
  275. package/dist/{charts-pX01x8rO.js → charts--rJXTRtu.js} +2 -2
  276. package/dist/{charts-pX01x8rO.js.map → charts--rJXTRtu.js.map} +1 -1
  277. package/dist/dataBrowser/index.js +1 -1
  278. package/dist/{dataDisplay-CTkvIsCs.js → dataDisplay-BxCyWi8C.js} +2 -2
  279. package/dist/{dataDisplay-CTkvIsCs.js.map → dataDisplay-BxCyWi8C.js.map} +1 -1
  280. package/dist/{dataDisplay-BP3z7lU0.js → dataDisplay-C4q3aVrK.js} +1 -1
  281. package/dist/{dataDisplay-BP3z7lU0.js.map → dataDisplay-C4q3aVrK.js.map} +1 -1
  282. package/dist/{dateUtils-COj9Xpy9.js → dateUtils-DgLgnaVn.js} +1 -1
  283. package/dist/{dateUtils-COj9Xpy9.js.map → dateUtils-DgLgnaVn.js.map} +1 -1
  284. package/dist/{defaultTabs-B4clt2kH.js → defaultTabs-DBL-GFKY.js} +2 -2
  285. package/dist/{defaultTabs-B4clt2kH.js.map → defaultTabs-DBL-GFKY.js.map} +1 -1
  286. package/dist/{fileViewer-C_Q-hFda.js → fileViewer-CtY7cOmL.js} +3 -3
  287. package/dist/{fileViewer-C_Q-hFda.js.map → fileViewer-CtY7cOmL.js.map} +1 -1
  288. package/dist/{floorplans-DNUFP5-n.js → floorplans-9voWXvF2.js} +4 -4
  289. package/dist/{floorplans-DNUFP5-n.js.map → floorplans-9voWXvF2.js.map} +1 -1
  290. package/dist/{fluentTimeline-DpnUZabY.js → fluentTimeline-CiONGsTd.js} +1 -1
  291. package/dist/{fluentTimeline-DpnUZabY.js.map → fluentTimeline-CiONGsTd.js.map} +1 -1
  292. package/dist/{formatBytes-Bt-B_Lo8.js → formatBytes-I1Y1rO8O.js} +1 -1
  293. package/dist/{formatBytes-Bt-B_Lo8.js.map → formatBytes-I1Y1rO8O.js.map} +1 -1
  294. package/dist/{forms-sRKithEr.js → forms-DsdldFST.js} +23 -1
  295. package/dist/{forms-sRKithEr.js.map → forms-DsdldFST.js.map} +1 -1
  296. package/dist/hooks/index.js +1 -1
  297. package/dist/index.js +88 -88
  298. package/dist/inquiry/index.js +1 -1
  299. package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
  300. package/dist/maintenanceEngine/index.js +2 -2
  301. package/dist/{mapLayout-BlHtCf7p.js → mapLayout-DNtsBpcK.js} +4 -4
  302. package/dist/{mapLayout-BlHtCf7p.js.map → mapLayout-DNtsBpcK.js.map} +1 -1
  303. package/dist/{maps-BgmvNpkU.js → maps-7u6S7Nmo.js} +1 -1
  304. package/dist/{maps-BgmvNpkU.js.map → maps-7u6S7Nmo.js.map} +1 -1
  305. package/dist/{menus-Ci9KI_c_.js → menus-BQAeLNPW.js} +1 -1
  306. package/dist/{menus-Ci9KI_c_.js.map → menus-BQAeLNPW.js.map} +1 -1
  307. package/dist/{navigation-CDXE3AXd.js → navigation-_C_WqWkh.js} +1 -1
  308. package/dist/{navigation-CDXE3AXd.js.map → navigation-_C_WqWkh.js.map} +1 -1
  309. package/dist/{newGrid-Cx_UGQS8.js → newGrid-B6oyV5FZ.js} +2 -2
  310. package/dist/{newGrid-Cx_UGQS8.js.map → newGrid-B6oyV5FZ.js.map} +1 -1
  311. package/dist/reminders/index.js +1 -1
  312. package/dist/routes/index.js +1 -1
  313. package/dist/{routes-Cep1JMTf.js → routes-BC24z6ls.js} +4 -4
  314. package/dist/{routes-Cep1JMTf.js.map → routes-BC24z6ls.js.map} +1 -1
  315. package/dist/shell/index.js +3 -3
  316. package/dist/shell/ui/addUser/index.js +1 -1
  317. package/dist/shell/ui/index.js +2 -2
  318. package/dist/{stringUtils-CLVoXAz_.js → stringUtils-BX3ShXYe.js} +1 -1
  319. package/dist/{stringUtils-CLVoXAz_.js.map → stringUtils-BX3ShXYe.js.map} +1 -1
  320. package/dist/{tabs-CAaJhUt5.js → tabs-BtNJ9qmZ.js} +1 -1
  321. package/dist/{tabs-CAaJhUt5.js.map → tabs-BtNJ9qmZ.js.map} +1 -1
  322. package/dist/{templates-2r09nl9N.js → templates-C4i4bo29.js} +2 -2
  323. package/dist/{templates-2r09nl9N.js.map → templates-C4i4bo29.js.map} +1 -1
  324. package/dist/{timeline-CdeAJqvB.js → timeline-D2r_peIB.js} +1 -1
  325. package/dist/{timeline-CdeAJqvB.js.map → timeline-D2r_peIB.js.map} +1 -1
  326. package/dist/types/src/UI/forms/UdpTransactionEmailForm.d.ts.map +1 -1
  327. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  328. package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  329. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
  330. package/dist/types/src/udp/pages/UdpTransactionsPage/components/DynamicTransactionDomainForm.d.ts +4 -0
  331. package/dist/types/src/udp/pages/UdpTransactionsPage/components/DynamicTransactionDomainForm.d.ts.map +1 -0
  332. package/dist/types/src/udp/pages/UdpTransactionsPage/components/{EditTransactionDetailsFormFields.d.ts → DynamicTransactionDomainFormFields.d.ts} +1 -1
  333. package/dist/types/src/udp/pages/UdpTransactionsPage/components/DynamicTransactionDomainFormFields.d.ts.map +1 -0
  334. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.d.ts.map +1 -1
  335. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
  336. package/dist/types/src/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  337. package/dist/types/tsconfig.tsbuildinfo +1 -1
  338. package/dist/udp/export/index.js +2 -2
  339. package/dist/udp/fileImportMapping/index.js +1 -1
  340. package/dist/udp/pages/ChatUDP/index.js +1 -1
  341. package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
  342. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  343. package/dist/udp/pages/UdpFormsBuilderPage/index.js +1 -1
  344. package/dist/udp/pages/UdpFormsListPage/index.js +1 -1
  345. package/dist/udp/pages/UdpFormsPrivateForm/index.js +1 -1
  346. package/dist/udp/pages/UdpFormsPublicForm/index.js +1 -1
  347. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  348. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +1 -1
  349. package/dist/udp/pages/UdpGridPanelManagementSidesheet/index.js +1 -1
  350. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
  351. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  352. package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +1 -1
  353. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  354. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  355. package/dist/udp/pages/UdpPages/index.js +22 -22
  356. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  357. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  358. package/dist/udp/pages/UdpReportsPage/index.js +1 -1
  359. package/dist/udp/pages/UdpTransactionTypesPage/index.js +1 -1
  360. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  361. package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
  362. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
  363. package/dist/{ui-BcqvpQOG.js → ui-cGgMb3k8.js} +1 -1
  364. package/dist/{ui-BcqvpQOG.js.map → ui-cGgMb3k8.js.map} +1 -1
  365. package/dist/uploader/index.js +2 -2
  366. package/dist/{uploader-BdeUKdYW.js → uploader-D_e-kKhB.js} +2 -2
  367. package/dist/{uploader-BdeUKdYW.js.map → uploader-D_e-kKhB.js.map} +1 -1
  368. package/dist/{useUpdateSearchParams-en3_FDTj.js → useUpdateSearchParams-HVBDF-DL.js} +1 -1
  369. package/dist/{useUpdateSearchParams-en3_FDTj.js.map → useUpdateSearchParams-HVBDF-DL.js.map} +1 -1
  370. package/dist/utilities/catalog/index.js +1 -1
  371. package/dist/utilities/form/paymentForm/index.js +1 -1
  372. package/dist/utilities/index.js +2 -2
  373. package/dist/utilities/uploader/index.js +1 -1
  374. package/dist/{widgets-Bwklnxz1.js → widgets-BfY2a7Qn.js} +2 -2
  375. package/dist/{widgets-Bwklnxz1.js.map → widgets-BfY2a7Qn.js.map} +1 -1
  376. package/dist/workflow/index.js +1 -1
  377. package/export-map.json +1 -1
  378. package/package.json +1 -1
  379. package/dist/Inquiry-B9U7e2Iu.js +0 -3
  380. package/dist/MyExportsPage-C79id2As.js +0 -3
  381. package/dist/UdpAuditEventsPage-BtsmPFyR.js +0 -3
  382. package/dist/UdpTransactionsPage-B6OV3w81.js.map +0 -1
  383. package/dist/UserFormSideSheet-DEGPuhUQ.js +0 -3
  384. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsForm.d.ts +0 -4
  385. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsForm.d.ts.map +0 -1
  386. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsFormFields.d.ts.map +0 -1
  387. /package/dist/{components-DXieFr09.js → components-ZTvNO-ad.js} +0 -0
  388. /package/dist/{dashboard-6lb19b9R.js → dashboard-CDs0PtKv.js} +0 -0
  389. /package/dist/{enums-zIzLNnIf.js → enums-rtBpU3Km.js} +0 -0
  390. /package/dist/{feedback-CDEuTrd1.js → feedback-BHy3TZSH.js} +0 -0
  391. /package/dist/{feedback-DjaFcNGB.js → feedback-xwtgVkbx.js} +0 -0
  392. /package/dist/{iconLibrary-CMA3TPMW.js → iconLibrary-DoQA8Ecj.js} +0 -0
  393. /package/dist/{iframe-BTRj5Yrs.js → iframe-BTq_sXq0.js} +0 -0
  394. /package/dist/{inquiryBar-DEauNeV_.js → inquiryBar-DRJOW9pv.js} +0 -0
  395. /package/dist/{property-Bg_7rXXd.js → property-BGkw2Mt2.js} +0 -0
  396. /package/dist/{search-13JgAzQB.js → search-CbbTUgoq.js} +0 -0
  397. /package/dist/{stores-By3z7NWI.js → stores-DaL_nIaZ.js} +0 -0
  398. /package/dist/{support-B2_VCz-r.js → support-DLcRA-7Z.js} +0 -0
  399. /package/dist/{surfaces-BGrfgkLD.js → surfaces-BkYeHndP.js} +0 -0
  400. /package/dist/{utilities-WN7twALD.js → utilities-DT_KPrgX.js} +0 -0
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"UdpDataBrowserPage-Br0DJTMq.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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"}
@@ -42,4 +42,4 @@ var UdpFormsBuilderPage_exports = /* @__PURE__ */ __exportAll({
42
42
 
43
43
  //#endregion
44
44
  export { UdpFormsBuilderPage_default as n, UdpFormsBuilderPage_exports as t };
45
- //# sourceMappingURL=UdpFormsBuilderPage-BobXHgd_.js.map
45
+ //# sourceMappingURL=UdpFormsBuilderPage-Pjd7wOKV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormsBuilderPage-BobXHgd_.js","names":[],"sources":["../src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.jsx","../src/udp/pages/UdpFormsBuilderPage/index.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { UdpFormsBuilder } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useSnackbar } from 'notistack';\n\nconst UdpFormsBuilderPage = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const location = useLocation(); // detects changes in the URL\n const history = useHistory();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Store search params in state so re-render happens when they change\n const [searchParams, setSearchParams] = useState(() => new URLSearchParams(location.search));\n\n // Recompute search params on location change\n useEffect(() => {\n setSearchParams(new URLSearchParams(location.search));\n }, [location.search]);\n\n // Extract values from searchParams\n const formId = searchParams.get('udpf_formId');\n const version = searchParams.get('udpf_version');\n const callbackUrl = searchParams.get('udpf_callback_url');\n\n return (\n <div>\n <UdpFormsBuilder\n formId={formId} // optional for loading exisiting forms\n version={version} // optional for loading specific version of existing forms\n history={history} // required\n getUserCallback={() => user} // required\n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n {...props} // override any props if needed\n />\n </div>\n );\n};\n\nexport default UdpFormsBuilderPage;","export {default} from './UdpFormsBuilderPage';\nexport {default as UdpFormsBuilderPage} from './UdpFormsBuilderPage';\n"],"mappings":";;;;;;;;;AAOA,MAAM,uBAAuB,UAAU;CACrC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CAGxD,MAAM,CAAC,cAAc,mBAAmB,eAAe,IAAI,gBAAgB,SAAS,OAAO,CAAC;AAG5F,iBAAgB;AACd,kBAAgB,IAAI,gBAAgB,SAAS,OAAO,CAAC;IACpD,CAAC,SAAS,OAAO,CAAC;CAGrB,MAAM,SAAS,aAAa,IAAI,cAAc;CAC9C,MAAM,UAAU,aAAa,IAAI,eAAe;AAC5B,cAAa,IAAI,oBAAoB;AAEzD,QACE,oCAAC,aACC,oCAAC;EACS;EACC;EACA;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;EACf,GAAI;GACJ,CACE;;AAIV,kCAAe"}
1
+ {"version":3,"file":"UdpFormsBuilderPage-Pjd7wOKV.js","names":[],"sources":["../src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.jsx","../src/udp/pages/UdpFormsBuilderPage/index.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { UdpFormsBuilder } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useSnackbar } from 'notistack';\n\nconst UdpFormsBuilderPage = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const location = useLocation(); // detects changes in the URL\n const history = useHistory();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Store search params in state so re-render happens when they change\n const [searchParams, setSearchParams] = useState(() => new URLSearchParams(location.search));\n\n // Recompute search params on location change\n useEffect(() => {\n setSearchParams(new URLSearchParams(location.search));\n }, [location.search]);\n\n // Extract values from searchParams\n const formId = searchParams.get('udpf_formId');\n const version = searchParams.get('udpf_version');\n const callbackUrl = searchParams.get('udpf_callback_url');\n\n return (\n <div>\n <UdpFormsBuilder\n formId={formId} // optional for loading exisiting forms\n version={version} // optional for loading specific version of existing forms\n history={history} // required\n getUserCallback={() => user} // required\n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n {...props} // override any props if needed\n />\n </div>\n );\n};\n\nexport default UdpFormsBuilderPage;","export {default} from './UdpFormsBuilderPage';\nexport {default as UdpFormsBuilderPage} from './UdpFormsBuilderPage';\n"],"mappings":";;;;;;;;;AAOA,MAAM,uBAAuB,UAAU;CACrC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CAGxD,MAAM,CAAC,cAAc,mBAAmB,eAAe,IAAI,gBAAgB,SAAS,OAAO,CAAC;AAG5F,iBAAgB;AACd,kBAAgB,IAAI,gBAAgB,SAAS,OAAO,CAAC;IACpD,CAAC,SAAS,OAAO,CAAC;CAGrB,MAAM,SAAS,aAAa,IAAI,cAAc;CAC9C,MAAM,UAAU,aAAa,IAAI,eAAe;AAC5B,cAAa,IAAI,oBAAoB;AAEzD,QACE,oCAAC,aACC,oCAAC;EACS;EACC;EACA;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;EACf,GAAI;GACJ,CACE;;AAIV,kCAAe"}
@@ -27,4 +27,4 @@ var UdpFormsListPage_exports = /* @__PURE__ */ __exportAll({
27
27
 
28
28
  //#endregion
29
29
  export { UdpFormsListPage_default as n, UdpFormsListPage_exports as t };
30
- //# sourceMappingURL=UdpFormsListPage-BuoLTPWK.js.map
30
+ //# sourceMappingURL=UdpFormsListPage-AUcfVY2K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormsListPage-BuoLTPWK.js","names":[],"sources":["../src/udp/pages/UdpFormsListPage/UdpFormsListPage.jsx","../src/udp/pages/UdpFormsListPage/index.ts"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { UdpFormsList } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHistory } from 'react-router-dom';\n\nconst UdpFormsListPage = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const history = useHistory();\n\n const tenantId = tenant?.activeTenant?.tenantId;\n\n return (\n <div>\n <UdpFormsList\n history={history}\n {...props}\n />\n </div>\n );\n};\nexport default UdpFormsListPage;\n","export {default} from './UdpFormsListPage';\nexport {default as UdpFormsListPage} from './UdpFormsListPage';\n"],"mappings":";;;;;;;;AAMA,MAAM,oBAAoB,UAAU;AACrB,UAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,UAAU,YAAY;AAEX,SAAQ,cAAc;AAEvC,QACE,oCAAC,aACC,oCAAC;EACU;EACT,GAAI;GACJ,CACE;;AAGV,+BAAe"}
1
+ {"version":3,"file":"UdpFormsListPage-AUcfVY2K.js","names":[],"sources":["../src/udp/pages/UdpFormsListPage/UdpFormsListPage.jsx","../src/udp/pages/UdpFormsListPage/index.ts"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { UdpFormsList } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHistory } from 'react-router-dom';\n\nconst UdpFormsListPage = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const history = useHistory();\n\n const tenantId = tenant?.activeTenant?.tenantId;\n\n return (\n <div>\n <UdpFormsList\n history={history}\n {...props}\n />\n </div>\n );\n};\nexport default UdpFormsListPage;\n","export {default} from './UdpFormsListPage';\nexport {default as UdpFormsListPage} from './UdpFormsListPage';\n"],"mappings":";;;;;;;;AAMA,MAAM,oBAAoB,UAAU;AACrB,UAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,UAAU,YAAY;AAEX,SAAQ,cAAc;AAEvC,QACE,oCAAC,aACC,oCAAC;EACU;EACT,GAAI;GACJ,CACE;;AAGV,+BAAe"}
@@ -61,4 +61,4 @@ var UdpFormsPrivateForm_exports = /* @__PURE__ */ __exportAll({ UdpPrivateForm:
61
61
 
62
62
  //#endregion
63
63
  export { UdpPrivateForm as n, UdpFormsPrivateForm_exports as t };
64
- //# sourceMappingURL=UdpFormsPrivateForm-Cy3PXVju.js.map
64
+ //# sourceMappingURL=UdpFormsPrivateForm-ip2aj9xl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormsPrivateForm-Cy3PXVju.js","names":[],"sources":["../src/udp/pages/UdpFormsPrivateForm/UdpPrivateForm.jsx","../src/udp/pages/UdpFormsPrivateForm/index.ts"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport { useActions } from '../../../hooks/useActions';\nimport { acquireAccessToken } from '../../../utilities/auth';\nimport { useSnackbar } from 'notistack';\n\n\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPrivateForm = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const { triggerAction } = useActions();\n const queryParams = useSearchParams();\n const history = useHistory();\n\n const formId = useMemo(() => {\n return queryParams.get('udpf_formId');\n }, [queryParams]);\n\n const versionId = useMemo(() => {\n return queryParams.get('udpf_version');\n }, [queryParams]);\n\n const submissionId = useMemo(() => {\n return queryParams.get('udpf_submissionId');\n }, [queryParams]);\n\n const generic1 = useMemo(() => {\n return queryParams.get('udpf_generic1');\n }, [queryParams]);\n \n const generic2 = useMemo(() => {\n return queryParams.get('udpf_generic2');\n }, [queryParams]);\n\n const generic3 = useMemo(() => {\n return queryParams.get('udpf_generic3');\n }, [queryParams]);\n\n\n return (\n <UdpFormsRenderer\n formId={formId} // required\n version={versionId} // required \n submissionId={submissionId} // required\n triggerAction={triggerAction} \n isPublic={false} // required, defualts to false\n history={history} // required\n getUserCallback={() => user} // required \n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n generic1={generic1}\n generic2={generic2}\n generic3={generic3}\n {...props} // props override anything set above\n />\n );\n};","export * from './UdpPrivateForm';\n"],"mappings":";;;;;;;;;;AAWA,MAAM,wBAAwB;CAC5B,MAAM,SAAS,aAAa,CAAC;AAI7B,QAAO,IAAI,gBAAgB,UAAU,OAAO,SAAS,OAAO;;AAE9D,MAAa,kBAAkB,UAAU;CACvC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CACxD,MAAM,EAAE,kBAAkB,YAAY;CACtC,MAAO,cAAc,iBAAiB;CACtC,MAAM,UAAU,YAAY;CAE5B,MAAM,SAAS,cAAc;AAC3B,SAAO,YAAY,IAAI,cAAc;IACpC,CAAC,YAAY,CAAC;CAEjB,MAAM,YAAY,cAAc;AAC9B,SAAO,YAAY,IAAI,eAAe;IACrC,CAAC,YAAY,CAAC;CAEjB,MAAM,eAAe,cAAc;AACjC,SAAO,YAAY,IAAI,oBAAoB;IAC1C,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;AAGjB,QACE,oCAAC;EACS;EACR,SAAS;EACK;EACC;EACf,UAAU;EACD;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;EACL;EACA;EACA;EACV,GAAI;GACJ"}
1
+ {"version":3,"file":"UdpFormsPrivateForm-ip2aj9xl.js","names":[],"sources":["../src/udp/pages/UdpFormsPrivateForm/UdpPrivateForm.jsx","../src/udp/pages/UdpFormsPrivateForm/index.ts"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport { useActions } from '../../../hooks/useActions';\nimport { acquireAccessToken } from '../../../utilities/auth';\nimport { useSnackbar } from 'notistack';\n\n\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPrivateForm = (props) => {\n const user = useUser();\n const tenant = useTenant();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const { triggerAction } = useActions();\n const queryParams = useSearchParams();\n const history = useHistory();\n\n const formId = useMemo(() => {\n return queryParams.get('udpf_formId');\n }, [queryParams]);\n\n const versionId = useMemo(() => {\n return queryParams.get('udpf_version');\n }, [queryParams]);\n\n const submissionId = useMemo(() => {\n return queryParams.get('udpf_submissionId');\n }, [queryParams]);\n\n const generic1 = useMemo(() => {\n return queryParams.get('udpf_generic1');\n }, [queryParams]);\n \n const generic2 = useMemo(() => {\n return queryParams.get('udpf_generic2');\n }, [queryParams]);\n\n const generic3 = useMemo(() => {\n return queryParams.get('udpf_generic3');\n }, [queryParams]);\n\n\n return (\n <UdpFormsRenderer\n formId={formId} // required\n version={versionId} // required \n submissionId={submissionId} // required\n triggerAction={triggerAction} \n isPublic={false} // required, defualts to false\n history={history} // required\n getUserCallback={() => user} // required \n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n generic1={generic1}\n generic2={generic2}\n generic3={generic3}\n {...props} // props override anything set above\n />\n );\n};","export * from './UdpPrivateForm';\n"],"mappings":";;;;;;;;;;AAWA,MAAM,wBAAwB;CAC5B,MAAM,SAAS,aAAa,CAAC;AAI7B,QAAO,IAAI,gBAAgB,UAAU,OAAO,SAAS,OAAO;;AAE9D,MAAa,kBAAkB,UAAU;CACvC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CACxD,MAAM,EAAE,kBAAkB,YAAY;CACtC,MAAO,cAAc,iBAAiB;CACtC,MAAM,UAAU,YAAY;CAE5B,MAAM,SAAS,cAAc;AAC3B,SAAO,YAAY,IAAI,cAAc;IACpC,CAAC,YAAY,CAAC;CAEjB,MAAM,YAAY,cAAc;AAC9B,SAAO,YAAY,IAAI,eAAe;IACrC,CAAC,YAAY,CAAC;CAEjB,MAAM,eAAe,cAAc;AACjC,SAAO,YAAY,IAAI,oBAAoB;IAC1C,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;CAEjB,MAAM,WAAW,cAAc;AAC7B,SAAO,YAAY,IAAI,gBAAgB;IACtC,CAAC,YAAY,CAAC;AAGjB,QACE,oCAAC;EACS;EACR,SAAS;EACK;EACC;EACf,UAAU;EACD;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;EACL;EACA;EACA;EACV,GAAI;GACJ"}
@@ -39,4 +39,4 @@ var UdpFormsPublicForm_exports = /* @__PURE__ */ __exportAll({
39
39
 
40
40
  //#endregion
41
41
  export { UdpPublicForm_default as n, UdpFormsPublicForm_exports as t };
42
- //# sourceMappingURL=UdpFormsPublicForm-DDCpLG6l.js.map
42
+ //# sourceMappingURL=UdpFormsPublicForm-YjrVSCGi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormsPublicForm-DDCpLG6l.js","names":["ConfigService"],"sources":["../src/udp/pages/UdpFormsPublicForm/UdpPublicForm.jsx","../src/udp/pages/UdpFormsPublicForm/index.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation, useHistory} from 'react-router-dom';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../../../configService';\n\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPublicForm = (props) => {\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n\n\n const formId = queryParams.get('udpf_formId');\n const tenantId = queryParams.get('udpf_tenantId');\n const submissionId = queryParams.get('udpf_submissionId');\n const callbackUrl = queryParams.get('udpf_callback_url');\n\n return (\n <UdpFormsRenderer\n formId={formId}\n tenantId={tenantId}\n submissionId={submissionId}\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n apiUrlBase={ConfigService.productV1ApiUrl}\n callbackUrl={callbackUrl}\n enqueueSnackbar={enqueueSnackbar}\n closeSnackbar={closeSnackbar}\n history={history}\n isPublic={true}\n />\n );\n};\n\nexport default UdpPublicForm;\n","export {default} from './UdpPublicForm';\nexport {default as UdpPublicForm} from './UdpPublicForm';\n"],"mappings":";;;;;;;;;AAcA,MAAa,iBAAiB,UAAU;CACtC,MAAM,EAAE,wBAAwB,wBAAwB;CACxD,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CACxD,MAAM,UAAU,YAAY;CAG5B,MAAM,SAAS,YAAY,IAAI,cAAc;CAC7C,MAAM,WAAW,YAAY,IAAI,gBAAgB;CACjD,MAAM,eAAe,YAAY,IAAI,oBAAoB;CACzD,MAAM,cAAc,YAAY,IAAI,oBAAoB;AAExD,QACE,oCAAC;EACS;EACE;EACI;EACd,WAAWA,gBAAc,OAAO;EAChC,YAAYA,gBAAc;EACb;EACI;EACF;EACN;EACT,UAAU;GACV;;AAIN,4BAAe"}
1
+ {"version":3,"file":"UdpFormsPublicForm-YjrVSCGi.js","names":["ConfigService"],"sources":["../src/udp/pages/UdpFormsPublicForm/UdpPublicForm.jsx","../src/udp/pages/UdpFormsPublicForm/index.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { UdpFormsRenderer } from 'udp-react-stencil-component-library';\nimport { useLocation, useHistory} from 'react-router-dom';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../../../configService';\n\nconst useSearchParams = () => {\n const search = useLocation().search;\n\n // when params are populated with an internal redirect, like on a Page menu, the useLocation hook does not get the query params\n // so it will fallback with window.location.search in that case\n return new URLSearchParams(search || window.location.search);\n}\nexport const UdpPublicForm = (props) => {\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const history = useHistory();\n\n\n const formId = queryParams.get('udpf_formId');\n const tenantId = queryParams.get('udpf_tenantId');\n const submissionId = queryParams.get('udpf_submissionId');\n const callbackUrl = queryParams.get('udpf_callback_url');\n\n return (\n <UdpFormsRenderer\n formId={formId}\n tenantId={tenantId}\n submissionId={submissionId}\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n apiUrlBase={ConfigService.productV1ApiUrl}\n callbackUrl={callbackUrl}\n enqueueSnackbar={enqueueSnackbar}\n closeSnackbar={closeSnackbar}\n history={history}\n isPublic={true}\n />\n );\n};\n\nexport default UdpPublicForm;\n","export {default} from './UdpPublicForm';\nexport {default as UdpPublicForm} from './UdpPublicForm';\n"],"mappings":";;;;;;;;;AAcA,MAAa,iBAAiB,UAAU;CACtC,MAAM,EAAE,wBAAwB,wBAAwB;CACxD,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CACxD,MAAM,UAAU,YAAY;CAG5B,MAAM,SAAS,YAAY,IAAI,cAAc;CAC7C,MAAM,WAAW,YAAY,IAAI,gBAAgB;CACjD,MAAM,eAAe,YAAY,IAAI,oBAAoB;CACzD,MAAM,cAAc,YAAY,IAAI,oBAAoB;AAExD,QACE,oCAAC;EACS;EACE;EACI;EACd,WAAWA,gBAAc,OAAO;EAChC,YAAYA,gBAAc;EACb;EACI;EACF;EACN;EACT,UAAU;GACV;;AAIN,4BAAe"}
@@ -6,7 +6,7 @@ import { i as parseSearchParamsIntoFilterObjects, o as SqlFilterOperators } from
6
6
  import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
7
7
  import { t as PageLoading } from "./PageLoading-GD6E2uMU.js";
8
8
  import { t as useTenant } from "./useTenant-CGaZEBEJ.js";
9
- import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-CWYZUOx-.js";
9
+ import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-BMHWSjf5.js";
10
10
  import { t as CustomMenuPage_default } from "./menuPage-BHXchSeD.js";
11
11
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
12
12
  import { TextField } from "@material-ui/core";
@@ -696,4 +696,4 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
696
696
 
697
697
  //#endregion
698
698
  export { UdpFormsSubmissionGrid as t };
699
- //# sourceMappingURL=UdpFormsSubmissionGrid-Qj-ti4hh.js.map
699
+ //# sourceMappingURL=UdpFormsSubmissionGrid-fhcfXjlD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpFormsSubmissionGrid-Qj-ti4hh.js","names":["CustomMenuPage"],"sources":["../src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx"],"sourcesContent":["import React, { useMemo, useState, useEffect, useCallback, useRef } from 'react';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { CustomMenuPage } from '../../../menuPage';\nimport { useTranslation } from 'react-i18next';\nimport { apiMutate } from '../../../utilities';\nimport { ConfigService } from '../../../configService';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { LoadingIndicator } from '../../../UI/loading/LoadingIndicator';\nimport { UdpPageEnums } from '../../../enums';\nimport { StatusCellRenderer } from '../../../UI/templates/ui/renderers';\nimport { SqlFilterOperators } from '../../../enums/aggridEnums';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { Autocomplete } from '@material-ui/lab';\nimport { TextField } from '@material-ui/core';\nimport { PageLoading } from '../../../UI';\nimport { parseSearchParamsIntoFilterObjects } from '../../../utilities/search';\n\n// ============================================================================\n// Submission status enum\n// Used to map numeric submission status values returned from the backend\n// ============================================================================\nconst UdpFormsSubmissionStatusEnum = Object.freeze({\n InProgress: 1,\n Submitted: 2,\n Created: 3\n});\n\n\n// ============================================================================\n// Date formatter helper\n// Normalizes backend date strings and formats them for display\n// Handles both ISO strings and \"YYYY-MM-DD HH:mm:ss.sss\" formats\n// ============================================================================\nconst formatDateTime = (dateString) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format\n // (i.e., contains a space instead of 'T').\n // If the input is already ISO (e.g. '2025-12-10T20:23:23.055Z'),\n // it passes straight through.\n // This format is assumed to be missing timezone info and treated as UTC.\n if (dateString.includes(' ')) {\n // Replace the space with 'T' to normalize to ISO-like format\n normalizedDateString = dateString.replace(' ', 'T');\n }\n\n // Ensure UTC timezone is explicitly specified\n if (!dateString.toUpperCase().endsWith('Z')) {\n normalizedDateString = normalizedDateString + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\n // Localized, user-friendly date/time display\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n });\n};\n\n// ============================================================================\n// URL filter field → ag-Grid filter configuration mapping\n// Used when converting URL search params into ag-Grid filter models\n// ============================================================================\nconst filterConfigByUrlField = {\n form_name: { agGridField: 'form_Name', filterType: 'text' },\n formsubmission_formversion: {\n agGridField: 'formSubmission_FormVersion',\n filterType: 'number'\n },\n form_description: { agGridField: 'form_Description', filterType: 'text' },\n formsubmission_userdisplayname: {\n agGridField: 'formSubmission_UserDisplayName',\n filterType: 'text'\n },\n formsubmission_status: {\n agGridField: 'formSubmission_Status',\n filterType: 'number'\n },\n formsubmission_initialcreatedon: {\n agGridField: 'formSubmission_InitialCreatedOn',\n filterType: 'date'\n },\n formsubmission_lastmodifiedon: {\n agGridField: 'formSubmission_LastModifiedOn',\n filterType: 'date'\n },\n formsubmission_submittedon: {\n agGridField: 'formSubmission_SubmittedOn',\n filterType: 'date'\n },\n formsubmission_duedate: {\n agGridField: 'formSubmission_DueDate',\n filterType: 'date'\n },\n formsubmission_isoverdue: {\n agGridField: 'formSubmission_IsOverdue',\n filterType: 'text'\n }\n};\n\n\n/**\n * Maps your internal filter object structure (from URL processing)\n * to the ag-Grid Filter Model structure.\n * * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects\n * @returns {object} ag-Grid Filter Model\n */\n/**\n * Maps your internal filter object structure (from URL processing)\n * to the ag-Grid Filter Model structure.\n * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects\n * @returns {object} ag-Grid Filter Model\n */\nconst mapUrlFiltersToAgGridModel = (filterObjects) => {\n if (!filterObjects || filterObjects.length === 0) {\n return null;\n }\n\n const agGridModel = {};\n\n filterObjects.forEach((filter) => {\n const { searchField, searchOperator, searchValue } = filter;\n\n const searchKey = searchField.toLocaleLowerCase();\n const config = filterConfigByUrlField[searchKey];\n\n if (!config) {\n console.warn(\n `No configuration found for URL filter field: ${searchField}. Filter ignored.`\n );\n return;\n }\n\n const agGridField = config.agGridField;\n const filterType = config.filterType;\n\n let type = 'equals';\n switch (searchOperator) {\n case SqlFilterOperators.EQUALS:\n type = 'equals';\n break;\n case SqlFilterOperators.NOT_EQUALS:\n type = 'notEqual';\n break;\n case SqlFilterOperators.GREATER_THAN:\n type = 'greaterThan';\n break;\n case SqlFilterOperators.LESS_THAN:\n type = 'lessThan';\n break;\n case SqlFilterOperators.LIKE:\n type = 'contains';\n break;\n default:\n type = 'equals';\n }\n\n let filterValue = searchValue;\n\n if (\n !filterValue ||\n filterValue.toLowerCase() === 'undefined' ||\n filterValue.toLowerCase() === 'null'\n ) {\n console.warn(\n `Skipping filter for ${agGridField} due to invalid value: ${searchValue}`\n );\n return;\n }\n\n if (filterType == 'date'){\n agGridModel[agGridField] = {\n filterType,\n type,\n dateFrom: filterValue\n };\n } else if (filterType == 'text' && agGridField.toLocaleLowerCase() == 'formsubmission_isoverdue') {\n agGridModel[agGridField] = {\n filterType,\n type: filterValue,\n };\n } else {\n agGridModel[agGridField] = {\n filterType,\n type,\n filter: filterValue\n };\n }\n\n });\n\n return agGridModel;\n};\n\n\n// ============================================================================\n// Helper for CustomMenuPage to parse form submission ID and version from node ID\n// ============================================================================\nconst parseIdAndVersion = (input) => {\n const formSubmissionId = input.replace(/^form-submission-/, '');\n // Check for \"all forms\" special case\n if (formSubmissionId.includes('all-forms-key')) {\n return null;\n }\n return formSubmissionId;\n};\n\n\n// ============================================================================\n// Maps a submission status enum value to a human-readable status label\n// Used in grid cell renderer\n// ============================================================================\nconst getSubmissionStatusLabel = (node) => {\n const formStatus = node?.data?.formSubmission_Status;\n switch (formStatus) {\n case UdpFormsSubmissionStatusEnum.InProgress:\n return 'InProgress';\n case UdpFormsSubmissionStatusEnum.Created:\n return 'Created';\n case UdpFormsSubmissionStatusEnum.Submitted:\n return 'Submitted';\n default:\n return '';\n }\n};\n\n// ============================================================================\n// Maps overdue flag to a display label\n// Used in grid cell renderer\n// ============================================================================\nconst getOverdueStatusLabel = (node) => {\n const overdueStatus = node?.data?.formSubmission_IsOverdue;\n switch (overdueStatus) {\n case true:\n return 'Overdue';\n default:\n return '';\n }\n};\n\n// ============================================================================\n// Filters form submissions by tenant ID\n// ============================================================================\nconst filterSubmissionByTenantId = (submissions, tenantId) => {\n return submissions.filter(\n (submission) => submission.form_TenantId === tenantId\n );\n}\n\n\n// ============================================================================\n// Map of status labels to status types\n// Used in grid configs\n// ============================================================================\nconst gridFunctions = [\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n]\n\n// ============================================================================\n// Map of status labels to status types\n// Used in grid configs\n// ============================================================================\nconst statusMappingConfig = {\n Created: 'info',\n InProgress: 'warning',\n Submitted: 'success',\n Overdue: 'error'\n};\n\n// ============================================================================\n// Map of status labels to status types\n// Grid options config\n// ============================================================================\nconst gridOptions = {\n pagination: true,\n defaultColDef: {\n sortable: true,\n filter: true,\n resizable: true\n }\n}\n\nexport const UdpFormsSubmissionGrid = ({\n isManagerMode = false,\n generic1 = undefined,\n generic2 = undefined,\n generic3 = undefined,\n formsRendererUrlPath = undefined,\n allFormTitle = undefined,\n menuTitle = undefined,\n}) => {\n const user = useUser();\n const tenant = useTenant();\n const history = useHistory();\n const location = useLocation();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Component states\n const [innerMenuItemList, setInnerMenuItemList] = useState([]);\n const [formSubmissionViewDataRaw, setFormSubmissionViewDataRaw] = useState([]);\n const [formDataRaw, setFormDataRaw] = useState([]);\n const [isSidesheetOpen, setIsSidesheetOpen] = useState(false);\n const [selectedUdpFormInSideSheet, setSelectedUdpFormInSideSheet] = useState({});\n const [formSubmissionUrlSearchObjs, setFormSubmissionUrlSearchObjs] = useState([]);\n const [gridApi, setGridApi] = useState(null); \n const handleGridApiCallback = useCallback((api) => {setGridApi(api); }, []);\n\n const initialFilterModel = useMemo(() => {\n return mapUrlFiltersToAgGridModel(formSubmissionUrlSearchObjs);\n }, [formSubmissionUrlSearchObjs]);\n\n useEffect(() => {\n if (gridApi && initialFilterModel) {\n gridApi.setFilterModel(initialFilterModel);\n gridApi.onFilterChanged();\n }\n }, [gridApi, initialFilterModel]);\n\n\n const consolidateAndSortFormsByFormId = useCallback(\n (forms, submissions = []) => {\n const resultMap = new Map();\n for (const item of forms) {\n const {\n id: formId,\n version: formVersion,\n name: formName,\n description: formDescription,\n initialCreatedOn: initialCreatedOn\n } = item;\n if (!formId || formVersion == null) continue;\n\n const key = String(formId);\n const existing = resultMap.get(key);\n\n // normalize version and timestamp\n const versionNum = Number(formVersion) || 0;\n const ts = initialCreatedOn ? new Date(initialCreatedOn).getTime() : 0;\n\n // robust comparison (coerce to string)\n const submissionCount = (submissions || []).filter(\n (sub) => String(sub?.formSubmission_FormId) === key\n ).length;\n\n if (!existing) {\n resultMap.set(key, {\n id: key,\n formId,\n formVersion: versionNum,\n name: formName || t('Untitled Form'),\n submissionCount,\n description: formDescription || '',\n mostRecentCreatedOn: ts\n });\n } else {\n // keep metadata (name/description/formVersion) from the highest version seen\n if (versionNum > (existing.formVersion || 0)) {\n existing.formVersion = versionNum;\n if (formName) existing.name = formName;\n if (formDescription) existing.description = formDescription;\n }\n }\n }\n\n const sortedOptions = Array.from(resultMap.values()).sort((a, b) =>\n b.name.localeCompare(a.name)\n );\n return sortedOptions;\n },\n [t]\n );\n\n const consolidateAndSortFormSubmissionsByFormId = useCallback(\n (submissions) => {\n const resultMap = new Map();\n for (const item of submissions) {\n const {\n formSubmission_FormId: formId,\n formSubmission_FormVersion: formVersion,\n form_Name: formName,\n form_Description: formDescription,\n formSubmission_InitialCreatedOn: initialCreatedOn\n } = item;\n if (!formId || formVersion == null) continue;\n\n const key = `${formId}`;\n const existing = resultMap.get(key);\n\n // normalize version and timestamp\n const versionNum = Number(formVersion) || 0;\n const ts = initialCreatedOn ? new Date(initialCreatedOn).getTime() : 0;\n\n if (!existing) {\n resultMap.set(key, {\n id: key,\n formId,\n formVersion: versionNum,\n name: formName || t('Untitled Form'),\n submissionCount: 1,\n description: formDescription || '',\n mostRecentCreatedOn: ts\n });\n } else {\n existing.submissionCount += 1;\n existing.mostRecentCreatedOn = Math.max(\n existing.mostRecentCreatedOn || 0,\n ts\n );\n\n // keep metadata (name/description/formVersion) from the highest version seen\n if (versionNum > (existing.formVersion || 0)) {\n existing.formVersion = versionNum;\n if (formName) existing.name = formName;\n if (formDescription) existing.description = formDescription;\n }\n }\n }\n\n const sortedOptions = Array.from(resultMap.values()).sort(\n (a, b) => b.mostRecentCreatedOn - a.mostRecentCreatedOn\n );\n return sortedOptions;\n },\n [t]\n );\n\n const fetchSubmissions = useCallback(async () => {\n try {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n filterElements.push({\n searchField: 'Form_TenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'FormSubmission_UnityUserId',\n searchOperator: '=',\n searchValue: user.id\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n const formSubmissionViewSearchResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFormWithSubmissionsView/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n const submissions = formSubmissionViewSearchResponse?.data.pageList || [];\n const processedSubmissions = filterSubmissionByTenantId(\n submissions,\n tenant.activeTenant.tenantId\n );\n setFormSubmissionViewDataRaw(processedSubmissions);\n } catch (e) {\n console.error('fetchSubmissions error:', e);\n }\n }, [\n user,\n tenant,\n isManagerMode,\n consolidateAndSortFormSubmissionsByFormId,\n t,\n generic1,\n generic2,\n generic3,\n ]);\n\n const fetchForms = useCallback(async () => {\n try {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n filterElements.push({\n searchField: 'tenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n const formResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpForm/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n const forms = formResponse?.data.pageList || [];\n setFormDataRaw(forms);\n } catch (e) {\n console.error('fetchForms error:', e);\n }\n }, [user, tenant, consolidateAndSortFormSubmissionsByFormId]);\n\n\n const getSearchMethodConfig = useCallback(\n (formId) => {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'formSubmission_unityUserId',\n searchOperator: '=',\n searchValue: user.id || ''\n });\n }\n\n if (formId) {\n filterElements.push({\n searchField: 'formSubmission_formId',\n searchOperator: '=',\n searchValue: formId\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n filterElements.push({\n searchField: 'form_tenantId',\n searchOperator: '=',\n searchValue: tenant?.activeTenant?.tenantId || ''\n });\n\n return {\n requestUrl: `${ConfigService.productV1ApiUrl}/UdpFormWithSubmissionsView/search`,\n customSearchObject: {\n eagerLoad: false,\n filterElements,\n orderElements: [\n {\n sortColumn: 'initialCreatedOn',\n sortDirection: 'DESC'\n }\n ]\n }\n // logicalSearchOperator: 1,\n // groupingType: '',\n // groupProperty: [],\n // groupOperationList: [],\n // type: 'advanced',\n // pageNumber: 1,\n // pageSize: 20,\n };\n },\n [user, isManagerMode, tenant, generic1, generic2, generic3]\n );\n\n const generateFormRendererUrlPath = useCallback(\n (formId, formVersion) => {\n const baseRoute = formsRendererUrlPath\n ? formsRendererUrlPath\n : 'page/' + UdpPageEnums.Udp_Form_Renderer_Page;\n\n return `${baseRoute}?udpf_formId=${encodeURIComponent(\n formId\n )}&udpf_version=${encodeURIComponent(formVersion)}`;\n },\n [generic1, generic2, generic3, formsRendererUrlPath]\n );\n\n const getGridHeaderConfig = useCallback(\n (formId, formVersion, formTitle) => {\n const config = {\n title: formTitle\n };\n\n if (!isManagerMode) {\n config.primaryActionButton = {\n label: t('Submit New Form'),\n onClick: () => {\n // Only show submit button when we have a specific form id and version\n if (formId && formVersion) {\n const urlPath = generateFormRendererUrlPath(formId, formVersion);\n history.push(urlPath);\n } else {\n setIsSidesheetOpen(true);\n }\n }\n };\n }\n\n return config;\n },\n [history, t, isManagerMode, generateFormRendererUrlPath]\n );\n\n\n\n const columnDefs = useMemo(\n () => [\n { headerName: 'Form ID', field: 'formSubmission_FormId', hide: true },\n {\n headerName: t('Name'),\n field: 'form_Name',\n type: 'text',\n sortable: true\n },\n {\n headerName: t('Version'),\n field: 'formSubmission_FormVersion',\n type: 'number',\n sortable: true\n },\n {\n headerName: t('Description'),\n field: 'form_Description',\n type: 'text',\n sortable: true,\n hide: true\n },\n {\n headerName: t('Submitted By'),\n field: 'formSubmission_UserDisplayName',\n type: 'text',\n sortable: true\n },\n {\n headerName: t('Status'),\n filter: true,\n field: 'formSubmission_Status',\n cellRenderer: 'statusRenderer',\n cellRendererParams: {\n statusMappingConfig: statusMappingConfig,\n getStatusValue: getSubmissionStatusLabel\n }\n },\n {\n headerName: t('Overdue Status'),\n field: 'formSubmission_IsOverdue',\n cellDataType : \"boolean\",\n sortable: true,\n cellRenderer: 'statusRenderer',\n cellRendererParams: {\n statusMappingConfig: statusMappingConfig,\n getStatusValue: getOverdueStatusLabel\n }\n },\n {\n headerName: t('Created On'),\n field: 'formSubmission_InitialCreatedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Last Modified On'),\n field: 'formSubmission_LastModifiedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Submitted On'),\n field: 'formSubmission_SubmittedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Due On'),\n field: 'formSubmission_DueDate',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n iconName: 'view',\n title: t('Open This Submission'),\n handleOnClick: (e, params) => {\n history.push(\n `${\n formsRendererUrlPath\n ? formsRendererUrlPath\n : '/page/' + UdpPageEnums.Udp_Form_Renderer_Page\n }?udpf_submissionId=${params?.data?.formSubmission_Id}`\n );\n }\n }\n ]\n }\n }\n ],\n [history, t, formsRendererUrlPath]\n );\n\n\n // ============================================================================\n // Side Sheet Helpers and Handlers\n // ============================================================================\n const handleSidesheetPrimaryClick = useCallback(() => {\n // selectedUdpFormInSideSheet format is \"formId|formVersion\"\n const raw = selectedUdpFormInSideSheet.value || '';\n const [id, versionStr] = raw.split('|');\n const version = Number(versionStr || 0);\n if (!id || !version) {\n console.warn('Invalid selection:', selectedUdpFormInSideSheet);\n setIsSidesheetOpen(false);\n return;\n }\n\n setIsSidesheetOpen(false);\n const urlPath = generateFormRendererUrlPath(id, version);\n history.push(urlPath);\n }, [selectedUdpFormInSideSheet, history, generateFormRendererUrlPath]);\n\n \n const handleSideSheetClosed = () => {\n setSelectedUdpFormInSideSheet({});\n setIsSidesheetOpen(false);\n };\n\n const selectableItems = useMemo(() => {\n const map = new Map();\n\n for (const f of formDataRaw || []) {\n const formType = f.form_Type ?? f.formType ?? f.type;\n if (Number(formType) !== 1) continue;\n\n const formId = f.id ?? f.form_Id ?? f.formId ?? String(f?.Id ?? '');\n const version = Number(f.version ?? f.form_Version ?? f.formVersion ?? 0);\n const name =\n f.name ??\n f.form_Name ??\n f.formName ??\n f.Form_Name ??\n f.displayName ??\n t('Untitled Form');\n const description = f.description ?? f.form_Description ?? '';\n\n const existing = map.get(formId);\n if (!existing || version > existing.version) {\n map.set(formId, { id: formId, name, version, description });\n }\n }\n\n return Array.from(map.values()).sort((a, b) => b.version - a.version);\n }, [formDataRaw, t]);\n\n const selectorOptions = useMemo(() => {\n return (selectableItems || []).map((s) => ({\n value: `${s.id}|${s.version}`,\n label: s.version ? `${s.name} (v${s.version})` : s.name\n }));\n }, [selectableItems]);\n\n const handleSelectedUdpFormInSideSheetChange = (event, newValue) => {\n if (newValue !== null) {\n setSelectedUdpFormInSideSheet(newValue);\n }\n };\n\n const getMainGridContent = ({\n selectedNode,\n menuItemsList,\n idMap,\n classes\n }) => {\n if (!selectedNode) {\n return <PageLoading />;\n }\n const formId = parseIdAndVersion(selectedNode.id);\n const found = innerMenuItemList.find((form) => form.formId == formId);\n const formTitle = `${found?.name}` || 'Unknown Form';\n const newestFormVersion = formDataRaw\n .filter((formObj) => formObj.id == formId)\n .reduce((acc, curr) => {\n return Math.max(acc, curr.version);\n }, 0);\n\n return (\n <>\n <SideSheet\n open={isSidesheetOpen}\n title={t('Submit New Form')}\n position='right'\n width={'30%'}\n buttonLabel={t('New')}\n buttonOneDisabled={!selectedUdpFormInSideSheet.value}\n onSubmit={handleSidesheetPrimaryClick}\n onClose={handleSideSheetClosed}\n >\n <Autocomplete\n options={selectorOptions}\n getOptionLabel={(selectedOption) => selectedOption.label}\n onChange={handleSelectedUdpFormInSideSheetChange}\n value={selectedUdpFormInSideSheet.value}\n disableClearable={true}\n size='small'\n renderInput={(params) => (\n <TextField {...params} label='Choose a Form' variant='outlined' />\n )}\n />\n </SideSheet>\n <SearchMethodUdpGrid\n searchMethodConfig={getSearchMethodConfig(formId)}\n columnDefs={columnDefs}\n gridOptions={gridOptions}\n gridHeaderConfig={getGridHeaderConfig(\n formId,\n newestFormVersion,\n formTitle\n )}\n gridFunctions={gridFunctions}\n gridApiCallback={handleGridApiCallback} // Pass the setter/ref handler\n />\n </>\n );\n };\n\n useEffect(() => {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const urlSearchObjs = parseSearchParamsIntoFilterObjects();\n setFormSubmissionUrlSearchObjs(urlSearchObjs); // THIS LINE TRIGGERS initialFilterModel\n\n let cancelled = false;\n (async () => {\n try {\n // replicate fetchSubmissions logic but using local urlSearchObjs (avoids depending on the state)\n let filterElements = [];\n\n filterElements.push({\n searchField: 'Form_TenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'FormSubmission_UnityUserId',\n searchOperator: '=',\n searchValue: user.id\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n const formSubmissionViewSearchResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFormWithSubmissionsView/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n if (cancelled) return;\n\n const submissions = formSubmissionViewSearchResponse?.data.pageList || [];\n const processedSubmissions = submissions.filter((submission) =>\n submission.form_TenantId === tenant.activeTenant.tenantId\n );\n setFormSubmissionViewDataRaw(processedSubmissions);\n await fetchForms();\n } catch (err) {\n console.error('fetching submissions/forms failed', err);\n }\n })();\n\n return () => {\n cancelled = true;\n };\n }, [\n location.search,\n tenant?.activeTenant?.tenantId,\n generic1,\n generic2,\n generic3,\n isManagerMode,\n user?.id,\n fetchForms\n ]);\n\n // derive menu items from fetched submissions (separate effect to avoid refetch loop)\n useEffect(() => {\n const innerMenuList = consolidateAndSortFormsByFormId(\n formDataRaw || [],\n formSubmissionViewDataRaw || []\n );\n\n innerMenuList.unshift({\n id: 'all-forms-key',\n name: allFormTitle ?? t(\n isManagerMode ? t('All Form Submissions') : t('All My Form Submissions')\n ),\n submissionCount: formSubmissionViewDataRaw?.length || 0\n });\n setInnerMenuItemList(innerMenuList);\n }, [\n formSubmissionViewDataRaw,\n isManagerMode,\n consolidateAndSortFormsByFormId,\n formDataRaw,\n t,\n allFormTitle]);\n\n return (\n <div>\n <CustomMenuPage\n menuTitle={menuTitle ?? t('Forms')}\n items={innerMenuItemList}\n idPrefix='form-submission'\n showItemCount={true}\n itemCountAccessor={(item) => item?.submissionCount ?? 0}\n mainContent={({ selectedNode, menuItemsList, idMap, classes }) => {\n return (\n <div>\n {getMainGridContent({\n selectedNode,\n menuItemsList,\n idMap,\n classes\n })}\n </div>\n );\n }}\n />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpFormsSubmissionGrid-fhcfXjlD.js","names":["CustomMenuPage"],"sources":["../src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx"],"sourcesContent":["import React, { useMemo, useState, useEffect, useCallback, useRef } from 'react';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useSnackbar } from 'notistack';\nimport { CustomMenuPage } from '../../../menuPage';\nimport { useTranslation } from 'react-i18next';\nimport { apiMutate } from '../../../utilities';\nimport { ConfigService } from '../../../configService';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { LoadingIndicator } from '../../../UI/loading/LoadingIndicator';\nimport { UdpPageEnums } from '../../../enums';\nimport { StatusCellRenderer } from '../../../UI/templates/ui/renderers';\nimport { SqlFilterOperators } from '../../../enums/aggridEnums';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { Autocomplete } from '@material-ui/lab';\nimport { TextField } from '@material-ui/core';\nimport { PageLoading } from '../../../UI';\nimport { parseSearchParamsIntoFilterObjects } from '../../../utilities/search';\n\n// ============================================================================\n// Submission status enum\n// Used to map numeric submission status values returned from the backend\n// ============================================================================\nconst UdpFormsSubmissionStatusEnum = Object.freeze({\n InProgress: 1,\n Submitted: 2,\n Created: 3\n});\n\n\n// ============================================================================\n// Date formatter helper\n// Normalizes backend date strings and formats them for display\n// Handles both ISO strings and \"YYYY-MM-DD HH:mm:ss.sss\" formats\n// ============================================================================\nconst formatDateTime = (dateString) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format\n // (i.e., contains a space instead of 'T').\n // If the input is already ISO (e.g. '2025-12-10T20:23:23.055Z'),\n // it passes straight through.\n // This format is assumed to be missing timezone info and treated as UTC.\n if (dateString.includes(' ')) {\n // Replace the space with 'T' to normalize to ISO-like format\n normalizedDateString = dateString.replace(' ', 'T');\n }\n\n // Ensure UTC timezone is explicitly specified\n if (!dateString.toUpperCase().endsWith('Z')) {\n normalizedDateString = normalizedDateString + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\n // Localized, user-friendly date/time display\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n });\n};\n\n// ============================================================================\n// URL filter field → ag-Grid filter configuration mapping\n// Used when converting URL search params into ag-Grid filter models\n// ============================================================================\nconst filterConfigByUrlField = {\n form_name: { agGridField: 'form_Name', filterType: 'text' },\n formsubmission_formversion: {\n agGridField: 'formSubmission_FormVersion',\n filterType: 'number'\n },\n form_description: { agGridField: 'form_Description', filterType: 'text' },\n formsubmission_userdisplayname: {\n agGridField: 'formSubmission_UserDisplayName',\n filterType: 'text'\n },\n formsubmission_status: {\n agGridField: 'formSubmission_Status',\n filterType: 'number'\n },\n formsubmission_initialcreatedon: {\n agGridField: 'formSubmission_InitialCreatedOn',\n filterType: 'date'\n },\n formsubmission_lastmodifiedon: {\n agGridField: 'formSubmission_LastModifiedOn',\n filterType: 'date'\n },\n formsubmission_submittedon: {\n agGridField: 'formSubmission_SubmittedOn',\n filterType: 'date'\n },\n formsubmission_duedate: {\n agGridField: 'formSubmission_DueDate',\n filterType: 'date'\n },\n formsubmission_isoverdue: {\n agGridField: 'formSubmission_IsOverdue',\n filterType: 'text'\n }\n};\n\n\n/**\n * Maps your internal filter object structure (from URL processing)\n * to the ag-Grid Filter Model structure.\n * * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects\n * @returns {object} ag-Grid Filter Model\n */\n/**\n * Maps your internal filter object structure (from URL processing)\n * to the ag-Grid Filter Model structure.\n * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects\n * @returns {object} ag-Grid Filter Model\n */\nconst mapUrlFiltersToAgGridModel = (filterObjects) => {\n if (!filterObjects || filterObjects.length === 0) {\n return null;\n }\n\n const agGridModel = {};\n\n filterObjects.forEach((filter) => {\n const { searchField, searchOperator, searchValue } = filter;\n\n const searchKey = searchField.toLocaleLowerCase();\n const config = filterConfigByUrlField[searchKey];\n\n if (!config) {\n console.warn(\n `No configuration found for URL filter field: ${searchField}. Filter ignored.`\n );\n return;\n }\n\n const agGridField = config.agGridField;\n const filterType = config.filterType;\n\n let type = 'equals';\n switch (searchOperator) {\n case SqlFilterOperators.EQUALS:\n type = 'equals';\n break;\n case SqlFilterOperators.NOT_EQUALS:\n type = 'notEqual';\n break;\n case SqlFilterOperators.GREATER_THAN:\n type = 'greaterThan';\n break;\n case SqlFilterOperators.LESS_THAN:\n type = 'lessThan';\n break;\n case SqlFilterOperators.LIKE:\n type = 'contains';\n break;\n default:\n type = 'equals';\n }\n\n let filterValue = searchValue;\n\n if (\n !filterValue ||\n filterValue.toLowerCase() === 'undefined' ||\n filterValue.toLowerCase() === 'null'\n ) {\n console.warn(\n `Skipping filter for ${agGridField} due to invalid value: ${searchValue}`\n );\n return;\n }\n\n if (filterType == 'date'){\n agGridModel[agGridField] = {\n filterType,\n type,\n dateFrom: filterValue\n };\n } else if (filterType == 'text' && agGridField.toLocaleLowerCase() == 'formsubmission_isoverdue') {\n agGridModel[agGridField] = {\n filterType,\n type: filterValue,\n };\n } else {\n agGridModel[agGridField] = {\n filterType,\n type,\n filter: filterValue\n };\n }\n\n });\n\n return agGridModel;\n};\n\n\n// ============================================================================\n// Helper for CustomMenuPage to parse form submission ID and version from node ID\n// ============================================================================\nconst parseIdAndVersion = (input) => {\n const formSubmissionId = input.replace(/^form-submission-/, '');\n // Check for \"all forms\" special case\n if (formSubmissionId.includes('all-forms-key')) {\n return null;\n }\n return formSubmissionId;\n};\n\n\n// ============================================================================\n// Maps a submission status enum value to a human-readable status label\n// Used in grid cell renderer\n// ============================================================================\nconst getSubmissionStatusLabel = (node) => {\n const formStatus = node?.data?.formSubmission_Status;\n switch (formStatus) {\n case UdpFormsSubmissionStatusEnum.InProgress:\n return 'InProgress';\n case UdpFormsSubmissionStatusEnum.Created:\n return 'Created';\n case UdpFormsSubmissionStatusEnum.Submitted:\n return 'Submitted';\n default:\n return '';\n }\n};\n\n// ============================================================================\n// Maps overdue flag to a display label\n// Used in grid cell renderer\n// ============================================================================\nconst getOverdueStatusLabel = (node) => {\n const overdueStatus = node?.data?.formSubmission_IsOverdue;\n switch (overdueStatus) {\n case true:\n return 'Overdue';\n default:\n return '';\n }\n};\n\n// ============================================================================\n// Filters form submissions by tenant ID\n// ============================================================================\nconst filterSubmissionByTenantId = (submissions, tenantId) => {\n return submissions.filter(\n (submission) => submission.form_TenantId === tenantId\n );\n}\n\n\n// ============================================================================\n// Map of status labels to status types\n// Used in grid configs\n// ============================================================================\nconst gridFunctions = [\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n]\n\n// ============================================================================\n// Map of status labels to status types\n// Used in grid configs\n// ============================================================================\nconst statusMappingConfig = {\n Created: 'info',\n InProgress: 'warning',\n Submitted: 'success',\n Overdue: 'error'\n};\n\n// ============================================================================\n// Map of status labels to status types\n// Grid options config\n// ============================================================================\nconst gridOptions = {\n pagination: true,\n defaultColDef: {\n sortable: true,\n filter: true,\n resizable: true\n }\n}\n\nexport const UdpFormsSubmissionGrid = ({\n isManagerMode = false,\n generic1 = undefined,\n generic2 = undefined,\n generic3 = undefined,\n formsRendererUrlPath = undefined,\n allFormTitle = undefined,\n menuTitle = undefined,\n}) => {\n const user = useUser();\n const tenant = useTenant();\n const history = useHistory();\n const location = useLocation();\n const { t } = useTranslation();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Component states\n const [innerMenuItemList, setInnerMenuItemList] = useState([]);\n const [formSubmissionViewDataRaw, setFormSubmissionViewDataRaw] = useState([]);\n const [formDataRaw, setFormDataRaw] = useState([]);\n const [isSidesheetOpen, setIsSidesheetOpen] = useState(false);\n const [selectedUdpFormInSideSheet, setSelectedUdpFormInSideSheet] = useState({});\n const [formSubmissionUrlSearchObjs, setFormSubmissionUrlSearchObjs] = useState([]);\n const [gridApi, setGridApi] = useState(null); \n const handleGridApiCallback = useCallback((api) => {setGridApi(api); }, []);\n\n const initialFilterModel = useMemo(() => {\n return mapUrlFiltersToAgGridModel(formSubmissionUrlSearchObjs);\n }, [formSubmissionUrlSearchObjs]);\n\n useEffect(() => {\n if (gridApi && initialFilterModel) {\n gridApi.setFilterModel(initialFilterModel);\n gridApi.onFilterChanged();\n }\n }, [gridApi, initialFilterModel]);\n\n\n const consolidateAndSortFormsByFormId = useCallback(\n (forms, submissions = []) => {\n const resultMap = new Map();\n for (const item of forms) {\n const {\n id: formId,\n version: formVersion,\n name: formName,\n description: formDescription,\n initialCreatedOn: initialCreatedOn\n } = item;\n if (!formId || formVersion == null) continue;\n\n const key = String(formId);\n const existing = resultMap.get(key);\n\n // normalize version and timestamp\n const versionNum = Number(formVersion) || 0;\n const ts = initialCreatedOn ? new Date(initialCreatedOn).getTime() : 0;\n\n // robust comparison (coerce to string)\n const submissionCount = (submissions || []).filter(\n (sub) => String(sub?.formSubmission_FormId) === key\n ).length;\n\n if (!existing) {\n resultMap.set(key, {\n id: key,\n formId,\n formVersion: versionNum,\n name: formName || t('Untitled Form'),\n submissionCount,\n description: formDescription || '',\n mostRecentCreatedOn: ts\n });\n } else {\n // keep metadata (name/description/formVersion) from the highest version seen\n if (versionNum > (existing.formVersion || 0)) {\n existing.formVersion = versionNum;\n if (formName) existing.name = formName;\n if (formDescription) existing.description = formDescription;\n }\n }\n }\n\n const sortedOptions = Array.from(resultMap.values()).sort((a, b) =>\n b.name.localeCompare(a.name)\n );\n return sortedOptions;\n },\n [t]\n );\n\n const consolidateAndSortFormSubmissionsByFormId = useCallback(\n (submissions) => {\n const resultMap = new Map();\n for (const item of submissions) {\n const {\n formSubmission_FormId: formId,\n formSubmission_FormVersion: formVersion,\n form_Name: formName,\n form_Description: formDescription,\n formSubmission_InitialCreatedOn: initialCreatedOn\n } = item;\n if (!formId || formVersion == null) continue;\n\n const key = `${formId}`;\n const existing = resultMap.get(key);\n\n // normalize version and timestamp\n const versionNum = Number(formVersion) || 0;\n const ts = initialCreatedOn ? new Date(initialCreatedOn).getTime() : 0;\n\n if (!existing) {\n resultMap.set(key, {\n id: key,\n formId,\n formVersion: versionNum,\n name: formName || t('Untitled Form'),\n submissionCount: 1,\n description: formDescription || '',\n mostRecentCreatedOn: ts\n });\n } else {\n existing.submissionCount += 1;\n existing.mostRecentCreatedOn = Math.max(\n existing.mostRecentCreatedOn || 0,\n ts\n );\n\n // keep metadata (name/description/formVersion) from the highest version seen\n if (versionNum > (existing.formVersion || 0)) {\n existing.formVersion = versionNum;\n if (formName) existing.name = formName;\n if (formDescription) existing.description = formDescription;\n }\n }\n }\n\n const sortedOptions = Array.from(resultMap.values()).sort(\n (a, b) => b.mostRecentCreatedOn - a.mostRecentCreatedOn\n );\n return sortedOptions;\n },\n [t]\n );\n\n const fetchSubmissions = useCallback(async () => {\n try {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n filterElements.push({\n searchField: 'Form_TenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'FormSubmission_UnityUserId',\n searchOperator: '=',\n searchValue: user.id\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n const formSubmissionViewSearchResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFormWithSubmissionsView/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n const submissions = formSubmissionViewSearchResponse?.data.pageList || [];\n const processedSubmissions = filterSubmissionByTenantId(\n submissions,\n tenant.activeTenant.tenantId\n );\n setFormSubmissionViewDataRaw(processedSubmissions);\n } catch (e) {\n console.error('fetchSubmissions error:', e);\n }\n }, [\n user,\n tenant,\n isManagerMode,\n consolidateAndSortFormSubmissionsByFormId,\n t,\n generic1,\n generic2,\n generic3,\n ]);\n\n const fetchForms = useCallback(async () => {\n try {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n filterElements.push({\n searchField: 'tenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n const formResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpForm/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n const forms = formResponse?.data.pageList || [];\n setFormDataRaw(forms);\n } catch (e) {\n console.error('fetchForms error:', e);\n }\n }, [user, tenant, consolidateAndSortFormSubmissionsByFormId]);\n\n\n const getSearchMethodConfig = useCallback(\n (formId) => {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const filterElements = [];\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'formSubmission_unityUserId',\n searchOperator: '=',\n searchValue: user.id || ''\n });\n }\n\n if (formId) {\n filterElements.push({\n searchField: 'formSubmission_formId',\n searchOperator: '=',\n searchValue: formId\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n filterElements.push({\n searchField: 'form_tenantId',\n searchOperator: '=',\n searchValue: tenant?.activeTenant?.tenantId || ''\n });\n\n return {\n requestUrl: `${ConfigService.productV1ApiUrl}/UdpFormWithSubmissionsView/search`,\n customSearchObject: {\n eagerLoad: false,\n filterElements,\n orderElements: [\n {\n sortColumn: 'initialCreatedOn',\n sortDirection: 'DESC'\n }\n ]\n }\n // logicalSearchOperator: 1,\n // groupingType: '',\n // groupProperty: [],\n // groupOperationList: [],\n // type: 'advanced',\n // pageNumber: 1,\n // pageSize: 20,\n };\n },\n [user, isManagerMode, tenant, generic1, generic2, generic3]\n );\n\n const generateFormRendererUrlPath = useCallback(\n (formId, formVersion) => {\n const baseRoute = formsRendererUrlPath\n ? formsRendererUrlPath\n : 'page/' + UdpPageEnums.Udp_Form_Renderer_Page;\n\n return `${baseRoute}?udpf_formId=${encodeURIComponent(\n formId\n )}&udpf_version=${encodeURIComponent(formVersion)}`;\n },\n [generic1, generic2, generic3, formsRendererUrlPath]\n );\n\n const getGridHeaderConfig = useCallback(\n (formId, formVersion, formTitle) => {\n const config = {\n title: formTitle\n };\n\n if (!isManagerMode) {\n config.primaryActionButton = {\n label: t('Submit New Form'),\n onClick: () => {\n // Only show submit button when we have a specific form id and version\n if (formId && formVersion) {\n const urlPath = generateFormRendererUrlPath(formId, formVersion);\n history.push(urlPath);\n } else {\n setIsSidesheetOpen(true);\n }\n }\n };\n }\n\n return config;\n },\n [history, t, isManagerMode, generateFormRendererUrlPath]\n );\n\n\n\n const columnDefs = useMemo(\n () => [\n { headerName: 'Form ID', field: 'formSubmission_FormId', hide: true },\n {\n headerName: t('Name'),\n field: 'form_Name',\n type: 'text',\n sortable: true\n },\n {\n headerName: t('Version'),\n field: 'formSubmission_FormVersion',\n type: 'number',\n sortable: true\n },\n {\n headerName: t('Description'),\n field: 'form_Description',\n type: 'text',\n sortable: true,\n hide: true\n },\n {\n headerName: t('Submitted By'),\n field: 'formSubmission_UserDisplayName',\n type: 'text',\n sortable: true\n },\n {\n headerName: t('Status'),\n filter: true,\n field: 'formSubmission_Status',\n cellRenderer: 'statusRenderer',\n cellRendererParams: {\n statusMappingConfig: statusMappingConfig,\n getStatusValue: getSubmissionStatusLabel\n }\n },\n {\n headerName: t('Overdue Status'),\n field: 'formSubmission_IsOverdue',\n cellDataType : \"boolean\",\n sortable: true,\n cellRenderer: 'statusRenderer',\n cellRendererParams: {\n statusMappingConfig: statusMappingConfig,\n getStatusValue: getOverdueStatusLabel\n }\n },\n {\n headerName: t('Created On'),\n field: 'formSubmission_InitialCreatedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Last Modified On'),\n field: 'formSubmission_LastModifiedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Submitted On'),\n field: 'formSubmission_SubmittedOn',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Due On'),\n field: 'formSubmission_DueDate',\n valueFormatter: (p) => (p.value ? formatDateTime(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n iconName: 'view',\n title: t('Open This Submission'),\n handleOnClick: (e, params) => {\n history.push(\n `${\n formsRendererUrlPath\n ? formsRendererUrlPath\n : '/page/' + UdpPageEnums.Udp_Form_Renderer_Page\n }?udpf_submissionId=${params?.data?.formSubmission_Id}`\n );\n }\n }\n ]\n }\n }\n ],\n [history, t, formsRendererUrlPath]\n );\n\n\n // ============================================================================\n // Side Sheet Helpers and Handlers\n // ============================================================================\n const handleSidesheetPrimaryClick = useCallback(() => {\n // selectedUdpFormInSideSheet format is \"formId|formVersion\"\n const raw = selectedUdpFormInSideSheet.value || '';\n const [id, versionStr] = raw.split('|');\n const version = Number(versionStr || 0);\n if (!id || !version) {\n console.warn('Invalid selection:', selectedUdpFormInSideSheet);\n setIsSidesheetOpen(false);\n return;\n }\n\n setIsSidesheetOpen(false);\n const urlPath = generateFormRendererUrlPath(id, version);\n history.push(urlPath);\n }, [selectedUdpFormInSideSheet, history, generateFormRendererUrlPath]);\n\n \n const handleSideSheetClosed = () => {\n setSelectedUdpFormInSideSheet({});\n setIsSidesheetOpen(false);\n };\n\n const selectableItems = useMemo(() => {\n const map = new Map();\n\n for (const f of formDataRaw || []) {\n const formType = f.form_Type ?? f.formType ?? f.type;\n if (Number(formType) !== 1) continue;\n\n const formId = f.id ?? f.form_Id ?? f.formId ?? String(f?.Id ?? '');\n const version = Number(f.version ?? f.form_Version ?? f.formVersion ?? 0);\n const name =\n f.name ??\n f.form_Name ??\n f.formName ??\n f.Form_Name ??\n f.displayName ??\n t('Untitled Form');\n const description = f.description ?? f.form_Description ?? '';\n\n const existing = map.get(formId);\n if (!existing || version > existing.version) {\n map.set(formId, { id: formId, name, version, description });\n }\n }\n\n return Array.from(map.values()).sort((a, b) => b.version - a.version);\n }, [formDataRaw, t]);\n\n const selectorOptions = useMemo(() => {\n return (selectableItems || []).map((s) => ({\n value: `${s.id}|${s.version}`,\n label: s.version ? `${s.name} (v${s.version})` : s.name\n }));\n }, [selectableItems]);\n\n const handleSelectedUdpFormInSideSheetChange = (event, newValue) => {\n if (newValue !== null) {\n setSelectedUdpFormInSideSheet(newValue);\n }\n };\n\n const getMainGridContent = ({\n selectedNode,\n menuItemsList,\n idMap,\n classes\n }) => {\n if (!selectedNode) {\n return <PageLoading />;\n }\n const formId = parseIdAndVersion(selectedNode.id);\n const found = innerMenuItemList.find((form) => form.formId == formId);\n const formTitle = `${found?.name}` || 'Unknown Form';\n const newestFormVersion = formDataRaw\n .filter((formObj) => formObj.id == formId)\n .reduce((acc, curr) => {\n return Math.max(acc, curr.version);\n }, 0);\n\n return (\n <>\n <SideSheet\n open={isSidesheetOpen}\n title={t('Submit New Form')}\n position='right'\n width={'30%'}\n buttonLabel={t('New')}\n buttonOneDisabled={!selectedUdpFormInSideSheet.value}\n onSubmit={handleSidesheetPrimaryClick}\n onClose={handleSideSheetClosed}\n >\n <Autocomplete\n options={selectorOptions}\n getOptionLabel={(selectedOption) => selectedOption.label}\n onChange={handleSelectedUdpFormInSideSheetChange}\n value={selectedUdpFormInSideSheet.value}\n disableClearable={true}\n size='small'\n renderInput={(params) => (\n <TextField {...params} label='Choose a Form' variant='outlined' />\n )}\n />\n </SideSheet>\n <SearchMethodUdpGrid\n searchMethodConfig={getSearchMethodConfig(formId)}\n columnDefs={columnDefs}\n gridOptions={gridOptions}\n gridHeaderConfig={getGridHeaderConfig(\n formId,\n newestFormVersion,\n formTitle\n )}\n gridFunctions={gridFunctions}\n gridApiCallback={handleGridApiCallback} // Pass the setter/ref handler\n />\n </>\n );\n };\n\n useEffect(() => {\n if (!tenant?.activeTenant?.tenantId) return;\n\n const urlSearchObjs = parseSearchParamsIntoFilterObjects();\n setFormSubmissionUrlSearchObjs(urlSearchObjs); // THIS LINE TRIGGERS initialFilterModel\n\n let cancelled = false;\n (async () => {\n try {\n // replicate fetchSubmissions logic but using local urlSearchObjs (avoids depending on the state)\n let filterElements = [];\n\n filterElements.push({\n searchField: 'Form_TenantId',\n searchOperator: '=',\n searchValue: tenant.activeTenant.tenantId\n });\n\n if (!isManagerMode) {\n filterElements.push({\n searchField: 'FormSubmission_UnityUserId',\n searchOperator: '=',\n searchValue: user.id\n });\n }\n\n if (generic1 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic1',\n searchOperator: '=',\n searchValue: generic1\n });\n }\n\n if (generic2 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic2',\n searchOperator: '=',\n searchValue: generic2\n });\n }\n\n if (generic3 !== undefined) {\n filterElements.push({\n searchField: 'formSubmission_generic3',\n searchOperator: '=',\n searchValue: generic3\n });\n }\n\n const formSubmissionViewSearchResponse = await apiMutate(\n ConfigService.productV1ApiUrl,\n `UdpFormWithSubmissionsView/search`,\n {\n method: 'POST',\n data: {\n eagerLoad: false,\n getAll: true,\n filterElements\n }\n },\n {}\n );\n\n if (cancelled) return;\n\n const submissions = formSubmissionViewSearchResponse?.data.pageList || [];\n const processedSubmissions = submissions.filter((submission) =>\n submission.form_TenantId === tenant.activeTenant.tenantId\n );\n setFormSubmissionViewDataRaw(processedSubmissions);\n await fetchForms();\n } catch (err) {\n console.error('fetching submissions/forms failed', err);\n }\n })();\n\n return () => {\n cancelled = true;\n };\n }, [\n location.search,\n tenant?.activeTenant?.tenantId,\n generic1,\n generic2,\n generic3,\n isManagerMode,\n user?.id,\n fetchForms\n ]);\n\n // derive menu items from fetched submissions (separate effect to avoid refetch loop)\n useEffect(() => {\n const innerMenuList = consolidateAndSortFormsByFormId(\n formDataRaw || [],\n formSubmissionViewDataRaw || []\n );\n\n innerMenuList.unshift({\n id: 'all-forms-key',\n name: allFormTitle ?? t(\n isManagerMode ? t('All Form Submissions') : t('All My Form Submissions')\n ),\n submissionCount: formSubmissionViewDataRaw?.length || 0\n });\n setInnerMenuItemList(innerMenuList);\n }, [\n formSubmissionViewDataRaw,\n isManagerMode,\n consolidateAndSortFormsByFormId,\n formDataRaw,\n t,\n allFormTitle]);\n\n return (\n <div>\n <CustomMenuPage\n menuTitle={menuTitle ?? t('Forms')}\n items={innerMenuItemList}\n idPrefix='form-submission'\n showItemCount={true}\n itemCountAccessor={(item) => item?.submissionCount ?? 0}\n mainContent={({ selectedNode, menuItemsList, idMap, classes }) => {\n return (\n <div>\n {getMainGridContent({\n selectedNode,\n menuItemsList,\n idMap,\n classes\n })}\n </div>\n );\n }}\n />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { t as apiMutate } from "./useAxiosMutate-DeqKSi5z.js";
5
5
  import { t as FluentDialog } from "./FluentDialog-B5ZxvX1E.js";
6
6
  import { t as AmbientGridTemplate } from "./AmbientGridTemplate-D1TMpzxb.js";
7
7
  import { t as ActionsRenderer } from "./ActionsRenderer-DbrPKZ1o.js";
8
- import { t as UdpGridPanelManagementSidesheet_default } from "./UdpGridPanelManagementSidesheet-CSGsefRn.js";
8
+ import { t as UdpGridPanelManagementSidesheet_default } from "./UdpGridPanelManagementSidesheet-DAPOQmuk.js";
9
9
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
10
10
  import { Typography } from "@material-ui/core";
11
11
  import { AddIcon, DeleteIcon, EditIcon } from "@fluentui/react-icons";
@@ -236,4 +236,4 @@ var UdpGridPanelManagementPage_exports = /* @__PURE__ */ __exportAll({ default:
236
236
 
237
237
  //#endregion
238
238
  export { UdpGridPanelManagementPage_default as n, UdpGridPanelManagementPage_exports as t };
239
- //# sourceMappingURL=UdpGridPanelManagementPage-BYdQNWN3.js.map
239
+ //# sourceMappingURL=UdpGridPanelManagementPage-CkeP9nO-.js.map