udp-react-enterprise-component-library 25.18.1-beta.41 → 25.18.1-beta.43

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 (362) hide show
  1. package/dist/{AadCallback-DL4V3BBL.js → AadCallback-DI_SnmOU.js} +1 -1
  2. package/dist/{AadCallback-DL4V3BBL.js.map → AadCallback-DI_SnmOU.js.map} +1 -1
  3. package/dist/{ActionProvider-2AAAOm9H.js → ActionProvider-C_rohJIr.js} +2 -2
  4. package/dist/{ActionProvider-2AAAOm9H.js.map → ActionProvider-C_rohJIr.js.map} +1 -1
  5. package/dist/{ActionSplitScreen-DeU-9YQb.js → ActionSplitScreen-OFqIncG9.js} +3 -3
  6. package/dist/{ActionSplitScreen-DeU-9YQb.js.map → ActionSplitScreen-OFqIncG9.js.map} +1 -1
  7. package/dist/{ActionWrapper-Btbpz4rx.js → ActionWrapper-d9dIOSYB.js} +4 -4
  8. package/dist/{ActionWrapper-Btbpz4rx.js.map → ActionWrapper-d9dIOSYB.js.map} +1 -1
  9. package/dist/{AmChart-BM2HoPa4.js → AmChart-WvmHsOdz.js} +1 -1
  10. package/dist/{AmChart-BM2HoPa4.js.map → AmChart-WvmHsOdz.js.map} +1 -1
  11. package/dist/{AmbientSingleDateSelector-BQY1Nals.js → AmbientSingleDateSelector-8uylQ-tc.js} +1 -1
  12. package/dist/{AmbientSingleDateSelector-BQY1Nals.js.map → AmbientSingleDateSelector-8uylQ-tc.js.map} +1 -1
  13. package/dist/{AmbientVisualizationCard-Dig-Mh_G.js → AmbientVisualizationCard-Cov8RODG.js} +3 -3
  14. package/dist/{AmbientVisualizationCard-Dig-Mh_G.js.map → AmbientVisualizationCard-Cov8RODG.js.map} +1 -1
  15. package/dist/{AmbientVisualizer-B1Xwwe0J.js → AmbientVisualizer-Bo7NLGfw.js} +1 -1
  16. package/dist/{AmbientVisualizer-B1Xwwe0J.js.map → AmbientVisualizer-Bo7NLGfw.js.map} +1 -1
  17. package/dist/{BarChartWidget-Dwav8_8e.js → BarChartWidget-D-_ZVpMh.js} +1 -1
  18. package/dist/{BarChartWidget-Dwav8_8e.js.map → BarChartWidget-D-_ZVpMh.js.map} +1 -1
  19. package/dist/{BaseTreeMenu-koW5kjhb.js → BaseTreeMenu-nKjw3cil.js} +2 -2
  20. package/dist/{BaseTreeMenu-koW5kjhb.js.map → BaseTreeMenu-nKjw3cil.js.map} +1 -1
  21. package/dist/{BubbleWidget-CsIheJTW.js → BubbleWidget-SplMEBJm.js} +2 -2
  22. package/dist/{BubbleWidget-CsIheJTW.js.map → BubbleWidget-SplMEBJm.js.map} +1 -1
  23. package/dist/{CardList-BPNGTxsh.js → CardList-B_F1Qgqh.js} +1 -1
  24. package/dist/{CardList-BPNGTxsh.js.map → CardList-B_F1Qgqh.js.map} +1 -1
  25. package/dist/{CircleButton-cl6mmDmn.js → CircleButton-B9JAMG53.js} +2 -2
  26. package/dist/{CircleButton-cl6mmDmn.js.map → CircleButton-B9JAMG53.js.map} +1 -1
  27. package/dist/{ContentContainer-DmKz5kvq.js → ContentContainer-DuDrf5lL.js} +1 -1
  28. package/dist/{ContentContainer-DmKz5kvq.js.map → ContentContainer-DuDrf5lL.js.map} +1 -1
  29. package/dist/{DataBrowserContainer-DPB12XVR.js → DataBrowserContainer-DZGhEt9N.js} +3 -3
  30. package/dist/{DataBrowserContainer-DPB12XVR.js.map → DataBrowserContainer-DZGhEt9N.js.map} +1 -1
  31. package/dist/{DateTrendWidget-DzqqUeZv.js → DateTrendWidget-F6hBnYej.js} +1 -1
  32. package/dist/{DateTrendWidget-DzqqUeZv.js.map → DateTrendWidget-F6hBnYej.js.map} +1 -1
  33. package/dist/{DensePlotWidget-CsRmVbqu.js → DensePlotWidget-BEhHNh53.js} +1 -1
  34. package/dist/{DensePlotWidget-CsRmVbqu.js.map → DensePlotWidget-BEhHNh53.js.map} +1 -1
  35. package/dist/{Directory-CoEKdRkU.js → Directory-CFTCLxWZ.js} +1 -1
  36. package/dist/{Directory-CoEKdRkU.js.map → Directory-CFTCLxWZ.js.map} +1 -1
  37. package/dist/{EntityHeader-CuiVOsA7.js → EntityHeader-D_gYzj76.js} +2 -2
  38. package/dist/{EntityHeader-CuiVOsA7.js.map → EntityHeader-D_gYzj76.js.map} +1 -1
  39. package/dist/{FieldArrayCard-CgM6q87c.js → FieldArrayCard-Bv9h9akG.js} +1 -1
  40. package/dist/{FieldArrayCard-CgM6q87c.js.map → FieldArrayCard-Bv9h9akG.js.map} +1 -1
  41. package/dist/{FileUpload-t3PZx_yE.js → FileUpload-BCxrOds_.js} +1 -1
  42. package/dist/{FileUpload-t3PZx_yE.js.map → FileUpload-BCxrOds_.js.map} +1 -1
  43. package/dist/{FluentCardHeader-CRJaqkV3.js → FluentCardHeader-BdMB2qzK.js} +1 -1
  44. package/dist/{FluentCardHeader-CRJaqkV3.js.map → FluentCardHeader-BdMB2qzK.js.map} +1 -1
  45. package/dist/{FluentCell-C1d53Ct2.js → FluentCell-D2lpxw4O.js} +2 -2
  46. package/dist/{FluentCell-C1d53Ct2.js.map → FluentCell-D2lpxw4O.js.map} +1 -1
  47. package/dist/{FluentDataTable-C1rFIP0M.js → FluentDataTable-ChpZUwal.js} +2 -2
  48. package/dist/{FluentDataTable-C1rFIP0M.js.map → FluentDataTable-ChpZUwal.js.map} +1 -1
  49. package/dist/{FluentLink-D-gKioCQ.js → FluentLink-DP2eDAH2.js} +1 -1
  50. package/dist/{FluentLink-D-gKioCQ.js.map → FluentLink-DP2eDAH2.js.map} +1 -1
  51. package/dist/{FluentRadioGroup-Cfldr9dO.js → FluentRadioGroup-CCKelZVk.js} +1 -1
  52. package/dist/{FluentRadioGroup-Cfldr9dO.js.map → FluentRadioGroup-CCKelZVk.js.map} +1 -1
  53. package/dist/{FluentSelectMenu-BEREJbe-.js → FluentSelectMenu-yQMFZWEg.js} +1 -1
  54. package/dist/{FluentSelectMenu-BEREJbe-.js.map → FluentSelectMenu-yQMFZWEg.js.map} +1 -1
  55. package/dist/{FluentSimpleSelect-Djff-up8.js → FluentSimpleSelect-DxxbQV37.js} +2 -2
  56. package/dist/{FluentSimpleSelect-Djff-up8.js.map → FluentSimpleSelect-DxxbQV37.js.map} +1 -1
  57. package/dist/{FluentTimeline-D8sfgLj1.js → FluentTimeline-BEPJHsgi.js} +1 -1
  58. package/dist/{FluentTimeline-D8sfgLj1.js.map → FluentTimeline-BEPJHsgi.js.map} +1 -1
  59. package/dist/{GraphCard-Dv4a99wo.js → GraphCard-CcXwOERk.js} +1 -1
  60. package/dist/{GraphCard-Dv4a99wo.js.map → GraphCard-CcXwOERk.js.map} +1 -1
  61. package/dist/{IconKey-D7fZ_U4O.js → IconKey-CbK8_rol.js} +1 -1
  62. package/dist/{IconKey-D7fZ_U4O.js.map → IconKey-CbK8_rol.js.map} +1 -1
  63. package/dist/{IconRenderer-B6ZoqrTX.js → IconRenderer-JdCm70xC.js} +2 -2
  64. package/dist/{IconRenderer-B6ZoqrTX.js.map → IconRenderer-JdCm70xC.js.map} +1 -1
  65. package/dist/Inquiry-C1q14Yyd.js +3 -0
  66. package/dist/{Inquiry-CeZgX9ls.js → Inquiry-Cjz91wf_.js} +7 -7
  67. package/dist/{Inquiry-CeZgX9ls.js.map → Inquiry-Cjz91wf_.js.map} +1 -1
  68. package/dist/{InquirySearchContainer-BIpngula.js → InquirySearchContainer-BnHwUWFC.js} +2 -2
  69. package/dist/{InquirySearchContainer-BIpngula.js.map → InquirySearchContainer-BnHwUWFC.js.map} +1 -1
  70. package/dist/{LineAndSparklinesWidget-B7U_tk1Y.js → LineAndSparklinesWidget-KVAnvpKl.js} +1 -1
  71. package/dist/{LineAndSparklinesWidget-B7U_tk1Y.js.map → LineAndSparklinesWidget-KVAnvpKl.js.map} +1 -1
  72. package/dist/{LineGraphWidget-vAqCb_aI.js → LineGraphWidget-CYjLiV5B.js} +1 -1
  73. package/dist/{LineGraphWidget-vAqCb_aI.js.map → LineGraphWidget-CYjLiV5B.js.map} +1 -1
  74. package/dist/{MenuPage-CkV002Ni.js → MenuPage-BS8ti9lx.js} +3 -3
  75. package/dist/{MenuPage-CkV002Ni.js.map → MenuPage-BS8ti9lx.js.map} +1 -1
  76. package/dist/MenuPage-DV20TjmL.js +3 -0
  77. package/dist/{MttMainTimeline-DIzQDgmK.js → MttMainTimeline-nusYDWg_.js} +2 -2
  78. package/dist/{MttMainTimeline-DIzQDgmK.js.map → MttMainTimeline-nusYDWg_.js.map} +1 -1
  79. package/dist/{MttSummary-Ctibq7Eu.js → MttSummary-DWESRW7k.js} +3 -3
  80. package/dist/{MttSummary-Ctibq7Eu.js.map → MttSummary-DWESRW7k.js.map} +1 -1
  81. package/dist/MyExportsPage-B3A6lwaV.js +3 -0
  82. package/dist/{MyExportsPage-DAYh16lE.js → MyExportsPage-BwcVZASe.js} +3 -3
  83. package/dist/{MyExportsPage-DAYh16lE.js.map → MyExportsPage-BwcVZASe.js.map} +1 -1
  84. package/dist/{NewsCard-C3y9a_OJ.js → NewsCard-Y-exMCuK.js} +1 -1
  85. package/dist/{NewsCard-C3y9a_OJ.js.map → NewsCard-Y-exMCuK.js.map} +1 -1
  86. package/dist/{Notes-UkwV2z4D.js → Notes-i2G6Ugsq.js} +1 -1
  87. package/dist/{Notes-UkwV2z4D.js.map → Notes-i2G6Ugsq.js.map} +1 -1
  88. package/dist/{NotesScreen-Xj0vl0v1.js → NotesScreen-DE3fhpjW.js} +4 -4
  89. package/dist/{NotesScreen-Xj0vl0v1.js.map → NotesScreen-DE3fhpjW.js.map} +1 -1
  90. package/dist/{OutlookCallback-ClSfPtyN.js → OutlookCallback-teOtztm6.js} +1 -1
  91. package/dist/{OutlookCallback-ClSfPtyN.js.map → OutlookCallback-teOtztm6.js.map} +1 -1
  92. package/dist/{PageActionWrapper-DonuC2VZ.js → PageActionWrapper-C-irIPLE.js} +2 -2
  93. package/dist/{PageActionWrapper-DonuC2VZ.js.map → PageActionWrapper-C-irIPLE.js.map} +1 -1
  94. package/dist/{PageNotFoundRoute-BfkErQJB.js → PageNotFoundRoute-B_mbfK8s.js} +1 -1
  95. package/dist/{PageNotFoundRoute-dmLyzuH3.js → PageNotFoundRoute-i_Tf23jB.js} +1 -1
  96. package/dist/{PageNotFoundRoute-dmLyzuH3.js.map → PageNotFoundRoute-i_Tf23jB.js.map} +1 -1
  97. package/dist/{PaymentForm-jJcVd3Du.js → PaymentForm-BTLh5bXJ.js} +3 -3
  98. package/dist/{PaymentForm-jJcVd3Du.js.map → PaymentForm-BTLh5bXJ.js.map} +1 -1
  99. package/dist/{RecentlyLoadedNodesTable-CIR8D1c4.js → RecentlyLoadedNodesTable-8WQBaAl4.js} +2 -2
  100. package/dist/{RecentlyLoadedNodesTable-CIR8D1c4.js.map → RecentlyLoadedNodesTable-8WQBaAl4.js.map} +1 -1
  101. package/dist/{RecentlyLoadedNodesWidget-D0lhioMn.js → RecentlyLoadedNodesWidget--NDwNQQF.js} +2 -2
  102. package/dist/{RecentlyLoadedNodesWidget-D0lhioMn.js.map → RecentlyLoadedNodesWidget--NDwNQQF.js.map} +1 -1
  103. package/dist/{RejectIcon-lx34XeEL.js → RejectIcon-CNSkW92y.js} +1 -1
  104. package/dist/{RejectIcon-lx34XeEL.js.map → RejectIcon-CNSkW92y.js.map} +1 -1
  105. package/dist/{RemindersCard-rF51zmWF.js → RemindersCard-CSJ8buYt.js} +2 -2
  106. package/dist/{RemindersCard-rF51zmWF.js.map → RemindersCard-CSJ8buYt.js.map} +1 -1
  107. package/dist/{RemindersScreen-Cg6_SGJI.js → RemindersScreen-CyT18piP.js} +4 -4
  108. package/dist/{RemindersScreen-Cg6_SGJI.js.map → RemindersScreen-CyT18piP.js.map} +1 -1
  109. package/dist/{RemindersWidget-BcLn4sdk.js → RemindersWidget-B3qlh8K-.js} +3 -3
  110. package/dist/{RemindersWidget-BcLn4sdk.js.map → RemindersWidget-B3qlh8K-.js.map} +1 -1
  111. package/dist/Reports-CLowSLq9.js +3 -0
  112. package/dist/{Reports-CxRaLcxr.js → Reports-Cz5Pl1rM.js} +1 -1
  113. package/dist/{Reports-CxRaLcxr.js.map → Reports-Cz5Pl1rM.js.map} +1 -1
  114. package/dist/{SearchServiceDatasource-CeBOfTB0.js → SearchServiceDatasource-BrfkHkEq.js} +2 -2
  115. package/dist/{SearchServiceDatasource-CeBOfTB0.js.map → SearchServiceDatasource-BrfkHkEq.js.map} +1 -1
  116. package/dist/{SearchUtilities-CNz302LN.js → SearchUtilities-B1TCyppF.js} +20 -2
  117. package/dist/SearchUtilities-B1TCyppF.js.map +1 -0
  118. package/dist/{Shell-9TXRPvXM.js → Shell-CAPPm490.js} +5 -5
  119. package/dist/{Shell-9TXRPvXM.js.map → Shell-CAPPm490.js.map} +1 -1
  120. package/dist/{ShortcutContentFinder-B66kZQLM.js → ShortcutContentFinder-DTkqEgtI.js} +2 -2
  121. package/dist/{ShortcutContentFinder-B66kZQLM.js.map → ShortcutContentFinder-DTkqEgtI.js.map} +1 -1
  122. package/dist/{SimpleTable-lLaKKBvn.js → SimpleTable-z8tz6B0B.js} +1 -1
  123. package/dist/{SimpleTable-lLaKKBvn.js.map → SimpleTable-z8tz6B0B.js.map} +1 -1
  124. package/dist/{SiteHeader-DUNj1MrC.js → SiteHeader-wIcmMhx9.js} +3 -3
  125. package/dist/{SiteHeader-DUNj1MrC.js.map → SiteHeader-wIcmMhx9.js.map} +1 -1
  126. package/dist/{SparsePlotWidget-Ct-6iTAs.js → SparsePlotWidget-B3wtNHo2.js} +1 -1
  127. package/dist/{SparsePlotWidget-Ct-6iTAs.js.map → SparsePlotWidget-B3wtNHo2.js.map} +1 -1
  128. package/dist/{Statistic-CllW32VF.js → Statistic-IWynWCev.js} +2 -2
  129. package/dist/{Statistic-CllW32VF.js.map → Statistic-IWynWCev.js.map} +1 -1
  130. package/dist/{StatusCellRenderer-CVOARrth.js → StatusCellRenderer-BuPuvngw.js} +1 -1
  131. package/dist/{StatusCellRenderer-CVOARrth.js.map → StatusCellRenderer-BuPuvngw.js.map} +1 -1
  132. package/dist/{TableContainer-CcBkqd33.js → TableContainer-CcHjtMCa.js} +2 -2
  133. package/dist/{TableContainer-CcBkqd33.js.map → TableContainer-CcHjtMCa.js.map} +1 -1
  134. package/dist/{TicketCard-IqCCKSc0.js → TicketCard-D-FtADsb.js} +1 -1
  135. package/dist/{TicketCard-IqCCKSc0.js.map → TicketCard-D-FtADsb.js.map} +1 -1
  136. package/dist/{TimelineCalendar-D7T32gIH.js → TimelineCalendar-Mi4baqsg.js} +1 -1
  137. package/dist/{TimelineCalendar-D7T32gIH.js.map → TimelineCalendar-Mi4baqsg.js.map} +1 -1
  138. package/dist/{TokenGroupItem-BK0dx4cD.js → TokenGroupItem-DKbm__Kc.js} +1 -1
  139. package/dist/{TokenGroupItem-BK0dx4cD.js.map → TokenGroupItem-DKbm__Kc.js.map} +1 -1
  140. package/dist/{TreeUtilities-kiPupulY.js → TreeUtilities-VCy2z4Qv.js} +2 -2
  141. package/dist/{TreeUtilities-kiPupulY.js.map → TreeUtilities-VCy2z4Qv.js.map} +1 -1
  142. package/dist/UI/accordion/index.js +1 -1
  143. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
  144. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  145. package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
  146. package/dist/UI/dataDisplay/calendar/index.js +1 -1
  147. package/dist/UI/dataDisplay/cardList/index.js +1 -1
  148. package/dist/UI/dataDisplay/directory/index.js +1 -1
  149. package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
  150. package/dist/UI/dataDisplay/index.js +1 -1
  151. package/dist/UI/dataDisplay/map/index.js +1 -1
  152. package/dist/UI/dataDisplay/notes/index.js +1 -1
  153. package/dist/UI/dataDisplay/ticketCard/index.js +1 -1
  154. package/dist/UI/dataDisplay/visualization/amCharts/index.js +1 -1
  155. package/dist/UI/dataDisplay/visualization/index.js +1 -1
  156. package/dist/UI/fileViewer/index.js +1 -1
  157. package/dist/UI/forms/index.js +1 -1
  158. package/dist/UI/index.js +5 -5
  159. package/dist/UI/inputs/calendar/index.js +1 -1
  160. package/dist/UI/inputs/dateRangeSelector/index.js +1 -1
  161. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  162. package/dist/UI/inputs/link/index.js +1 -1
  163. package/dist/UI/inputs/menus/index.js +2 -2
  164. package/dist/UI/inputs/radio/index.js +1 -1
  165. package/dist/UI/mapLayout/ui/index.js +1 -1
  166. package/dist/UI/surfaces/cards/chartDisplayCards/index.js +1 -1
  167. package/dist/UI/surfaces/cards/fluentCards/index.js +1 -1
  168. package/dist/UI/surfaces/cards/newsCard/index.js +1 -1
  169. package/dist/UI/surfaces/cards/workOrderCard/index.js +1 -1
  170. package/dist/UI/templates/calendar/index.js +1 -1
  171. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  172. package/dist/UI/templates/ui/index.js +1 -1
  173. package/dist/UI/templates/ui/renderers/index.js +2 -2
  174. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  175. package/dist/UI/timeline/index.js +1 -1
  176. package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
  177. package/dist/UI/widgets/library/BubbleWidget/index.js +1 -1
  178. package/dist/UI/widgets/library/CircleGaugeWidget/index.js +110 -2
  179. package/dist/UI/widgets/library/CircleGaugeWidget/index.js.map +1 -0
  180. package/dist/UI/widgets/library/DateTrendWidget/index.js +1 -1
  181. package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
  182. package/dist/UI/widgets/library/GaugeWidget/index.js +381 -2
  183. package/dist/UI/widgets/library/GaugeWidget/index.js.map +1 -0
  184. package/dist/UI/widgets/library/LineAndSparklinesWidget/index.js +1 -1
  185. package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
  186. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  187. package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
  188. package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
  189. package/dist/UI/widgets/library/TableWidget/index.js +1 -1
  190. package/dist/{UdpAppProvider-C6fH--WD.js → UdpAppProvider-BRyRY8zN.js} +2 -2
  191. package/dist/{UdpAppProvider-C6fH--WD.js.map → UdpAppProvider-BRyRY8zN.js.map} +1 -1
  192. package/dist/{UdpCalendarYearView-BEdW-myL.js → UdpCalendarYearView-BSR8CGHt.js} +1 -1
  193. package/dist/{UdpCalendarYearView-BEdW-myL.js.map → UdpCalendarYearView-BSR8CGHt.js.map} +1 -1
  194. package/dist/{UdpDataBrowserPage-CQ0vS2GN.js → UdpDataBrowserPage-B-afkKoz.js} +4 -4
  195. package/dist/{UdpDataBrowserPage-CQ0vS2GN.js.map → UdpDataBrowserPage-B-afkKoz.js.map} +1 -1
  196. package/dist/{UdpDateRangeSelector-BivfBlPa.js → UdpDateRangeSelector-C_gpkHul.js} +1 -1
  197. package/dist/{UdpDateRangeSelector-BivfBlPa.js.map → UdpDateRangeSelector-C_gpkHul.js.map} +1 -1
  198. package/dist/{UdpFormsSubmissionGrid-i3P4ZwQx.js → UdpFormsSubmissionGrid-PWsnFyYB.js} +239 -64
  199. package/dist/UdpFormsSubmissionGrid-PWsnFyYB.js.map +1 -0
  200. package/dist/{UdpGridTemplate-OsS_O6jR.js → UdpGridTemplate-U9YcYLUf.js} +1 -1
  201. package/dist/{UdpGridTemplate-OsS_O6jR.js.map → UdpGridTemplate-U9YcYLUf.js.map} +1 -1
  202. package/dist/{UdpInquiryMaintenanceEnginePage-D7HFcJQu.js → UdpInquiryMaintenanceEnginePage-BiKDpo6a.js} +2 -2
  203. package/dist/{UdpInquiryMaintenanceEnginePage-D7HFcJQu.js.map → UdpInquiryMaintenanceEnginePage-BiKDpo6a.js.map} +1 -1
  204. package/dist/{UdpMaintenanceEnginePage-CX5L5k-E.js → UdpMaintenanceEnginePage-C1UcnDlL.js} +3 -3
  205. package/dist/{UdpMaintenanceEnginePage-CX5L5k-E.js.map → UdpMaintenanceEnginePage-C1UcnDlL.js.map} +1 -1
  206. package/dist/{UdpNotesPage-CgIdQgVV.js → UdpNotesPage-Deug2da_.js} +3 -3
  207. package/dist/{UdpNotesPage-CgIdQgVV.js.map → UdpNotesPage-Deug2da_.js.map} +1 -1
  208. package/dist/{UdpRemindersPage-CfLAOWP_.js → UdpRemindersPage-B8vCglBX.js} +3 -3
  209. package/dist/{UdpRemindersPage-CfLAOWP_.js.map → UdpRemindersPage-B8vCglBX.js.map} +1 -1
  210. package/dist/{UdpTransactionsPage-llP_6pYr.js → UdpTransactionsPage-B5uhMoFg.js} +32 -26
  211. package/dist/UdpTransactionsPage-B5uhMoFg.js.map +1 -0
  212. package/dist/{UdpVerticalManagementPage-ndwqxjDI.js → UdpVerticalManagementPage-DHK7-w0K.js} +2 -2
  213. package/dist/{UdpVerticalManagementPage-ndwqxjDI.js.map → UdpVerticalManagementPage-DHK7-w0K.js.map} +1 -1
  214. package/dist/{UdpVerticalManagementSidesheet-DomJyrvo.js → UdpVerticalManagementSidesheet-C2kuDXac.js} +2 -2
  215. package/dist/{UdpVerticalManagementSidesheet-DomJyrvo.js.map → UdpVerticalManagementSidesheet-C2kuDXac.js.map} +1 -1
  216. package/dist/{UserFormSideSheet-Bzw3AVnY.js → UserFormSideSheet-B6Mn3bZ0.js} +1 -1
  217. package/dist/{UserFormSideSheet-Bzw3AVnY.js.map → UserFormSideSheet-B6Mn3bZ0.js.map} +1 -1
  218. package/dist/UserFormSideSheet-C1G_jBcu.js +3 -0
  219. package/dist/VirtualBrowser-BoHR4EBJ.js +3 -0
  220. package/dist/{VirtualBrowser-BWflR1ah.js → VirtualBrowser-C2oPh3YY.js} +1 -1
  221. package/dist/{VirtualBrowser-BWflR1ah.js.map → VirtualBrowser-C2oPh3YY.js.map} +1 -1
  222. package/dist/{WorkOrderCard-s-6QK3Re.js → WorkOrderCard-Ce5WrpnX.js} +1 -1
  223. package/dist/{WorkOrderCard-s-6QK3Re.js.map → WorkOrderCard-Ce5WrpnX.js.map} +1 -1
  224. package/dist/{WorkflowContainer-CA0eMzMU.js → WorkflowContainer-Cd5H4mpf.js} +2 -2
  225. package/dist/{WorkflowContainer-CA0eMzMU.js.map → WorkflowContainer-Cd5H4mpf.js.map} +1 -1
  226. package/dist/{WorkflowContainer-LP2LBBn6.js → WorkflowContainer-Iq8fmnGR.js} +1 -1
  227. package/dist/{WorkflowTreeMenu-CTxpL6vb.js → WorkflowTreeMenu-D2Uc09jP.js} +2 -2
  228. package/dist/{WorkflowTreeMenu-CTxpL6vb.js.map → WorkflowTreeMenu-D2Uc09jP.js.map} +1 -1
  229. package/dist/{accordion-SICjF7Th.js → accordion-CT8euUVM.js} +2 -2
  230. package/dist/{accordion-SICjF7Th.js.map → accordion-CT8euUVM.js.map} +1 -1
  231. package/dist/actions/index.js +5 -3
  232. package/dist/{aggridHelpers-af9idKBD.js → aggridHelpers-BeUZvPIv.js} +2 -2
  233. package/dist/{aggridHelpers-af9idKBD.js.map → aggridHelpers-BeUZvPIv.js.map} +1 -1
  234. package/dist/componentSystems/multiThreadTimeline/index.js +7 -3
  235. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  236. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
  237. package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
  238. package/dist/componentSystems/pageRenderer/index.js +4 -0
  239. package/dist/dataBrowser/index.js +2 -1
  240. package/dist/{fileViewer-BmTE1zuM.js → fileViewer-BVzlhb3g.js} +2 -2
  241. package/dist/{fileViewer-BmTE1zuM.js.map → fileViewer-BVzlhb3g.js.map} +1 -1
  242. package/dist/{fluentTimeline-BCLxH23f.js → fluentTimeline-BWoLOxF_.js} +2 -2
  243. package/dist/{fluentTimeline-BCLxH23f.js.map → fluentTimeline-BWoLOxF_.js.map} +1 -1
  244. package/dist/{forms-CuTE3vcQ.js → forms-Eqr3TUUl.js} +2 -1
  245. package/dist/{forms-CuTE3vcQ.js.map → forms-Eqr3TUUl.js.map} +1 -1
  246. package/dist/{gridVisualizationFunctions-D4fd_Ceb.js → gridVisualizationFunctions-jnvPACJD.js} +1 -1
  247. package/dist/{gridVisualizationFunctions-D4fd_Ceb.js.map → gridVisualizationFunctions-jnvPACJD.js.map} +1 -1
  248. package/dist/index.js +95 -80
  249. package/dist/index.js.map +1 -0
  250. package/dist/inquiry/dashboard/index.js +1 -1
  251. package/dist/inquiry/index.js +3 -3
  252. package/dist/inquiry/search/index.js +1 -1
  253. package/dist/maintenanceEngine/index.js +5 -2
  254. package/dist/maintenanceEngine/tableBrowser/index.js +1 -1
  255. package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
  256. package/dist/menuPage/index.js +1 -1
  257. package/dist/{menuPage-C0cuD8I3.js → menuPage-B9NwQJVt.js} +2 -2
  258. package/dist/{menuPage-C0cuD8I3.js.map → menuPage-B9NwQJVt.js.map} +1 -1
  259. package/dist/notes/index.js +1 -1
  260. package/dist/providers/index.js +1 -1
  261. package/dist/reminders/index.js +2 -2
  262. package/dist/routes/components/index.js +1 -1
  263. package/dist/routes/index.js +1 -1
  264. package/dist/{routes-C-KBRkwM.js → routes-DG4NLFP9.js} +9 -9
  265. package/dist/{routes-C-KBRkwM.js.map → routes-DG4NLFP9.js.map} +1 -1
  266. package/dist/shell/index.js +3 -2
  267. package/dist/shell/ui/index.js +1 -1
  268. package/dist/{theme-C-5VosEn.js → theme-IKiRfNgl.js} +1 -1
  269. package/dist/{theme-C-5VosEn.js.map → theme-IKiRfNgl.js.map} +1 -1
  270. package/dist/treeMenu/index.js +1 -1
  271. package/dist/types/src/UI/forms/UdpTransactionEmailForm.d.ts.map +1 -1
  272. package/dist/types/src/index.d.ts +3 -0
  273. package/dist/types/src/index.d.ts.map +1 -1
  274. package/dist/types/src/kpi/UdpKpiCard.d.ts +4 -0
  275. package/dist/types/src/kpi/UdpKpiCard.d.ts.map +1 -0
  276. package/dist/types/src/kpi/UdpKpiCards.d.ts +4 -0
  277. package/dist/types/src/kpi/UdpKpiCards.d.ts.map +1 -0
  278. package/dist/types/src/kpi/type.d.ts +36 -0
  279. package/dist/types/src/kpi/type.d.ts.map +1 -0
  280. package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -1
  281. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -1
  282. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts +21 -0
  283. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
  284. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachments.d.ts.map +1 -1
  285. package/dist/types/src/utilities/search/Search.d.ts +3 -1
  286. package/dist/types/src/utilities/search/Search.d.ts.map +1 -1
  287. package/dist/types/src/utilities/search/SearchUtilities.d.ts +4 -1
  288. package/dist/types/src/utilities/search/SearchUtilities.d.ts.map +1 -1
  289. package/dist/types/tsconfig.tsbuildinfo +1 -1
  290. package/dist/udp/ShortcutContent/index.js +1 -1
  291. package/dist/udp/export/index.js +1 -1
  292. package/dist/udp/fileImportMapping/index.js +1 -1
  293. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  294. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  295. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  296. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  297. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  298. package/dist/udp/pages/UdpPages/index.js +51 -2
  299. package/dist/udp/pages/UdpPages/index.js.map +1 -0
  300. package/dist/udp/pages/UdpPagesLazy/index.js +55 -2
  301. package/dist/udp/pages/UdpPagesLazy/index.js.map +1 -0
  302. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  303. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  304. package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
  305. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
  306. package/dist/udp/pages/index.js +1 -1
  307. package/dist/utilities/aggrid/datasources/index.js +1 -1
  308. package/dist/utilities/aggrid/index.js +1 -1
  309. package/dist/utilities/customIcons/index.js +1 -1
  310. package/dist/utilities/floorplanFunctions/index.js +1 -1
  311. package/dist/utilities/form/paymentForm/index.js +1 -1
  312. package/dist/utilities/provider/index.js +1 -1
  313. package/dist/utilities/redirect/pages/index.js +1 -1
  314. package/dist/utilities/search/index.js +2 -2
  315. package/dist/utilities/style/index.js +1 -1
  316. package/dist/utilities/theme/index.js +1 -1
  317. package/dist/utilities/tree/index.js +1 -1
  318. package/dist/utilities/uploader/index.js +1 -1
  319. package/dist/workflow/index.js +4 -2
  320. package/dist/workflow/menus/index.js +1 -1
  321. package/export-map.json +5 -2
  322. package/package.json +2 -2
  323. package/dist/CircleGaugeWidget-Dbn-Hfs9.js +0 -111
  324. package/dist/CircleGaugeWidget-Dbn-Hfs9.js.map +0 -1
  325. package/dist/GaugeWidget-GvHtWlDn.js +0 -382
  326. package/dist/GaugeWidget-GvHtWlDn.js.map +0 -1
  327. package/dist/Inquiry-Cs1kj7m_.js +0 -3
  328. package/dist/MenuPage-IThq2ihD.js +0 -3
  329. package/dist/MyExportsPage-DMLtTRuJ.js +0 -3
  330. package/dist/Reports-Dsm8UDrt.js +0 -3
  331. package/dist/SearchUtilities-CNz302LN.js.map +0 -1
  332. package/dist/UdpFormsSubmissionGrid-i3P4ZwQx.js.map +0 -1
  333. package/dist/UdpPages-iGKLrxEq.js +0 -52
  334. package/dist/UdpPages-iGKLrxEq.js.map +0 -1
  335. package/dist/UdpPagesLazy-DAB_UwLn.js +0 -56
  336. package/dist/UdpPagesLazy-DAB_UwLn.js.map +0 -1
  337. package/dist/UdpTransactionsPage-llP_6pYr.js.map +0 -1
  338. package/dist/UserFormSideSheet-D6a35hXn.js +0 -3
  339. package/dist/VirtualBrowser-BLWKTPvM.js +0 -3
  340. package/dist/hocs-CyRt-7I7.js +0 -1
  341. package/dist/hooks-CZjs7TAZ.js +0 -1
  342. package/dist/menus-CETPr-Rz.js +0 -1
  343. package/dist/modified-BJdpgdkg.js +0 -1
  344. package/dist/mttMainTimeline-8er52lk7.js +0 -1
  345. package/dist/mttSummary-DjO6x1z3.js +0 -1
  346. package/dist/redirect-CiRW3aom.js +0 -1
  347. package/dist/renderers-CWJe-F-V.js +0 -1
  348. package/dist/sidebar-D6ohji9U.js +0 -1
  349. package/dist/storage-BH6-5v7t.js +0 -1
  350. package/dist/tableBrowser-DOXhQA7W.js +0 -1
  351. package/dist/ui-C4kNul8N.js +0 -1
  352. package/dist/ui-DKHa8sM6.js +0 -1
  353. package/dist/utils-DfHe3cg_.js +0 -1
  354. package/dist/utils-kACkfC1q.js +0 -1
  355. package/dist/virtualBrowser-CGrDP18C.js +0 -1
  356. package/dist/wrappers-RliXkfVO.js +0 -1
  357. /package/dist/{addUser-dW2T5ebz.js → addUser-B8dGyltZ.js} +0 -0
  358. /package/dist/{appSwitcher-Cc_raXX2.js → appSwitcher-Bcd4Cwcx.js} +0 -0
  359. /package/dist/{components-C06UZfZG.js → modified-BZxg92lm.js} +0 -0
  360. /package/dist/{crudBrowser-lDw1oxV2.js → redirect-dbCS_8ib.js} +0 -0
  361. /package/dist/{forms-CywZzmBr.js → renderers-DTo5-0ZY.js} +0 -0
  362. /package/dist/{functions-XSah-gNz.js → storage-C9onsVtI.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"UdpDataBrowserPage-CQ0vS2GN.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-B-afkKoz.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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"}
@@ -8,4 +8,4 @@ const UdpDateRangeSelector$1 = (props) => {
8
8
 
9
9
  //#endregion
10
10
  export { UdpDateRangeSelector$1 as t };
11
- //# sourceMappingURL=UdpDateRangeSelector-BivfBlPa.js.map
11
+ //# sourceMappingURL=UdpDateRangeSelector-C_gpkHul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpDateRangeSelector-BivfBlPa.js","names":["UdpDateRangeSelector","UdpDateRangeSelectorStencil"],"sources":["../src/UI/inputs/dateRangeSelector/UdpDateRangeSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { UdpDateRangeSelector as UdpDateRangeSelectorStencil } from 'udp-react-stencil-component-library';\n\nexport const UdpDateRangeSelector = (props) => {\n return <UdpDateRangeSelectorStencil {...props} />;\n};\n"],"mappings":";;;;AAGA,MAAaA,0BAAwB,UAAU;AAC7C,QAAO,oCAACC,sBAAgC,MAAS"}
1
+ {"version":3,"file":"UdpDateRangeSelector-C_gpkHul.js","names":["UdpDateRangeSelector","UdpDateRangeSelectorStencil"],"sources":["../src/UI/inputs/dateRangeSelector/UdpDateRangeSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { UdpDateRangeSelector as UdpDateRangeSelectorStencil } from 'udp-react-stencil-component-library';\n\nexport const UdpDateRangeSelector = (props) => {\n return <UdpDateRangeSelectorStencil {...props} />;\n};\n"],"mappings":";;;;AAGA,MAAaA,0BAAwB,UAAU;AAC7C,QAAO,oCAACC,sBAAgC,MAAS"}
@@ -1,16 +1,19 @@
1
- import { t as ConfigService$1 } from "./configService-C4uoG3wj.js";
1
+ import { t as ConfigService } from "./configService-C4uoG3wj.js";
2
2
  import { n as UdpPageEnums } from "./pageEnums-DHCYa0ey.js";
3
3
  import { t as useUser } from "./useUser-wpHGo6jU.js";
4
4
  import { t as apiMutate } from "./useAxiosMutate-DeqKSi5z.js";
5
+ import { o as SqlFilterOperators } from "./SearchUtilities-B1TCyppF.js";
6
+ import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
5
7
  import { t as PageLoading } from "./PageLoading-GD6E2uMU.js";
6
8
  import { t as useTenant } from "./useTenant-CGaZEBEJ.js";
7
9
  import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-CWYZUOx-.js";
8
- import { t as CustomMenuPage_default } from "./menuPage-C0cuD8I3.js";
10
+ import { t as CustomMenuPage_default } from "./menuPage-B9NwQJVt.js";
9
11
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
12
+ import { TextField } from "@material-ui/core";
10
13
  import { useSnackbar } from "notistack";
11
- import { useHistory } from "react-router-dom";
14
+ import { useHistory, useLocation } from "react-router-dom";
12
15
  import { useTranslation } from "react-i18next";
13
- import { UdpSelector, UdpSideSheet } from "udp-react-stencil-component-library";
16
+ import { Autocomplete } from "@material-ui/lab";
14
17
 
15
18
  //#region src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx
16
19
  const UdpFormsSubmissionStatusEnum = Object.freeze({
@@ -30,20 +33,151 @@ const dateFormatter = (dateString) => {
30
33
  hour12: true
31
34
  });
32
35
  };
36
+ const filterConfigByUrlField = {
37
+ form_name: {
38
+ agGridField: "form_Name",
39
+ filterType: "text"
40
+ },
41
+ formsubmission_formversion: {
42
+ agGridField: "formSubmission_FormVersion",
43
+ filterType: "number"
44
+ },
45
+ form_description: {
46
+ agGridField: "form_Description",
47
+ filterType: "text"
48
+ },
49
+ formsubmission_userdisplayname: {
50
+ agGridField: "formSubmission_UserDisplayName",
51
+ filterType: "text"
52
+ },
53
+ formsubmission_status: {
54
+ agGridField: "formSubmission_Status",
55
+ filterType: "number"
56
+ },
57
+ formsubmission_initialcreatedon: {
58
+ agGridField: "formSubmission_InitialCreatedOn",
59
+ filterType: "date"
60
+ },
61
+ formsubmission_lastmodifiedon: {
62
+ agGridField: "formSubmission_LastModifiedOn",
63
+ filterType: "date"
64
+ },
65
+ formsubmission_submittedon: {
66
+ agGridField: "formSubmission_SubmittedOn",
67
+ filterType: "date"
68
+ },
69
+ formsubmission_duedate: {
70
+ agGridField: "formSubmission_DueDate",
71
+ filterType: "date"
72
+ }
73
+ };
74
+ /**
75
+ * Maps your internal filter object structure (from URL processing)
76
+ * to the ag-Grid Filter Model structure.
77
+ * * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects
78
+ * @returns {object} ag-Grid Filter Model
79
+ */
80
+ /**
81
+ * Maps your internal filter object structure (from URL processing)
82
+ * to the ag-Grid Filter Model structure.
83
+ * @param {Array<{searchField: string, searchOperator: number, searchValue: string}>} filterObjects
84
+ * @returns {object} ag-Grid Filter Model
85
+ */
86
+ const mapUrlFiltersToAgGridModel = (filterObjects) => {
87
+ if (!filterObjects || filterObjects.length === 0) return null;
88
+ const agGridModel = {};
89
+ filterObjects.forEach((filter) => {
90
+ const { searchField, searchOperator, searchValue } = filter;
91
+ const config = filterConfigByUrlField[searchField.toLocaleLowerCase()];
92
+ if (!config) {
93
+ console.warn(`No configuration found for URL filter field: ${searchField}. Filter ignored.`);
94
+ return;
95
+ }
96
+ const agGridField = config.agGridField;
97
+ const filterType = config.filterType;
98
+ let type = "equals";
99
+ switch (searchOperator) {
100
+ case SqlFilterOperators.EQUALS:
101
+ type = "equals";
102
+ break;
103
+ case SqlFilterOperators.NOT_EQUALS:
104
+ type = "notEqual";
105
+ break;
106
+ case SqlFilterOperators.GREATER_THAN:
107
+ type = "greaterThan";
108
+ break;
109
+ case SqlFilterOperators.LESS_THAN:
110
+ type = "lessThan";
111
+ break;
112
+ case SqlFilterOperators.LIKE:
113
+ type = "contains";
114
+ break;
115
+ default: type = "equals";
116
+ }
117
+ let filterValue = searchValue;
118
+ if (!filterValue || filterValue.toLowerCase() === "undefined" || filterValue.toLowerCase() === "null") {
119
+ console.warn(`Skipping filter for ${agGridField} due to invalid value: ${searchValue}`);
120
+ return;
121
+ }
122
+ if (filterType == "date") agGridModel[agGridField] = {
123
+ filterType,
124
+ type,
125
+ dateFrom: filterValue
126
+ };
127
+ else agGridModel[agGridField] = {
128
+ filterType,
129
+ type,
130
+ filter: filterValue
131
+ };
132
+ });
133
+ return agGridModel;
134
+ };
33
135
  const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, generic2 = void 0, generic3 = void 0, formsRendererUrlPath = void 0 }) => {
34
136
  const user = useUser();
35
137
  const tenant = useTenant();
36
138
  const history = useHistory();
139
+ const location = useLocation();
37
140
  const { t } = useTranslation();
38
141
  const { enqueueSnackbar, closeSnackbar } = useSnackbar();
39
142
  const [innerMenuItemList, setInnerMenuItemList] = useState([]);
40
143
  const [formSubmissionViewDataRaw, setFormSubmissionViewDataRaw] = useState([]);
41
144
  const [formDataRaw, setFormDataRaw] = useState([]);
42
145
  const [isSidesheetOpen, setIsSidesheetOpen] = useState(false);
43
- const [selectedFormValue, setSelectedFormValue] = useState("");
44
- const selectorRef = useRef(null);
45
- const pendingNavRef = useRef(null);
146
+ const [selectedUdpFormInSideSheet, setSelectedUdpFormInSideSheet] = useState({});
147
+ const [formSubmissionUrlSearchObjs, setFormSubmissionUrlSearchObjs] = useState([]);
148
+ const [gridApi, setGridApi] = useState(null);
149
+ const handleGridApiCallback = useCallback((api) => {
150
+ setGridApi(api);
151
+ }, []);
152
+ const initialFilterModel = useMemo(() => {
153
+ return mapUrlFiltersToAgGridModel(formSubmissionUrlSearchObjs);
154
+ }, [formSubmissionUrlSearchObjs]);
155
+ useEffect(() => {
156
+ if (gridApi && initialFilterModel) {
157
+ gridApi.setFilterModel(initialFilterModel);
158
+ gridApi.onFilterChanged();
159
+ }
160
+ }, [gridApi, initialFilterModel]);
161
+ const buildFormSubmissionSearchParams = useCallback((search) => {
162
+ const qs = new URLSearchParams(search);
163
+ const filterObjects = [];
164
+ qs.forEach((value, key) => {
165
+ if (key.startsWith("udp_search")) {
166
+ const keyParts = key.split("-");
167
+ const searchField = keyParts[1] || void 0;
168
+ const searchOperator = SqlFilterOperators[(keyParts[2] || void 0)?.toUpperCase()] || void 0;
169
+ const searchValue = value || void 0;
170
+ if (searchField && searchOperator && searchValue) filterObjects.push({
171
+ searchField,
172
+ searchOperator,
173
+ searchValue
174
+ });
175
+ }
176
+ });
177
+ return filterObjects;
178
+ }, []);
46
179
  const handleSideSheetClosed = () => {
180
+ setSelectedUdpFormInSideSheet({});
47
181
  setIsSidesheetOpen(false);
48
182
  };
49
183
  const consolidateAndSortFormsByFormId = useCallback((forms, submissions = []) => {
@@ -106,7 +240,7 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
106
240
  const filterSubmissionByTenantId = useCallback((submissions, tenantId) => {
107
241
  return submissions.filter((submission) => submission.form_TenantId === tenantId);
108
242
  }, []);
109
- const fetchSubmissions = useCallback(async () => {
243
+ useCallback(async () => {
110
244
  try {
111
245
  if (!tenant?.activeTenant?.tenantId) return;
112
246
  const filterElements = [];
@@ -135,7 +269,7 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
135
269
  searchOperator: "=",
136
270
  searchValue: generic3
137
271
  });
138
- setFormSubmissionViewDataRaw(filterSubmissionByTenantId((await apiMutate(ConfigService$1.productV1ApiUrl, `UdpFormWithSubmissionsView/search`, {
272
+ setFormSubmissionViewDataRaw(filterSubmissionByTenantId((await apiMutate(ConfigService.productV1ApiUrl, `UdpFormWithSubmissionsView/search`, {
139
273
  method: "POST",
140
274
  data: {
141
275
  eagerLoad: false,
@@ -166,7 +300,7 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
166
300
  searchOperator: "=",
167
301
  searchValue: tenant.activeTenant.tenantId
168
302
  });
169
- setFormDataRaw((await apiMutate(ConfigService$1.productV1ApiUrl, `UdpForm/search`, {
303
+ setFormDataRaw((await apiMutate(ConfigService.productV1ApiUrl, `UdpForm/search`, {
170
304
  method: "POST",
171
305
  data: {
172
306
  eagerLoad: false,
@@ -221,7 +355,7 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
221
355
  searchValue: tenant?.activeTenant?.tenantId || ""
222
356
  });
223
357
  return {
224
- requestUrl: `${ConfigService$1.productV1ApiUrl}/UdpFormWithSubmissionsView/search`,
358
+ requestUrl: `${ConfigService.productV1ApiUrl}/UdpFormWithSubmissionsView/search`,
225
359
  customSearchObject: {
226
360
  eagerLoad: false,
227
361
  filterElements,
@@ -306,21 +440,26 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
306
440
  {
307
441
  headerName: t("Form Name"),
308
442
  field: "form_Name",
443
+ type: "text",
309
444
  sortable: true
310
445
  },
311
446
  {
312
447
  headerName: t("Form Version"),
313
448
  field: "formSubmission_FormVersion",
314
- hide: false
449
+ type: "number",
450
+ sortable: true
315
451
  },
316
452
  {
317
453
  headerName: t("Description"),
318
454
  field: "form_Description",
455
+ type: "text",
319
456
  sortable: true
320
457
  },
321
458
  {
322
459
  headerName: t("Submitted By"),
323
- field: "formSubmission_UserDisplayName"
460
+ field: "formSubmission_UserDisplayName",
461
+ type: "text",
462
+ sortable: true
324
463
  },
325
464
  {
326
465
  headerName: "Form Status",
@@ -336,25 +475,29 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
336
475
  headerName: t("Created On"),
337
476
  field: "formSubmission_InitialCreatedOn",
338
477
  valueFormatter: (p) => p.value ? dateFormatter(p.value) : "",
339
- sortable: true
478
+ sortable: true,
479
+ cellDataType: "dateTimeString"
340
480
  },
341
481
  {
342
482
  headerName: t("Last Modified On"),
343
483
  field: "formSubmission_LastModifiedOn",
344
484
  valueFormatter: (p) => p.value ? dateFormatter(p.value) : "",
345
- sortable: true
485
+ sortable: true,
486
+ cellDataType: "dateTimeString"
346
487
  },
347
488
  {
348
489
  headerName: t("Submitted On"),
349
490
  field: "formSubmission_SubmittedOn",
350
491
  valueFormatter: (p) => p.value ? dateFormatter(p.value) : "",
351
- sortable: true
492
+ sortable: true,
493
+ cellDataType: "dateTimeString"
352
494
  },
353
495
  {
354
496
  headerName: t("Due On"),
355
497
  field: "formSubmission_DueDate",
356
498
  valueFormatter: (p) => p.value ? dateFormatter(p.value) : "",
357
- sortable: true
499
+ sortable: true,
500
+ cellDataType: "dateTimeString"
358
501
  },
359
502
  {
360
503
  field: "actions",
@@ -380,22 +523,18 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
380
523
  { name: "agGridHideShowColumns" }
381
524
  ], []);
382
525
  const handleSidesheetPrimaryClick = useCallback(() => {
383
- const [id, versionStr] = (selectedFormValue || "").split("|");
526
+ const [id, versionStr] = (selectedUdpFormInSideSheet.value || "").split("|");
384
527
  const version = Number(versionStr || 0);
385
528
  if (!id || !version) {
386
- console.warn("Invalid selection:", selectedFormValue);
529
+ console.warn("Invalid selection:", selectedUdpFormInSideSheet);
387
530
  setIsSidesheetOpen(false);
388
531
  return;
389
532
  }
533
+ setIsSidesheetOpen(false);
390
534
  const urlPath = generateFormRendererUrlPath(id, version);
391
535
  history.push(urlPath);
392
- pendingNavRef.current = {
393
- id,
394
- version
395
- };
396
- setIsSidesheetOpen(false);
397
536
  }, [
398
- selectedFormValue,
537
+ selectedUdpFormInSideSheet,
399
538
  history,
400
539
  generateFormRendererUrlPath
401
540
  ]);
@@ -424,24 +563,9 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
424
563
  label: s.version ? `${s.name} (v${s.version})` : s.name
425
564
  }));
426
565
  }, [selectableItems]);
427
- useEffect(() => {
428
- const el = selectorRef.current;
429
- if (!el || !isSidesheetOpen) return;
430
- const onChange = (e) => {
431
- setSelectedFormValue((e?.detail ?? (e?.target && e.target.value) ?? "") || "");
432
- };
433
- el.addEventListener("change", onChange);
434
- el.addEventListener("input", onChange);
435
- if (selectedFormValue) el.value = selectedFormValue;
436
- return () => {
437
- el.removeEventListener("change", onChange);
438
- el.removeEventListener("input", onChange);
439
- };
440
- }, [
441
- selectorOptions,
442
- isSidesheetOpen,
443
- selectedFormValue
444
- ]);
566
+ const handleSelectedUdpFormInSideSheetChange = (event, newValue) => {
567
+ if (newValue !== null) setSelectedUdpFormInSideSheet(newValue);
568
+ };
445
569
  const getMainGridContent = ({ selectedNode, menuItemsList, idMap, classes }) => {
446
570
  if (!selectedNode) return /* @__PURE__ */ React.createElement(PageLoading, null);
447
571
  const formId = parseIdAndVersion(selectedNode.id);
@@ -449,44 +573,95 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
449
573
  const newestFormVersion = formDataRaw.filter((formObj) => formObj.id == formId).reduce((acc, curr) => {
450
574
  return Math.max(acc, curr.version);
451
575
  }, 0);
452
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(UdpSideSheet, {
576
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SideSheet, {
453
577
  open: isSidesheetOpen,
454
578
  title: t("Submit New Form"),
455
579
  position: "right",
456
- width: "md",
457
- primaryButtonLabel: t("Next"),
458
- primaryButtonDisabled: !selectedFormValue,
459
- onUdpPrimaryButtonClick: handleSidesheetPrimaryClick,
460
- onUdpSideSheetClose: handleSideSheetClosed
461
- }, isSidesheetOpen && /* @__PURE__ */ React.createElement(UdpSelector, {
462
- ref: selectorRef,
580
+ width: "30%",
581
+ buttonLabel: t("New"),
582
+ buttonOneDisabled: !selectedUdpFormInSideSheet.value,
583
+ onSubmit: handleSidesheetPrimaryClick,
584
+ onClose: handleSideSheetClosed
585
+ }, /* @__PURE__ */ React.createElement(Autocomplete, {
463
586
  options: selectorOptions,
464
- initialValue: selectedFormValue,
465
- multiSelect: false,
466
- label: t("Select a Form")
587
+ getOptionLabel: (selectedOption) => selectedOption.label,
588
+ onChange: handleSelectedUdpFormInSideSheetChange,
589
+ value: selectedUdpFormInSideSheet.value,
590
+ size: "small",
591
+ renderInput: (params) => /* @__PURE__ */ React.createElement(TextField, {
592
+ ...params,
593
+ label: "Choose a Form",
594
+ variant: "outlined"
595
+ })
467
596
  })), /* @__PURE__ */ React.createElement(SearchMethodUdpGrid, {
468
597
  searchMethodConfig: getSearchMethodConfig(formId),
469
598
  columnDefs,
470
599
  gridOptions: getGridOptions(),
471
600
  gridHeaderConfig: getGridHeaderConfig(formId, newestFormVersion, formTitle),
472
- gridFunctions
601
+ gridFunctions,
602
+ gridApiCallback: handleGridApiCallback
473
603
  }));
474
604
  };
475
605
  useEffect(() => {
476
- console.log("useEffect fetch data triggered");
477
- console.log(generic1);
478
606
  if (!tenant?.activeTenant?.tenantId) return;
607
+ setFormSubmissionUrlSearchObjs(buildFormSubmissionSearchParams(location.search));
608
+ let cancelled = false;
479
609
  (async () => {
480
- await fetchSubmissions();
481
- await fetchForms();
610
+ try {
611
+ let filterElements = [];
612
+ filterElements.push({
613
+ searchField: "Form_TenantId",
614
+ searchOperator: "=",
615
+ searchValue: tenant.activeTenant.tenantId
616
+ });
617
+ if (!isManagerMode) filterElements.push({
618
+ searchField: "FormSubmission_UnityUserId",
619
+ searchOperator: "=",
620
+ searchValue: user.id
621
+ });
622
+ if (generic1 !== void 0) filterElements.push({
623
+ searchField: "formSubmission_generic1",
624
+ searchOperator: "=",
625
+ searchValue: generic1
626
+ });
627
+ if (generic2 !== void 0) filterElements.push({
628
+ searchField: "formSubmission_generic2",
629
+ searchOperator: "=",
630
+ searchValue: generic2
631
+ });
632
+ if (generic3 !== void 0) filterElements.push({
633
+ searchField: "formSubmission_generic3",
634
+ searchOperator: "=",
635
+ searchValue: generic3
636
+ });
637
+ const formSubmissionViewSearchResponse = await apiMutate(ConfigService.productV1ApiUrl, `UdpFormWithSubmissionsView/search`, {
638
+ method: "POST",
639
+ data: {
640
+ eagerLoad: false,
641
+ getAll: true,
642
+ filterElements
643
+ }
644
+ }, {});
645
+ if (cancelled) return;
646
+ setFormSubmissionViewDataRaw((formSubmissionViewSearchResponse?.data.pageList || []).filter((submission) => submission.form_TenantId === tenant.activeTenant.tenantId));
647
+ await fetchForms();
648
+ } catch (err) {
649
+ console.error("fetching submissions/forms failed", err);
650
+ }
482
651
  })();
652
+ return () => {
653
+ cancelled = true;
654
+ };
483
655
  }, [
484
- fetchSubmissions,
485
- fetchForms,
486
- tenant,
656
+ location.search,
657
+ tenant?.activeTenant?.tenantId,
487
658
  generic1,
488
659
  generic2,
489
- generic3
660
+ generic3,
661
+ isManagerMode,
662
+ user?.id,
663
+ fetchForms,
664
+ buildFormSubmissionSearchParams
490
665
  ]);
491
666
  useEffect(() => {
492
667
  const innerMenuList = consolidateAndSortFormsByFormId(formDataRaw || [], formSubmissionViewDataRaw || []);
@@ -522,4 +697,4 @@ const UdpFormsSubmissionGrid = ({ isManagerMode = false, generic1 = void 0, gene
522
697
 
523
698
  //#endregion
524
699
  export { UdpFormsSubmissionGrid as t };
525
- //# sourceMappingURL=UdpFormsSubmissionGrid-i3P4ZwQx.js.map
700
+ //# sourceMappingURL=UdpFormsSubmissionGrid-PWsnFyYB.js.map