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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UdpFormsSubmissionGrid-PWsnFyYB.js","names":["CustomMenuPage"],"sources":["../src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx"],"sourcesContent":["import React, {\n useMemo,\n useState,\n useEffect,\n useCallback,\n useRef\n} 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';\n\nconst UdpFormsSubmissionStatusEnum = Object.freeze({\n InProgress: 1,\n Submitted: 2,\n Created: 3\n});\n\nconst dateFormatter = (dateString) => {\n let normalizedDateString = dateString;\n\n // Check if the string is in the 'YYYY-MM-DD HH:mm:ss.sss' format (i.e., contains a space, not 'T')\n // If the input is '2025-12-10T20:23:23.055Z', it passes straight through.\n // This format is assumed to be missing timezone info and needs to be treated as UTC.\n if (dateString.includes(' ') && !dateString.includes('Z')) {\n // Replace the space with 'T' and append 'Z' to enforce UTC interpretation\n normalizedDateString = dateString.replace(' ', 'T') + 'Z';\n }\n\n const date = new Date(normalizedDateString);\n\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\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};\n\n// --- NEW HELPER FUNCTION ---\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 {\n agGridModel[agGridField] = {\n filterType,\n type,\n filter: filterValue \n };\n }\n\n });\n\n return agGridModel;\n};\n\nexport const UdpFormsSubmissionGrid = ({\n isManagerMode = false,\n generic1 = undefined,\n generic2 = undefined,\n generic3 = undefined,\n formsRendererUrlPath = 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 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\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 const buildFormSubmissionSearchParams = useCallback((search) => {\n const qs = new URLSearchParams(search);\n const filterObjects = [];\n qs.forEach((value, key) => {\n if (key.startsWith('udp_search')) {\n const keyParts = key.split('-');\n const searchField = keyParts[1] || undefined;\n const searchOperatorRaw = keyParts[2] || undefined;\n const searchOperator =\n SqlFilterOperators[searchOperatorRaw?.toUpperCase()] || undefined;\n const searchValue = value || undefined;\n if (searchField && searchOperator && searchValue) {\n filterObjects.push({\n searchField,\n searchOperator,\n searchValue\n });\n }\n }\n });\n return filterObjects;\n }, []);\n\n const handleSideSheetClosed = () => {\n setSelectedUdpFormInSideSheet({});\n setIsSidesheetOpen(false);\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 filterSubmissionByTenantId = useCallback((submissions, tenantId) => {\n return submissions.filter(\n (submission) => submission.form_TenantId === tenantId\n );\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 filterSubmissionByTenantId\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 const parseIdAndVersion = useCallback((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 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 const getGridOptions = useCallback(() => {\n return {\n pagination: true,\n defaultColDef: {\n sortable: true,\n filter: true,\n resizable: true\n },\n };\n }, []);\n\n const getStatus = useMemo(() => {\n return {\n Created: 'info',\n InProgress: 'warning',\n Submitted: 'success',\n Overdue: 'error'\n };\n }, []);\n\n const getSubmissionStatusLabel = (node) => {\n const formStatus = node?.data?.formSubmission_Status;\n const dueDateRaw = node?.data?.formSubmission_DueDate;\n\n // overdue check\n if (dueDateRaw && formStatus != UdpFormsSubmissionStatusEnum.Submitted) {\n const dueTs = Date.parse(String(dueDateRaw));\n if (!Number.isNaN(dueTs) && Date.now() > dueTs) return 'Overdue';\n }\n\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 'Unknown';\n }\n };\n\n const columnDefs = useMemo(\n () => [\n { headerName: 'Form ID', field: 'formSubmission_FormId', hide: true },\n {\n headerName: t('Form Name'),\n field: 'form_Name',\n type: 'text',\n sortable: true\n },\n {\n headerName: t('Form 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 },\n {\n headerName: t('Submitted By'),\n field: 'formSubmission_UserDisplayName',\n type: 'text',\n sortable: true\n },\n {\n headerName: 'Form Status',\n filter: false,\n field: 'formSubmission_Status',\n cellRenderer: 'statusRenderer',\n cellRendererParams: {\n statusMappingConfig: getStatus,\n getStatusValue: getSubmissionStatusLabel\n }\n },\n {\n headerName: t('Created On'),\n field: 'formSubmission_InitialCreatedOn',\n valueFormatter: (p) => (p.value ? dateFormatter(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 ? dateFormatter(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Submitted On'),\n field: 'formSubmission_SubmittedOn',\n valueFormatter: (p) => (p.value ? dateFormatter(p.value) : ''),\n sortable: true,\n cellDataType: 'dateTimeString'\n },\n {\n headerName: t('Due On'),\n field: 'formSubmission_DueDate',\n valueFormatter: (p) => (p.value ? dateFormatter(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 const gridFunctions = useMemo(\n () => [\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ],\n []\n );\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 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 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={getGridOptions()}\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 = buildFormSubmissionSearchParams(location.search);\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 buildFormSubmissionSearchParams\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: t(\n isManagerMode ? 'All Form Submissions' : '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 ]);\n\n return (\n <div>\n <CustomMenuPage\n 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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"}
@@ -43,4 +43,4 @@ UdpGridTemplate.displayName = "UdpGridTemplate";
43
43
 
44
44
  //#endregion
45
45
  export { UdpGridTemplate as t };
46
- //# sourceMappingURL=UdpGridTemplate-OsS_O6jR.js.map
46
+ //# sourceMappingURL=UdpGridTemplate-U9YcYLUf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpGridTemplate-OsS_O6jR.js","names":["entity","searchObject"],"sources":["../src/UI/templates/deprecated/UdpGridTemplate/UdpGridTemplate.jsx"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React, { forwardRef, useState } from 'react';\nimport { AmbientTemplateGrid } from 'udp-react-stencil-component-library';\nimport { ExportSidesheet } from '../../../../udp/export/ExportSidesheet';\nimport { useUdpExport } from '../../../../udp/export/useUdpExport';\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}));\n\nexport const UdpGridTemplate = forwardRef((props, ref) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n const { className } = props;\n\n const [exportSidesheetOpen, setExportSidesheetOpen] = useState(false);\n const {\n updateExportParameters,\n createExport,\n entity,\n searchObject,\n fileFormat,\n numRowsToExport,\n validSearch,\n errorList,\n activeExportJob,\n exportLoading,\n handleFileDownload,\n clearParameters\n } = useUdpExport();\n\n const exportFromGrid = (entity, searchObject) => {\n updateExportParameters(entity, searchObject);\n setExportSidesheetOpen(true);\n };\n\n const handleCloseExportSidesheet = () => {\n setExportSidesheetOpen(false);\n clearParameters();\n };\n\n return (\n <div className={clsx(classes.root, className)}>\n <AmbientTemplateGrid\n ref={ref}\n {...otherProps}\n exportFunction={exportFromGrid}\n />\n <ExportSidesheet\n entity={entity}\n searchObject={searchObject}\n fileFormat={fileFormat}\n numRowsToExport={numRowsToExport}\n errorList={errorList}\n activeExportJob={activeExportJob}\n handleFileDownload={handleFileDownload}\n exportSidesheetOpen={exportSidesheetOpen}\n handleCloseExportSidesheet={handleCloseExportSidesheet}\n createExport={createExport}\n exportLoading={exportLoading}\n validSearch={validSearch}\n />\n </div>\n );\n});\n\nUdpGridTemplate.displayName = 'UdpGridTemplate';\n"],"mappings":";;;;;;;AAOA,MAAM,YAAY,YAAY,WAAW,EACvC,MAAM,EAAE,EACT,EAAE;AAEH,MAAa,kBAAkB,YAAY,OAAO,QAAQ;CACxD,MAAM,EAAE,UAAU,GAAG,eAAe;CACpC,MAAM,UAAU,UAAU,MAAM;CAChC,MAAM,EAAE,cAAc;CAEtB,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,MAAM;CACrE,MAAM,EACJ,wBACA,cACA,QACA,cACA,YACA,iBACA,aACA,WACA,iBACA,eACA,oBACA,oBACE,cAAc;CAElB,MAAM,kBAAkB,UAAQ,mBAAiB;AAC/C,yBAAuBA,UAAQC,eAAa;AAC5C,yBAAuB,KAAK;;CAG9B,MAAM,mCAAmC;AACvC,yBAAuB,MAAM;AAC7B,mBAAiB;;AAGnB,QACE,oCAAC,SAAI,WAAW,KAAK,QAAQ,MAAM,UAAU,IAC3C,oCAAC;EACM;EACL,GAAI;EACJ,gBAAgB;GAChB,EACF,oCAAC;EACS;EACM;EACF;EACK;EACN;EACM;EACG;EACC;EACO;EACd;EACC;EACF;GACb,CACE;EAER;AAEF,gBAAgB,cAAc"}
1
+ {"version":3,"file":"UdpGridTemplate-U9YcYLUf.js","names":["entity","searchObject"],"sources":["../src/UI/templates/deprecated/UdpGridTemplate/UdpGridTemplate.jsx"],"sourcesContent":["import { makeStyles } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React, { forwardRef, useState } from 'react';\nimport { AmbientTemplateGrid } from 'udp-react-stencil-component-library';\nimport { ExportSidesheet } from '../../../../udp/export/ExportSidesheet';\nimport { useUdpExport } from '../../../../udp/export/useUdpExport';\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}));\n\nexport const UdpGridTemplate = forwardRef((props, ref) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n const { className } = props;\n\n const [exportSidesheetOpen, setExportSidesheetOpen] = useState(false);\n const {\n updateExportParameters,\n createExport,\n entity,\n searchObject,\n fileFormat,\n numRowsToExport,\n validSearch,\n errorList,\n activeExportJob,\n exportLoading,\n handleFileDownload,\n clearParameters\n } = useUdpExport();\n\n const exportFromGrid = (entity, searchObject) => {\n updateExportParameters(entity, searchObject);\n setExportSidesheetOpen(true);\n };\n\n const handleCloseExportSidesheet = () => {\n setExportSidesheetOpen(false);\n clearParameters();\n };\n\n return (\n <div className={clsx(classes.root, className)}>\n <AmbientTemplateGrid\n ref={ref}\n {...otherProps}\n exportFunction={exportFromGrid}\n />\n <ExportSidesheet\n entity={entity}\n searchObject={searchObject}\n fileFormat={fileFormat}\n numRowsToExport={numRowsToExport}\n errorList={errorList}\n activeExportJob={activeExportJob}\n handleFileDownload={handleFileDownload}\n exportSidesheetOpen={exportSidesheetOpen}\n handleCloseExportSidesheet={handleCloseExportSidesheet}\n createExport={createExport}\n exportLoading={exportLoading}\n validSearch={validSearch}\n />\n </div>\n );\n});\n\nUdpGridTemplate.displayName = 'UdpGridTemplate';\n"],"mappings":";;;;;;;AAOA,MAAM,YAAY,YAAY,WAAW,EACvC,MAAM,EAAE,EACT,EAAE;AAEH,MAAa,kBAAkB,YAAY,OAAO,QAAQ;CACxD,MAAM,EAAE,UAAU,GAAG,eAAe;CACpC,MAAM,UAAU,UAAU,MAAM;CAChC,MAAM,EAAE,cAAc;CAEtB,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,MAAM;CACrE,MAAM,EACJ,wBACA,cACA,QACA,cACA,YACA,iBACA,aACA,WACA,iBACA,eACA,oBACA,oBACE,cAAc;CAElB,MAAM,kBAAkB,UAAQ,mBAAiB;AAC/C,yBAAuBA,UAAQC,eAAa;AAC5C,yBAAuB,KAAK;;CAG9B,MAAM,mCAAmC;AACvC,yBAAuB,MAAM;AAC7B,mBAAiB;;AAGnB,QACE,oCAAC,SAAI,WAAW,KAAK,QAAQ,MAAM,UAAU,IAC3C,oCAAC;EACM;EACL,GAAI;EACJ,gBAAgB;GAChB,EACF,oCAAC;EACS;EACM;EACF;EACK;EACN;EACM;EACG;EACC;EACO;EACd;EACC;EACF;GACb,CACE;EAER;AAEF,gBAAgB,cAAc"}
@@ -1,7 +1,7 @@
1
1
  import { t as __export } from "./chunk-B4enJp2Q.js";
2
2
  import { t as ConfigService } from "./configService-C4uoG3wj.js";
3
3
  import { t as useAxiosGet } from "./useAxiosGet-CYnt6Hd0.js";
4
- import { n as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-CX5L5k-E.js";
4
+ import { n as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-C1UcnDlL.js";
5
5
  import React, { useEffect, useState } from "react";
6
6
 
7
7
  //#region src/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.jsx
@@ -23,4 +23,4 @@ var UdpInquiryMaintenanceEnginePage_exports = /* @__PURE__ */ __export({ default
23
23
 
24
24
  //#endregion
25
25
  export { UdpInquiryMaintenanceEnginePage_default as n, UdpInquiryMaintenanceEnginePage_exports as t };
26
- //# sourceMappingURL=UdpInquiryMaintenanceEnginePage-D7HFcJQu.js.map
26
+ //# sourceMappingURL=UdpInquiryMaintenanceEnginePage-BiKDpo6a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpInquiryMaintenanceEnginePage-D7HFcJQu.js","names":[],"sources":["../src/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.jsx","../src/udp/pages/UdpInquiryMaintenanceEnginePage/index.ts"],"sourcesContent":["import React, {\n useState,\n useEffect\n} from 'react';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport {UdpMaintenanceEnginePage} from '../UdpMaintenanceEnginePage';\nimport { ConfigService } from '../../../configService';\n\nconst UdpInquiryMaintenanceEnginePage = (props) => {\n const { params } = props;\n const { nodeObj } = params;\n const [loading, setLoading] = useState(false);\n\n const [{ data: catalogKey, loading: catalogKeyLoading }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpObjectInfo/getCatalogId/${nodeObj.businessObjectKey}?fromUdpObjectInfo=true`,\n {},\n !!!nodeObj,\n false\n );\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\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(catalogKeyLoading);\n }, [catalogKeyLoading])\n\n return (\n\n <UdpMaintenanceEnginePage\n catalogKey={catalogKey || ''}\n />\n );\n};\n\nexport default UdpInquiryMaintenanceEnginePage;\n","export {default} from './UdpInquiryMaintenanceEnginePage';\nexport * from './UdpInquiryMaintenanceEnginePage';\n"],"mappings":";;;;;;;AAQA,MAAM,mCAAmC,UAAU;CACjD,MAAM,EAAE,WAAW;CACnB,MAAM,EAAE,YAAY;CACpB,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,CAAC,EAAE,MAAM,YAAY,SAAS,uBAAuB,YACzD,cAAc,iBACd,8BAA8B,QAAQ,kBAAkB,0BACxD,EAAE,EACF,CAAC,CAAC,CAAC,SACH,MACD;AAeD,iBAAgB;AACd,aAAW,kBAAkB;IAC5B,CAAC,kBAAkB,CAAC;AAEvB,QAEE,oCAAC,4BACC,YAAY,cAAc,KAC1B;;AAIN,8CAAe"}
1
+ {"version":3,"file":"UdpInquiryMaintenanceEnginePage-BiKDpo6a.js","names":[],"sources":["../src/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.jsx","../src/udp/pages/UdpInquiryMaintenanceEnginePage/index.ts"],"sourcesContent":["import React, {\n useState,\n useEffect\n} from 'react';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport {UdpMaintenanceEnginePage} from '../UdpMaintenanceEnginePage';\nimport { ConfigService } from '../../../configService';\n\nconst UdpInquiryMaintenanceEnginePage = (props) => {\n const { params } = props;\n const { nodeObj } = params;\n const [loading, setLoading] = useState(false);\n\n const [{ data: catalogKey, loading: catalogKeyLoading }] = useAxiosGet(\n ConfigService.productV1ApiUrl,\n `UdpObjectInfo/getCatalogId/${nodeObj.businessObjectKey}?fromUdpObjectInfo=true`,\n {},\n !!!nodeObj,\n false\n );\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\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(catalogKeyLoading);\n }, [catalogKeyLoading])\n\n return (\n\n <UdpMaintenanceEnginePage\n catalogKey={catalogKey || ''}\n />\n );\n};\n\nexport default UdpInquiryMaintenanceEnginePage;\n","export {default} from './UdpInquiryMaintenanceEnginePage';\nexport * from './UdpInquiryMaintenanceEnginePage';\n"],"mappings":";;;;;;;AAQA,MAAM,mCAAmC,UAAU;CACjD,MAAM,EAAE,WAAW;CACnB,MAAM,EAAE,YAAY;CACpB,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,CAAC,EAAE,MAAM,YAAY,SAAS,uBAAuB,YACzD,cAAc,iBACd,8BAA8B,QAAQ,kBAAkB,0BACxD,EAAE,EACF,CAAC,CAAC,CAAC,SACH,MACD;AAeD,iBAAgB;AACd,aAAW,kBAAkB;IAC5B,CAAC,kBAAkB,CAAC;AAEvB,QAEE,oCAAC,4BACC,YAAY,cAAc,KAC1B;;AAIN,8CAAe"}
@@ -7,13 +7,13 @@ import { i as toLowerFirstChar, o as toUpperFirstChar } from "./StringUtilities-
7
7
  import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
8
8
  import { L as UdpEnums, n as CardinalityTypeEnums, o as EntityAttributeEnums } from "./unitySystemEnums-e5F9Jr7m.js";
9
9
  import { t as useCatalogStore } from "./catalogStore-DP2GxpTJ.js";
10
- import { r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
10
+ import { r as getSearchObject } from "./SearchUtilities-B1TCyppF.js";
11
11
  import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
12
12
  import { t as executeQueryAdHoc } from "./methodUtils-CDx9usdO.js";
13
13
  import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-B4rk75tH.js";
14
14
  import { t as FluentDialog } from "./FluentDialog-B5ZxvX1E.js";
15
15
  import { t as useApiCatalog } from "./useApiCatalog-cpchDfC1.js";
16
- import { t as Inquiry } from "./Inquiry-CeZgX9ls.js";
16
+ import { t as Inquiry } from "./Inquiry-Cjz91wf_.js";
17
17
  import { t as TagEnums } from "./tagEnums-Bc9xOKJw.js";
18
18
  import { t as CrudBrowserContainer } from "./CrudBrowserContainer-De2WRDIH.js";
19
19
  import { t as CrudTableSidePanel } from "./CrudTableSidePanel-DnxJx49i.js";
@@ -465,4 +465,4 @@ var UdpMaintenanceEnginePage_exports = /* @__PURE__ */ __export({
465
465
 
466
466
  //#endregion
467
467
  export { UdpMaintenanceEnginePage as n, UdpMaintenanceEnginePage_default as r, UdpMaintenanceEnginePage_exports as t };
468
- //# sourceMappingURL=UdpMaintenanceEnginePage-CX5L5k-E.js.map
468
+ //# sourceMappingURL=UdpMaintenanceEnginePage-C1UcnDlL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpMaintenanceEnginePage-CX5L5k-E.js","names":["entityName","uuid","params"],"sources":["../src/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.jsx","../src/udp/pages/UdpMaintenanceEnginePage/index.ts"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CrudBrowserContainer } from '../../../maintenanceEngine/crudBrowser/CrudBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getEntityAttributes,\n getPathObject,\n getPrimaryKeyValues\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} 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 { getSanitizedName } from '../../../utilities/entities/entityUtilities';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { TagEnums } from '../../../enums/tagEnums';\nimport { ConfigService } from '../../../configService';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { FluentDialog } from '../../../UI/feedback/FluentDialog';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHistory } from 'react-router-dom';\nimport { Inquiry } from '../../../inquiry';\n\nexport const UdpMaintenanceEnginePage = (props) => {\n const { catalogKey, params } = props;\n const { t } = useTranslation();\n const [udpFieldInfos, setUdpFieldInfos] = useState([]);\n const [alertWarnings, setAlertWarnings] = useState([]);\n const [showBackToTableBrowser, setShowBackToTableBrowser] = useState(false);\n const gridApiRef = useRef(null);\n const [modalConfig, setModalConfig] = useState({ type: null, data: null });\n const location = useLocation();\n const state = location.state;\n const history = useHistory();\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsEntityName = state?.entityName\n ? state.entityName\n : searchParams.has('entityName') === true\n ? toUpperFirstChar(searchParams.get('entityName'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const udpCatalogKey = useMemo(() => {\n if (params?.entityName || catalogKey || searchParamsEntityName) {\n return params?.entityName || catalogKey || searchParamsEntityName;\n } else {\n handleGoToTableBrowser();\n }\n }, [\n params?.entityName,\n catalogKey,\n searchParamsEntityName,\n handleGoToTableBrowser\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 [entityName, setEntityName] = useState(null);\n\n const { currentApiCatalogId } = useCatalogStore();\n\n const { data: catalog } = useApiCatalog(currentApiCatalogId);\n\n const { data: udpObjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n const { data: promotedMethodEntities } = usePromotedMethodEntity(\n udpCatalogKey,\n true\n );\n\n // 2. MODAL HANDLERS: Callbacks to open and close modals/sheets.\n const openModal = useCallback((type, data = null) => {\n setModalConfig({ type, data });\n }, []);\n\n const closeModal = useCallback(() => {\n setModalConfig({ type: null, data: null });\n }, []);\n\n //------- CRUD operations--------\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 const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n if(params?.filterElements){\n params?.filterElements?.forEach(filter => {\n filterElements.push(filter)\n })\n }\n return filterElements;\n }, [udpTagId]);\n\n const entityAttributes = useMemo(() => {\n if (udpFieldInfos?.length > 0 && catalog && entityName) {\n // 1. Get original attributes from catalog\n const originalAttributes = getEntityAttributes(catalog, entityName);\n const attributeMap = new Map(\n originalAttributes.map((attr) => [attr.name.toLowerCase(), attr])\n );\n\n // 2. Create the sorted list by iterating through udpFieldInfos\n const sortedPart = udpFieldInfos\n .map((field) => {\n const match = attributeMap.get(field.name.toLowerCase());\n if (match) {\n // Merge properties as we build the sorted list\n return {\n ...match,\n extendedProperties: {\n ...match.extendedProperties,\n udpFieldProperties: field.properties\n }\n };\n }\n return null;\n })\n .filter(Boolean);\n\n // 3. Find unmatched items in a single pass\n const udpFieldNames = new Set(\n udpFieldInfos.map((f) => f.name.toLowerCase())\n );\n const unmatchedPart = originalAttributes.filter(\n (attr) => !udpFieldNames.has(attr.name.toLowerCase())\n );\n\n // 4. Combine the sorted, merged part with the original unmatched part\n return [...sortedPart, ...unmatchedPart];\n }\n }, [catalog, entityName, udpFieldInfos]);\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: getSanitizedName(entityName)\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n await 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/${currentApiCatalogId}/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 [currentApiCatalogId]\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 setAlertWarnings((existingWarnings) => [...existingWarnings, ...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\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 promiseDetail?.associationLabel\n ? toLowerFirstChar(promiseDetail.associationLabel)\n : 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n if (!!promiseDetail) {\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\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 gridApiRef.current.refreshServerSide();\n closeModal('create');\n return response;\n }\n } else {\n handleErrorSnackbar(\n null,\n selectedEntity.entityName + \"'s create method must be promoted\"\n );\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\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 gridApiRef.current.refreshServerSide();\n closeModal('edit');\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\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 gridApiRef.current.refreshServerSide();\n closeModal('delete');\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\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 shouldDisableAction = useCallback(\n (value) => {\n const sanitizedEntityName = getSanitizedName(entityName);\n const tagTypeShouldDisableEdit =\n [TagEnums.TagTypeSanitizedName.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && !value?.[toLowerFirstChar(EntityAttributeEnums.User_Defined)];\n\n const shortCutContentShouldDisableEdit =\n [UdpEnums.Udp_Shortcut_Content.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) &&\n value?.[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ];\n\n const lookupShouldDisableEdit =\n [UdpEnums.Udp_Lookup.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && value?.[toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)];\n return (\n tagTypeShouldDisableEdit ||\n shortCutContentShouldDisableEdit ||\n lookupShouldDisableEdit\n );\n },\n [entityName]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return [];\n }\n\n let actions = [\n {\n id: 'edit',\n iconName: 'edit', // Pass string name for the icon\n getTitle: () =>\n // Use getTitle for dynamic text\n selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('edit', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseUpdateMethod ||\n shouldDisableAction(params.data)\n },\n {\n id: 'delete',\n iconName: 'trashCan', // Pass string name for the icon\n getTitle: () =>\n selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('delete', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseDeleteMethod ||\n shouldDisableAction(params.data)\n }\n ];\n if (params?.inquiryTreeId) {\n actions.splice(1, 0, {\n id: 'inquiry',\n iconName: 'relationshipDiagram',\n title: 'Detailed view',\n handleOnClick: (e, params) => {\n openModal('inquiry', params.data);\n }\n });\n }\n return actions;\n }, [selectedEntity, t, shouldDisableAction, openModal]);\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 setEntityName(promotedMethodEntities?.entityName);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpObjectFieldInfo) {\n if (udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId) {\n setUdpFieldSearchApiId(\n udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId\n );\n } else {\n setUdpFieldSearchApiId('');\n const udpFieldWarning = {\n id: uuid(),\n message: `UdpObjectFieldInfo method needs to be promoted`\n };\n setAlertWarnings((prevState) => [...prevState, udpFieldWarning]);\n }\n }\n }, [udpObjectFieldInfo]);\n\n useEffect(() => {\n const setFieldInfos = async () => {\n let temp = await getMetaDataForUdpField(entityName);\n setUdpFieldInfos(temp);\n };\n if (udpFieldSearchApiId) {\n setFieldInfos();\n }\n }, [\n udpObjectFieldInfo,\n getMetaDataForUdpField,\n udpFieldSearchApiId,\n entityName\n ]);\n\n useEffect(() => {\n if (location.state?.from === 'tablebrowser') {\n setShowBackToTableBrowser(true);\n }\n }, [location.state]);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n const primaryKeyFieldName = useMemo(() => {\n const fieldName = udpFieldInfos\n ?.find((field) => field.isPrimaryKey)\n ?.name;\n return fieldName?.[0]?.toLowerCase() + fieldName?.slice(1)\n }, [udpFieldInfos]);\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert\n key={warning.id}\n onClose={() => removeWarning(warning.id)}\n severity='warning'\n >\n {warning.message || ''}\n </Alert>\n ))}\n <CrudBrowserContainer\n actionList={actionList}\n onCreate={() => openModal('create')}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n promotedEntity={selectedEntity}\n apiMethod={{ currentApiCatalogId, entityName }}\n filterElements={searchFilterElements}\n setAlertWarnings={setAlertWarnings}\n gridApiCallback={handleGridApiCallback}\n showBackToTableBrowser={showBackToTableBrowser}\n />\n <SideSheet\n open={modalConfig.type === 'create' || modalConfig.type === 'edit'}\n onClose={closeModal}\n title={\n modalConfig.type === 'create'\n ? `Add New ${entityName}`\n : `Edit ${entityName}`\n }\n width={600}\n >\n {(modalConfig.type === 'create' || modalConfig.type === 'edit') && (\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={\n modalConfig.type === 'create' ? handleOnCreate : undefined\n }\n onUpdate={modalConfig.type === 'edit' ? handleOnUpdate : undefined}\n crudTableEditionData={\n modalConfig.type === 'edit' ? modalConfig.data : null\n }\n pageId={\n modalConfig.type === 'edit'\n ? selectedEntity?.unityBaseUpdateMethod?.pageId\n : selectedEntity?.unityBaseCreateMethod?.pageId\n }\n />\n )}\n </SideSheet>\n <SideSheet\n open={modalConfig.type === 'inquiry'}\n onClose={closeModal}\n title={'Detailed view'}\n width={'90%'}\n >\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n </SideSheet>\n <FluentDialog\n open={modalConfig.type === 'delete'}\n handleClose={closeModal}\n title={t('Delete')}\n message={t('Are you sure you want to delete this row?')}\n actionOne={closeModal}\n labelOne={t('Cancel')}\n actionTwo={() => handleOnDelete(modalConfig.data)}\n labelTwo={t('Confirm')}\n />\n </>\n );\n};\n\nexport default UdpMaintenanceEnginePage;\n","export * from './UdpMaintenanceEnginePage';\nexport {default } from './UdpMaintenanceEnginePage';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpMaintenanceEnginePage-C1UcnDlL.js","names":["entityName","uuid","params"],"sources":["../src/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.jsx","../src/udp/pages/UdpMaintenanceEnginePage/index.ts"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CrudBrowserContainer } from '../../../maintenanceEngine/crudBrowser/CrudBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getEntityAttributes,\n getPathObject,\n getPrimaryKeyValues\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} 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 { getSanitizedName } from '../../../utilities/entities/entityUtilities';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { TagEnums } from '../../../enums/tagEnums';\nimport { ConfigService } from '../../../configService';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { FluentDialog } from '../../../UI/feedback/FluentDialog';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHistory } from 'react-router-dom';\nimport { Inquiry } from '../../../inquiry';\n\nexport const UdpMaintenanceEnginePage = (props) => {\n const { catalogKey, params } = props;\n const { t } = useTranslation();\n const [udpFieldInfos, setUdpFieldInfos] = useState([]);\n const [alertWarnings, setAlertWarnings] = useState([]);\n const [showBackToTableBrowser, setShowBackToTableBrowser] = useState(false);\n const gridApiRef = useRef(null);\n const [modalConfig, setModalConfig] = useState({ type: null, data: null });\n const location = useLocation();\n const state = location.state;\n const history = useHistory();\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsEntityName = state?.entityName\n ? state.entityName\n : searchParams.has('entityName') === true\n ? toUpperFirstChar(searchParams.get('entityName'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const udpCatalogKey = useMemo(() => {\n if (params?.entityName || catalogKey || searchParamsEntityName) {\n return params?.entityName || catalogKey || searchParamsEntityName;\n } else {\n handleGoToTableBrowser();\n }\n }, [\n params?.entityName,\n catalogKey,\n searchParamsEntityName,\n handleGoToTableBrowser\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 [entityName, setEntityName] = useState(null);\n\n const { currentApiCatalogId } = useCatalogStore();\n\n const { data: catalog } = useApiCatalog(currentApiCatalogId);\n\n const { data: udpObjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n const { data: promotedMethodEntities } = usePromotedMethodEntity(\n udpCatalogKey,\n true\n );\n\n // 2. MODAL HANDLERS: Callbacks to open and close modals/sheets.\n const openModal = useCallback((type, data = null) => {\n setModalConfig({ type, data });\n }, []);\n\n const closeModal = useCallback(() => {\n setModalConfig({ type: null, data: null });\n }, []);\n\n //------- CRUD operations--------\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 const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n if(params?.filterElements){\n params?.filterElements?.forEach(filter => {\n filterElements.push(filter)\n })\n }\n return filterElements;\n }, [udpTagId]);\n\n const entityAttributes = useMemo(() => {\n if (udpFieldInfos?.length > 0 && catalog && entityName) {\n // 1. Get original attributes from catalog\n const originalAttributes = getEntityAttributes(catalog, entityName);\n const attributeMap = new Map(\n originalAttributes.map((attr) => [attr.name.toLowerCase(), attr])\n );\n\n // 2. Create the sorted list by iterating through udpFieldInfos\n const sortedPart = udpFieldInfos\n .map((field) => {\n const match = attributeMap.get(field.name.toLowerCase());\n if (match) {\n // Merge properties as we build the sorted list\n return {\n ...match,\n extendedProperties: {\n ...match.extendedProperties,\n udpFieldProperties: field.properties\n }\n };\n }\n return null;\n })\n .filter(Boolean);\n\n // 3. Find unmatched items in a single pass\n const udpFieldNames = new Set(\n udpFieldInfos.map((f) => f.name.toLowerCase())\n );\n const unmatchedPart = originalAttributes.filter(\n (attr) => !udpFieldNames.has(attr.name.toLowerCase())\n );\n\n // 4. Combine the sorted, merged part with the original unmatched part\n return [...sortedPart, ...unmatchedPart];\n }\n }, [catalog, entityName, udpFieldInfos]);\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: getSanitizedName(entityName)\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n await 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/${currentApiCatalogId}/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 [currentApiCatalogId]\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 setAlertWarnings((existingWarnings) => [...existingWarnings, ...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\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 promiseDetail?.associationLabel\n ? toLowerFirstChar(promiseDetail.associationLabel)\n : 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n if (!!promiseDetail) {\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\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 gridApiRef.current.refreshServerSide();\n closeModal('create');\n return response;\n }\n } else {\n handleErrorSnackbar(\n null,\n selectedEntity.entityName + \"'s create method must be promoted\"\n );\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\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 gridApiRef.current.refreshServerSide();\n closeModal('edit');\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\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 gridApiRef.current.refreshServerSide();\n closeModal('delete');\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\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 shouldDisableAction = useCallback(\n (value) => {\n const sanitizedEntityName = getSanitizedName(entityName);\n const tagTypeShouldDisableEdit =\n [TagEnums.TagTypeSanitizedName.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && !value?.[toLowerFirstChar(EntityAttributeEnums.User_Defined)];\n\n const shortCutContentShouldDisableEdit =\n [UdpEnums.Udp_Shortcut_Content.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) &&\n value?.[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ];\n\n const lookupShouldDisableEdit =\n [UdpEnums.Udp_Lookup.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && value?.[toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)];\n return (\n tagTypeShouldDisableEdit ||\n shortCutContentShouldDisableEdit ||\n lookupShouldDisableEdit\n );\n },\n [entityName]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return [];\n }\n\n let actions = [\n {\n id: 'edit',\n iconName: 'edit', // Pass string name for the icon\n getTitle: () =>\n // Use getTitle for dynamic text\n selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('edit', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseUpdateMethod ||\n shouldDisableAction(params.data)\n },\n {\n id: 'delete',\n iconName: 'trashCan', // Pass string name for the icon\n getTitle: () =>\n selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('delete', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseDeleteMethod ||\n shouldDisableAction(params.data)\n }\n ];\n if (params?.inquiryTreeId) {\n actions.splice(1, 0, {\n id: 'inquiry',\n iconName: 'relationshipDiagram',\n title: 'Detailed view',\n handleOnClick: (e, params) => {\n openModal('inquiry', params.data);\n }\n });\n }\n return actions;\n }, [selectedEntity, t, shouldDisableAction, openModal]);\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 setEntityName(promotedMethodEntities?.entityName);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpObjectFieldInfo) {\n if (udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId) {\n setUdpFieldSearchApiId(\n udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId\n );\n } else {\n setUdpFieldSearchApiId('');\n const udpFieldWarning = {\n id: uuid(),\n message: `UdpObjectFieldInfo method needs to be promoted`\n };\n setAlertWarnings((prevState) => [...prevState, udpFieldWarning]);\n }\n }\n }, [udpObjectFieldInfo]);\n\n useEffect(() => {\n const setFieldInfos = async () => {\n let temp = await getMetaDataForUdpField(entityName);\n setUdpFieldInfos(temp);\n };\n if (udpFieldSearchApiId) {\n setFieldInfos();\n }\n }, [\n udpObjectFieldInfo,\n getMetaDataForUdpField,\n udpFieldSearchApiId,\n entityName\n ]);\n\n useEffect(() => {\n if (location.state?.from === 'tablebrowser') {\n setShowBackToTableBrowser(true);\n }\n }, [location.state]);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n const primaryKeyFieldName = useMemo(() => {\n const fieldName = udpFieldInfos\n ?.find((field) => field.isPrimaryKey)\n ?.name;\n return fieldName?.[0]?.toLowerCase() + fieldName?.slice(1)\n }, [udpFieldInfos]);\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert\n key={warning.id}\n onClose={() => removeWarning(warning.id)}\n severity='warning'\n >\n {warning.message || ''}\n </Alert>\n ))}\n <CrudBrowserContainer\n actionList={actionList}\n onCreate={() => openModal('create')}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n promotedEntity={selectedEntity}\n apiMethod={{ currentApiCatalogId, entityName }}\n filterElements={searchFilterElements}\n setAlertWarnings={setAlertWarnings}\n gridApiCallback={handleGridApiCallback}\n showBackToTableBrowser={showBackToTableBrowser}\n />\n <SideSheet\n open={modalConfig.type === 'create' || modalConfig.type === 'edit'}\n onClose={closeModal}\n title={\n modalConfig.type === 'create'\n ? `Add New ${entityName}`\n : `Edit ${entityName}`\n }\n width={600}\n >\n {(modalConfig.type === 'create' || modalConfig.type === 'edit') && (\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={\n modalConfig.type === 'create' ? handleOnCreate : undefined\n }\n onUpdate={modalConfig.type === 'edit' ? handleOnUpdate : undefined}\n crudTableEditionData={\n modalConfig.type === 'edit' ? modalConfig.data : null\n }\n pageId={\n modalConfig.type === 'edit'\n ? selectedEntity?.unityBaseUpdateMethod?.pageId\n : selectedEntity?.unityBaseCreateMethod?.pageId\n }\n />\n )}\n </SideSheet>\n <SideSheet\n open={modalConfig.type === 'inquiry'}\n onClose={closeModal}\n title={'Detailed view'}\n width={'90%'}\n >\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n </SideSheet>\n <FluentDialog\n open={modalConfig.type === 'delete'}\n handleClose={closeModal}\n title={t('Delete')}\n message={t('Are you sure you want to delete this row?')}\n actionOne={closeModal}\n labelOne={t('Cancel')}\n actionTwo={() => handleOnDelete(modalConfig.data)}\n labelTwo={t('Confirm')}\n />\n </>\n );\n};\n\nexport default UdpMaintenanceEnginePage;\n","export * from './UdpMaintenanceEnginePage';\nexport {default } from './UdpMaintenanceEnginePage';\n"],"mappings":"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"}
@@ -3,10 +3,10 @@ import { i as useHandleAxiosSnackbar } from "./apiHelpers-WIR8pqy0.js";
3
3
  import { t as useUser } from "./useUser-wpHGo6jU.js";
4
4
  import { L as UdpEnums, j as SplitScreenTypeEnums } from "./unitySystemEnums-e5F9Jr7m.js";
5
5
  import { n as useActions, t as useActionState } from "./useActions-BWBXokgQ.js";
6
- import { r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
6
+ import { r as getSearchObject } from "./SearchUtilities-B1TCyppF.js";
7
7
  import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
8
8
  import { a as getBaseMethod, t as executeQueryAdHoc } from "./methodUtils-CDx9usdO.js";
9
- import { t as NotesScreen } from "./NotesScreen-Xj0vl0v1.js";
9
+ import { t as NotesScreen } from "./NotesScreen-DE3fhpjW.js";
10
10
  import { t as AmbientGridTemplate } from "./AmbientGridTemplate-D0GSZj4a.js";
11
11
  import { t as ActionsRenderer } from "./ActionsRenderer-DbrPKZ1o.js";
12
12
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -182,4 +182,4 @@ var UdpNotesPage_exports = /* @__PURE__ */ __export({ default: () => UdpNotesPag
182
182
 
183
183
  //#endregion
184
184
  export { UdpNotesPage_default as n, UdpNotesPage_exports as t };
185
- //# sourceMappingURL=UdpNotesPage-CgIdQgVV.js.map
185
+ //# sourceMappingURL=UdpNotesPage-Deug2da_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpNotesPage-CgIdQgVV.js","names":["t","params"],"sources":["../src/udp/pages/UdpNotesPage/UdpNotesPage.jsx","../src/udp/pages/UdpNotesPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useTranslation } from 'react-i18next';\nimport { EditIcon, ViewIcon } from '@fluentui/react-icons';\nimport { NotesScreen } from '../../../notes/NotesScreen';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useActions } from '../../../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\n\nconst UdpNotesPage = (props) => {\n const { params } = props;\n const { nodeObj, manytoManyNodeObjKey } = params;\n const [notes, setNotes] = useState([]);\n const [typeOptions, setTypeOptions] = useState([]);\n const [loading, setLoading] = useState(false);\n const [sheetOpen, setSheetOpen] = useState(false);\n const [noteId, setNoteId] = useState('');\n const { openSplitScreen } = useActions();\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\n const formRef = useRef(null);\n const user = useUser();\n\n const noteFiledForSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Note_Filed_For,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const noteTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Note_Type,\n 'unityBaseGetAllMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const getNotes = useCallback(async () => {\n if (!nodeObj) {\n return [];\n }\n let notesList = [];\n setLoading(true);\n const filterElements = [\n {\n searchField: 'entityBusinessKey',\n searchValue: manytoManyNodeObjKey\n ? nodeObj[manytoManyNodeObjKey]?.businessObjectKey\n : nodeObj?.businessObjectKey,\n searchOperator: '='\n }\n ];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n\n if (noteFiledForSearchApiMethod) {\n const response = await executeQueryAdHoc(\n data,\n noteFiledForSearchApiMethod.apiMethodId\n );\n\n if (response?.status === 200) {\n const pageList = response.data.pageList;\n if (pageList?.length) {\n notesList = pageList.map((item) => item.note);\n }\n } else {\n handleErrorSnackbar(null, t('Could not retrieve notes'));\n }\n } else {\n handleErrorSnackbar(null, t('Search NoteFiledFor Method Not Promoted'));\n }\n setLoading(false);\n setNotes(notesList);\n }, [\n noteFiledForSearchApiMethod,\n handleErrorSnackbar,\n nodeObj,\n manytoManyNodeObjKey,\n t,\n user\n ]);\n\n const openSheet = useCallback((value) => {\n setNoteId(value?.id || '');\n setSheetOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setNoteId('');\n setSheetOpen(false);\n }, []);\n\n const handleEditPage = useCallback(\n (value) => {\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Notes,\n params: { id: value?.id || '', reloadNotes: getNotes }\n });\n },\n [openSplitScreen, getNotes]\n );\n\n const getType = useCallback(\n (params) => {\n const type = typeOptions.find((t) => t.code === params.data.typeCode);\n return type?.name || '';\n },\n [typeOptions]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Note'),\n icon: ViewIcon,\n onClick: openSheet,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n }\n ],\n [t, openSheet, handleEditPage]\n );\n\n const columnDefs = [\n {\n headerName: 'Date',\n field: 'createdOn',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Subject',\n field: 'subject',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Note',\n field: 'content',\n resizable: true,\n sortable: true,\n valueGetter: (params) => params.data.content.replace(/(<([^>]+)>)/gi, '')\n },\n {\n headerName: 'Type',\n field: 'typeCode',\n resizable: true,\n sortable: true,\n valueGetter: getType\n },\n {\n headerName: 'Created By',\n field: 'userDisplayName',\n resizable: true,\n sortable: true\n },\n {\n headerName: '',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ];\n\n // no dependencies in the array because we only want getNotes to run once\n useEffect(() => {\n getNotes();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const getTypeOptions = async () => {\n let options = [];\n if (noteTypeGetAllApiMethod) {\n const typesResponse = await executeQueryAdHoc(\n { data: {} },\n noteTypeGetAllApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data;\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [noteTypeGetAllApiMethod]);\n\n return (\n <>\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={t('Note')}\n width={600}\n >\n <NotesScreen\n viewOnly={true}\n id={noteId}\n shortcutContentFinderEnabled={false}\n formRef={formRef}\n />\n </SideSheet>\n <AmbientGridTemplate\n title={'Notes'}\n data={notes}\n columnDefs={columnDefs}\n loading={loading}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={[]}\n />\n </>\n );\n};\n\nexport default UdpNotesPage;\n","export {default} from './UdpNotesPage';\nexport * from './UdpNotesPage';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpNotesPage-Deug2da_.js","names":["t","params"],"sources":["../src/udp/pages/UdpNotesPage/UdpNotesPage.jsx","../src/udp/pages/UdpNotesPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useTranslation } from 'react-i18next';\nimport { EditIcon, ViewIcon } from '@fluentui/react-icons';\nimport { NotesScreen } from '../../../notes/NotesScreen';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useActions } from '../../../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\n\nconst UdpNotesPage = (props) => {\n const { params } = props;\n const { nodeObj, manytoManyNodeObjKey } = params;\n const [notes, setNotes] = useState([]);\n const [typeOptions, setTypeOptions] = useState([]);\n const [loading, setLoading] = useState(false);\n const [sheetOpen, setSheetOpen] = useState(false);\n const [noteId, setNoteId] = useState('');\n const { openSplitScreen } = useActions();\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\n const formRef = useRef(null);\n const user = useUser();\n\n const noteFiledForSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Note_Filed_For,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const noteTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Note_Type,\n 'unityBaseGetAllMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const getNotes = useCallback(async () => {\n if (!nodeObj) {\n return [];\n }\n let notesList = [];\n setLoading(true);\n const filterElements = [\n {\n searchField: 'entityBusinessKey',\n searchValue: manytoManyNodeObjKey\n ? nodeObj[manytoManyNodeObjKey]?.businessObjectKey\n : nodeObj?.businessObjectKey,\n searchOperator: '='\n }\n ];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n\n if (noteFiledForSearchApiMethod) {\n const response = await executeQueryAdHoc(\n data,\n noteFiledForSearchApiMethod.apiMethodId\n );\n\n if (response?.status === 200) {\n const pageList = response.data.pageList;\n if (pageList?.length) {\n notesList = pageList.map((item) => item.note);\n }\n } else {\n handleErrorSnackbar(null, t('Could not retrieve notes'));\n }\n } else {\n handleErrorSnackbar(null, t('Search NoteFiledFor Method Not Promoted'));\n }\n setLoading(false);\n setNotes(notesList);\n }, [\n noteFiledForSearchApiMethod,\n handleErrorSnackbar,\n nodeObj,\n manytoManyNodeObjKey,\n t,\n user\n ]);\n\n const openSheet = useCallback((value) => {\n setNoteId(value?.id || '');\n setSheetOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setNoteId('');\n setSheetOpen(false);\n }, []);\n\n const handleEditPage = useCallback(\n (value) => {\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Notes,\n params: { id: value?.id || '', reloadNotes: getNotes }\n });\n },\n [openSplitScreen, getNotes]\n );\n\n const getType = useCallback(\n (params) => {\n const type = typeOptions.find((t) => t.code === params.data.typeCode);\n return type?.name || '';\n },\n [typeOptions]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Note'),\n icon: ViewIcon,\n onClick: openSheet,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n }\n ],\n [t, openSheet, handleEditPage]\n );\n\n const columnDefs = [\n {\n headerName: 'Date',\n field: 'createdOn',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Subject',\n field: 'subject',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Note',\n field: 'content',\n resizable: true,\n sortable: true,\n valueGetter: (params) => params.data.content.replace(/(<([^>]+)>)/gi, '')\n },\n {\n headerName: 'Type',\n field: 'typeCode',\n resizable: true,\n sortable: true,\n valueGetter: getType\n },\n {\n headerName: 'Created By',\n field: 'userDisplayName',\n resizable: true,\n sortable: true\n },\n {\n headerName: '',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ];\n\n // no dependencies in the array because we only want getNotes to run once\n useEffect(() => {\n getNotes();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const getTypeOptions = async () => {\n let options = [];\n if (noteTypeGetAllApiMethod) {\n const typesResponse = await executeQueryAdHoc(\n { data: {} },\n noteTypeGetAllApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data;\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [noteTypeGetAllApiMethod]);\n\n return (\n <>\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={t('Note')}\n width={600}\n >\n <NotesScreen\n viewOnly={true}\n id={noteId}\n shortcutContentFinderEnabled={false}\n formRef={formRef}\n />\n </SideSheet>\n <AmbientGridTemplate\n title={'Notes'}\n data={notes}\n columnDefs={columnDefs}\n loading={loading}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={[]}\n />\n </>\n );\n};\n\nexport default UdpNotesPage;\n","export {default} from './UdpNotesPage';\nexport * from './UdpNotesPage';\n"],"mappings":"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"}
@@ -3,11 +3,11 @@ import { i as useHandleAxiosSnackbar } from "./apiHelpers-WIR8pqy0.js";
3
3
  import { t as useUser } from "./useUser-wpHGo6jU.js";
4
4
  import { L as UdpEnums, j as SplitScreenTypeEnums } from "./unitySystemEnums-e5F9Jr7m.js";
5
5
  import { n as useActions, t as useActionState } from "./useActions-BWBXokgQ.js";
6
- import { r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
6
+ import { r as getSearchObject } from "./SearchUtilities-B1TCyppF.js";
7
7
  import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
8
8
  import { a as getBaseMethod, t as executeQueryAdHoc } from "./methodUtils-CDx9usdO.js";
9
9
  import { t as FILE_TO_TYPES } from "./reminderConstants-IPyFwGAf.js";
10
- import { t as RemindersScreen } from "./RemindersScreen-Cg6_SGJI.js";
10
+ import { t as RemindersScreen } from "./RemindersScreen-CyT18piP.js";
11
11
  import { t as AmbientGridTemplate } from "./AmbientGridTemplate-D0GSZj4a.js";
12
12
  import { t as ActionsRenderer } from "./ActionsRenderer-DbrPKZ1o.js";
13
13
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -205,4 +205,4 @@ var UdpRemindersPage_exports = /* @__PURE__ */ __export({ default: () => UdpRemi
205
205
 
206
206
  //#endregion
207
207
  export { UdpRemindersPage_default as n, UdpRemindersPage_exports as t };
208
- //# sourceMappingURL=UdpRemindersPage-CfLAOWP_.js.map
208
+ //# sourceMappingURL=UdpRemindersPage-B8vCglBX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpRemindersPage-CfLAOWP_.js","names":["params","t"],"sources":["../src/udp/pages/UdpRemindersPage/UdpRemindersPage.jsx","../src/udp/pages/UdpRemindersPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useTranslation } from 'react-i18next';\nimport { EditIcon, ViewIcon } from '@fluentui/react-icons';\nimport { RemindersScreen } from '../../../reminders/RemindersScreen';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useActions } from '../../../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../../../enums/unitySystemEnums';\nimport { FILE_TO_TYPES } from '../../../constants/reminderConstants';\nimport { useUser } from '../../../utilities/auth/useUser';\n\nconst UdpRemindersPage = (props) => {\n const { params } = props;\n const { nodeObj, manytoManyNodeObjKey } = params;\n const [reminders, setReminders] = useState([]);\n const [typeOptions, setTypeOptions] = useState([]);\n const [loading, setLoading] = useState(false);\n const [sheetOpen, setSheetOpen] = useState(false);\n const [reminderId, setReminderId] = useState('');\n const { openSplitScreen } = useActions();\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\n const formRef = useRef(null);\n const user = useUser();\n\n const reminderFiledForSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Type,\n 'unityBaseGetAllMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const getReminders = useCallback(async () => {\n if (!nodeObj) {\n return [];\n }\n let remindersList = [];\n setLoading(true);\n const filterElements = [\n {\n searchField: 'entityBusinessKey',\n searchValue: manytoManyNodeObjKey\n ? nodeObj[manytoManyNodeObjKey]?.businessObjectKey\n : nodeObj?.businessObjectKey,\n searchOperator: '='\n },\n {\n searchField: 'Reminder.TenantID',\n searchValue: user.currentTenantId,\n searchOperator: '='\n }\n ];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n\n if (reminderFiledForSearchApiMethod) {\n const response = await executeQueryAdHoc(\n data,\n reminderFiledForSearchApiMethod.apiMethodId\n );\n\n if (response?.status === 200) {\n const pageList = response.data.pageList;\n if (pageList?.length) {\n remindersList = pageList.map((item) => ({\n ...item.reminder,\n filedToType: item.type\n }));\n }\n } else {\n handleErrorSnackbar(null, t('Could not retrieve reminders'));\n }\n } else {\n handleErrorSnackbar(\n null,\n t('Search ReminderFiledFor Method Not Promoted')\n );\n }\n setLoading(false);\n setReminders(remindersList);\n }, [\n reminderFiledForSearchApiMethod,\n handleErrorSnackbar,\n nodeObj,\n manytoManyNodeObjKey,\n t,\n user\n ]);\n\n const openSheet = useCallback((value) => {\n setReminderId(value?.id || '');\n setSheetOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setReminderId('');\n setSheetOpen(false);\n }, []);\n\n const handleEditPage = useCallback(\n (value) => {\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Reminders,\n params: { id: value?.id || '', reloadReminders: getReminders }\n });\n },\n [openSplitScreen, getReminders]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Reminder'),\n icon: ViewIcon,\n onClick: openSheet,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n }\n ],\n [t, openSheet, handleEditPage]\n );\n\n const getFiledToType = (params) => {\n const filedToType = FILE_TO_TYPES.find(\n (type) => type.value === params.data.filedToType\n );\n return filedToType?.label || '';\n };\n\n const getType = useCallback(\n (params) => {\n const type = typeOptions.find((t) => t.code === params.data.typeCode);\n return type?.name || '';\n },\n [typeOptions]\n );\n\n const columnDefs = [\n {\n headerName: 'Date',\n field: 'createdOn',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Subject',\n field: 'subject',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Reminder',\n field: 'content',\n resizable: true,\n sortable: true,\n valueGetter: (params) => params.data.content.replace(/(<([^>]+)>)/gi, '')\n },\n {\n headerName: 'Reminder Date',\n field: 'reminderDate',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Type',\n field: 'typeCode',\n resizable: true,\n sortable: true,\n valueGetter: getType\n },\n {\n headerName: 'Filed To Type',\n field: 'filedToType',\n resizable: true,\n sortable: true,\n valueGetter: getFiledToType\n },\n {\n headerName: 'Created By',\n field: 'userDisplayName',\n resizable: true,\n sortable: true\n },\n {\n headerName: '',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ];\n\n // no dependencies in the array because we only want getReminders to run once\n useEffect(() => {\n getReminders();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const getTypeOptions = async () => {\n let options = [];\n if (reminderTypeGetAllApiMethod) {\n const typesResponse = await executeQueryAdHoc(\n { data: {} },\n reminderTypeGetAllApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data;\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [reminderTypeGetAllApiMethod]);\n\n return (\n <>\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={t('Reminder')}\n width={600}\n >\n <RemindersScreen\n viewOnly={true}\n id={reminderId}\n shortcutContentFinderEnabled={false}\n formRef={formRef}\n />\n </SideSheet>\n <AmbientGridTemplate\n title={'Reminders'}\n data={reminders}\n columnDefs={columnDefs}\n loading={loading}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={[]}\n />\n </>\n );\n};\n\nexport default UdpRemindersPage;\n","export * from './UdpRemindersPage';\nexport {default} from './UdpRemindersPage';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpRemindersPage-B8vCglBX.js","names":["params","t"],"sources":["../src/udp/pages/UdpRemindersPage/UdpRemindersPage.jsx","../src/udp/pages/UdpRemindersPage/index.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { AmbientGridTemplate } from '../../../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { useTranslation } from 'react-i18next';\nimport { EditIcon, ViewIcon } from '@fluentui/react-icons';\nimport { RemindersScreen } from '../../../reminders/RemindersScreen';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useActions } from '../../../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../../../enums/unitySystemEnums';\nimport { FILE_TO_TYPES } from '../../../constants/reminderConstants';\nimport { useUser } from '../../../utilities/auth/useUser';\n\nconst UdpRemindersPage = (props) => {\n const { params } = props;\n const { nodeObj, manytoManyNodeObjKey } = params;\n const [reminders, setReminders] = useState([]);\n const [typeOptions, setTypeOptions] = useState([]);\n const [loading, setLoading] = useState(false);\n const [sheetOpen, setSheetOpen] = useState(false);\n const [reminderId, setReminderId] = useState('');\n const { openSplitScreen } = useActions();\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\n const formRef = useRef(null);\n const user = useUser();\n\n const reminderFiledForSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Type,\n 'unityBaseGetAllMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const getReminders = useCallback(async () => {\n if (!nodeObj) {\n return [];\n }\n let remindersList = [];\n setLoading(true);\n const filterElements = [\n {\n searchField: 'entityBusinessKey',\n searchValue: manytoManyNodeObjKey\n ? nodeObj[manytoManyNodeObjKey]?.businessObjectKey\n : nodeObj?.businessObjectKey,\n searchOperator: '='\n },\n {\n searchField: 'Reminder.TenantID',\n searchValue: user.currentTenantId,\n searchOperator: '='\n }\n ];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n\n if (reminderFiledForSearchApiMethod) {\n const response = await executeQueryAdHoc(\n data,\n reminderFiledForSearchApiMethod.apiMethodId\n );\n\n if (response?.status === 200) {\n const pageList = response.data.pageList;\n if (pageList?.length) {\n remindersList = pageList.map((item) => ({\n ...item.reminder,\n filedToType: item.type\n }));\n }\n } else {\n handleErrorSnackbar(null, t('Could not retrieve reminders'));\n }\n } else {\n handleErrorSnackbar(\n null,\n t('Search ReminderFiledFor Method Not Promoted')\n );\n }\n setLoading(false);\n setReminders(remindersList);\n }, [\n reminderFiledForSearchApiMethod,\n handleErrorSnackbar,\n nodeObj,\n manytoManyNodeObjKey,\n t,\n user\n ]);\n\n const openSheet = useCallback((value) => {\n setReminderId(value?.id || '');\n setSheetOpen(true);\n }, []);\n\n const closeSheet = useCallback(() => {\n setReminderId('');\n setSheetOpen(false);\n }, []);\n\n const handleEditPage = useCallback(\n (value) => {\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Reminders,\n params: { id: value?.id || '', reloadReminders: getReminders }\n });\n },\n [openSplitScreen, getReminders]\n );\n\n const actionList = useMemo(\n () => [\n {\n id: 1, // Must be unique\n title: t('Reminder'),\n icon: ViewIcon,\n onClick: openSheet,\n disabled: false\n },\n {\n id: 2, // Must be unique\n title: t('Edit'),\n icon: EditIcon,\n onClick: handleEditPage,\n disabled: false\n }\n ],\n [t, openSheet, handleEditPage]\n );\n\n const getFiledToType = (params) => {\n const filedToType = FILE_TO_TYPES.find(\n (type) => type.value === params.data.filedToType\n );\n return filedToType?.label || '';\n };\n\n const getType = useCallback(\n (params) => {\n const type = typeOptions.find((t) => t.code === params.data.typeCode);\n return type?.name || '';\n },\n [typeOptions]\n );\n\n const columnDefs = [\n {\n headerName: 'Date',\n field: 'createdOn',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Subject',\n field: 'subject',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Reminder',\n field: 'content',\n resizable: true,\n sortable: true,\n valueGetter: (params) => params.data.content.replace(/(<([^>]+)>)/gi, '')\n },\n {\n headerName: 'Reminder Date',\n field: 'reminderDate',\n resizable: true,\n sortable: true\n },\n {\n headerName: 'Type',\n field: 'typeCode',\n resizable: true,\n sortable: true,\n valueGetter: getType\n },\n {\n headerName: 'Filed To Type',\n field: 'filedToType',\n resizable: true,\n sortable: true,\n valueGetter: getFiledToType\n },\n {\n headerName: 'Created By',\n field: 'userDisplayName',\n resizable: true,\n sortable: true\n },\n {\n headerName: '',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList\n },\n pinned: 'right',\n suppressMenu: true,\n sortable: false\n }\n ];\n\n // no dependencies in the array because we only want getReminders to run once\n useEffect(() => {\n getReminders();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const getTypeOptions = async () => {\n let options = [];\n if (reminderTypeGetAllApiMethod) {\n const typesResponse = await executeQueryAdHoc(\n { data: {} },\n reminderTypeGetAllApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data;\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [reminderTypeGetAllApiMethod]);\n\n return (\n <>\n <SideSheet\n open={sheetOpen}\n onClose={closeSheet}\n title={t('Reminder')}\n width={600}\n >\n <RemindersScreen\n viewOnly={true}\n id={reminderId}\n shortcutContentFinderEnabled={false}\n formRef={formRef}\n />\n </SideSheet>\n <AmbientGridTemplate\n title={'Reminders'}\n data={reminders}\n columnDefs={columnDefs}\n loading={loading}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n groupingData={[]}\n />\n </>\n );\n};\n\nexport default UdpRemindersPage;\n","export * from './UdpRemindersPage';\nexport {default} from './UdpRemindersPage';\n"],"mappings":"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"}