udp-react-enterprise-component-library 25.18.1-beta.36 → 25.18.1-beta.37

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 (513) hide show
  1. package/dist/{ActionProvider-BiXGsnVD.js → ActionProvider-Baw1T6NO.js} +4 -4
  2. package/dist/{ActionProvider-BiXGsnVD.js.map → ActionProvider-Baw1T6NO.js.map} +1 -1
  3. package/dist/{ActionSplitScreen-B6CwvyKz.js → ActionSplitScreen-iHYpf5b3.js} +5 -5
  4. package/dist/{ActionSplitScreen-B6CwvyKz.js.map → ActionSplitScreen-iHYpf5b3.js.map} +1 -1
  5. package/dist/{ActionWrapper-D_kTqDlx.js → ActionWrapper-BFnTN0Yg.js} +8 -8
  6. package/dist/{ActionWrapper-D_kTqDlx.js.map → ActionWrapper-BFnTN0Yg.js.map} +1 -1
  7. package/dist/{AggregateChip-CMsjzRuS.js → AggregateChip-VJ-QIBJt.js} +3 -3
  8. package/dist/{AggregateChip-CMsjzRuS.js.map → AggregateChip-VJ-QIBJt.js.map} +1 -1
  9. package/dist/{AmChart-CGJv7thW.js → AmChart-CVhkLkUN.js} +1 -1
  10. package/dist/{AmChart-CGJv7thW.js.map → AmChart-CVhkLkUN.js.map} +1 -1
  11. package/dist/{AmbientGridTemplate-d8EoaQH7.js → AmbientGridTemplate-VCZhDcIf.js} +4 -4
  12. package/dist/{AmbientGridTemplate-d8EoaQH7.js.map → AmbientGridTemplate-VCZhDcIf.js.map} +1 -1
  13. package/dist/{AmbientSingleDateSelector-DwyiHvnP.js → AmbientSingleDateSelector-6GlRqv6f.js} +1 -1
  14. package/dist/{AmbientSingleDateSelector-DwyiHvnP.js.map → AmbientSingleDateSelector-6GlRqv6f.js.map} +1 -1
  15. package/dist/{AmbientStepper-D9NzCqa8.js → AmbientStepper-Dv1WH2x1.js} +6 -6
  16. package/dist/{AmbientStepper-D9NzCqa8.js.map → AmbientStepper-Dv1WH2x1.js.map} +1 -1
  17. package/dist/{AmbientVisualizationCard-Ci615JQM.js → AmbientVisualizationCard-BAGEKWJD.js} +3 -3
  18. package/dist/{AmbientVisualizationCard-Ci615JQM.js.map → AmbientVisualizationCard-BAGEKWJD.js.map} +1 -1
  19. package/dist/{AmbientVisualizer-B6kX3oPX.js → AmbientVisualizer-DQb7oRtt.js} +1 -1
  20. package/dist/{AmbientVisualizer-B6kX3oPX.js.map → AmbientVisualizer-DQb7oRtt.js.map} +1 -1
  21. package/dist/{AppMenu-umGrUP24.js → AppMenu-j_DFeCLT.js} +2 -2
  22. package/dist/{AppMenu-umGrUP24.js.map → AppMenu-j_DFeCLT.js.map} +1 -1
  23. package/dist/{BarChartWidget-Byhkw_b2.js → BarChartWidget-CBuIqMLi.js} +1 -1
  24. package/dist/{BarChartWidget-Byhkw_b2.js.map → BarChartWidget-CBuIqMLi.js.map} +1 -1
  25. package/dist/{BaseTreeMenu-BhAbJoRI.js → BaseTreeMenu-B4d--j95.js} +4 -4
  26. package/dist/{BaseTreeMenu-BhAbJoRI.js.map → BaseTreeMenu-B4d--j95.js.map} +1 -1
  27. package/dist/{BioCardWrapper-C6nBREs6.js → BioCardWrapper-BgaHtBHX.js} +2 -2
  28. package/dist/{BioCardWrapper-C6nBREs6.js.map → BioCardWrapper-BgaHtBHX.js.map} +1 -1
  29. package/dist/{BubbleWidget-DgZ62Qgp.js → BubbleWidget-Do4wzp65.js} +2 -2
  30. package/dist/{BubbleWidget-DgZ62Qgp.js.map → BubbleWidget-Do4wzp65.js.map} +1 -1
  31. package/dist/{BulkActionsGridButton-BqQVX9xA.js → BulkActionsGridButton-h4xG4HUd.js} +3 -3
  32. package/dist/{BulkActionsGridButton-BqQVX9xA.js.map → BulkActionsGridButton-h4xG4HUd.js.map} +1 -1
  33. package/dist/{CardList-FnAeVtYc.js → CardList-ClQJc1cb.js} +1 -1
  34. package/dist/{CardList-FnAeVtYc.js.map → CardList-ClQJc1cb.js.map} +1 -1
  35. package/dist/{CircleButton-DzJjhCYd.js → CircleButton-cl6mmDmn.js} +2 -2
  36. package/dist/{CircleButton-DzJjhCYd.js.map → CircleButton-cl6mmDmn.js.map} +1 -1
  37. package/dist/{CircleGaugeWidget-CmhDHqSL.js → CircleGaugeWidget-DpusOc7_.js} +1 -1
  38. package/dist/{CircleGaugeWidget-CmhDHqSL.js.map → CircleGaugeWidget-DpusOc7_.js.map} +1 -1
  39. package/dist/{ContentContainer-CIYq-KgJ.js → ContentContainer-BsADv-yT.js} +1 -1
  40. package/dist/{ContentContainer-CIYq-KgJ.js.map → ContentContainer-BsADv-yT.js.map} +1 -1
  41. package/dist/{CrudBrowserContainer-DI5Ad2Fs.js → CrudBrowserContainer-C9184dly.js} +2 -2
  42. package/dist/{CrudBrowserContainer-DI5Ad2Fs.js.map → CrudBrowserContainer-C9184dly.js.map} +1 -1
  43. package/dist/{CrudForm-DeevwuDd.js → CrudForm-CDbgz4Ki.js} +2 -2
  44. package/dist/{CrudForm-DeevwuDd.js.map → CrudForm-CDbgz4Ki.js.map} +1 -1
  45. package/dist/{CrudTableSidePanel-BNnuDNZS.js → CrudTableSidePanel-Bmw3Xftc.js} +3 -3
  46. package/dist/{CrudTableSidePanel-BNnuDNZS.js.map → CrudTableSidePanel-Bmw3Xftc.js.map} +1 -1
  47. package/dist/{DataBrowserContainer-nr4cDIBD.js → DataBrowserContainer-r-AWYMmq.js} +6 -6
  48. package/dist/{DataBrowserContainer-nr4cDIBD.js.map → DataBrowserContainer-r-AWYMmq.js.map} +1 -1
  49. package/dist/{DateTrendWidget-Di_sMLMg.js → DateTrendWidget-CWrblk64.js} +1 -1
  50. package/dist/{DateTrendWidget-Di_sMLMg.js.map → DateTrendWidget-CWrblk64.js.map} +1 -1
  51. package/dist/{DensePlotWidget-BjNgsZMp.js → DensePlotWidget-C6UlwnqI.js} +1 -1
  52. package/dist/{DensePlotWidget-BjNgsZMp.js.map → DensePlotWidget-C6UlwnqI.js.map} +1 -1
  53. package/dist/{Directory-BnhL-K3q.js → Directory-DvGh-Lfv.js} +1 -1
  54. package/dist/{Directory-BnhL-K3q.js.map → Directory-DvGh-Lfv.js.map} +1 -1
  55. package/dist/{EntityHeader-bK94krmA.js → EntityHeader-BPt9Q1cN.js} +4 -4
  56. package/dist/{EntityHeader-bK94krmA.js.map → EntityHeader-BPt9Q1cN.js.map} +1 -1
  57. package/dist/{FieldArrayCard-Dc9XMy05.js → FieldArrayCard-DhHMT4er.js} +3 -3
  58. package/dist/{FieldArrayCard-Dc9XMy05.js.map → FieldArrayCard-DhHMT4er.js.map} +1 -1
  59. package/dist/{FileUpload-CHoEtVre.js → FileUpload-BZxNg52V.js} +1 -1
  60. package/dist/{FileUpload-CHoEtVre.js.map → FileUpload-BZxNg52V.js.map} +1 -1
  61. package/dist/{FluentCardHeader-CsQtNtjK.js → FluentCardHeader-DhVrZpGP.js} +1 -1
  62. package/dist/{FluentCardHeader-CsQtNtjK.js.map → FluentCardHeader-DhVrZpGP.js.map} +1 -1
  63. package/dist/{FluentCell-Dm8aaWes.js → FluentCell-CedZugOG.js} +2 -2
  64. package/dist/{FluentCell-Dm8aaWes.js.map → FluentCell-CedZugOG.js.map} +1 -1
  65. package/dist/{FluentDataTable-n4F_YwWi.js → FluentDataTable-CfZvFZIp.js} +2 -2
  66. package/dist/{FluentDataTable-n4F_YwWi.js.map → FluentDataTable-CfZvFZIp.js.map} +1 -1
  67. package/dist/{FluentLink-ChTXAsZZ.js → FluentLink-DS45dlRc.js} +1 -1
  68. package/dist/{FluentLink-ChTXAsZZ.js.map → FluentLink-DS45dlRc.js.map} +1 -1
  69. package/dist/{FluentProfileMenuCard-BdLCpdPv.js → FluentProfileMenuCard-RU7wosYK.js} +5 -5
  70. package/dist/{FluentProfileMenuCard-BdLCpdPv.js.map → FluentProfileMenuCard-RU7wosYK.js.map} +1 -1
  71. package/dist/{FluentRadioGroup-CafyJl31.js → FluentRadioGroup-c7Gm4njz.js} +1 -1
  72. package/dist/{FluentRadioGroup-CafyJl31.js.map → FluentRadioGroup-c7Gm4njz.js.map} +1 -1
  73. package/dist/{FluentSelectMenu-BlGxxA1Z.js → FluentSelectMenu-DWwJk0Gh.js} +1 -1
  74. package/dist/{FluentSelectMenu-BlGxxA1Z.js.map → FluentSelectMenu-DWwJk0Gh.js.map} +1 -1
  75. package/dist/{FluentSimpleSelect-BxLwVTnc.js → FluentSimpleSelect-DCrJDofS.js} +2 -2
  76. package/dist/{FluentSimpleSelect-BxLwVTnc.js.map → FluentSimpleSelect-DCrJDofS.js.map} +1 -1
  77. package/dist/{FluentTimePicker-CtijxH02.js → FluentTimePicker-C9wwQ3wX.js} +1 -1
  78. package/dist/{FluentTimePicker-CtijxH02.js.map → FluentTimePicker-C9wwQ3wX.js.map} +1 -1
  79. package/dist/{FluentTimeline-B-6cg-o7.js → FluentTimeline--7ISkVOo.js} +1 -1
  80. package/dist/{FluentTimeline-B-6cg-o7.js.map → FluentTimeline--7ISkVOo.js.map} +1 -1
  81. package/dist/{GaugeWidget-BT7YuEQO.js → GaugeWidget-DFZwCzN6.js} +1 -1
  82. package/dist/{GaugeWidget-BT7YuEQO.js.map → GaugeWidget-DFZwCzN6.js.map} +1 -1
  83. package/dist/{GraphCard-TjBoeauz.js → GraphCard-C-nGs4y1.js} +1 -1
  84. package/dist/{GraphCard-TjBoeauz.js.map → GraphCard-C-nGs4y1.js.map} +1 -1
  85. package/dist/{GridFunctions-Chj_vcVe.js → GridFunctions-CRTDIOe0.js} +2 -2
  86. package/dist/{GridFunctions-Chj_vcVe.js.map → GridFunctions-CRTDIOe0.js.map} +1 -1
  87. package/dist/{GroupNode-D1aehQ7K.js → GroupNode-Djp62Urb.js} +2 -2
  88. package/dist/{GroupNode-D1aehQ7K.js.map → GroupNode-Djp62Urb.js.map} +1 -1
  89. package/dist/{IconKey-DKiQELkd.js → IconKey-CayWYYXb.js} +1 -1
  90. package/dist/{IconKey-DKiQELkd.js.map → IconKey-CayWYYXb.js.map} +1 -1
  91. package/dist/{IconRenderer-DFpfUgfn.js → IconRenderer-B6ZoqrTX.js} +2 -2
  92. package/dist/{IconRenderer-DFpfUgfn.js.map → IconRenderer-B6ZoqrTX.js.map} +1 -1
  93. package/dist/{ImportDataFromFileMapping-BL5MOAS-.js → ImportDataFromFileMapping-CZQe7oHY.js} +2 -2
  94. package/dist/{ImportDataFromFileMapping-BL5MOAS-.js.map → ImportDataFromFileMapping-CZQe7oHY.js.map} +1 -1
  95. package/dist/{LineAndSparklinesWidget-CWnA37yw.js → LineAndSparklinesWidget-CsbQ4V9K.js} +1 -1
  96. package/dist/{LineAndSparklinesWidget-CWnA37yw.js.map → LineAndSparklinesWidget-CsbQ4V9K.js.map} +1 -1
  97. package/dist/{LineGraphWidget-DOJF9RDB.js → LineGraphWidget-fMmDKCHt.js} +1 -1
  98. package/dist/{LineGraphWidget-DOJF9RDB.js.map → LineGraphWidget-fMmDKCHt.js.map} +1 -1
  99. package/dist/MenuPage-NcImSCbx.js +3 -0
  100. package/dist/{MenuPage-CEqDX-_3.js → MenuPage-l6jiWcbB.js} +4 -4
  101. package/dist/{MenuPage-CEqDX-_3.js.map → MenuPage-l6jiWcbB.js.map} +1 -1
  102. package/dist/{MttMainTimeline-rLgkgX8U.js → MttMainTimeline-CW0QNrZw.js} +2 -2
  103. package/dist/{MttMainTimeline-rLgkgX8U.js.map → MttMainTimeline-CW0QNrZw.js.map} +1 -1
  104. package/dist/{MttSummary-DeCFHat3.js → MttSummary-CGTFEyQB.js} +3 -3
  105. package/dist/{MttSummary-DeCFHat3.js.map → MttSummary-CGTFEyQB.js.map} +1 -1
  106. package/dist/MyExportsPage-CkmqBYdn.js +3 -0
  107. package/dist/{MyExportsPage-Aapj7fCZ.js → MyExportsPage-DKkxU7yl.js} +3 -3
  108. package/dist/{MyExportsPage-Aapj7fCZ.js.map → MyExportsPage-DKkxU7yl.js.map} +1 -1
  109. package/dist/{NewsCard-BBh7InGE.js → NewsCard-C4g0OUT_.js} +1 -1
  110. package/dist/{NewsCard-BBh7InGE.js.map → NewsCard-C4g0OUT_.js.map} +1 -1
  111. package/dist/{Notes-CKryM0aj.js → Notes-MpEDLM1w.js} +1 -1
  112. package/dist/{Notes-CKryM0aj.js.map → Notes-MpEDLM1w.js.map} +1 -1
  113. package/dist/{NotesScreen-9Y5eOiU1.js → NotesScreen-DWfxRWOF.js} +6 -6
  114. package/dist/{NotesScreen-9Y5eOiU1.js.map → NotesScreen-DWfxRWOF.js.map} +1 -1
  115. package/dist/{OutlookCallback-CnRfyIik.js → OutlookCallback-B4JgQHYB.js} +1 -1
  116. package/dist/{OutlookCallback-CnRfyIik.js.map → OutlookCallback-B4JgQHYB.js.map} +1 -1
  117. package/dist/{PageActionWrapper-QgeZfyDl.js → PageActionWrapper-D0NcrIw5.js} +3 -3
  118. package/dist/{PageActionWrapper-QgeZfyDl.js.map → PageActionWrapper-D0NcrIw5.js.map} +1 -1
  119. package/dist/{PageNotFoundRoute-BAlMpeF8.js → PageNotFoundRoute-CQzy18Sw.js} +1 -1
  120. package/dist/{PageNotFoundRoute-BAlMpeF8.js.map → PageNotFoundRoute-CQzy18Sw.js.map} +1 -1
  121. package/dist/{PageNotFoundRoute-CLhbx6VD.js → PageNotFoundRoute-CsgaQRPa.js} +1 -1
  122. package/dist/{PageRenderer-BDRCRdNS.js → PageRenderer-uHAdepVs.js} +2 -2
  123. package/dist/{PageRenderer-BDRCRdNS.js.map → PageRenderer-uHAdepVs.js.map} +1 -1
  124. package/dist/{PaymentForm-Cw-6-woy.js → PaymentForm-ErYvUdUC.js} +27 -27
  125. package/dist/{PaymentForm-Cw-6-woy.js.map → PaymentForm-ErYvUdUC.js.map} +1 -1
  126. package/dist/{RecentlyLoadedNodesTable-B28Q8F1Y.js → RecentlyLoadedNodesTable-CK3mVYCX.js} +2 -2
  127. package/dist/{RecentlyLoadedNodesTable-B28Q8F1Y.js.map → RecentlyLoadedNodesTable-CK3mVYCX.js.map} +1 -1
  128. package/dist/{RecentlyLoadedNodesWidget-BgdSOq6I.js → RecentlyLoadedNodesWidget-D-cwlG4S.js} +2 -2
  129. package/dist/{RecentlyLoadedNodesWidget-BgdSOq6I.js.map → RecentlyLoadedNodesWidget-D-cwlG4S.js.map} +1 -1
  130. package/dist/{RejectIcon-dXvOFAlm.js → RejectIcon-yYl-EGWG.js} +1 -1
  131. package/dist/{RejectIcon-dXvOFAlm.js.map → RejectIcon-yYl-EGWG.js.map} +1 -1
  132. package/dist/{RemindersCard-z4dtBhhT.js → RemindersCard-b0Z_AUu4.js} +4 -4
  133. package/dist/{RemindersCard-z4dtBhhT.js.map → RemindersCard-b0Z_AUu4.js.map} +1 -1
  134. package/dist/{RemindersScreen-DQD_XKIp.js → RemindersScreen-BOsf651X.js} +6 -6
  135. package/dist/{RemindersScreen-DQD_XKIp.js.map → RemindersScreen-BOsf651X.js.map} +1 -1
  136. package/dist/{RemindersWidget-DMWlbmbX.js → RemindersWidget-CMNGJkAt.js} +5 -5
  137. package/dist/{RemindersWidget-DMWlbmbX.js.map → RemindersWidget-CMNGJkAt.js.map} +1 -1
  138. package/dist/{SearchServiceDatasource-Ci4OIAl1.js → SearchServiceDatasource-DhJk0qU3.js} +3 -3
  139. package/dist/{SearchServiceDatasource-Ci4OIAl1.js.map → SearchServiceDatasource-DhJk0qU3.js.map} +1 -1
  140. package/dist/{SearchUtilities-On0QS5vE.js → SearchUtilities-CNz302LN.js} +2 -2
  141. package/dist/{SearchUtilities-On0QS5vE.js.map → SearchUtilities-CNz302LN.js.map} +1 -1
  142. package/dist/{Shell-CGogIHh_.js → Shell-D7FDH0KZ.js} +6 -6
  143. package/dist/{Shell-CGogIHh_.js.map → Shell-D7FDH0KZ.js.map} +1 -1
  144. package/dist/{ShortcutContentFinder-D52eFY1l.js → ShortcutContentFinder-DkWVHF1Q.js} +5 -5
  145. package/dist/{ShortcutContentFinder-D52eFY1l.js.map → ShortcutContentFinder-DkWVHF1Q.js.map} +1 -1
  146. package/dist/{SimpleTable-CqvnDTLl.js → SimpleTable-BI6LwXgh.js} +1 -1
  147. package/dist/{SimpleTable-CqvnDTLl.js.map → SimpleTable-BI6LwXgh.js.map} +1 -1
  148. package/dist/{SparsePlotWidget-H4lx8Kaz.js → SparsePlotWidget-DBAY2rX7.js} +1 -1
  149. package/dist/{SparsePlotWidget-H4lx8Kaz.js.map → SparsePlotWidget-DBAY2rX7.js.map} +1 -1
  150. package/dist/{Statistic-CBbuk5HT.js → Statistic-0UgK8lPL.js} +2 -2
  151. package/dist/{Statistic-CBbuk5HT.js.map → Statistic-0UgK8lPL.js.map} +1 -1
  152. package/dist/{StatusCellRenderer-CLU8uo3Q.js → StatusCellRenderer-DDWwna7U.js} +1 -1
  153. package/dist/{StatusCellRenderer-CLU8uo3Q.js.map → StatusCellRenderer-DDWwna7U.js.map} +1 -1
  154. package/dist/{TableContainer-CJe7qOlC.js → TableContainer-DugYuSJF.js} +3 -3
  155. package/dist/{TableContainer-CJe7qOlC.js.map → TableContainer-DugYuSJF.js.map} +1 -1
  156. package/dist/{TenantProvider-DL25tmB1.js → TenantProvider-ByI6uAoc.js} +2 -2
  157. package/dist/{TenantProvider-DL25tmB1.js.map → TenantProvider-ByI6uAoc.js.map} +1 -1
  158. package/dist/{TicketCard-DQGB9AgD.js → TicketCard-DBaKP94u.js} +1 -1
  159. package/dist/{TicketCard-DQGB9AgD.js.map → TicketCard-DBaKP94u.js.map} +1 -1
  160. package/dist/{TimelineCalendar-C0xE1Q04.js → TimelineCalendar-Wjv3XhN5.js} +1 -1
  161. package/dist/{TimelineCalendar-C0xE1Q04.js.map → TimelineCalendar-Wjv3XhN5.js.map} +1 -1
  162. package/dist/{TokenGroupItem-DLU0AK1S.js → TokenGroupItem-DBHuBDVC.js} +1 -1
  163. package/dist/{TokenGroupItem-DLU0AK1S.js.map → TokenGroupItem-DBHuBDVC.js.map} +1 -1
  164. package/dist/{TreeUtilities-CujOFOPm.js → TreeUtilities-kiPupulY.js} +4 -4
  165. package/dist/{TreeUtilities-CujOFOPm.js.map → TreeUtilities-kiPupulY.js.map} +1 -1
  166. package/dist/UI/accordion/index.js +1 -1
  167. package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
  168. package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
  169. package/dist/UI/dataDisplay/GraphCard/index.js +1 -1
  170. package/dist/UI/dataDisplay/calendar/index.js +1 -1
  171. package/dist/UI/dataDisplay/cardList/index.js +1 -1
  172. package/dist/UI/dataDisplay/directory/index.js +1 -1
  173. package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
  174. package/dist/UI/dataDisplay/index.js +1 -1
  175. package/dist/UI/dataDisplay/map/index.js +1 -1
  176. package/dist/UI/dataDisplay/notes/index.js +1 -1
  177. package/dist/UI/dataDisplay/ticketCard/index.js +1 -1
  178. package/dist/UI/dataDisplay/visualization/amCharts/index.js +1 -1
  179. package/dist/UI/dataDisplay/visualization/index.js +1 -1
  180. package/dist/UI/fileViewer/index.js +1 -1
  181. package/dist/UI/floorplans/index.js +1 -1
  182. package/dist/UI/forms/index.js +1 -1
  183. package/dist/UI/index.js +14 -14
  184. package/dist/UI/inputs/calendar/index.js +1 -1
  185. package/dist/UI/inputs/dateRangeSelector/index.js +1 -1
  186. package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
  187. package/dist/UI/inputs/link/index.js +1 -1
  188. package/dist/UI/inputs/menus/AmbientStepper/index.js +1 -1
  189. package/dist/UI/inputs/menus/index.js +2 -2
  190. package/dist/UI/inputs/pickers/index.js +2 -2
  191. package/dist/UI/inputs/radio/index.js +1 -1
  192. package/dist/UI/mapLayout/index.js +1 -1
  193. package/dist/UI/mapLayout/ui/index.js +1 -1
  194. package/dist/UI/navigation/index.js +1 -1
  195. package/dist/UI/navigation/menus/index.js +1 -1
  196. package/dist/UI/surfaces/cards/chartDisplayCards/index.js +1 -1
  197. package/dist/UI/surfaces/cards/fluentCards/index.js +1 -1
  198. package/dist/UI/surfaces/cards/newsCard/index.js +1 -1
  199. package/dist/UI/surfaces/cards/workOrderCard/index.js +1 -1
  200. package/dist/UI/templates/calendar/index.js +1 -1
  201. package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +1 -1
  202. package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
  203. package/dist/UI/templates/ui/index.js +1 -1
  204. package/dist/UI/templates/ui/renderers/index.js +2 -2
  205. package/dist/UI/timeline/fluentTimeline/index.js +1 -1
  206. package/dist/UI/timeline/index.js +1 -1
  207. package/dist/UI/utilityDisplay/alerts/index.js +1 -1
  208. package/dist/UI/utilityDisplay/index.js +5 -5
  209. package/dist/UI/utilityDisplay/utilities/index.js +1 -1
  210. package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
  211. package/dist/UI/widgets/library/BubbleWidget/index.js +1 -1
  212. package/dist/UI/widgets/library/CircleGaugeWidget/index.js +1 -1
  213. package/dist/UI/widgets/library/DateTrendWidget/index.js +1 -1
  214. package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
  215. package/dist/UI/widgets/library/GaugeWidget/index.js +1 -1
  216. package/dist/UI/widgets/library/LineAndSparklinesWidget/index.js +1 -1
  217. package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
  218. package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
  219. package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
  220. package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
  221. package/dist/UI/widgets/library/TableWidget/index.js +1 -1
  222. package/dist/{UdpAlertsContainer-CsQfN0Cg.js → UdpAlertsContainer-CE63vJ1B.js} +4 -4
  223. package/dist/{UdpAlertsContainer-CsQfN0Cg.js.map → UdpAlertsContainer-CE63vJ1B.js.map} +1 -1
  224. package/dist/{UdpAuditEvents-CbCZ5ND-.js → UdpAuditEvents-CiPHLRN-.js} +2 -2
  225. package/dist/{UdpAuditEvents-CbCZ5ND-.js.map → UdpAuditEvents-CiPHLRN-.js.map} +1 -1
  226. package/dist/UdpAuditEventsPage-CGWixtmq.js +3 -0
  227. package/dist/{UdpAuditEventsPage-BfwuxYxk.js → UdpAuditEventsPage-CzgzFO4P.js} +3 -3
  228. package/dist/{UdpAuditEventsPage-BfwuxYxk.js.map → UdpAuditEventsPage-CzgzFO4P.js.map} +1 -1
  229. package/dist/{UdpCalendarYearView-TZowGC77.js → UdpCalendarYearView-Djr7YCT3.js} +1 -1
  230. package/dist/{UdpCalendarYearView-TZowGC77.js.map → UdpCalendarYearView-Djr7YCT3.js.map} +1 -1
  231. package/dist/{UdpDataBrowserPage-C746qBki.js → UdpDataBrowserPage-BsR670I7.js} +7 -7
  232. package/dist/{UdpDataBrowserPage-C746qBki.js.map → UdpDataBrowserPage-BsR670I7.js.map} +1 -1
  233. package/dist/{UdpDateRangeSelector-C5toPT2E.js → UdpDateRangeSelector-C0jEXHEQ.js} +1 -1
  234. package/dist/{UdpDateRangeSelector-C5toPT2E.js.map → UdpDateRangeSelector-C0jEXHEQ.js.map} +1 -1
  235. package/dist/{UdpFormsPrivateForm-CUVom0jg.js → UdpFormsPrivateForm-BCXlSJcR.js} +2 -2
  236. package/dist/{UdpFormsPrivateForm-CUVom0jg.js.map → UdpFormsPrivateForm-BCXlSJcR.js.map} +1 -1
  237. package/dist/{UdpFormsSubmissionGrid-DJeJx9V0.js → UdpFormsSubmissionGrid-3806WiQB.js} +2 -2
  238. package/dist/{UdpFormsSubmissionGrid-DJeJx9V0.js.map → UdpFormsSubmissionGrid-3806WiQB.js.map} +1 -1
  239. package/dist/{UdpGridPanelManagementPage-INlmheiF.js → UdpGridPanelManagementPage-Dzu7o8P5.js} +2 -2
  240. package/dist/{UdpGridPanelManagementPage-INlmheiF.js.map → UdpGridPanelManagementPage-Dzu7o8P5.js.map} +1 -1
  241. package/dist/{UdpGridTemplate-SGI-8dJX.js → UdpGridTemplate-BswnwevH.js} +1 -1
  242. package/dist/{UdpGridTemplate-SGI-8dJX.js.map → UdpGridTemplate-BswnwevH.js.map} +1 -1
  243. package/dist/{UdpImportFromFileMappingPage-v0D7v216.js → UdpImportFromFileMappingPage-CjCTzU9E.js} +2 -2
  244. package/dist/{UdpImportFromFileMappingPage-v0D7v216.js.map → UdpImportFromFileMappingPage-CjCTzU9E.js.map} +1 -1
  245. package/dist/{UdpInquiryMaintenanceEnginePage-BPZhmEmg.js → UdpInquiryMaintenanceEnginePage-4HYSYxGd.js} +2 -2
  246. package/dist/{UdpInquiryMaintenanceEnginePage-BPZhmEmg.js.map → UdpInquiryMaintenanceEnginePage-4HYSYxGd.js.map} +1 -1
  247. package/dist/{UdpMaintenanceEnginePage-CI3rZ6G9.js → UdpMaintenanceEnginePage-B8Tvv1dZ.js} +6 -6
  248. package/dist/{UdpMaintenanceEnginePage-CI3rZ6G9.js.map → UdpMaintenanceEnginePage-B8Tvv1dZ.js.map} +1 -1
  249. package/dist/{UdpNotesPage-Cbz2-Plp.js → UdpNotesPage-BGNZX-5s.js} +6 -6
  250. package/dist/{UdpNotesPage-Cbz2-Plp.js.map → UdpNotesPage-BGNZX-5s.js.map} +1 -1
  251. package/dist/{UdpPages-C555kGsU.js → UdpPages-CMkb2m5F.js} +15 -15
  252. package/dist/{UdpPages-C555kGsU.js.map → UdpPages-CMkb2m5F.js.map} +1 -1
  253. package/dist/{UdpRemindersPage-B8oGAjtR.js → UdpRemindersPage-J9vGaj3s.js} +6 -6
  254. package/dist/{UdpRemindersPage-B8oGAjtR.js.map → UdpRemindersPage-J9vGaj3s.js.map} +1 -1
  255. package/dist/{UdpRoutes-BYAHAF0u.js → UdpRoutes-D-muhX5C.js} +6 -6
  256. package/dist/{UdpRoutes-BYAHAF0u.js.map → UdpRoutes-D-muhX5C.js.map} +1 -1
  257. package/dist/{UdpTransactionTypesPage-CmsWZHM4.js → UdpTransactionTypesPage-Do_tl8J2.js} +1898 -468
  258. package/dist/UdpTransactionTypesPage-Do_tl8J2.js.map +1 -0
  259. package/dist/{UdpTransactionsPage-D6lRI165.js → UdpTransactionsPage-DKF6PKUA.js} +779 -192
  260. package/dist/UdpTransactionsPage-DKF6PKUA.js.map +1 -0
  261. package/dist/{UdpVerticalManagementPage-BmQISa0N.js → UdpVerticalManagementPage-CR3YJwcI.js} +3 -3
  262. package/dist/{UdpVerticalManagementPage-BmQISa0N.js.map → UdpVerticalManagementPage-CR3YJwcI.js.map} +1 -1
  263. package/dist/{UdpVerticalManagementSidesheet-D4WSAtZC.js → UdpVerticalManagementSidesheet-CCSqaYq-.js} +4 -4
  264. package/dist/{UdpVerticalManagementSidesheet-D4WSAtZC.js.map → UdpVerticalManagementSidesheet-CCSqaYq-.js.map} +1 -1
  265. package/dist/{UserForm-Cvx0qyL6.js → UserForm-DQIJUkWW.js} +2 -2
  266. package/dist/{UserForm-Cvx0qyL6.js.map → UserForm-DQIJUkWW.js.map} +1 -1
  267. package/dist/UserFormSideSheet-Cki2zS9L.js +3 -0
  268. package/dist/{UserFormSideSheet-Bo1yZr01.js → UserFormSideSheet-yMExq77r.js} +2 -2
  269. package/dist/{UserFormSideSheet-Bo1yZr01.js.map → UserFormSideSheet-yMExq77r.js.map} +1 -1
  270. package/dist/{UtilityBar-O0baEBVj.js → UtilityBar-Ct7h6CJ4.js} +2 -2
  271. package/dist/{UtilityBar-O0baEBVj.js.map → UtilityBar-Ct7h6CJ4.js.map} +1 -1
  272. package/dist/VirtualBrowser-C1IP6rhy.js +3 -0
  273. package/dist/{VirtualBrowser-clYMlLAt.js → VirtualBrowser-CLXEdKAF.js} +3 -3
  274. package/dist/{VirtualBrowser-clYMlLAt.js.map → VirtualBrowser-CLXEdKAF.js.map} +1 -1
  275. package/dist/{WorkOrderCard-Wh1AkhfU.js → WorkOrderCard-CfvJtG69.js} +1 -1
  276. package/dist/{WorkOrderCard-Wh1AkhfU.js.map → WorkOrderCard-CfvJtG69.js.map} +1 -1
  277. package/dist/{WorkflowContainer-ClMZHFEd.js → WorkflowContainer-5of_2j2y.js} +3 -3
  278. package/dist/{WorkflowContainer-ClMZHFEd.js.map → WorkflowContainer-5of_2j2y.js.map} +1 -1
  279. package/dist/{WorkflowContainer-BBvEDJx3.js → WorkflowContainer-Bb0Amji_.js} +1 -1
  280. package/dist/{WorkflowTreeMenu-CdfX1Pv0.js → WorkflowTreeMenu-BudXOCOS.js} +4 -4
  281. package/dist/{WorkflowTreeMenu-CdfX1Pv0.js.map → WorkflowTreeMenu-BudXOCOS.js.map} +1 -1
  282. package/dist/{accordion-DT5LpWAW.js → accordion-Dh-tKkr0.js} +2 -2
  283. package/dist/{accordion-DT5LpWAW.js.map → accordion-Dh-tKkr0.js.map} +1 -1
  284. package/dist/{actionSummary-BrcS82Qz.js → actionSummary-8FhDX8uJ.js} +2 -2
  285. package/dist/{actionSummary-BrcS82Qz.js.map → actionSummary-8FhDX8uJ.js.map} +1 -1
  286. package/dist/{actionUtils-DylNlciX.js → actionUtils-DREj3J3H.js} +2 -2
  287. package/dist/{actionUtils-DylNlciX.js.map → actionUtils-DREj3J3H.js.map} +1 -1
  288. package/dist/actions/actionSummary/index.js +1 -1
  289. package/dist/actions/index.js +5 -5
  290. package/dist/actions/utils/index.js +1 -1
  291. package/dist/{aggregateUtils-BCO2GaVq.js → aggregateUtils-C5GwQct7.js} +2 -2
  292. package/dist/{aggregateUtils-BCO2GaVq.js.map → aggregateUtils-C5GwQct7.js.map} +1 -1
  293. package/dist/{aggridHelpers-Dj7ES7if.js → aggridHelpers-MdXm-qhS.js} +3 -3
  294. package/dist/{aggridHelpers-Dj7ES7if.js.map → aggridHelpers-MdXm-qhS.js.map} +1 -1
  295. package/dist/{auth-DQZDqD8X.js → auth-eDuSIJxU.js} +3 -3
  296. package/dist/{auth-DQZDqD8X.js.map → auth-eDuSIJxU.js.map} +1 -1
  297. package/dist/componentSystems/multiThreadTimeline/index.js +3 -3
  298. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  299. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
  300. package/dist/componentSystems/multiThreadTimeline/ui/index.js +1 -1
  301. package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
  302. package/dist/componentSystems/pageRenderer/index.js +3 -3
  303. package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
  304. package/dist/dataBrowser/index.js +1 -1
  305. package/dist/{dateUtils-ChKgbJ9U.js → dateUtils-ftAbP-Mv.js} +18 -2
  306. package/dist/{dateUtils-ChKgbJ9U.js.map → dateUtils-ftAbP-Mv.js.map} +1 -1
  307. package/dist/enums/index.js +2 -2
  308. package/dist/{fileViewer-Dk6GMaSl.js → fileViewer-8-Eh4vLL.js} +2 -2
  309. package/dist/{fileViewer-Dk6GMaSl.js.map → fileViewer-8-Eh4vLL.js.map} +1 -1
  310. package/dist/{floorplans-BuvxGfwI.js → floorplans-CY6mR5bW.js} +2 -2
  311. package/dist/{floorplans-BuvxGfwI.js.map → floorplans-CY6mR5bW.js.map} +1 -1
  312. package/dist/{fluentTimeline-DceBN460.js → fluentTimeline-L0T1uOFm.js} +2 -2
  313. package/dist/{fluentTimeline-DceBN460.js.map → fluentTimeline-L0T1uOFm.js.map} +1 -1
  314. package/dist/{gridVisualizationFunctions-D5YZTZ7G.js → gridVisualizationFunctions-D83yg1AF.js} +1 -1
  315. package/dist/{gridVisualizationFunctions-D5YZTZ7G.js.map → gridVisualizationFunctions-D83yg1AF.js.map} +1 -1
  316. package/dist/hooks/index.js +3 -3
  317. package/dist/index.js +102 -101
  318. package/dist/inquiry/dashboard/index.js +1 -1
  319. package/dist/inquiry/index.js +4 -4
  320. package/dist/inquiry/inquiryBar/index.js +1 -1
  321. package/dist/inquiry/search/index.js +1 -1
  322. package/dist/{inquiry-DKgopy7F.js → inquiry-D-x5PZRJ.js} +12 -12
  323. package/dist/{inquiry-DKgopy7F.js.map → inquiry-D-x5PZRJ.js.map} +1 -1
  324. package/dist/{inquiryBar-CNAMeAq0.js → inquiryBar-lZ1qPFK6.js} +2 -2
  325. package/dist/{inquiryBar-CNAMeAq0.js.map → inquiryBar-lZ1qPFK6.js.map} +1 -1
  326. package/dist/layout/index.js +1 -1
  327. package/dist/{SideBarTemplate-B0lh7DDL.js → layout-BXuf6qmj.js} +1 -1
  328. package/dist/layout-BXuf6qmj.js.map +1 -0
  329. package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
  330. package/dist/maintenanceEngine/index.js +4 -4
  331. package/dist/maintenanceEngine/tableBrowser/index.js +1 -1
  332. package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
  333. package/dist/{mapLayout-CZGgMWF6.js → mapLayout-BvKaPY3O.js} +2 -2
  334. package/dist/{mapLayout-CZGgMWF6.js.map → mapLayout-BvKaPY3O.js.map} +1 -1
  335. package/dist/menuPage/index.js +1 -1
  336. package/dist/{menuPage-DXMZEj8i.js → menuPage-BKRvZjzg.js} +2 -2
  337. package/dist/{menuPage-DXMZEj8i.js.map → menuPage-BKRvZjzg.js.map} +1 -1
  338. package/dist/{menuUtilities-cO3zYLVr.js → menuUtilities-BCPwOaeA.js} +2 -2
  339. package/dist/{menuUtilities-cO3zYLVr.js.map → menuUtilities-BCPwOaeA.js.map} +1 -1
  340. package/dist/notes/index.js +1 -1
  341. package/dist/{UdpTimeSelector-XsmTgOvP.js → pickers-DfIXzoW7.js} +1 -1
  342. package/dist/pickers-DfIXzoW7.js.map +1 -0
  343. package/dist/reminders/index.js +2 -2
  344. package/dist/routes/components/index.js +1 -1
  345. package/dist/routes/index.js +1 -1
  346. package/dist/{search-BGZwaCKb.js → search-DRxUjlyc.js} +5 -5
  347. package/dist/{search-BGZwaCKb.js.map → search-DRxUjlyc.js.map} +1 -1
  348. package/dist/shell/index.js +3 -3
  349. package/dist/shell/ui/addUser/index.js +1 -1
  350. package/dist/shell/ui/index.js +2 -2
  351. package/dist/stores/index.js +1 -1
  352. package/dist/{tenantStore-tBfq87CP.js → tenantStore-TgmV03z9.js} +2 -2
  353. package/dist/{tenantStore-tBfq87CP.js.map → tenantStore-TgmV03z9.js.map} +1 -1
  354. package/dist/treeMenu/index.js +1 -1
  355. package/dist/types/src/enums/unitySystemEnums.d.ts +4 -2
  356. package/dist/types/src/enums/unitySystemEnums.d.ts.map +1 -1
  357. package/dist/types/src/index.d.ts +1 -0
  358. package/dist/types/src/index.d.ts.map +1 -1
  359. package/dist/types/src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
  360. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionAttachmentTypeForm.d.ts +4 -0
  361. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionAttachmentTypeForm.d.ts.map +1 -0
  362. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationForm.d.ts +4 -0
  363. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationForm.d.ts.map +1 -0
  364. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationTransactionActionForm.d.ts +4 -0
  365. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationTransactionActionForm.d.ts.map +1 -0
  366. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.d.ts.map +1 -1
  367. package/dist/types/src/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.d.ts.map +1 -1
  368. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeCreateAndEditSidesheet.d.ts +4 -0
  369. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeCreateAndEditSidesheet.d.ts.map +1 -0
  370. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeSidesheet.d.ts +4 -0
  371. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeSidesheet.d.ts.map +1 -0
  372. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet.d.ts +4 -0
  373. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet.d.ts.map +1 -0
  374. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationSidesheet.d.ts +4 -0
  375. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationSidesheet.d.ts.map +1 -0
  376. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet.d.ts +4 -0
  377. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet.d.ts.map +1 -0
  378. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionSidesheet.d.ts +4 -0
  379. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionSidesheet.d.ts.map +1 -0
  380. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.d.ts.map +1 -1
  381. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionCreateAndEditSidesheet.d.ts.map +1 -1
  382. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionSidesheet.d.ts.map +1 -1
  383. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionCreateAndEditSidesheet.d.ts.map +1 -1
  384. package/dist/types/src/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionSidesheet.d.ts.map +1 -1
  385. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -1
  386. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
  387. package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
  388. package/dist/types/src/udp/pages/UdpTransactionsPage/components/AttachmentTransactionAttachmentList.d.ts +4 -0
  389. package/dist/types/src/udp/pages/UdpTransactionsPage/components/AttachmentTransactionAttachmentList.d.ts.map +1 -0
  390. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsFooterItem.d.ts.map +1 -1
  391. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsForm.d.ts +4 -0
  392. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsForm.d.ts.map +1 -0
  393. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsFormFields.d.ts +4 -0
  394. package/dist/types/src/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsFormFields.d.ts.map +1 -0
  395. package/dist/types/src/udp/pages/UdpTransactionsPage/components/UdpTransactionCustomPage.d.ts.map +1 -1
  396. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachment.d.ts +3 -0
  397. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachment.d.ts.map +1 -0
  398. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachments.d.ts +3 -0
  399. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachments.d.ts.map +1 -0
  400. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionTimeline.d.ts +4 -0
  401. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionTimeline.d.ts.map +1 -0
  402. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionTimelineItem.d.ts +3 -0
  403. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionTimelineItem.d.ts.map +1 -0
  404. package/dist/types/src/udp/pages/UdpTransactionsPage/{sidesheets → components}/transactionNote/TransactionNote.d.ts.map +1 -1
  405. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNoteForm.d.ts +3 -0
  406. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNoteForm.d.ts.map +1 -0
  407. package/dist/types/src/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNotes.d.ts.map +1 -0
  408. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentTransaction.d.ts +2 -1
  409. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentTransaction.d.ts.map +1 -1
  410. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.d.ts.map +1 -1
  411. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts +2 -1
  412. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
  413. package/dist/types/src/uploader/Attachments.d.ts +18 -0
  414. package/dist/types/src/uploader/Attachments.d.ts.map +1 -0
  415. package/dist/types/src/uploader/enums/systemEnums.d.ts +17 -0
  416. package/dist/types/src/uploader/enums/systemEnums.d.ts.map +1 -0
  417. package/dist/types/src/uploader/index.d.ts +1 -0
  418. package/dist/types/src/uploader/index.d.ts.map +1 -1
  419. package/dist/types/src/uploader/utils/allowedFileProperties.d.ts +3 -0
  420. package/dist/types/src/uploader/utils/allowedFileProperties.d.ts.map +1 -0
  421. package/dist/types/src/uploader/utils/downloadAttachmentFiles.d.ts +4 -0
  422. package/dist/types/src/uploader/utils/downloadAttachmentFiles.d.ts.map +1 -0
  423. package/dist/types/src/utilities/transactions/useTransactionEngine.d.ts +2 -0
  424. package/dist/types/src/utilities/transactions/useTransactionEngine.d.ts.map +1 -1
  425. package/dist/types/tsconfig.tsbuildinfo +1 -1
  426. package/dist/udp/ShortcutContent/index.js +1 -1
  427. package/dist/udp/export/index.js +1 -1
  428. package/dist/udp/fileImportMapping/index.js +2 -2
  429. package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
  430. package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
  431. package/dist/udp/pages/UdpFormsPrivateForm/index.js +1 -1
  432. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
  433. package/dist/udp/pages/UdpGridPanelManagementPage/index.js +1 -1
  434. package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
  435. package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
  436. package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
  437. package/dist/udp/pages/UdpNotesPage/index.js +1 -1
  438. package/dist/udp/pages/UdpPages/index.js +1 -1
  439. package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
  440. package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
  441. package/dist/udp/pages/UdpTransactionTypesPage/index.js +1 -1
  442. package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
  443. package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
  444. package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
  445. package/dist/udp/pages/index.js +1 -1
  446. package/dist/{unitySystemEnums-DM5vXR_m.js → unitySystemEnums-e5F9Jr7m.js} +5 -3
  447. package/dist/{unitySystemEnums-DM5vXR_m.js.map → unitySystemEnums-e5F9Jr7m.js.map} +1 -1
  448. package/dist/uploader/Attachments.css +29 -0
  449. package/dist/uploader/index.js +2 -102
  450. package/dist/uploader-C36UIFAF.js +314 -0
  451. package/dist/uploader-C36UIFAF.js.map +1 -0
  452. package/dist/{useActions-Db2P12NS.js → useActions-CxDs7v3s.js} +3 -3
  453. package/dist/{useActions-Db2P12NS.js.map → useActions-CxDs7v3s.js.map} +1 -1
  454. package/dist/{usePromotedMethodEntities-Dw_Z9GFX.js → usePromotedMethodEntities-B3xSrWmP.js} +2 -2
  455. package/dist/{usePromotedMethodEntities-Dw_Z9GFX.js.map → usePromotedMethodEntities-B3xSrWmP.js.map} +1 -1
  456. package/dist/{useSearchFilterParamsMap-CLAStwmE.js → useSearchFilterParamsMap-DPCfEY-N.js} +2 -2
  457. package/dist/{useSearchFilterParamsMap-CLAStwmE.js.map → useSearchFilterParamsMap-DPCfEY-N.js.map} +1 -1
  458. package/dist/utilities/aggrid/datasources/index.js +1 -1
  459. package/dist/utilities/aggrid/index.js +2 -2
  460. package/dist/utilities/auth/index.js +1 -1
  461. package/dist/utilities/customIcons/index.js +1 -1
  462. package/dist/utilities/floorplanFunctions/index.js +1 -1
  463. package/dist/utilities/form/paymentForm/index.js +1 -1
  464. package/dist/utilities/menus/index.js +1 -1
  465. package/dist/utilities/provider/index.js +1 -1
  466. package/dist/utilities/redirect/pages/index.js +1 -1
  467. package/dist/utilities/search/index.js +1 -1
  468. package/dist/utilities/style/index.js +1 -1
  469. package/dist/utilities/tenant/index.js +1 -1
  470. package/dist/utilities/tree/index.js +1 -1
  471. package/dist/utilities/uploader/index.js +1 -1
  472. package/dist/{withEngineComponent-s_zEZt7e.js → withEngineComponent-Css79hMi.js} +2 -2
  473. package/dist/{withEngineComponent-s_zEZt7e.js.map → withEngineComponent-Css79hMi.js.map} +1 -1
  474. package/dist/workflow/index.js +2 -2
  475. package/dist/workflow/menus/index.js +1 -1
  476. package/export-map.json +4 -2
  477. package/package.json +2 -2
  478. package/dist/MenuPage-BxZfgpHf.js +0 -3
  479. package/dist/MyExportsPage-BnDpxtTW.js +0 -3
  480. package/dist/SideBarTemplate-B0lh7DDL.js.map +0 -1
  481. package/dist/UdpAuditEventsPage-BGIcCG26.js +0 -3
  482. package/dist/UdpTimeSelector-XsmTgOvP.js.map +0 -1
  483. package/dist/UdpTransactionTypesPage-CmsWZHM4.js.map +0 -1
  484. package/dist/UdpTransactionsPage-D6lRI165.js.map +0 -1
  485. package/dist/UserFormSideSheet-B6CT9SiQ.js +0 -3
  486. package/dist/VirtualBrowser-Cm-d-9ws.js +0 -3
  487. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentList.d.ts +0 -3
  488. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/AttachmentList.d.ts.map +0 -1
  489. package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/transactionNote/TransactionNotes.d.ts.map +0 -1
  490. package/dist/uploader/index.js.map +0 -1
  491. /package/dist/{addUser-C90pCSnT.js → addUser-ND44rh2U.js} +0 -0
  492. /package/dist/{appSwitcher-BVKuYNfi.js → appSwitcher-a9n2Iwje.js} +0 -0
  493. /package/dist/{components-B1RVyHlZ.js → components-DFnCokX4.js} +0 -0
  494. /package/dist/{crudBrowser-C4YqsRrl.js → crudBrowser-D2jkhTHL.js} +0 -0
  495. /package/dist/{forms-BHhy_qYQ.js → forms-Bqbd2PSS.js} +0 -0
  496. /package/dist/{functions-48UNDwct.js → functions-BsqJgCPf.js} +0 -0
  497. /package/dist/{hocs-CWPyxUPi.js → hocs-ffxbQsXq.js} +0 -0
  498. /package/dist/{hooks-CkNaVLLH.js → hooks-DZQTSvZa.js} +0 -0
  499. /package/dist/{menus-DRIHkeQr.js → menus-Bcz2WjML.js} +0 -0
  500. /package/dist/{modified-BHJzuqPC.js → modified-Bhd8wpcw.js} +0 -0
  501. /package/dist/{mttMainTimeline-CLFQyr-b.js → mttMainTimeline-4YnP9sFd.js} +0 -0
  502. /package/dist/{mttSummary-13x9tvMI.js → mttSummary-DUe99dle.js} +0 -0
  503. /package/dist/{renderers-B2fqkGT5.js → renderers-DMzVV_xu.js} +0 -0
  504. /package/dist/{sidebar-CM1ujsxj.js → sidebar-Wi8WckFO.js} +0 -0
  505. /package/dist/{tableBrowser-CSDLzrvz.js → tableBrowser-C1wXuOXy.js} +0 -0
  506. /package/dist/types/src/udp/pages/UdpTransactionsPage/{sidesheets → components}/transactionNote/TransactionNote.d.ts +0 -0
  507. /package/dist/types/src/udp/pages/UdpTransactionsPage/{sidesheets → components}/transactionNote/TransactionNotes.d.ts +0 -0
  508. /package/dist/{ui-CPBXC1Ld.js → ui-BjpkPJO5.js} +0 -0
  509. /package/dist/{ui-DKHa8sM6.js → ui-DDD_eO_6.js} +0 -0
  510. /package/dist/{utils-D3uaSx1C.js → utils-DNwO498R.js} +0 -0
  511. /package/dist/{utils-mr65G560.js → utils-Drtwu1nG.js} +0 -0
  512. /package/dist/{virtualBrowser-DpJvv72S.js → virtualBrowser-zN1T60dc.js} +0 -0
  513. /package/dist/{wrappers-C7ViYUDV.js → wrappers-CQ2ylYPw.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { r as useAgGridApi, t as AgTable } from "./AgTable-B2xTzAm2.js";
2
2
  import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
3
3
  import { t as AmbientCard } from "./AmbientCard-CLW4bPCu.js";
4
- import { t as IconRenderer } from "./IconRenderer-DFpfUgfn.js";
4
+ import { t as IconRenderer } from "./IconRenderer-B6ZoqrTX.js";
5
5
  import { t as formatDateToLocaleString } from "./DateUtilities-COCIN8sN.js";
6
6
  import React, { useCallback, useEffect, useMemo, useState } from "react";
7
7
  import { LinearProgress, Typography } from "@material-ui/core";
@@ -105,4 +105,4 @@ const RecentlyLoadedNodesTable = (props) => {
105
105
 
106
106
  //#endregion
107
107
  export { RecentlyLoadedNodesTable as t };
108
- //# sourceMappingURL=RecentlyLoadedNodesTable-B28Q8F1Y.js.map
108
+ //# sourceMappingURL=RecentlyLoadedNodesTable-CK3mVYCX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecentlyLoadedNodesTable-B28Q8F1Y.js","names":[],"sources":["../src/inquiry/dashboard/RecentlyLoadedNodesTable.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { Typography, LinearProgress } from '@material-ui/core';\nimport { AmbientCard } from '../../UI/surfaces/cards/AmbientCard';\nimport { AgTable, useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { formatDateToLocaleString } from '../../utilities/input/DateUtilities';\nimport { DateTime } from 'luxon';\nimport { IconRenderer } from '../../UI/templates/ui/renderers/IconRenderer';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\n\nconst defaultColDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true\n};\n\nexport const RecentlyLoadedNodesTable = (props) => {\n const {\n recentlyLoadedNodes,\n loading,\n onLoadedNodeClick,\n tableHeight,\n tree,\n columnDefs,\n hideTitle = false\n } = props;\n\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const [selectedRow, setSelectedRow] = useState();\n\n useEffect(() => {\n if (!gridColumnApi) return;\n\n gridApi?.sizeColumnsToFit();\n setSelectedRow(\n gridApi?.getSelectedRows().length && gridApi.getSelectedRows()[0]\n );\n }, [gridColumnApi, gridApi]);\n\n const handleRowSelected = useCallback(\n (event) => {\n if (!event.node.selected) return;\n\n if (!gridApi) return;\n\n const selectedRowData =\n gridApi.getSelectedRows().length && gridApi.getSelectedRows()[0];\n\n if (!selectedRowData) return;\n\n setSelectedRow(selectedRowData);\n\n if (selectedRowData?.nodeInfo) {\n // if the row is a node\n onLoadedNodeClick(selectedRowData.nodeInfo);\n }\n },\n [gridApi, onLoadedNodeClick]\n );\n\n const getterRowData = useCallback((params) => {\n return params.data?.iconData;\n }, []);\n\n const columnDefinitions = useMemo(\n () =>\n columnDefs\n ? columnDefs\n : [\n tree?.treeStructure && {\n headerName: '',\n cellRenderer: 'iconRenderer',\n valueGetter: getterRowData,\n maxWidth: 60,\n resizable: false,\n suppressMenu: true,\n sortable: false,\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n },\n {\n headerName: 'Name',\n field: 'name',\n minWidth: 120,\n maxWidth: 300\n },\n {\n headerName: 'Type',\n field: 'type',\n valueGetter: (params) => getSanitizedName(params.data?.type),\n minWidth: 80\n },\n {\n headerName: 'Date Loaded',\n field: 'dateLoaded',\n minWidth: 80\n },\n {\n headerName: '',\n field: 'nodeInfo',\n maxWidth: 0,\n cellStyle: {\n display: 'none'\n }\n }\n ],\n [columnDefs, getterRowData, tree]\n );\n\n const recentlyLoadedNodesValues = useMemo(\n () =>\n recentlyLoadedNodes?.map((loadedNode) => {\n const matchingNode = tree?.treeStructure?.find(\n (node) =>\n node.properties.catalogReturnObject ===\n loadedNode?.nodeDetails?.catalogReturnObject\n );\n\n return {\n iconData: matchingNode?.properties?.defaultIcon || {\n name: 'PictureTileIcon'\n },\n name: loadedNode?.nodeDetails?.nodeLabel,\n type: loadedNode?.nodeDetails?.catalogReturnObject,\n dateLoaded: formatDateToLocaleString(\n loadedNode?.dateLoaded,\n DateTime.DATETIME_MED\n ),\n nodeInfo: loadedNode\n };\n }),\n [recentlyLoadedNodes, tree]\n );\n\n return (\n <AmbientCard\n title={!hideTitle ? 'Recently Loaded' : ' '}\n fullWidth\n noAdornment\n >\n {loading || !tree ? (\n <LinearProgress />\n ) : recentlyLoadedNodes?.length ? (\n <AgTable\n columnDefs={columnDefinitions}\n defaultColDef={defaultColDef}\n rowData={recentlyLoadedNodesValues || []}\n onGridReady={onGridReady}\n getRowNodeId={(row) => row.name}\n onRowSelected={handleRowSelected}\n rowSelection='single'\n frameworkComponents={{ iconRenderer: IconRenderer }}\n height={tableHeight}\n />\n ) : (\n <Typography>No Data Recently Loaded.</Typography>\n )}\n </AmbientCard>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,MAAM,gBAAgB;CACpB,WAAW;CACX,UAAU;CACV,UAAU;CACV,QAAQ;CACT;AAED,MAAa,4BAA4B,UAAU;CACjD,MAAM,EACJ,qBACA,SACA,mBACA,aACA,MACA,YACA,YAAY,UACV;CAEJ,MAAM,EAAE,SAAS,eAAe,gBAAgB,cAAc;CAC9D,MAAM,CAAC,aAAa,kBAAkB,UAAU;AAEhD,iBAAgB;AACd,MAAI,CAAC,cAAe;AAEpB,WAAS,kBAAkB;AAC3B,iBACE,SAAS,iBAAiB,CAAC,UAAU,QAAQ,iBAAiB,CAAC,GAChE;IACA,CAAC,eAAe,QAAQ,CAAC;CAE5B,MAAM,oBAAoB,aACvB,UAAU;AACT,MAAI,CAAC,MAAM,KAAK,SAAU;AAE1B,MAAI,CAAC,QAAS;EAEd,MAAM,kBACJ,QAAQ,iBAAiB,CAAC,UAAU,QAAQ,iBAAiB,CAAC;AAEhE,MAAI,CAAC,gBAAiB;AAEtB,iBAAe,gBAAgB;AAE/B,MAAI,iBAAiB,SAEnB,mBAAkB,gBAAgB,SAAS;IAG/C,CAAC,SAAS,kBAAkB,CAC7B;CAED,MAAM,gBAAgB,aAAa,WAAW;AAC5C,SAAO,OAAO,MAAM;IACnB,EAAE,CAAC;CAEN,MAAM,oBAAoB,cAEtB,aACI,aACA;EACE,MAAM,iBAAiB;GACrB,YAAY;GACZ,cAAc;GACd,aAAa;GACb,UAAU;GACV,WAAW;GACX,cAAc;GACd,UAAU;GACV,WAAW;IACT,SAAS;IACT,YAAY;IACZ,gBAAgB;IACjB;GACF;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACV,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,cAAc,WAAW,iBAAiB,OAAO,MAAM,KAAK;GAC5D,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACV,WAAW,EACT,SAAS,QACV;GACF;EACF,EACP;EAAC;EAAY;EAAe;EAAK,CAClC;CAED,MAAM,4BAA4B,cAE9B,qBAAqB,KAAK,eAAe;AAOvC,SAAO;GACL,WAPmB,MAAM,eAAe,MACvC,SACC,KAAK,WAAW,wBAChB,YAAY,aAAa,oBAC5B,GAGyB,YAAY,eAAe,EACjD,MAAM,mBACP;GACD,MAAM,YAAY,aAAa;GAC/B,MAAM,YAAY,aAAa;GAC/B,YAAY,yBACV,YAAY,YACZ,SAAS,aACV;GACD,UAAU;GACX;GACD,EACJ,CAAC,qBAAqB,KAAK,CAC5B;AAED,QACE,oCAAC;EACC,OAAO,CAAC,YAAY,oBAAoB;EACxC;EACA;IAEC,WAAW,CAAC,OACX,oCAAC,qBAAiB,GAChB,qBAAqB,SACvB,oCAAC;EACC,YAAY;EACG;EACf,SAAS,6BAA6B,EAAE;EAC3B;EACb,eAAe,QAAQ,IAAI;EAC3B,eAAe;EACf,cAAa;EACb,qBAAqB,EAAE,cAAc,cAAc;EACnD,QAAQ;GACR,GAEF,oCAAC,kBAAW,2BAAqC,CAEvC"}
1
+ {"version":3,"file":"RecentlyLoadedNodesTable-CK3mVYCX.js","names":[],"sources":["../src/inquiry/dashboard/RecentlyLoadedNodesTable.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useState } from 'react';\nimport { Typography, LinearProgress } from '@material-ui/core';\nimport { AmbientCard } from '../../UI/surfaces/cards/AmbientCard';\nimport { AgTable, useAgGridApi } from '../../utilities/aggrid/AgTable.tsx';\nimport { formatDateToLocaleString } from '../../utilities/input/DateUtilities';\nimport { DateTime } from 'luxon';\nimport { IconRenderer } from '../../UI/templates/ui/renderers/IconRenderer';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\n\nconst defaultColDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true\n};\n\nexport const RecentlyLoadedNodesTable = (props) => {\n const {\n recentlyLoadedNodes,\n loading,\n onLoadedNodeClick,\n tableHeight,\n tree,\n columnDefs,\n hideTitle = false\n } = props;\n\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const [selectedRow, setSelectedRow] = useState();\n\n useEffect(() => {\n if (!gridColumnApi) return;\n\n gridApi?.sizeColumnsToFit();\n setSelectedRow(\n gridApi?.getSelectedRows().length && gridApi.getSelectedRows()[0]\n );\n }, [gridColumnApi, gridApi]);\n\n const handleRowSelected = useCallback(\n (event) => {\n if (!event.node.selected) return;\n\n if (!gridApi) return;\n\n const selectedRowData =\n gridApi.getSelectedRows().length && gridApi.getSelectedRows()[0];\n\n if (!selectedRowData) return;\n\n setSelectedRow(selectedRowData);\n\n if (selectedRowData?.nodeInfo) {\n // if the row is a node\n onLoadedNodeClick(selectedRowData.nodeInfo);\n }\n },\n [gridApi, onLoadedNodeClick]\n );\n\n const getterRowData = useCallback((params) => {\n return params.data?.iconData;\n }, []);\n\n const columnDefinitions = useMemo(\n () =>\n columnDefs\n ? columnDefs\n : [\n tree?.treeStructure && {\n headerName: '',\n cellRenderer: 'iconRenderer',\n valueGetter: getterRowData,\n maxWidth: 60,\n resizable: false,\n suppressMenu: true,\n sortable: false,\n cellStyle: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n },\n {\n headerName: 'Name',\n field: 'name',\n minWidth: 120,\n maxWidth: 300\n },\n {\n headerName: 'Type',\n field: 'type',\n valueGetter: (params) => getSanitizedName(params.data?.type),\n minWidth: 80\n },\n {\n headerName: 'Date Loaded',\n field: 'dateLoaded',\n minWidth: 80\n },\n {\n headerName: '',\n field: 'nodeInfo',\n maxWidth: 0,\n cellStyle: {\n display: 'none'\n }\n }\n ],\n [columnDefs, getterRowData, tree]\n );\n\n const recentlyLoadedNodesValues = useMemo(\n () =>\n recentlyLoadedNodes?.map((loadedNode) => {\n const matchingNode = tree?.treeStructure?.find(\n (node) =>\n node.properties.catalogReturnObject ===\n loadedNode?.nodeDetails?.catalogReturnObject\n );\n\n return {\n iconData: matchingNode?.properties?.defaultIcon || {\n name: 'PictureTileIcon'\n },\n name: loadedNode?.nodeDetails?.nodeLabel,\n type: loadedNode?.nodeDetails?.catalogReturnObject,\n dateLoaded: formatDateToLocaleString(\n loadedNode?.dateLoaded,\n DateTime.DATETIME_MED\n ),\n nodeInfo: loadedNode\n };\n }),\n [recentlyLoadedNodes, tree]\n );\n\n return (\n <AmbientCard\n title={!hideTitle ? 'Recently Loaded' : ' '}\n fullWidth\n noAdornment\n >\n {loading || !tree ? (\n <LinearProgress />\n ) : recentlyLoadedNodes?.length ? (\n <AgTable\n columnDefs={columnDefinitions}\n defaultColDef={defaultColDef}\n rowData={recentlyLoadedNodesValues || []}\n onGridReady={onGridReady}\n getRowNodeId={(row) => row.name}\n onRowSelected={handleRowSelected}\n rowSelection='single'\n frameworkComponents={{ iconRenderer: IconRenderer }}\n height={tableHeight}\n />\n ) : (\n <Typography>No Data Recently Loaded.</Typography>\n )}\n </AmbientCard>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,MAAM,gBAAgB;CACpB,WAAW;CACX,UAAU;CACV,UAAU;CACV,QAAQ;CACT;AAED,MAAa,4BAA4B,UAAU;CACjD,MAAM,EACJ,qBACA,SACA,mBACA,aACA,MACA,YACA,YAAY,UACV;CAEJ,MAAM,EAAE,SAAS,eAAe,gBAAgB,cAAc;CAC9D,MAAM,CAAC,aAAa,kBAAkB,UAAU;AAEhD,iBAAgB;AACd,MAAI,CAAC,cAAe;AAEpB,WAAS,kBAAkB;AAC3B,iBACE,SAAS,iBAAiB,CAAC,UAAU,QAAQ,iBAAiB,CAAC,GAChE;IACA,CAAC,eAAe,QAAQ,CAAC;CAE5B,MAAM,oBAAoB,aACvB,UAAU;AACT,MAAI,CAAC,MAAM,KAAK,SAAU;AAE1B,MAAI,CAAC,QAAS;EAEd,MAAM,kBACJ,QAAQ,iBAAiB,CAAC,UAAU,QAAQ,iBAAiB,CAAC;AAEhE,MAAI,CAAC,gBAAiB;AAEtB,iBAAe,gBAAgB;AAE/B,MAAI,iBAAiB,SAEnB,mBAAkB,gBAAgB,SAAS;IAG/C,CAAC,SAAS,kBAAkB,CAC7B;CAED,MAAM,gBAAgB,aAAa,WAAW;AAC5C,SAAO,OAAO,MAAM;IACnB,EAAE,CAAC;CAEN,MAAM,oBAAoB,cAEtB,aACI,aACA;EACE,MAAM,iBAAiB;GACrB,YAAY;GACZ,cAAc;GACd,aAAa;GACb,UAAU;GACV,WAAW;GACX,cAAc;GACd,UAAU;GACV,WAAW;IACT,SAAS;IACT,YAAY;IACZ,gBAAgB;IACjB;GACF;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACV,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,cAAc,WAAW,iBAAiB,OAAO,MAAM,KAAK;GAC5D,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACX;EACD;GACE,YAAY;GACZ,OAAO;GACP,UAAU;GACV,WAAW,EACT,SAAS,QACV;GACF;EACF,EACP;EAAC;EAAY;EAAe;EAAK,CAClC;CAED,MAAM,4BAA4B,cAE9B,qBAAqB,KAAK,eAAe;AAOvC,SAAO;GACL,WAPmB,MAAM,eAAe,MACvC,SACC,KAAK,WAAW,wBAChB,YAAY,aAAa,oBAC5B,GAGyB,YAAY,eAAe,EACjD,MAAM,mBACP;GACD,MAAM,YAAY,aAAa;GAC/B,MAAM,YAAY,aAAa;GAC/B,YAAY,yBACV,YAAY,YACZ,SAAS,aACV;GACD,UAAU;GACX;GACD,EACJ,CAAC,qBAAqB,KAAK,CAC5B;AAED,QACE,oCAAC;EACC,OAAO,CAAC,YAAY,oBAAoB;EACxC;EACA;IAEC,WAAW,CAAC,OACX,oCAAC,qBAAiB,GAChB,qBAAqB,SACvB,oCAAC;EACC,YAAY;EACG;EACf,SAAS,6BAA6B,EAAE;EAC3B;EACb,eAAe,QAAQ,IAAI;EAC3B,eAAe;EACf,cAAa;EACb,qBAAqB,EAAE,cAAc,cAAc;EACnD,QAAQ;GACR,GAEF,oCAAC,kBAAW,2BAAqC,CAEvC"}
@@ -1,5 +1,5 @@
1
1
  import { t as __export } from "./chunk-B4enJp2Q.js";
2
- import { t as RecentlyLoadedNodesTable } from "./RecentlyLoadedNodesTable-B28Q8F1Y.js";
2
+ import { t as RecentlyLoadedNodesTable } from "./RecentlyLoadedNodesTable-CK3mVYCX.js";
3
3
  import { t as WidgetCard_default } from "./WidgetCard-CDqYxK5O.js";
4
4
  import React, { forwardRef } from "react";
5
5
 
@@ -31,4 +31,4 @@ var RecentlyLoadedNodesWidget_exports = /* @__PURE__ */ __export({
31
31
 
32
32
  //#endregion
33
33
  export { RecentlyLoadedNodesWidget as n, RecentlyLoadedNodesWidget_default as r, RecentlyLoadedNodesWidget_exports as t };
34
- //# sourceMappingURL=RecentlyLoadedNodesWidget-BgdSOq6I.js.map
34
+ //# sourceMappingURL=RecentlyLoadedNodesWidget-D-cwlG4S.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecentlyLoadedNodesWidget-BgdSOq6I.js","names":["WidgetCard"],"sources":["../src/UI/widgets/library/RecentlyLoadedNodesWidget/RecentlyLoadedNodesWidget.jsx","../src/UI/widgets/library/RecentlyLoadedNodesWidget/index.ts"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport WidgetCard from '../../WidgetCard';\nimport { RecentlyLoadedNodesTable } from '../../../../inquiry/dashboard/RecentlyLoadedNodesTable';\n\n// export const layout = {\n// w: { default: 2, min: 0, max: 4 },\n// h: { default: 2, min: 0, max: 4 }\n// };\n\nexport const RecentlyLoadedNodesWidget = (props, ref) => {\n const { children, params, setParam, ...other } = props;\n const {\n recentlyLoadedNodes,\n loading,\n onLoadedNodeClick,\n tree,\n hideWidgetName\n } = params;\n\n return (\n <WidgetCard\n ref={ref}\n title={'Recently Loaded'}\n hideWidgetName={hideWidgetName}\n {...other}\n >\n <RecentlyLoadedNodesTable\n recentlyLoadedNodes={recentlyLoadedNodes}\n loading={loading}\n onLoadedNodeClick={onLoadedNodeClick}\n tree={tree}\n hideTitle={true}\n />\n {children}\n </WidgetCard>\n );\n};\n\nexport default forwardRef(RecentlyLoadedNodesWidget);\n","export * from './RecentlyLoadedNodesWidget';\nexport {default} from './RecentlyLoadedNodesWidget';\n"],"mappings":";;;;;;AASA,MAAa,6BAA6B,OAAO,QAAQ;CACvD,MAAM,EAAE,UAAU,QAAQ,UAAU,GAAG,UAAU;CACjD,MAAM,EACJ,qBACA,SACA,mBACA,MACA,mBACE;AAEJ,QACE,oCAACA;EACM;EACL,OAAO;EACS;EAChB,GAAI;IAEJ,oCAAC;EACsB;EACZ;EACU;EACb;EACN,WAAW;GACX,EACD,SACU;;AAIjB,wCAAe,WAAW,0BAA0B"}
1
+ {"version":3,"file":"RecentlyLoadedNodesWidget-D-cwlG4S.js","names":["WidgetCard"],"sources":["../src/UI/widgets/library/RecentlyLoadedNodesWidget/RecentlyLoadedNodesWidget.jsx","../src/UI/widgets/library/RecentlyLoadedNodesWidget/index.ts"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport WidgetCard from '../../WidgetCard';\nimport { RecentlyLoadedNodesTable } from '../../../../inquiry/dashboard/RecentlyLoadedNodesTable';\n\n// export const layout = {\n// w: { default: 2, min: 0, max: 4 },\n// h: { default: 2, min: 0, max: 4 }\n// };\n\nexport const RecentlyLoadedNodesWidget = (props, ref) => {\n const { children, params, setParam, ...other } = props;\n const {\n recentlyLoadedNodes,\n loading,\n onLoadedNodeClick,\n tree,\n hideWidgetName\n } = params;\n\n return (\n <WidgetCard\n ref={ref}\n title={'Recently Loaded'}\n hideWidgetName={hideWidgetName}\n {...other}\n >\n <RecentlyLoadedNodesTable\n recentlyLoadedNodes={recentlyLoadedNodes}\n loading={loading}\n onLoadedNodeClick={onLoadedNodeClick}\n tree={tree}\n hideTitle={true}\n />\n {children}\n </WidgetCard>\n );\n};\n\nexport default forwardRef(RecentlyLoadedNodesWidget);\n","export * from './RecentlyLoadedNodesWidget';\nexport {default} from './RecentlyLoadedNodesWidget';\n"],"mappings":";;;;;;AASA,MAAa,6BAA6B,OAAO,QAAQ;CACvD,MAAM,EAAE,UAAU,QAAQ,UAAU,GAAG,UAAU;CACjD,MAAM,EACJ,qBACA,SACA,mBACA,MACA,mBACE;AAEJ,QACE,oCAACA;EACM;EACL,OAAO;EACS;EAChB,GAAI;IAEJ,oCAAC;EACsB;EACZ;EACU;EACb;EACN,WAAW;GACX,EACD,SACU;;AAIjB,wCAAe,WAAW,0BAA0B"}
@@ -37,4 +37,4 @@ const RejectIcon = () => {
37
37
 
38
38
  //#endregion
39
39
  export { ApprovalIcon as n, RejectIcon as t };
40
- //# sourceMappingURL=RejectIcon-dXvOFAlm.js.map
40
+ //# sourceMappingURL=RejectIcon-yYl-EGWG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RejectIcon-dXvOFAlm.js","names":[],"sources":["../src/utilities/customIcons/ApprovalIcon.jsx","../src/utilities/customIcons/RejectIcon.jsx"],"sourcesContent":["import React from \"react\";\nimport { CheckMarkIcon } from '@fluentui/react-icons';\nimport { useTheme, lighten } from '@material-ui/core';\n/**\n * ApprovalIcon\n *\n * @return {*}\n */\nexport const ApprovalIcon = () => {\n const theme = useTheme();\n return (\n <CheckMarkIcon\n style={{\n background: lighten(theme.palette.success?.main, 0.5),\n borderRadius: '100%',\n width: 22,\n height: 22,\n border: `2px solid ${lighten(theme.palette.success?.main, 0.5)}`\n }}\n />\n );\n};\n","import React from \"react\";\nimport { ChromeCloseIcon } from '@fluentui/react-icons';\nimport { useTheme, lighten } from '@material-ui/core';\n\n/**\n * @returns {any}\n */\nexport const RejectIcon = () => {\n const theme = useTheme();\n return (\n <ChromeCloseIcon\n style={{\n background: lighten(theme.palette.error?.main, 0.5),\n borderRadius: '100%',\n width: 22,\n height: 22,\n border: `5px solid ${lighten(theme.palette.error?.main, 0.5)}`,\n }}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAQA,MAAa,qBAAqB;CAChC,MAAM,QAAQ,UAAU;AACxB,QACE,oCAAC,iBACC,OAAO;EACL,YAAY,QAAQ,MAAM,QAAQ,SAAS,MAAM,GAAI;EACrD,cAAc;EACd,OAAO;EACP,QAAQ;EACR,QAAQ,aAAa,QAAQ,MAAM,QAAQ,SAAS,MAAM,GAAI;EAC/D,GACD;;;;;;;;ACZN,MAAa,mBAAmB;CAC9B,MAAM,QAAQ,UAAU;AACxB,QACE,oCAAC,mBACG,OAAO;EACL,YAAY,QAAQ,MAAM,QAAQ,OAAO,MAAM,GAAI;EACnD,cAAc;EACd,OAAO;EACP,QAAQ;EACR,QAAQ,aAAa,QAAQ,MAAM,QAAQ,OAAO,MAAM,GAAI;EAC7D,GACD"}
1
+ {"version":3,"file":"RejectIcon-yYl-EGWG.js","names":[],"sources":["../src/utilities/customIcons/ApprovalIcon.jsx","../src/utilities/customIcons/RejectIcon.jsx"],"sourcesContent":["import React from \"react\";\nimport { CheckMarkIcon } from '@fluentui/react-icons';\nimport { useTheme, lighten } from '@material-ui/core';\n/**\n * ApprovalIcon\n *\n * @return {*}\n */\nexport const ApprovalIcon = () => {\n const theme = useTheme();\n return (\n <CheckMarkIcon\n style={{\n background: lighten(theme.palette.success?.main, 0.5),\n borderRadius: '100%',\n width: 22,\n height: 22,\n border: `2px solid ${lighten(theme.palette.success?.main, 0.5)}`\n }}\n />\n );\n};\n","import React from \"react\";\nimport { ChromeCloseIcon } from '@fluentui/react-icons';\nimport { useTheme, lighten } from '@material-ui/core';\n\n/**\n * @returns {any}\n */\nexport const RejectIcon = () => {\n const theme = useTheme();\n return (\n <ChromeCloseIcon\n style={{\n background: lighten(theme.palette.error?.main, 0.5),\n borderRadius: '100%',\n width: 22,\n height: 22,\n border: `5px solid ${lighten(theme.palette.error?.main, 0.5)}`,\n }}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAQA,MAAa,qBAAqB;CAChC,MAAM,QAAQ,UAAU;AACxB,QACE,oCAAC,iBACC,OAAO;EACL,YAAY,QAAQ,MAAM,QAAQ,SAAS,MAAM,GAAI;EACrD,cAAc;EACd,OAAO;EACP,QAAQ;EACR,QAAQ,aAAa,QAAQ,MAAM,QAAQ,SAAS,MAAM,GAAI;EAC/D,GACD;;;;;;;;ACZN,MAAa,mBAAmB;CAC9B,MAAM,QAAQ,UAAU;AACxB,QACE,oCAAC,mBACG,OAAO;EACL,YAAY,QAAQ,MAAM,QAAQ,OAAO,MAAM,GAAI;EACnD,cAAc;EACd,OAAO;EACP,QAAQ;EACR,QAAQ,aAAa,QAAQ,MAAM,QAAQ,OAAO,MAAM,GAAI;EAC7D,GACD"}
@@ -1,7 +1,7 @@
1
- import { A as SplitScreenTypeEnums } from "./unitySystemEnums-DM5vXR_m.js";
1
+ import { j as SplitScreenTypeEnums } from "./unitySystemEnums-e5F9Jr7m.js";
2
2
  import { t as UnityFluentIcon } from "./UnityFluentIcon-DrASIcTF.js";
3
- import { n as useActions } from "./useActions-Db2P12NS.js";
4
- import { S as getIconFromName } from "./TreeUtilities-CujOFOPm.js";
3
+ import { n as useActions } from "./useActions-CxDs7v3s.js";
4
+ import { S as getIconFromName } from "./TreeUtilities-kiPupulY.js";
5
5
  import { t as getUnityIconFromName } from "./UnityIconLibrary-CjIwzfjv.js";
6
6
  import { t as StatusChip } from "./StatusChip-DZAN88VU.js";
7
7
  import React, { useCallback, useMemo, useState } from "react";
@@ -135,4 +135,4 @@ const RemindersCard = (props) => {
135
135
 
136
136
  //#endregion
137
137
  export { CompleteReminderSwitch as n, RemindersCard as t };
138
- //# sourceMappingURL=RemindersCard-z4dtBhhT.js.map
138
+ //# sourceMappingURL=RemindersCard-b0Z_AUu4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemindersCard-z4dtBhhT.js","names":[],"sources":["../src/reminders/CompleteReminderSwitch.jsx","../src/reminders/RemindersCard.jsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Switch } from '@material-ui/core';\n\nexport const CompleteReminderSwitch = (props) => {\n const { checked, onChange, ...otherProps } = props;\n const [switchChecked, setSwitchChecked] = useState(checked);\n\n const handleOnChange = useCallback(\n (event) => {\n setSwitchChecked(event.target.checked);\n onChange && onChange(event);\n },\n [onChange]\n );\n\n return (\n <Switch checked={switchChecked} onChange={handleOnChange} {...otherProps} />\n );\n};\n","import React, { useCallback, useMemo } from 'react';\nimport {\n Typography,\n LinearProgress,\n makeStyles,\n List,\n ListItem,\n Checkbox,\n ListItemText,\n ListItemSecondaryAction,\n Divider,\n FormControlLabel\n} from '@material-ui/core';\nimport { StatusChip } from '../UI/dataDisplay/status/StatusChip';\nimport { UnityFluentIcon } from '../utilities/iconLibrary/UnityFluentIcon';\nimport { getUnityIconFromName } from '../utilities/iconLibrary/UnityIconLibrary';\nimport { getIconFromName } from '../utilities/tree/TreeUtilities';\nimport { useActions } from '../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../enums/unitySystemEnums';\nimport { CompleteReminderSwitch } from './CompleteReminderSwitch';\nimport { executeQueryWithParameters } from '../udp/utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n item: {\n display: 'flex',\n '& .MuiListItem-container': {\n width: '100%'\n },\n '& .MuiListItem-container > .MuiListItem-button': {\n paddingLeft: 0,\n paddingRight: 0\n }\n }\n}));\n\nexport const RemindersCard = (props) => {\n const {\n reminders,\n setReminders,\n loading,\n getNodeToLoad,\n onLoadedNodeClick,\n getIcon = () => {},\n updateRemindersAcknowledgement\n } = props;\n const classes = useStyles(props);\n const { openSplitScreen } = useActions();\n\n const handleSwitchChange = useCallback(\n async (event, reminder) => {\n const updatedReminder = { ...reminder };\n updatedReminder.checked = event.target.checked;\n await updateRemindersAcknowledgement([updatedReminder]);\n },\n [updateRemindersAcknowledgement]\n );\n\n const getCompleteSwitch = useCallback(\n (reminder) => (\n <FormControlLabel\n control={\n <CompleteReminderSwitch\n size='small'\n checked={reminder?.acknowledged || false}\n onChange={(event) => handleSwitchChange(event, reminder)}\n />\n }\n label='Complete'\n style={{ marginRight: 8 }}\n />\n ),\n [handleSwitchChange]\n );\n\n const getStatusLabel = useCallback((date) => {\n const day = 1000 * 60 * 60 * 24;\n const reminderDate = new Date(date).getTime();\n if (reminderDate >= Date.now() - day * 7) {\n // Less than or equal 7 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (\n reminderDate < Date.now() - day * 7 &&\n reminderDate >= Date.now() - day * 30\n ) {\n // Greater than 7 days but less than or equal to 30 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (\n reminderDate < Date.now() - day * 30 &&\n reminderDate >= Date.now() - day * 180\n ) {\n // Greater 30 days but less than or equal to 180 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (reminderDate < Date.now() - day * 180) {\n // Greater than 180 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n }\n }, []);\n\n const getStatusColor = useCallback((date) => {\n const day = 1000 * 60 * 60 * 24;\n const reminderDate = new Date(date).getTime();\n if (reminderDate >= Date.now() - day * 7) {\n // Less than or equal 7 days past reminder date\n return '';\n } else if (\n reminderDate < Date.now() - day * 7 &&\n reminderDate >= Date.now() - day * 30\n ) {\n // Greater than 7 days but less than or equal to 30 days past reminder date\n return 'info';\n } else if (\n reminderDate < Date.now() - day * 30 &&\n reminderDate >= Date.now() - day * 180\n ) {\n // Greater 30 days but less than or equal to 180 days past reminder date\n return 'warning';\n } else if (reminderDate < Date.now() - day * 180) {\n // Greater than 180 days past reminder date\n return 'error';\n }\n }, []);\n\n const handleReminderCheck = useCallback(\n (evt, reminder) => {\n const updatedReminders = [...reminders];\n const matchingReminders = updatedReminders.filter(\n (r) => r.id === reminder.id\n );\n matchingReminders?.forEach(\n (matchingReminder) => (matchingReminder.checked = evt.target.checked)\n );\n setReminders(updatedReminders);\n },\n [reminders, setReminders]\n );\n\n const handleReminderClick = useCallback(\n (nodeToLoad, reminder) => {\n onLoadedNodeClick(nodeToLoad);\n\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Reminders,\n params: {\n id: reminder?.id || '',\n additionalInputs: reminder ? getCompleteSwitch(reminder) : null\n }\n });\n },\n [onLoadedNodeClick, openSplitScreen, getCompleteSwitch]\n );\n\n return loading ? (\n <LinearProgress />\n ) : reminders?.length ? (\n <List className={classes.root}>\n {reminders.map((reminder) => {\n const icon = getIcon(reminder);\n const nodeToLoad = getNodeToLoad(reminder);\n return (\n <>\n <div className={classes.item} key={reminder.id}>\n <Checkbox\n id='udpRecord-RemindersCard-Checkbox'\n udprecordid='udpRecord-RemindersCard-Checkbox'\n edge='start'\n checked={reminder.checked || reminder.acknowledged}\n disableRipple\n size='small'\n onChange={(evt) => handleReminderCheck(evt, reminder)}\n disabled={reminder.acknowledged}\n />\n <ListItem\n id='udpRecord-ReminderCard-Item'\n udprecordid='udpRecord-ReminderCard-Item'\n key={reminder.id}\n dense\n subject={reminder.subject}\n removePadding={true}\n button\n onClick={() => handleReminderClick(nodeToLoad, reminder)}\n >\n <ListItemText>\n <div style={{ display: 'block' }}>\n <Typography\n style={{ lineHeight: '0.9rem', fontSize: '0.8rem' }}\n >\n {reminder.subject}\n </Typography>\n </div>\n <Typography\n style={{\n lineHeight: '0.8rem',\n fontSize: '0.7rem',\n fontWeight: 400,\n color: 'rgba(0, 0, 0, 0.54)'\n }}\n >\n {new Date(reminder.reminderDate).toDateString()}\n </Typography>\n </ListItemText>\n <ListItemSecondaryAction>\n <StatusChip\n status={getStatusColor(reminder.reminderDate)}\n label={getStatusLabel(reminder.reminderDate)}\n icon={\n <UnityFluentIcon\n type={icon?.type}\n icon={\n icon?.type === 'unity'\n ? getUnityIconFromName(icon?.name || '')\n : getIconFromName(icon?.name || '')\n }\n />\n }\n />\n </ListItemSecondaryAction>\n </ListItem>\n </div>\n <Divider style={{ height: 1 }} />\n </>\n );\n })}\n </List>\n ) : (\n <Typography>All Reminders Completed</Typography>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"RemindersCard-b0Z_AUu4.js","names":[],"sources":["../src/reminders/CompleteReminderSwitch.jsx","../src/reminders/RemindersCard.jsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Switch } from '@material-ui/core';\n\nexport const CompleteReminderSwitch = (props) => {\n const { checked, onChange, ...otherProps } = props;\n const [switchChecked, setSwitchChecked] = useState(checked);\n\n const handleOnChange = useCallback(\n (event) => {\n setSwitchChecked(event.target.checked);\n onChange && onChange(event);\n },\n [onChange]\n );\n\n return (\n <Switch checked={switchChecked} onChange={handleOnChange} {...otherProps} />\n );\n};\n","import React, { useCallback, useMemo } from 'react';\nimport {\n Typography,\n LinearProgress,\n makeStyles,\n List,\n ListItem,\n Checkbox,\n ListItemText,\n ListItemSecondaryAction,\n Divider,\n FormControlLabel\n} from '@material-ui/core';\nimport { StatusChip } from '../UI/dataDisplay/status/StatusChip';\nimport { UnityFluentIcon } from '../utilities/iconLibrary/UnityFluentIcon';\nimport { getUnityIconFromName } from '../utilities/iconLibrary/UnityIconLibrary';\nimport { getIconFromName } from '../utilities/tree/TreeUtilities';\nimport { useActions } from '../hooks/useActions';\nimport { SplitScreenTypeEnums } from '../enums/unitySystemEnums';\nimport { CompleteReminderSwitch } from './CompleteReminderSwitch';\nimport { executeQueryWithParameters } from '../udp/utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n item: {\n display: 'flex',\n '& .MuiListItem-container': {\n width: '100%'\n },\n '& .MuiListItem-container > .MuiListItem-button': {\n paddingLeft: 0,\n paddingRight: 0\n }\n }\n}));\n\nexport const RemindersCard = (props) => {\n const {\n reminders,\n setReminders,\n loading,\n getNodeToLoad,\n onLoadedNodeClick,\n getIcon = () => {},\n updateRemindersAcknowledgement\n } = props;\n const classes = useStyles(props);\n const { openSplitScreen } = useActions();\n\n const handleSwitchChange = useCallback(\n async (event, reminder) => {\n const updatedReminder = { ...reminder };\n updatedReminder.checked = event.target.checked;\n await updateRemindersAcknowledgement([updatedReminder]);\n },\n [updateRemindersAcknowledgement]\n );\n\n const getCompleteSwitch = useCallback(\n (reminder) => (\n <FormControlLabel\n control={\n <CompleteReminderSwitch\n size='small'\n checked={reminder?.acknowledged || false}\n onChange={(event) => handleSwitchChange(event, reminder)}\n />\n }\n label='Complete'\n style={{ marginRight: 8 }}\n />\n ),\n [handleSwitchChange]\n );\n\n const getStatusLabel = useCallback((date) => {\n const day = 1000 * 60 * 60 * 24;\n const reminderDate = new Date(date).getTime();\n if (reminderDate >= Date.now() - day * 7) {\n // Less than or equal 7 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (\n reminderDate < Date.now() - day * 7 &&\n reminderDate >= Date.now() - day * 30\n ) {\n // Greater than 7 days but less than or equal to 30 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (\n reminderDate < Date.now() - day * 30 &&\n reminderDate >= Date.now() - day * 180\n ) {\n // Greater 30 days but less than or equal to 180 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n } else if (reminderDate < Date.now() - day * 180) {\n // Greater than 180 days past reminder date\n return Math.floor((Date.now() - reminderDate) / (1000 * 3600 * 24));\n }\n }, []);\n\n const getStatusColor = useCallback((date) => {\n const day = 1000 * 60 * 60 * 24;\n const reminderDate = new Date(date).getTime();\n if (reminderDate >= Date.now() - day * 7) {\n // Less than or equal 7 days past reminder date\n return '';\n } else if (\n reminderDate < Date.now() - day * 7 &&\n reminderDate >= Date.now() - day * 30\n ) {\n // Greater than 7 days but less than or equal to 30 days past reminder date\n return 'info';\n } else if (\n reminderDate < Date.now() - day * 30 &&\n reminderDate >= Date.now() - day * 180\n ) {\n // Greater 30 days but less than or equal to 180 days past reminder date\n return 'warning';\n } else if (reminderDate < Date.now() - day * 180) {\n // Greater than 180 days past reminder date\n return 'error';\n }\n }, []);\n\n const handleReminderCheck = useCallback(\n (evt, reminder) => {\n const updatedReminders = [...reminders];\n const matchingReminders = updatedReminders.filter(\n (r) => r.id === reminder.id\n );\n matchingReminders?.forEach(\n (matchingReminder) => (matchingReminder.checked = evt.target.checked)\n );\n setReminders(updatedReminders);\n },\n [reminders, setReminders]\n );\n\n const handleReminderClick = useCallback(\n (nodeToLoad, reminder) => {\n onLoadedNodeClick(nodeToLoad);\n\n openSplitScreen({\n open: true,\n action: null,\n type: SplitScreenTypeEnums.Reminders,\n params: {\n id: reminder?.id || '',\n additionalInputs: reminder ? getCompleteSwitch(reminder) : null\n }\n });\n },\n [onLoadedNodeClick, openSplitScreen, getCompleteSwitch]\n );\n\n return loading ? (\n <LinearProgress />\n ) : reminders?.length ? (\n <List className={classes.root}>\n {reminders.map((reminder) => {\n const icon = getIcon(reminder);\n const nodeToLoad = getNodeToLoad(reminder);\n return (\n <>\n <div className={classes.item} key={reminder.id}>\n <Checkbox\n id='udpRecord-RemindersCard-Checkbox'\n udprecordid='udpRecord-RemindersCard-Checkbox'\n edge='start'\n checked={reminder.checked || reminder.acknowledged}\n disableRipple\n size='small'\n onChange={(evt) => handleReminderCheck(evt, reminder)}\n disabled={reminder.acknowledged}\n />\n <ListItem\n id='udpRecord-ReminderCard-Item'\n udprecordid='udpRecord-ReminderCard-Item'\n key={reminder.id}\n dense\n subject={reminder.subject}\n removePadding={true}\n button\n onClick={() => handleReminderClick(nodeToLoad, reminder)}\n >\n <ListItemText>\n <div style={{ display: 'block' }}>\n <Typography\n style={{ lineHeight: '0.9rem', fontSize: '0.8rem' }}\n >\n {reminder.subject}\n </Typography>\n </div>\n <Typography\n style={{\n lineHeight: '0.8rem',\n fontSize: '0.7rem',\n fontWeight: 400,\n color: 'rgba(0, 0, 0, 0.54)'\n }}\n >\n {new Date(reminder.reminderDate).toDateString()}\n </Typography>\n </ListItemText>\n <ListItemSecondaryAction>\n <StatusChip\n status={getStatusColor(reminder.reminderDate)}\n label={getStatusLabel(reminder.reminderDate)}\n icon={\n <UnityFluentIcon\n type={icon?.type}\n icon={\n icon?.type === 'unity'\n ? getUnityIconFromName(icon?.name || '')\n : getIconFromName(icon?.name || '')\n }\n />\n }\n />\n </ListItemSecondaryAction>\n </ListItem>\n </div>\n <Divider style={{ height: 1 }} />\n </>\n );\n })}\n </List>\n ) : (\n <Typography>All Reminders Completed</Typography>\n );\n};\n"],"mappings":"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"}
@@ -3,16 +3,16 @@ import { t as Field } from "./Field-Cda5rJe2.js";
3
3
  import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
4
4
  import { t as useUser } from "./useUser-wpHGo6jU.js";
5
5
  import { t as FluentTextFieldAutoComplete } from "./FluentTextFieldAutoComplete-5Hp3qpk6.js";
6
- import { I as UdpEnums } from "./unitySystemEnums-DM5vXR_m.js";
6
+ import { L as UdpEnums } from "./unitySystemEnums-e5F9Jr7m.js";
7
7
  import { r as useActionStore } from "./inquiryStore-BMYKf5MP.js";
8
8
  import { n as useShellStore } from "./shellStore-C8zfPsZ-.js";
9
- import { t as useActionState } from "./useActions-Db2P12NS.js";
10
- import { r as getSearchObject } from "./SearchUtilities-On0QS5vE.js";
11
- import { r as constructBusinessObjectArrFromTree } from "./TreeUtilities-CujOFOPm.js";
9
+ import { t as useActionState } from "./useActions-CxDs7v3s.js";
10
+ import { r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
11
+ import { r as constructBusinessObjectArrFromTree } from "./TreeUtilities-kiPupulY.js";
12
12
  import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
13
13
  import { t as CkRichEditor } from "./CkRichEditor-CoP_h6jt.js";
14
14
  import { a as getBaseMethod, i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-Cwo_kmVX.js";
15
- import { t as ShortcutContentFinder } from "./ShortcutContentFinder-D52eFY1l.js";
15
+ import { t as ShortcutContentFinder } from "./ShortcutContentFinder-DkWVHF1Q.js";
16
16
  import { t as AmbientCard } from "./AmbientCard-CLW4bPCu.js";
17
17
  import { t as FluentDatePicker } from "./FluentDatePicker-C6WEywwM.js";
18
18
  import { t as FILE_TO_TYPES } from "./reminderConstants-IPyFwGAf.js";
@@ -437,4 +437,4 @@ const RemindersScreen = (props) => {
437
437
 
438
438
  //#endregion
439
439
  export { RemindersScreen as t };
440
- //# sourceMappingURL=RemindersScreen-DQD_XKIp.js.map
440
+ //# sourceMappingURL=RemindersScreen-BOsf651X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemindersScreen-DQD_XKIp.js","names":["reminder","existingReminderObj"],"sources":["../src/reminders/RemindersScreen.jsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { CkRichEditor } from '../UI/inputs/richEditors/CkRichEditor';\nimport { makeStyles, TextField, LinearProgress } from '@material-ui/core';\nimport { Field, Form } from '../utilities/form';\nimport { FluentTextFieldAutoComplete } from '../UI/inputs/textField/FluentTextFieldAutoComplete';\nimport { useTranslation } from 'react-i18next';\nimport { useActionState } from '../hooks/useActions';\nimport { constructBusinessObjectArrFromTree } from '../utilities/tree/TreeUtilities';\nimport { LayoutUnit } from '../layout/LayoutUnit';\nimport { UdpEnums } from '../enums/unitySystemEnums';\nimport { useHandleAxiosSnackbar } from '../utilities/apiHelpers';\nimport { useUser } from '../utilities/auth/useUser';\nimport { differenceWith } from 'lodash';\nimport {\n executeQueryAdHoc,\n getBaseMethod,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { ShortcutContentFinder } from '../udp/ShortcutContent/ShortcutContentFinder';\nimport { AmbientCard } from '../UI/surfaces/cards/AmbientCard';\nimport { useShellStore } from '../stores/shellStore';\nimport { FluentDatePicker } from '../UI/inputs/pickers/FluentDatePicker';\nimport { useActionStore } from '../stores/actionStore';\nimport { FILE_TO_TYPES } from '../constants/reminderConstants';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n editor: {\n '& .ck-editor__main > .ck-editor__editable_inline': {\n backgroundColor:\n theme?.getThemeData()?.mode === 'dark'\n ? theme.palette.grey[800]\n : theme.palette.grey[100]\n }\n },\n row: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 14\n },\n labelRoot: {\n fontSize: 14\n }\n}));\n\nexport const RemindersScreen = (props) => {\n const {\n formRef,\n onSubmit,\n shortcutContentFinderEnabled,\n id,\n viewOnly,\n reloadReminders\n } = props;\n const [reminder, setReminder] = useState('');\n const [typeOptions, setTypeOptions] = useState([]);\n const [templateOptions, setTemplateOptions] = useState([]);\n const [reminderId, setReminderId] = useState(id || '');\n const [existingReminderFiledFor, setExistingReminderFiledFor] = useState([]);\n const [existingReminderObj, setExistingReminderObj] = useState(null);\n const [loading, setLoading] = useState(false);\n const classes = useStyles(props);\n const { t } = useTranslation();\n const actionState = useActionState();\n const shellHidden = useShellStore((state) => state.shellHidden);\n const { menuListState, catalogPromotedEntities } = actionState;\n const { handleSuccessSnackbar, handleErrorSnackbar } =\n useHandleAxiosSnackbar();\n const user = useUser();\n const editorRef = useRef(null);\n const selectedNode = useActionStore((state) => state.selectedNode);\n\n const selectedMenu = useMemo(() => {\n if (menuListState.menuList.length) {\n return menuListState.menuList[menuListState.selectedMenuIndex] || null;\n }\n return null;\n }, [menuListState]);\n\n const reminderGetFullApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseGetFullMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTypeSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Type,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTemplateSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Template,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const createReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseCreateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const updateReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const createReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseCreateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const updateReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const deleteReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseDeleteMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const disabled = useMemo(() => {\n return viewOnly;\n }, [viewOnly]);\n\n const handleSaveReminder = useCallback(\n async (values) => {\n let response = null;\n const reminderDate = new Date(values?.reminderDate?.setHours(0, 0, 0, 0));\n const data = {\n requestBody: {\n tenantId: user?.currentTenantId,\n typeCode: values?.type?.code,\n subject: values?.subject,\n content: values?.reminder,\n unityUserId: user?.id,\n userDisplayName: `${user?.firstName} ${user?.familyName}`,\n reminderDate: reminderDate.toDateString()\n }\n };\n if (reminderId) {\n if (updateReminderApiMethod) {\n // Set the url parameter for updating reminder\n data['{iD}'] = reminderId;\n response = await executeQueryWithParameters(\n { data },\n updateReminderApiMethod.apiMethodId\n ).catch((e) => handleErrorSnackbar(e, 'Could not Update Reminder'));\n } else {\n handleErrorSnackbar(null, 'Update Reminder Method Not Promoted');\n }\n } else {\n if (createReminderApiMethod) {\n response = await executeQueryWithParameters(\n { data },\n createReminderApiMethod.apiMethodId\n ).catch((e) => handleErrorSnackbar(e, 'Could not Save Reminder'));\n } else {\n handleErrorSnackbar(null, 'Create Reminder Method Not Promoted');\n }\n }\n\n if (response?.status === 200) {\n if (!reminderId) {\n setReminderId(response.data.id || '');\n handleSuccessSnackbar('Reminder Saved');\n } else {\n handleSuccessSnackbar('Reminder Updated');\n }\n if (reloadReminders) {\n reloadReminders();\n }\n return response.data.id || reminderId;\n }\n\n return reminderId;\n },\n [\n createReminderApiMethod,\n updateReminderApiMethod,\n reminderId,\n setReminderId,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n user,\n reloadReminders\n ]\n );\n\n const reminderFiledForToComparator = (nftc1, nftc2) => {\n return nftc1?.value === nftc2?.value;\n };\n\n const handleReminderFiledFor = useCallback(\n async (values, reminderdIdToFileFor) => {\n // Get the reminderFiledFor objects to delete\n const reminderFiledForToDelete = differenceWith(\n existingReminderFiledFor,\n values?.fileTo,\n reminderFiledForToComparator\n );\n\n // Get the reminderFiledFor objects to create\n const reminderFiledForToCreate = differenceWith(\n values?.fileTo,\n existingReminderFiledFor,\n reminderFiledForToComparator\n );\n\n if (reminderdIdToFileFor) {\n if (deleteReminderFiledForApiMethod) {\n const deletedPromises = [];\n reminderFiledForToDelete.forEach((nftd) => {\n const data = {};\n data['{reminderID}'] = reminderdIdToFileFor;\n data['{entityBusinessKey}'] = nftd.value;\n\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Reminder Filed For deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Reminder Filed For Method Not Promoted'\n );\n }\n\n if (createReminderFiledForApiMethod) {\n const createdPromises = [];\n reminderFiledForToCreate.forEach((nftc) => {\n const data = {\n requestBody: {\n reminderId: reminderdIdToFileFor,\n entityBusinessKey: nftc.value,\n domainObject: nftc.domainObject,\n type: values?.fileToType?.value || 1\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminderFiledFor =\n reminderFiledForToCreate.find(\n (nftc) => nftc.value === entityBusinessKey\n );\n if (!matchingReminderFiledFor) {\n console.warn(\n `Reminder Filed For not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingReminderFiledFor(values?.fileTo);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Reminder Filed For Method Not Promoted'\n );\n }\n\n if (updateReminderFiledForApiMethod) {\n const updatedPromises = [];\n values?.fileTo?.forEach((nftu) => {\n const data = {\n requestBody: {\n reminderId: reminderdIdToFileFor,\n entityBusinessKey: nftu.value,\n domainObject: nftu.domainObject,\n type: values?.fileToType?.value || 1\n }\n };\n data['{reminderID}'] = reminderdIdToFileFor;\n data['{entityBusinessKey}'] = nftu.value;\n updatedPromises.push(\n executeQueryWithParameters(\n { data },\n updateReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(updatedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminderFiledFor = values?.fileTo?.find(\n (nftu) => nftu.value === entityBusinessKey\n );\n if (!matchingReminderFiledFor) {\n console.warn(\n `Reminder Filed For not updated for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingReminderFiledFor(values?.fileTo);\n } else {\n handleErrorSnackbar(\n null,\n 'Update Reminder Filed For Method Not Promoted'\n );\n }\n }\n },\n [\n createReminderFiledForApiMethod,\n updateReminderFiledForApiMethod,\n deleteReminderFiledForApiMethod,\n handleErrorSnackbar,\n existingReminderFiledFor,\n setExistingReminderFiledFor\n ]\n );\n\n const handleOnSubmit = useCallback(\n async (values) => {\n if (onSubmit) {\n onSubmit({ reminder, ...values });\n } else {\n const reminderdIdToFileFor = await handleSaveReminder({\n reminder,\n ...values\n });\n await handleReminderFiledFor(\n { reminder, ...values },\n reminderdIdToFileFor\n );\n }\n },\n [reminder, onSubmit, handleSaveReminder, handleReminderFiledFor]\n );\n\n const handleTextEditorChange = (reminder) => {\n setReminder(reminder);\n };\n\n const onTemplateChange = useCallback(\n (value) => {\n formRef?.current?.form?.change('subject', value?.subject || '');\n const type = typeOptions.find((option) => option.code === value.typeCode);\n formRef?.current?.form?.change('type', type || null);\n formRef?.current?.form?.change(\n 'reminderDate',\n value.reminderDate === '0001-01-01T00:00:00'\n ? new Date()\n : new Date(value.reminderDate)\n );\n setReminder(value?.content || '');\n },\n [setReminder, formRef, typeOptions]\n );\n\n const handleShortcutOnSelect = useCallback(\n (shortcutContent) => {\n editorRef?.current?.model?.change((writer) => {\n const insertPosition =\n editorRef?.current?.model?.document?.selection?.getFirstPosition();\n writer.remove(\n editorRef?.current?.model?.document?.selection?.getFirstRange()\n );\n writer.insertText(shortcutContent, insertPosition);\n });\n\n setReminder(editorRef?.current?.getData());\n },\n [editorRef, setReminder]\n );\n\n const fileToOptions = useMemo(() => {\n let options = [];\n if (selectedMenu) {\n options = constructBusinessObjectArrFromTree(selectedMenu);\n }\n return options;\n }, [selectedMenu]);\n\n useEffect(() => {\n // TODO: update to use getAll reminderTypes\n const getTypeOptions = async () => {\n let options = [];\n if (reminderTypeSearchApiMethod) {\n const filterElements = [];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n const typesResponse = await executeQueryAdHoc(\n data,\n reminderTypeSearchApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data?.pageList || [];\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [reminderTypeSearchApiMethod, setTypeOptions, user]);\n\n useEffect(() => {\n // TODO: update to use getAll reminderTemplates\n const getTemplateOptions = async () => {\n let options = [];\n if (reminderTemplateSearchApiMethod) {\n const filterElements = [];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n const templatesResponse = await executeQueryAdHoc(\n data,\n reminderTemplateSearchApiMethod.apiMethodId\n );\n if (templatesResponse?.status === 200) {\n options = templatesResponse.data?.pageList || [];\n }\n }\n setTemplateOptions(options);\n };\n getTemplateOptions();\n }, [reminderTemplateSearchApiMethod, setTemplateOptions, user]);\n\n useEffect(() => {\n const getExistingReminder = async () => {\n let existingReminderObj = null;\n const data = {};\n if (reminderGetFullApiMethod) {\n setLoading(true);\n data['{iD}'] = id;\n const reminderResponse = await executeQueryWithParameters(\n { data },\n reminderGetFullApiMethod.apiMethodId\n ).catch((e) => {\n console.error(e);\n setLoading(false);\n });\n if (reminderResponse?.status === 200) {\n existingReminderObj = reminderResponse.data;\n }\n }\n setExistingReminderObj(existingReminderObj);\n setReminder(existingReminderObj?.content);\n setLoading(false);\n };\n if (id) {\n getExistingReminder();\n }\n }, [id, reminderGetFullApiMethod]);\n\n useEffect(() => {\n if (!existingReminderObj || !fileToOptions?.length) {\n return;\n }\n const initialFileTos = fileToOptions.filter((option) => {\n return existingReminderObj.reminderFiledFor.find(\n (nff) => option.value === nff.entityBusinessKey\n );\n });\n setExistingReminderFiledFor(initialFileTos);\n formRef?.current?.form?.change('fileTo', initialFileTos);\n }, [existingReminderObj, fileToOptions, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj || !typeOptions?.length) {\n return;\n }\n const initialType = typeOptions.find(\n (option) => option.code === existingReminderObj.typeCode\n );\n formRef?.current?.form?.change('type', initialType || null);\n }, [existingReminderObj, typeOptions, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj) {\n return;\n }\n formRef?.current?.form?.change(\n 'subject',\n existingReminderObj?.subject || ''\n );\n }, [existingReminderObj, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj?.reminderDate) {\n return;\n }\n formRef?.current?.form?.change(\n 'reminderDate',\n new Date(existingReminderObj.reminderDate)\n );\n }, [existingReminderObj, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj) {\n return;\n }\n const matchingReminderFiledFor = existingReminderObj.reminderFiledFor?.find(\n (rff) =>\n rff.domainObject === selectedNode?.properties?.catalogReturnObject\n );\n const initialFileToType = FILE_TO_TYPES.find(\n (option) => option.value === matchingReminderFiledFor?.type\n );\n formRef?.current?.form?.change('fileToType', initialFileToType || null);\n }, [existingReminderObj, typeOptions, formRef, selectedNode]);\n\n return (\n <div className={classes.root}>\n {loading && <LinearProgress color='secondary' />}\n <AmbientCard fullWidth={true} header={true}>\n <Form onSubmit={handleOnSubmit} ref={formRef}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('File To')}\n name='fileTo'\n id='fileTo'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={fileToOptions || []}\n optionKey={'label'}\n required={true}\n limitTags={!viewOnly ? 2 : -1}\n isMultiple={true}\n disabled={disabled}\n />\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('File To Type')}\n name='fileToType'\n id='fileToType'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={FILE_TO_TYPES || []}\n optionKey={'label'}\n required={true}\n disabled={disabled}\n />\n <div className={classes.row}>\n <div style={{ width: '100%' }}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('Type')}\n name='type'\n id='type'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={typeOptions || []}\n optionKey={'name'}\n required={true}\n disabled={disabled}\n />\n </div>\n {!viewOnly && (\n <div style={{ width: '100%', marginLeft: 8 }}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('Template')}\n name='template'\n id='template'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={templateOptions || []}\n optionKey={'name'}\n additionalOnChangeAction={onTemplateChange}\n />\n </div>\n )}\n </div>\n <Field\n component={FluentDatePicker}\n label={t('Reminder Date')}\n name='reminderDate'\n id='reminderDate'\n fullWidth\n variant='outlined'\n size='small'\n margin='dense'\n required\n disabled={disabled}\n />\n <Field\n component={TextField}\n label={t('Subject')}\n name='subject'\n id='subject'\n fullWidth\n variant='outlined'\n size='small'\n margin='dense'\n required\n disabled={disabled}\n InputProps={{\n classes: {\n root: classes?.input,\n input: classes?.formTextInput\n }\n }}\n InputLabelProps={{\n classes: {\n root: classes?.labelRoot\n }\n }}\n />\n <LayoutUnit unit='nudge' />\n <CkRichEditor\n handleChange={handleTextEditorChange}\n classes={{ editor: classes.editor }}\n data={reminder}\n editorRef={editorRef}\n isUsingRef={true}\n readOnly={disabled}\n />\n </Form>\n </AmbientCard>\n <LayoutUnit unit='nudge' />\n {shortcutContentFinderEnabled && (\n <AmbientCard\n fullWidth={true}\n header={true}\n lastChildBottomPadding={'0px'}\n cardContentHeight={`calc(100vh - ${shellHidden ? '568px' : '623px'})`}\n >\n <ShortcutContentFinder onSelect={handleShortcutOnSelect} />\n </AmbientCard>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgCA,MAAM,YAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,QAAQ,EACN,oDAAoD,EAClD,iBACE,OAAO,cAAc,EAAE,SAAS,SAC5B,MAAM,QAAQ,KAAK,OACnB,MAAM,QAAQ,KAAK,MAC1B,EACF;CACD,KAAK;EACH,SAAS;EACT,gBAAgB;EACjB;CACD,OAAO;EACL,QAAQ;EACR,SAAS;EACV;CACD,eAAe,EACb,UAAU,IACX;CACD,WAAW,EACT,UAAU,IACX;CACF,EAAE;AAEH,MAAa,mBAAmB,UAAU;CACxC,MAAM,EACJ,SACA,UACA,8BACA,IACA,UACA,oBACE;CACJ,MAAM,CAAC,UAAU,eAAe,SAAS,GAAG;CAC5C,MAAM,CAAC,aAAa,kBAAkB,SAAS,EAAE,CAAC;CAClD,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,EAAE,CAAC;CAC1D,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM,GAAG;CACtD,MAAM,CAAC,0BAA0B,+BAA+B,SAAS,EAAE,CAAC;CAC5E,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,KAAK;CACpE,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,UAAU,UAAU,MAAM;CAChC,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,cAAc,gBAAgB;CACpC,MAAM,cAAc,eAAe,UAAU,MAAM,YAAY;CAC/D,MAAM,EAAE,eAAe,4BAA4B;CACnD,MAAM,EAAE,uBAAuB,wBAC7B,wBAAwB;CAC1B,MAAM,OAAO,SAAS;CACtB,MAAM,YAAY,OAAO,KAAK;CAC9B,MAAM,eAAe,gBAAgB,UAAU,MAAM,aAAa;CAElE,MAAM,eAAe,cAAc;AACjC,MAAI,cAAc,SAAS,OACzB,QAAO,cAAc,SAAS,cAAc,sBAAsB;AAEpE,SAAO;IACN,CAAC,cAAc,CAAC;CAEnB,MAAM,2BAA2B,cAAc;AAC7C,SAAO,cACL,SAAS,cACT,0BACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,8BAA8B,cAAc;AAChD,SAAO,cACL,SAAS,mBACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,kCAAkC,cAAc;AACpD,SAAO,cACL,SAAS,uBACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,0BAA0B,cAAc;AAC5C,SAAO,cACL,SAAS,cACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,0BAA0B,cAAc;AAC5C,SAAO,cACL,SAAS,cACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,kCAAkC,cAAc;AACpD,SAAO,cACL,SAAS,wBACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,kCAAkC,cAAc;AACpD,SAAO,cACL,SAAS,wBACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,kCAAkC,cAAc;AACpD,SAAO,cACL,SAAS,wBACT,yBACA,wBACD;IACA,CAAC,wBAAwB,CAAC;CAE7B,MAAM,WAAW,cAAc;AAC7B,SAAO;IACN,CAAC,SAAS,CAAC;CAEd,MAAM,qBAAqB,YACzB,OAAO,WAAW;EAChB,IAAI,WAAW;EACf,MAAM,eAAe,IAAI,KAAK,QAAQ,cAAc,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;EACzE,MAAM,OAAO,EACX,aAAa;GACX,UAAU,MAAM;GAChB,UAAU,QAAQ,MAAM;GACxB,SAAS,QAAQ;GACjB,SAAS,QAAQ;GACjB,aAAa,MAAM;GACnB,iBAAiB,GAAG,MAAM,UAAU,GAAG,MAAM;GAC7C,cAAc,aAAa,cAAc;GAC1C,EACF;AACD,MAAI,WACF,KAAI,yBAAyB;AAE3B,QAAK,UAAU;AACf,cAAW,MAAM,2BACf,EAAE,MAAM,EACR,wBAAwB,YACzB,CAAC,OAAO,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;QAEnE,qBAAoB,MAAM,sCAAsC;WAG9D,wBACF,YAAW,MAAM,2BACf,EAAE,MAAM,EACR,wBAAwB,YACzB,CAAC,OAAO,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;MAEjE,qBAAoB,MAAM,sCAAsC;AAIpE,MAAI,UAAU,WAAW,KAAK;AAC5B,OAAI,CAAC,YAAY;AACf,kBAAc,SAAS,KAAK,MAAM,GAAG;AACrC,0BAAsB,iBAAiB;SAEvC,uBAAsB,mBAAmB;AAE3C,OAAI,gBACF,kBAAiB;AAEnB,UAAO,SAAS,KAAK,MAAM;;AAG7B,SAAO;IAET;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,gCAAgC,OAAO,UAAU;AACrD,SAAO,OAAO,UAAU,OAAO;;CAGjC,MAAM,yBAAyB,YAC7B,OAAO,QAAQ,yBAAyB;EAEtC,MAAM,2BAA2B,eAC/B,0BACA,QAAQ,QACR,6BACD;EAGD,MAAM,2BAA2B,eAC/B,QAAQ,QACR,0BACA,6BACD;AAED,MAAI,sBAAsB;AACxB,OAAI,iCAAiC;IACnC,MAAM,kBAAkB,EAAE;AAC1B,6BAAyB,SAAS,SAAS;KACzC,MAAM,OAAO,EAAE;AACf,UAAK,kBAAkB;AACvB,UAAK,yBAAyB,KAAK;AAEnC,qBAAgB,KACd,2BACE,EAAE,MAAM,EACR,gCAAgC,YACjC,CACF;MACD;AAEF,UAAM,QAAQ,IAAI,gBAAgB,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,MAC9D,cAAc;AACb,SAAI,UAAU,WAAW,gBAAgB,OACvC,SAAQ,KAAK,qCAAqC;MAGvD;SAED,qBACE,MACA,gDACD;AAGH,OAAI,iCAAiC;IACnC,MAAM,kBAAkB,EAAE;AAC1B,6BAAyB,SAAS,SAAS;KACzC,MAAM,OAAO,EACX,aAAa;MACX,YAAY;MACZ,mBAAmB,KAAK;MACxB,cAAc,KAAK;MACnB,MAAM,QAAQ,YAAY,SAAS;MACpC,EACF;AACD,qBAAgB,KACd,2BACE,EAAE,MAAM,EACR,gCAAgC,YACjC,CACF;MACD;AACF,UAAM,QAAQ,IAAI,gBAAgB,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,MAC9D,cAAc;AACb,eAAU,SAAS,aAAa;AAC9B,UAAI,SAAS,WAAW,KAAK;OAC3B,MAAM,oBAAoB,SAAS,KAAK;AAKxC,WAAI,CAHF,yBAAyB,MACtB,SAAS,KAAK,UAAU,kBAC1B,CAED,SAAQ,KACN,0DACD;;OAGL;MAEL;AACD,gCAA4B,QAAQ,OAAO;SAE3C,qBACE,MACA,gDACD;AAGH,OAAI,iCAAiC;IACnC,MAAM,kBAAkB,EAAE;AAC1B,YAAQ,QAAQ,SAAS,SAAS;KAChC,MAAM,OAAO,EACX,aAAa;MACX,YAAY;MACZ,mBAAmB,KAAK;MACxB,cAAc,KAAK;MACnB,MAAM,QAAQ,YAAY,SAAS;MACpC,EACF;AACD,UAAK,kBAAkB;AACvB,UAAK,yBAAyB,KAAK;AACnC,qBAAgB,KACd,2BACE,EAAE,MAAM,EACR,gCAAgC,YACjC,CACF;MACD;AACF,UAAM,QAAQ,IAAI,gBAAgB,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,MAC9D,cAAc;AACb,eAAU,SAAS,aAAa;AAC9B,UAAI,SAAS,WAAW,KAAK;OAC3B,MAAM,oBAAoB,SAAS,KAAK;AAIxC,WAAI,CAH6B,QAAQ,QAAQ,MAC9C,SAAS,KAAK,UAAU,kBAC1B,CAEC,SAAQ,KACN,0DACD;;OAGL;MAEL;AACD,gCAA4B,QAAQ,OAAO;SAE3C,qBACE,MACA,gDACD;;IAIP;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,iBAAiB,YACrB,OAAO,WAAW;AAChB,MAAI,SACF,UAAS;GAAE;GAAU,GAAG;GAAQ,CAAC;OAC5B;GACL,MAAM,uBAAuB,MAAM,mBAAmB;IACpD;IACA,GAAG;IACJ,CAAC;AACF,SAAM,uBACJ;IAAE;IAAU,GAAG;IAAQ,EACvB,qBACD;;IAGL;EAAC;EAAU;EAAU;EAAoB;EAAuB,CACjE;CAED,MAAM,0BAA0B,eAAa;AAC3C,cAAYA,WAAS;;CAGvB,MAAM,mBAAmB,aACtB,UAAU;AACT,WAAS,SAAS,MAAM,OAAO,WAAW,OAAO,WAAW,GAAG;EAC/D,MAAM,OAAO,YAAY,MAAM,WAAW,OAAO,SAAS,MAAM,SAAS;AACzE,WAAS,SAAS,MAAM,OAAO,QAAQ,QAAQ,KAAK;AACpD,WAAS,SAAS,MAAM,OACtB,gBACA,MAAM,iBAAiB,wCACnB,IAAI,MAAM,GACV,IAAI,KAAK,MAAM,aAAa,CACjC;AACD,cAAY,OAAO,WAAW,GAAG;IAEnC;EAAC;EAAa;EAAS;EAAY,CACpC;CAED,MAAM,yBAAyB,aAC5B,oBAAoB;AACnB,aAAW,SAAS,OAAO,QAAQ,WAAW;GAC5C,MAAM,iBACJ,WAAW,SAAS,OAAO,UAAU,WAAW,kBAAkB;AACpE,UAAO,OACL,WAAW,SAAS,OAAO,UAAU,WAAW,eAAe,CAChE;AACD,UAAO,WAAW,iBAAiB,eAAe;IAClD;AAEF,cAAY,WAAW,SAAS,SAAS,CAAC;IAE5C,CAAC,WAAW,YAAY,CACzB;CAED,MAAM,gBAAgB,cAAc;EAClC,IAAI,UAAU,EAAE;AAChB,MAAI,aACF,WAAU,mCAAmC,aAAa;AAE5D,SAAO;IACN,CAAC,aAAa,CAAC;AAElB,iBAAgB;EAEd,MAAM,iBAAiB,YAAY;GACjC,IAAI,UAAU,EAAE;AAChB,OAAI,6BAA6B;IAI/B,MAAM,gBAAgB,MAAM,kBADf,EAAE,MADM,gBADE,EAAE,EAC4B,GAAG,KAAK,KAAK,EAC/B,EAGjC,4BAA4B,YAC7B;AACD,QAAI,eAAe,WAAW,IAC5B,WAAU,cAAc,MAAM,YAAY,EAAE;;AAGhD,kBAAe,QAAQ;;AAEzB,kBAAgB;IACf;EAAC;EAA6B;EAAgB;EAAK,CAAC;AAEvD,iBAAgB;EAEd,MAAM,qBAAqB,YAAY;GACrC,IAAI,UAAU,EAAE;AAChB,OAAI,iCAAiC;IAInC,MAAM,oBAAoB,MAAM,kBADnB,EAAE,MADM,gBADE,EAAE,EAC4B,GAAG,KAAK,KAAK,EAC/B,EAGjC,gCAAgC,YACjC;AACD,QAAI,mBAAmB,WAAW,IAChC,WAAU,kBAAkB,MAAM,YAAY,EAAE;;AAGpD,sBAAmB,QAAQ;;AAE7B,sBAAoB;IACnB;EAAC;EAAiC;EAAoB;EAAK,CAAC;AAE/D,iBAAgB;EACd,MAAM,sBAAsB,YAAY;GACtC,IAAIC,wBAAsB;GAC1B,MAAM,OAAO,EAAE;AACf,OAAI,0BAA0B;AAC5B,eAAW,KAAK;AAChB,SAAK,UAAU;IACf,MAAM,mBAAmB,MAAM,2BAC7B,EAAE,MAAM,EACR,yBAAyB,YAC1B,CAAC,OAAO,MAAM;AACb,aAAQ,MAAM,EAAE;AAChB,gBAAW,MAAM;MACjB;AACF,QAAI,kBAAkB,WAAW,IAC/B,yBAAsB,iBAAiB;;AAG3C,0BAAuBA,sBAAoB;AAC3C,eAAYA,uBAAqB,QAAQ;AACzC,cAAW,MAAM;;AAEnB,MAAI,GACF,sBAAqB;IAEtB,CAAC,IAAI,yBAAyB,CAAC;AAElC,iBAAgB;AACd,MAAI,CAAC,uBAAuB,CAAC,eAAe,OAC1C;EAEF,MAAM,iBAAiB,cAAc,QAAQ,WAAW;AACtD,UAAO,oBAAoB,iBAAiB,MACzC,QAAQ,OAAO,UAAU,IAAI,kBAC/B;IACD;AACF,8BAA4B,eAAe;AAC3C,WAAS,SAAS,MAAM,OAAO,UAAU,eAAe;IACvD;EAAC;EAAqB;EAAe;EAAQ,CAAC;AAEjD,iBAAgB;AACd,MAAI,CAAC,uBAAuB,CAAC,aAAa,OACxC;EAEF,MAAM,cAAc,YAAY,MAC7B,WAAW,OAAO,SAAS,oBAAoB,SACjD;AACD,WAAS,SAAS,MAAM,OAAO,QAAQ,eAAe,KAAK;IAC1D;EAAC;EAAqB;EAAa;EAAQ,CAAC;AAE/C,iBAAgB;AACd,MAAI,CAAC,oBACH;AAEF,WAAS,SAAS,MAAM,OACtB,WACA,qBAAqB,WAAW,GACjC;IACA,CAAC,qBAAqB,QAAQ,CAAC;AAElC,iBAAgB;AACd,MAAI,CAAC,qBAAqB,aACxB;AAEF,WAAS,SAAS,MAAM,OACtB,gBACA,IAAI,KAAK,oBAAoB,aAAa,CAC3C;IACA,CAAC,qBAAqB,QAAQ,CAAC;AAElC,iBAAgB;AACd,MAAI,CAAC,oBACH;EAEF,MAAM,2BAA2B,oBAAoB,kBAAkB,MACpE,QACC,IAAI,iBAAiB,cAAc,YAAY,oBAClD;EACD,MAAM,oBAAoB,cAAc,MACrC,WAAW,OAAO,UAAU,0BAA0B,KACxD;AACD,WAAS,SAAS,MAAM,OAAO,cAAc,qBAAqB,KAAK;IACtE;EAAC;EAAqB;EAAa;EAAS;EAAa,CAAC;AAE7D,QACE,oCAAC,SAAI,WAAW,QAAQ,QACrB,WAAW,oCAAC,kBAAe,OAAM,cAAc,EAChD,oCAAC;EAAY,WAAW;EAAM,QAAQ;IACpC,oCAAC;EAAK,UAAU;EAAgB,KAAK;IACnC,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,UAAU;EACnB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,QAAO;EACP,MAAK;EACL,SAAS,iBAAiB,EAAE;EAC5B,WAAW;EACX,UAAU;EACV,WAAW,CAAC,WAAW,IAAI;EAC3B,YAAY;EACF;GACV,EACF,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,eAAe;EACxB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,QAAO;EACP,MAAK;EACL,SAAS,iBAAiB,EAAE;EAC5B,WAAW;EACX,UAAU;EACA;GACV,EACF,oCAAC,SAAI,WAAW,QAAQ,OACtB,oCAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,IAC3B,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,OAAO;EAChB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,QAAO;EACP,MAAK;EACL,SAAS,eAAe,EAAE;EAC1B,WAAW;EACX,UAAU;EACA;GACV,CACE,EACL,CAAC,YACA,oCAAC,SAAI,OAAO;EAAE,OAAO;EAAQ,YAAY;EAAG,IAC1C,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,WAAW;EACpB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,QAAO;EACP,MAAK;EACL,SAAS,mBAAmB,EAAE;EAC9B,WAAW;EACX,0BAA0B;GAC1B,CACE,CAEJ,EACN,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,gBAAgB;EACzB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,MAAK;EACL,QAAO;EACP;EACU;GACV,EACF,oCAAC;EACC,WAAW;EACX,OAAO,EAAE,UAAU;EACnB,MAAK;EACL,IAAG;EACH;EACA,SAAQ;EACR,MAAK;EACL,QAAO;EACP;EACU;EACV,YAAY,EACV,SAAS;GACP,MAAM,SAAS;GACf,OAAO,SAAS;GACjB,EACF;EACD,iBAAiB,EACf,SAAS,EACP,MAAM,SAAS,WAChB,EACF;GACD,EACF,oCAAC,cAAW,MAAK,UAAU,EAC3B,oCAAC;EACC,cAAc;EACd,SAAS,EAAE,QAAQ,QAAQ,QAAQ;EACnC,MAAM;EACK;EACX,YAAY;EACZ,UAAU;GACV,CACG,CACK,EACd,oCAAC,cAAW,MAAK,UAAU,EAC1B,gCACC,oCAAC;EACC,WAAW;EACX,QAAQ;EACR,wBAAwB;EACxB,mBAAmB,gBAAgB,cAAc,UAAU,QAAQ;IAEnE,oCAAC,yBAAsB,UAAU,yBAA0B,CAC/C,CAEZ"}
1
+ {"version":3,"file":"RemindersScreen-BOsf651X.js","names":["reminder","existingReminderObj"],"sources":["../src/reminders/RemindersScreen.jsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { CkRichEditor } from '../UI/inputs/richEditors/CkRichEditor';\nimport { makeStyles, TextField, LinearProgress } from '@material-ui/core';\nimport { Field, Form } from '../utilities/form';\nimport { FluentTextFieldAutoComplete } from '../UI/inputs/textField/FluentTextFieldAutoComplete';\nimport { useTranslation } from 'react-i18next';\nimport { useActionState } from '../hooks/useActions';\nimport { constructBusinessObjectArrFromTree } from '../utilities/tree/TreeUtilities';\nimport { LayoutUnit } from '../layout/LayoutUnit';\nimport { UdpEnums } from '../enums/unitySystemEnums';\nimport { useHandleAxiosSnackbar } from '../utilities/apiHelpers';\nimport { useUser } from '../utilities/auth/useUser';\nimport { differenceWith } from 'lodash';\nimport {\n executeQueryAdHoc,\n getBaseMethod,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { ShortcutContentFinder } from '../udp/ShortcutContent/ShortcutContentFinder';\nimport { AmbientCard } from '../UI/surfaces/cards/AmbientCard';\nimport { useShellStore } from '../stores/shellStore';\nimport { FluentDatePicker } from '../UI/inputs/pickers/FluentDatePicker';\nimport { useActionStore } from '../stores/actionStore';\nimport { FILE_TO_TYPES } from '../constants/reminderConstants';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n editor: {\n '& .ck-editor__main > .ck-editor__editable_inline': {\n backgroundColor:\n theme?.getThemeData()?.mode === 'dark'\n ? theme.palette.grey[800]\n : theme.palette.grey[100]\n }\n },\n row: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 14\n },\n labelRoot: {\n fontSize: 14\n }\n}));\n\nexport const RemindersScreen = (props) => {\n const {\n formRef,\n onSubmit,\n shortcutContentFinderEnabled,\n id,\n viewOnly,\n reloadReminders\n } = props;\n const [reminder, setReminder] = useState('');\n const [typeOptions, setTypeOptions] = useState([]);\n const [templateOptions, setTemplateOptions] = useState([]);\n const [reminderId, setReminderId] = useState(id || '');\n const [existingReminderFiledFor, setExistingReminderFiledFor] = useState([]);\n const [existingReminderObj, setExistingReminderObj] = useState(null);\n const [loading, setLoading] = useState(false);\n const classes = useStyles(props);\n const { t } = useTranslation();\n const actionState = useActionState();\n const shellHidden = useShellStore((state) => state.shellHidden);\n const { menuListState, catalogPromotedEntities } = actionState;\n const { handleSuccessSnackbar, handleErrorSnackbar } =\n useHandleAxiosSnackbar();\n const user = useUser();\n const editorRef = useRef(null);\n const selectedNode = useActionStore((state) => state.selectedNode);\n\n const selectedMenu = useMemo(() => {\n if (menuListState.menuList.length) {\n return menuListState.menuList[menuListState.selectedMenuIndex] || null;\n }\n return null;\n }, [menuListState]);\n\n const reminderGetFullApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseGetFullMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTypeSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Type,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const reminderTemplateSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Template,\n 'unityBaseSearchMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const createReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseCreateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const updateReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const createReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseCreateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const updateReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const deleteReminderFiledForApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder_Filed_For,\n 'unityBaseDeleteMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const disabled = useMemo(() => {\n return viewOnly;\n }, [viewOnly]);\n\n const handleSaveReminder = useCallback(\n async (values) => {\n let response = null;\n const reminderDate = new Date(values?.reminderDate?.setHours(0, 0, 0, 0));\n const data = {\n requestBody: {\n tenantId: user?.currentTenantId,\n typeCode: values?.type?.code,\n subject: values?.subject,\n content: values?.reminder,\n unityUserId: user?.id,\n userDisplayName: `${user?.firstName} ${user?.familyName}`,\n reminderDate: reminderDate.toDateString()\n }\n };\n if (reminderId) {\n if (updateReminderApiMethod) {\n // Set the url parameter for updating reminder\n data['{iD}'] = reminderId;\n response = await executeQueryWithParameters(\n { data },\n updateReminderApiMethod.apiMethodId\n ).catch((e) => handleErrorSnackbar(e, 'Could not Update Reminder'));\n } else {\n handleErrorSnackbar(null, 'Update Reminder Method Not Promoted');\n }\n } else {\n if (createReminderApiMethod) {\n response = await executeQueryWithParameters(\n { data },\n createReminderApiMethod.apiMethodId\n ).catch((e) => handleErrorSnackbar(e, 'Could not Save Reminder'));\n } else {\n handleErrorSnackbar(null, 'Create Reminder Method Not Promoted');\n }\n }\n\n if (response?.status === 200) {\n if (!reminderId) {\n setReminderId(response.data.id || '');\n handleSuccessSnackbar('Reminder Saved');\n } else {\n handleSuccessSnackbar('Reminder Updated');\n }\n if (reloadReminders) {\n reloadReminders();\n }\n return response.data.id || reminderId;\n }\n\n return reminderId;\n },\n [\n createReminderApiMethod,\n updateReminderApiMethod,\n reminderId,\n setReminderId,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n user,\n reloadReminders\n ]\n );\n\n const reminderFiledForToComparator = (nftc1, nftc2) => {\n return nftc1?.value === nftc2?.value;\n };\n\n const handleReminderFiledFor = useCallback(\n async (values, reminderdIdToFileFor) => {\n // Get the reminderFiledFor objects to delete\n const reminderFiledForToDelete = differenceWith(\n existingReminderFiledFor,\n values?.fileTo,\n reminderFiledForToComparator\n );\n\n // Get the reminderFiledFor objects to create\n const reminderFiledForToCreate = differenceWith(\n values?.fileTo,\n existingReminderFiledFor,\n reminderFiledForToComparator\n );\n\n if (reminderdIdToFileFor) {\n if (deleteReminderFiledForApiMethod) {\n const deletedPromises = [];\n reminderFiledForToDelete.forEach((nftd) => {\n const data = {};\n data['{reminderID}'] = reminderdIdToFileFor;\n data['{entityBusinessKey}'] = nftd.value;\n\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Reminder Filed For deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Reminder Filed For Method Not Promoted'\n );\n }\n\n if (createReminderFiledForApiMethod) {\n const createdPromises = [];\n reminderFiledForToCreate.forEach((nftc) => {\n const data = {\n requestBody: {\n reminderId: reminderdIdToFileFor,\n entityBusinessKey: nftc.value,\n domainObject: nftc.domainObject,\n type: values?.fileToType?.value || 1\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminderFiledFor =\n reminderFiledForToCreate.find(\n (nftc) => nftc.value === entityBusinessKey\n );\n if (!matchingReminderFiledFor) {\n console.warn(\n `Reminder Filed For not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingReminderFiledFor(values?.fileTo);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Reminder Filed For Method Not Promoted'\n );\n }\n\n if (updateReminderFiledForApiMethod) {\n const updatedPromises = [];\n values?.fileTo?.forEach((nftu) => {\n const data = {\n requestBody: {\n reminderId: reminderdIdToFileFor,\n entityBusinessKey: nftu.value,\n domainObject: nftu.domainObject,\n type: values?.fileToType?.value || 1\n }\n };\n data['{reminderID}'] = reminderdIdToFileFor;\n data['{entityBusinessKey}'] = nftu.value;\n updatedPromises.push(\n executeQueryWithParameters(\n { data },\n updateReminderFiledForApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(updatedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminderFiledFor = values?.fileTo?.find(\n (nftu) => nftu.value === entityBusinessKey\n );\n if (!matchingReminderFiledFor) {\n console.warn(\n `Reminder Filed For not updated for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingReminderFiledFor(values?.fileTo);\n } else {\n handleErrorSnackbar(\n null,\n 'Update Reminder Filed For Method Not Promoted'\n );\n }\n }\n },\n [\n createReminderFiledForApiMethod,\n updateReminderFiledForApiMethod,\n deleteReminderFiledForApiMethod,\n handleErrorSnackbar,\n existingReminderFiledFor,\n setExistingReminderFiledFor\n ]\n );\n\n const handleOnSubmit = useCallback(\n async (values) => {\n if (onSubmit) {\n onSubmit({ reminder, ...values });\n } else {\n const reminderdIdToFileFor = await handleSaveReminder({\n reminder,\n ...values\n });\n await handleReminderFiledFor(\n { reminder, ...values },\n reminderdIdToFileFor\n );\n }\n },\n [reminder, onSubmit, handleSaveReminder, handleReminderFiledFor]\n );\n\n const handleTextEditorChange = (reminder) => {\n setReminder(reminder);\n };\n\n const onTemplateChange = useCallback(\n (value) => {\n formRef?.current?.form?.change('subject', value?.subject || '');\n const type = typeOptions.find((option) => option.code === value.typeCode);\n formRef?.current?.form?.change('type', type || null);\n formRef?.current?.form?.change(\n 'reminderDate',\n value.reminderDate === '0001-01-01T00:00:00'\n ? new Date()\n : new Date(value.reminderDate)\n );\n setReminder(value?.content || '');\n },\n [setReminder, formRef, typeOptions]\n );\n\n const handleShortcutOnSelect = useCallback(\n (shortcutContent) => {\n editorRef?.current?.model?.change((writer) => {\n const insertPosition =\n editorRef?.current?.model?.document?.selection?.getFirstPosition();\n writer.remove(\n editorRef?.current?.model?.document?.selection?.getFirstRange()\n );\n writer.insertText(shortcutContent, insertPosition);\n });\n\n setReminder(editorRef?.current?.getData());\n },\n [editorRef, setReminder]\n );\n\n const fileToOptions = useMemo(() => {\n let options = [];\n if (selectedMenu) {\n options = constructBusinessObjectArrFromTree(selectedMenu);\n }\n return options;\n }, [selectedMenu]);\n\n useEffect(() => {\n // TODO: update to use getAll reminderTypes\n const getTypeOptions = async () => {\n let options = [];\n if (reminderTypeSearchApiMethod) {\n const filterElements = [];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n const typesResponse = await executeQueryAdHoc(\n data,\n reminderTypeSearchApiMethod.apiMethodId\n );\n if (typesResponse?.status === 200) {\n options = typesResponse.data?.pageList || [];\n }\n }\n setTypeOptions(options);\n };\n getTypeOptions();\n }, [reminderTypeSearchApiMethod, setTypeOptions, user]);\n\n useEffect(() => {\n // TODO: update to use getAll reminderTemplates\n const getTemplateOptions = async () => {\n let options = [];\n if (reminderTemplateSearchApiMethod) {\n const filterElements = [];\n const searchObject = getSearchObject(filterElements, 1, 200, true);\n const data = { data: searchObject };\n const templatesResponse = await executeQueryAdHoc(\n data,\n reminderTemplateSearchApiMethod.apiMethodId\n );\n if (templatesResponse?.status === 200) {\n options = templatesResponse.data?.pageList || [];\n }\n }\n setTemplateOptions(options);\n };\n getTemplateOptions();\n }, [reminderTemplateSearchApiMethod, setTemplateOptions, user]);\n\n useEffect(() => {\n const getExistingReminder = async () => {\n let existingReminderObj = null;\n const data = {};\n if (reminderGetFullApiMethod) {\n setLoading(true);\n data['{iD}'] = id;\n const reminderResponse = await executeQueryWithParameters(\n { data },\n reminderGetFullApiMethod.apiMethodId\n ).catch((e) => {\n console.error(e);\n setLoading(false);\n });\n if (reminderResponse?.status === 200) {\n existingReminderObj = reminderResponse.data;\n }\n }\n setExistingReminderObj(existingReminderObj);\n setReminder(existingReminderObj?.content);\n setLoading(false);\n };\n if (id) {\n getExistingReminder();\n }\n }, [id, reminderGetFullApiMethod]);\n\n useEffect(() => {\n if (!existingReminderObj || !fileToOptions?.length) {\n return;\n }\n const initialFileTos = fileToOptions.filter((option) => {\n return existingReminderObj.reminderFiledFor.find(\n (nff) => option.value === nff.entityBusinessKey\n );\n });\n setExistingReminderFiledFor(initialFileTos);\n formRef?.current?.form?.change('fileTo', initialFileTos);\n }, [existingReminderObj, fileToOptions, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj || !typeOptions?.length) {\n return;\n }\n const initialType = typeOptions.find(\n (option) => option.code === existingReminderObj.typeCode\n );\n formRef?.current?.form?.change('type', initialType || null);\n }, [existingReminderObj, typeOptions, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj) {\n return;\n }\n formRef?.current?.form?.change(\n 'subject',\n existingReminderObj?.subject || ''\n );\n }, [existingReminderObj, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj?.reminderDate) {\n return;\n }\n formRef?.current?.form?.change(\n 'reminderDate',\n new Date(existingReminderObj.reminderDate)\n );\n }, [existingReminderObj, formRef]);\n\n useEffect(() => {\n if (!existingReminderObj) {\n return;\n }\n const matchingReminderFiledFor = existingReminderObj.reminderFiledFor?.find(\n (rff) =>\n rff.domainObject === selectedNode?.properties?.catalogReturnObject\n );\n const initialFileToType = FILE_TO_TYPES.find(\n (option) => option.value === matchingReminderFiledFor?.type\n );\n formRef?.current?.form?.change('fileToType', initialFileToType || null);\n }, [existingReminderObj, typeOptions, formRef, selectedNode]);\n\n return (\n <div className={classes.root}>\n {loading && <LinearProgress color='secondary' />}\n <AmbientCard fullWidth={true} header={true}>\n <Form onSubmit={handleOnSubmit} ref={formRef}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('File To')}\n name='fileTo'\n id='fileTo'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={fileToOptions || []}\n optionKey={'label'}\n required={true}\n limitTags={!viewOnly ? 2 : -1}\n isMultiple={true}\n disabled={disabled}\n />\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('File To Type')}\n name='fileToType'\n id='fileToType'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={FILE_TO_TYPES || []}\n optionKey={'label'}\n required={true}\n disabled={disabled}\n />\n <div className={classes.row}>\n <div style={{ width: '100%' }}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('Type')}\n name='type'\n id='type'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={typeOptions || []}\n optionKey={'name'}\n required={true}\n disabled={disabled}\n />\n </div>\n {!viewOnly && (\n <div style={{ width: '100%', marginLeft: 8 }}>\n <Field\n component={FluentTextFieldAutoComplete}\n label={t('Template')}\n name='template'\n id='template'\n fullWidth\n variant='outlined'\n margin='dense'\n size='small'\n options={templateOptions || []}\n optionKey={'name'}\n additionalOnChangeAction={onTemplateChange}\n />\n </div>\n )}\n </div>\n <Field\n component={FluentDatePicker}\n label={t('Reminder Date')}\n name='reminderDate'\n id='reminderDate'\n fullWidth\n variant='outlined'\n size='small'\n margin='dense'\n required\n disabled={disabled}\n />\n <Field\n component={TextField}\n label={t('Subject')}\n name='subject'\n id='subject'\n fullWidth\n variant='outlined'\n size='small'\n margin='dense'\n required\n disabled={disabled}\n InputProps={{\n classes: {\n root: classes?.input,\n input: classes?.formTextInput\n }\n }}\n InputLabelProps={{\n classes: {\n root: classes?.labelRoot\n }\n }}\n />\n <LayoutUnit unit='nudge' />\n <CkRichEditor\n handleChange={handleTextEditorChange}\n classes={{ editor: classes.editor }}\n data={reminder}\n editorRef={editorRef}\n isUsingRef={true}\n readOnly={disabled}\n />\n </Form>\n </AmbientCard>\n <LayoutUnit unit='nudge' />\n {shortcutContentFinderEnabled && (\n <AmbientCard\n fullWidth={true}\n header={true}\n lastChildBottomPadding={'0px'}\n cardContentHeight={`calc(100vh - ${shellHidden ? '568px' : '623px'})`}\n >\n <ShortcutContentFinder onSelect={handleShortcutOnSelect} />\n </AmbientCard>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -3,12 +3,12 @@ import { t as FluentButton } from "./FluentButton-BexKrnAp.js";
3
3
  import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
4
4
  import { t as useUser } from "./useUser-wpHGo6jU.js";
5
5
  import { t as FluentIconButton } from "./FluentIconButton-Dc95mE3v.js";
6
- import { I as UdpEnums, R as UdpReminderFiledForType, d as LogicalSearchOperatorEnums } from "./unitySystemEnums-DM5vXR_m.js";
7
- import { t as useActionState } from "./useActions-Db2P12NS.js";
8
- import { n as getSearchIdentifiers, r as getSearchObject } from "./SearchUtilities-On0QS5vE.js";
6
+ import { L as UdpEnums, f as LogicalSearchOperatorEnums, z as UdpReminderFiledForType } from "./unitySystemEnums-e5F9Jr7m.js";
7
+ import { t as useActionState } from "./useActions-CxDs7v3s.js";
8
+ import { n as getSearchIdentifiers, r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
9
9
  import { a as getBaseMethod, i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-Cwo_kmVX.js";
10
10
  import { t as WidgetCard_default } from "./WidgetCard-CDqYxK5O.js";
11
- import { t as RemindersCard } from "./RemindersCard-z4dtBhhT.js";
11
+ import { t as RemindersCard } from "./RemindersCard-b0Z_AUu4.js";
12
12
  import React, { forwardRef, useCallback, useEffect, useMemo, useState } from "react";
13
13
  import { CircularProgress, FormControlLabel, Switch, makeStyles } from "@material-ui/core";
14
14
  import { SortIcon } from "@fluentui/react-icons";
@@ -335,4 +335,4 @@ var RemindersWidget_exports = /* @__PURE__ */ __export({
335
335
 
336
336
  //#endregion
337
337
  export { RemindersWidget as n, RemindersWidget_default as r, RemindersWidget_exports as t };
338
- //# sourceMappingURL=RemindersWidget-DMWlbmbX.js.map
338
+ //# sourceMappingURL=RemindersWidget-CMNGJkAt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemindersWidget-DMWlbmbX.js","names":["uuid","reminders","WidgetCard"],"sources":["../src/UI/widgets/library/RemindersWidget/RemindersWidget.jsx","../src/UI/widgets/library/RemindersWidget/index.ts"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useState\n} from 'react';\nimport WidgetCard from '../../WidgetCard';\nimport { RemindersCard } from '../../../../reminders/RemindersCard';\nimport { FluentButton } from '../../../inputs/buttons/FluentButton';\nimport {\n CircularProgress,\n makeStyles,\n FormControlLabel,\n Switch\n} from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { useUser } from '../../../../utilities/auth/useUser';\nimport {\n getSearchIdentifiers,\n getSearchObject\n} from '../../../../utilities/search/SearchUtilities';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters,\n getBaseMethod\n} from '../../../../udp/utilities/methodUtils';\nimport {\n LogicalSearchOperatorEnums,\n UdpEnums,\n UdpReminderFiledForType\n} from '../../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../../utilities/apiHelpers';\nimport { FluentIconButton } from '../../../inputs/buttons/FluentIconButton';\nimport { SortIcon } from '@fluentui/react-icons';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\n\n// export const layout = {\n// w: { default: 2, min: 0, max: 4 },\n// h: { default: 2, min: 0, max: 4 }\n// };\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actions: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n justifyContent: 'flex-end'\n },\n actionButton: {\n marginRight: theme.spacing(0.25),\n position: 'relative'\n },\n fabProgress: {\n position: 'absolute',\n top: 4,\n left: '35%',\n zIndex: 1\n }\n}));\n\nexport const RemindersWidget = (props, ref) => {\n const { children, params, setParam, ...other } = props;\n const { onLoadedNodeClick, hideWidgetName, tree, catalogObjects } = params;\n\n const [sortDirection, setSortDirection] = useState(null);\n const [reminders, setReminders] = useState(null);\n const [loading, setLoading] = useState(false);\n const [allRemindersRequested, setAllRemindersRequested] = useState(false);\n const [buttonProgress, setButtonProgress] = useState(false);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const classes = useStyles(props);\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\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 updateReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const currentSortDirection = useMemo(() => {\n if (sortDirection === 'asc') {\n return 'desc';\n } else if (sortDirection === 'desc') {\n return 'asc';\n } else {\n return null;\n }\n }, [sortDirection]);\n\n const getNodeToLoad = useCallback(\n (reminder) => {\n const nodeToLoad = {};\n const domainObject = reminder?.domainObject;\n const entityBusinessKey = reminder?.entityBusinessKey || '';\n let treeStructureId = '';\n let apiMethodId = '';\n const matchingNode = tree?.treeStructure?.find(\n (node) => node.properties?.catalogReturnObject === domainObject\n );\n\n if (matchingNode) {\n treeStructureId = matchingNode.id;\n if (!matchingNode.parentId) {\n apiMethodId = tree.apiMethodInstance.apiMethodId;\n } else {\n const associatedInquiryTree =\n matchingNode.properties?.associatedInquiryTree;\n if (associatedInquiryTree) {\n apiMethodId =\n associatedInquiryTree.apiMethodInstance?.apiMethodId || '';\n }\n }\n }\n nodeToLoad.apiMethodId = apiMethodId;\n\n const searchIdentifiers = getSearchIdentifiers(\n catalogObjects,\n domainObject\n );\n const filterElements = [];\n const searchValue = entityBusinessKey.split('|')?.[1];\n const values = searchValue.split(',');\n\n searchIdentifiers.forEach((searchIdentifier, index) => {\n const searchField = searchIdentifier\n ? searchIdentifier.charAt(0).toUpperCase() + searchIdentifier.slice(1)\n : '';\n filterElements.push({\n searchField: searchField,\n searchOperator: '=',\n searchValue: values[index]\n });\n });\n\n nodeToLoad.queryPayload = getSearchObject(\n filterElements,\n 1,\n 50,\n true,\n LogicalSearchOperatorEnums.And\n );\n\n nodeToLoad.nodeDetails = {\n catalogReturnObject: domainObject,\n treeStructureId: treeStructureId\n };\n\n return nodeToLoad;\n },\n [tree, catalogObjects]\n );\n\n const getIcon = useCallback(\n (reminder) => {\n const domainObject = reminder?.domainObject;\n const matchingNode = tree?.treeStructure?.find(\n (node) => node.properties?.catalogReturnObject === domainObject\n );\n return matchingNode?.properties?.defaultIcon || {};\n },\n [tree]\n );\n\n const sortByDate = useCallback((reminderList, direction) => {\n const sortedReminders = [...reminderList];\n if (direction === 'asc') {\n sortedReminders.sort(\n (a, b) => new Date(b.reminderDate) - new Date(a.reminderDate)\n );\n } else if (direction === 'desc') {\n sortedReminders.sort(\n (a, b) => new Date(a.reminderDate) - new Date(b.reminderDate)\n );\n }\n setReminders(sortedReminders);\n }, []);\n\n const sort = useCallback(() => {\n sortByDate(reminders, sortDirection || 'desc');\n if (sortDirection === 'desc' || !sortDirection) {\n setSortDirection('asc');\n } else if (sortDirection === 'asc') {\n setSortDirection('desc');\n }\n }, [reminders, sortByDate, sortDirection]);\n\n const getReminders = useCallback(\n async (allRequested = false, rffSearchApiMethod) => {\n let remindersList = [];\n const warnings = [];\n\n if (!reminders) {\n setLoading(true);\n }\n\n let filterElements = [\n {\n searchField: 'Reminder.Acknowledged',\n searchValue: false,\n searchOperator: '=',\n groupId: 1\n },\n {\n searchField: 'Reminder.ReminderDate',\n searchValue: new Date(),\n searchOperator: '<=',\n groupId: 1\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.System,\n searchOperator: '=',\n groupId: 2\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.User,\n searchOperator: '=',\n groupId: 3\n },\n\n {\n searchField: 'Reminder.UnityUserID',\n searchValue: user.id,\n searchOperator: '=',\n groupId: 3\n }\n ];\n\n let filterGroups = [\n {\n groupId: 1,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: null\n },\n {\n groupId: 2,\n logicalSearchOperator: LogicalSearchOperatorEnums.Or,\n parentGroupId: null\n },\n {\n groupId: 3,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: 2\n }\n ];\n\n if (allRequested) {\n filterElements = [\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.System,\n searchOperator: '=',\n groupId: 2\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.User,\n searchOperator: '=',\n groupId: 3\n },\n {\n searchField: 'Reminder.UnityUserID',\n searchValue: user.id,\n searchOperator: '=',\n groupId: 3\n }\n ];\n\n filterGroups = [\n {\n groupId: 2,\n logicalSearchOperator: LogicalSearchOperatorEnums.Or,\n parentGroupId: null\n },\n {\n groupId: 3,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: 2\n }\n ];\n }\n\n const searchObject = getSearchObject(\n filterElements,\n 1,\n 200,\n true,\n LogicalSearchOperatorEnums.And,\n filterGroups\n );\n const data = { data: searchObject };\n\n if (rffSearchApiMethod) {\n if (!rffSearchApiMethod.apiMethodId) {\n warnings.push({\n id: uuid(),\n severity: 'warning',\n message: t('Search ReminderFiledFor Method Not Promoted')\n });\n } else {\n const response = await executeQueryAdHoc(\n data,\n rffSearchApiMethod.apiMethodId\n ).catch((e) => {\n setLoading(false);\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 domainObject: item.domainObject,\n filedToType: item.type,\n entityBusinessKey: item.entityBusinessKey\n }));\n }\n } else {\n warnings.push({\n id: uuid(),\n severity: 'error',\n message: t('Could not retrieve reminders')\n });\n }\n }\n }\n // Filter for reminders that belong to any of the domains within the tree\n const treeDomains = tree?.treeStructure.map(\n (node) => node.properties?.catalogReturnObject\n );\n if (treeDomains.length) {\n remindersList = remindersList.filter((reminder) =>\n treeDomains.includes(reminder.domainObject)\n );\n } else {\n remindersList = [];\n }\n setAlertWarnings(warnings);\n setLoading(false);\n sortByDate(remindersList, currentSortDirection);\n },\n [t, user, reminders, sortByDate, currentSortDirection, tree]\n );\n\n const updateRemindersAcknowledgement = useCallback(\n async (reminders) => {\n if (updateReminderApiMethod) {\n const updatedPromises = [];\n reminders.forEach((reminder) => {\n reminder.acknowledged = reminder.checked;\n const data = {\n requestBody: {\n ...reminder\n }\n };\n data['{iD}'] = reminder.id;\n updatedPromises.push(\n executeQueryWithParameters(\n { data },\n updateReminderApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(updatedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminder = reminders?.find(\n (nftu) => nftu.value === entityBusinessKey\n );\n if (!matchingReminder) {\n console.warn(`Reminder not updated for all file to entities`);\n }\n }\n });\n }\n );\n } else {\n handleErrorSnackbar(null, 'Update Reminder Method Not Promoted');\n }\n },\n [updateReminderApiMethod, handleErrorSnackbar]\n );\n\n const handleAcknowledgeClick = useCallback(async () => {\n const acknowledgedReminders = reminders?.filter((r) => r.checked);\n if (acknowledgedReminders.length) {\n setButtonProgress(true);\n await updateRemindersAcknowledgement(acknowledgedReminders);\n setButtonProgress(false);\n getReminders(allRemindersRequested, reminderFiledForSearchApiMethod);\n }\n }, [\n reminders,\n getReminders,\n updateRemindersAcknowledgement,\n allRemindersRequested,\n reminderFiledForSearchApiMethod\n ]);\n\n const handleSwitchChange = useCallback(\n async (event) => {\n setLoading(true);\n if (event.target.checked) {\n setAllRemindersRequested(event.target.checked);\n await getReminders(true, reminderFiledForSearchApiMethod);\n } else {\n setAllRemindersRequested(false);\n await getReminders(false, reminderFiledForSearchApiMethod);\n }\n setLoading(false);\n },\n [getReminders, reminderFiledForSearchApiMethod]\n );\n\n // no dependencies in the array because we only want getReminders to run once\n useEffect(() => {\n if (reminderFiledForSearchApiMethod) {\n getReminders(false, reminderFiledForSearchApiMethod);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reminderFiledForSearchApiMethod]);\n\n return (\n <WidgetCard\n ref={ref}\n // title={'Reminders'}\n hideWidgetName={hideWidgetName}\n headerActions={\n <div className={classes.actions}>\n <FormControlLabel\n control={\n <Switch\n id='udpRecord-RemindersWidget-Switch'\n udprecordid='udpRecord-RemindersWidget-Switch'\n size='small'\n onChange={handleSwitchChange}\n />\n }\n label='All'\n style={{ marginRight: 8 }}\n />\n <FluentIconButton\n id='udpRecord-RemindersWidget-Sort'\n udprecordid='udpRecord-RemindersWidget-Sort'\n icon={SortIcon}\n onClick={sort}\n style={{ marginRight: 4 }}\n />\n <div className={classes.actionButton}>\n <FluentButton\n id='udpRecord-RemindersWidget-Complete'\n udprecordid='udpRecord-RemindersWidget-Complete'\n variant='contained'\n color='secondary'\n onClick={handleAcknowledgeClick}\n >\n {buttonProgress && (\n <CircularProgress\n size={24}\n color='primary'\n className={classes.fabProgress}\n />\n )}\n {t('Complete')}\n </FluentButton>\n </div>\n </div>\n }\n {...other}\n >\n {alertWarnings.length ? (\n alertWarnings.map((warning) => (\n <Alert severity={warning.severity || 'warning'}>\n {warning.message || ''}\n </Alert>\n ))\n ) : (\n <RemindersCard\n reminders={reminders}\n setReminders={setReminders}\n loading={loading}\n onLoadedNodeClick={onLoadedNodeClick}\n getNodeToLoad={getNodeToLoad}\n getIcon={getIcon}\n updateRemindersAcknowledgement={updateRemindersAcknowledgement}\n />\n )}\n\n {children}\n </WidgetCard>\n );\n};\n\nexport default forwardRef(RemindersWidget);\n","export * from './RemindersWidget';\nexport {default} from './RemindersWidget';\n"],"mappings":"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"}
1
+ {"version":3,"file":"RemindersWidget-CMNGJkAt.js","names":["uuid","reminders","WidgetCard"],"sources":["../src/UI/widgets/library/RemindersWidget/RemindersWidget.jsx","../src/UI/widgets/library/RemindersWidget/index.ts"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useState\n} from 'react';\nimport WidgetCard from '../../WidgetCard';\nimport { RemindersCard } from '../../../../reminders/RemindersCard';\nimport { FluentButton } from '../../../inputs/buttons/FluentButton';\nimport {\n CircularProgress,\n makeStyles,\n FormControlLabel,\n Switch\n} from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport { useUser } from '../../../../utilities/auth/useUser';\nimport {\n getSearchIdentifiers,\n getSearchObject\n} from '../../../../utilities/search/SearchUtilities';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters,\n getBaseMethod\n} from '../../../../udp/utilities/methodUtils';\nimport {\n LogicalSearchOperatorEnums,\n UdpEnums,\n UdpReminderFiledForType\n} from '../../../../enums/unitySystemEnums';\nimport { useActionState } from '../../../../hooks/useActions';\nimport { useHandleAxiosSnackbar } from '../../../../utilities/apiHelpers';\nimport { FluentIconButton } from '../../../inputs/buttons/FluentIconButton';\nimport { SortIcon } from '@fluentui/react-icons';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\n\n// export const layout = {\n// w: { default: 2, min: 0, max: 4 },\n// h: { default: 2, min: 0, max: 4 }\n// };\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n actions: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n justifyContent: 'flex-end'\n },\n actionButton: {\n marginRight: theme.spacing(0.25),\n position: 'relative'\n },\n fabProgress: {\n position: 'absolute',\n top: 4,\n left: '35%',\n zIndex: 1\n }\n}));\n\nexport const RemindersWidget = (props, ref) => {\n const { children, params, setParam, ...other } = props;\n const { onLoadedNodeClick, hideWidgetName, tree, catalogObjects } = params;\n\n const [sortDirection, setSortDirection] = useState(null);\n const [reminders, setReminders] = useState(null);\n const [loading, setLoading] = useState(false);\n const [allRemindersRequested, setAllRemindersRequested] = useState(false);\n const [buttonProgress, setButtonProgress] = useState(false);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const classes = useStyles(props);\n const actionState = useActionState();\n const { catalogPromotedEntities } = actionState;\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const { t } = useTranslation();\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 updateReminderApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Reminder,\n 'unityBaseUpdateMethod',\n catalogPromotedEntities\n );\n }, [catalogPromotedEntities]);\n\n const currentSortDirection = useMemo(() => {\n if (sortDirection === 'asc') {\n return 'desc';\n } else if (sortDirection === 'desc') {\n return 'asc';\n } else {\n return null;\n }\n }, [sortDirection]);\n\n const getNodeToLoad = useCallback(\n (reminder) => {\n const nodeToLoad = {};\n const domainObject = reminder?.domainObject;\n const entityBusinessKey = reminder?.entityBusinessKey || '';\n let treeStructureId = '';\n let apiMethodId = '';\n const matchingNode = tree?.treeStructure?.find(\n (node) => node.properties?.catalogReturnObject === domainObject\n );\n\n if (matchingNode) {\n treeStructureId = matchingNode.id;\n if (!matchingNode.parentId) {\n apiMethodId = tree.apiMethodInstance.apiMethodId;\n } else {\n const associatedInquiryTree =\n matchingNode.properties?.associatedInquiryTree;\n if (associatedInquiryTree) {\n apiMethodId =\n associatedInquiryTree.apiMethodInstance?.apiMethodId || '';\n }\n }\n }\n nodeToLoad.apiMethodId = apiMethodId;\n\n const searchIdentifiers = getSearchIdentifiers(\n catalogObjects,\n domainObject\n );\n const filterElements = [];\n const searchValue = entityBusinessKey.split('|')?.[1];\n const values = searchValue.split(',');\n\n searchIdentifiers.forEach((searchIdentifier, index) => {\n const searchField = searchIdentifier\n ? searchIdentifier.charAt(0).toUpperCase() + searchIdentifier.slice(1)\n : '';\n filterElements.push({\n searchField: searchField,\n searchOperator: '=',\n searchValue: values[index]\n });\n });\n\n nodeToLoad.queryPayload = getSearchObject(\n filterElements,\n 1,\n 50,\n true,\n LogicalSearchOperatorEnums.And\n );\n\n nodeToLoad.nodeDetails = {\n catalogReturnObject: domainObject,\n treeStructureId: treeStructureId\n };\n\n return nodeToLoad;\n },\n [tree, catalogObjects]\n );\n\n const getIcon = useCallback(\n (reminder) => {\n const domainObject = reminder?.domainObject;\n const matchingNode = tree?.treeStructure?.find(\n (node) => node.properties?.catalogReturnObject === domainObject\n );\n return matchingNode?.properties?.defaultIcon || {};\n },\n [tree]\n );\n\n const sortByDate = useCallback((reminderList, direction) => {\n const sortedReminders = [...reminderList];\n if (direction === 'asc') {\n sortedReminders.sort(\n (a, b) => new Date(b.reminderDate) - new Date(a.reminderDate)\n );\n } else if (direction === 'desc') {\n sortedReminders.sort(\n (a, b) => new Date(a.reminderDate) - new Date(b.reminderDate)\n );\n }\n setReminders(sortedReminders);\n }, []);\n\n const sort = useCallback(() => {\n sortByDate(reminders, sortDirection || 'desc');\n if (sortDirection === 'desc' || !sortDirection) {\n setSortDirection('asc');\n } else if (sortDirection === 'asc') {\n setSortDirection('desc');\n }\n }, [reminders, sortByDate, sortDirection]);\n\n const getReminders = useCallback(\n async (allRequested = false, rffSearchApiMethod) => {\n let remindersList = [];\n const warnings = [];\n\n if (!reminders) {\n setLoading(true);\n }\n\n let filterElements = [\n {\n searchField: 'Reminder.Acknowledged',\n searchValue: false,\n searchOperator: '=',\n groupId: 1\n },\n {\n searchField: 'Reminder.ReminderDate',\n searchValue: new Date(),\n searchOperator: '<=',\n groupId: 1\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.System,\n searchOperator: '=',\n groupId: 2\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.User,\n searchOperator: '=',\n groupId: 3\n },\n\n {\n searchField: 'Reminder.UnityUserID',\n searchValue: user.id,\n searchOperator: '=',\n groupId: 3\n }\n ];\n\n let filterGroups = [\n {\n groupId: 1,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: null\n },\n {\n groupId: 2,\n logicalSearchOperator: LogicalSearchOperatorEnums.Or,\n parentGroupId: null\n },\n {\n groupId: 3,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: 2\n }\n ];\n\n if (allRequested) {\n filterElements = [\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.System,\n searchOperator: '=',\n groupId: 2\n },\n {\n searchField: 'Type',\n searchValue: UdpReminderFiledForType.User,\n searchOperator: '=',\n groupId: 3\n },\n {\n searchField: 'Reminder.UnityUserID',\n searchValue: user.id,\n searchOperator: '=',\n groupId: 3\n }\n ];\n\n filterGroups = [\n {\n groupId: 2,\n logicalSearchOperator: LogicalSearchOperatorEnums.Or,\n parentGroupId: null\n },\n {\n groupId: 3,\n logicalSearchOperator: LogicalSearchOperatorEnums.And,\n parentGroupId: 2\n }\n ];\n }\n\n const searchObject = getSearchObject(\n filterElements,\n 1,\n 200,\n true,\n LogicalSearchOperatorEnums.And,\n filterGroups\n );\n const data = { data: searchObject };\n\n if (rffSearchApiMethod) {\n if (!rffSearchApiMethod.apiMethodId) {\n warnings.push({\n id: uuid(),\n severity: 'warning',\n message: t('Search ReminderFiledFor Method Not Promoted')\n });\n } else {\n const response = await executeQueryAdHoc(\n data,\n rffSearchApiMethod.apiMethodId\n ).catch((e) => {\n setLoading(false);\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 domainObject: item.domainObject,\n filedToType: item.type,\n entityBusinessKey: item.entityBusinessKey\n }));\n }\n } else {\n warnings.push({\n id: uuid(),\n severity: 'error',\n message: t('Could not retrieve reminders')\n });\n }\n }\n }\n // Filter for reminders that belong to any of the domains within the tree\n const treeDomains = tree?.treeStructure.map(\n (node) => node.properties?.catalogReturnObject\n );\n if (treeDomains.length) {\n remindersList = remindersList.filter((reminder) =>\n treeDomains.includes(reminder.domainObject)\n );\n } else {\n remindersList = [];\n }\n setAlertWarnings(warnings);\n setLoading(false);\n sortByDate(remindersList, currentSortDirection);\n },\n [t, user, reminders, sortByDate, currentSortDirection, tree]\n );\n\n const updateRemindersAcknowledgement = useCallback(\n async (reminders) => {\n if (updateReminderApiMethod) {\n const updatedPromises = [];\n reminders.forEach((reminder) => {\n reminder.acknowledged = reminder.checked;\n const data = {\n requestBody: {\n ...reminder\n }\n };\n data['{iD}'] = reminder.id;\n updatedPromises.push(\n executeQueryWithParameters(\n { data },\n updateReminderApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(updatedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingReminder = reminders?.find(\n (nftu) => nftu.value === entityBusinessKey\n );\n if (!matchingReminder) {\n console.warn(`Reminder not updated for all file to entities`);\n }\n }\n });\n }\n );\n } else {\n handleErrorSnackbar(null, 'Update Reminder Method Not Promoted');\n }\n },\n [updateReminderApiMethod, handleErrorSnackbar]\n );\n\n const handleAcknowledgeClick = useCallback(async () => {\n const acknowledgedReminders = reminders?.filter((r) => r.checked);\n if (acknowledgedReminders.length) {\n setButtonProgress(true);\n await updateRemindersAcknowledgement(acknowledgedReminders);\n setButtonProgress(false);\n getReminders(allRemindersRequested, reminderFiledForSearchApiMethod);\n }\n }, [\n reminders,\n getReminders,\n updateRemindersAcknowledgement,\n allRemindersRequested,\n reminderFiledForSearchApiMethod\n ]);\n\n const handleSwitchChange = useCallback(\n async (event) => {\n setLoading(true);\n if (event.target.checked) {\n setAllRemindersRequested(event.target.checked);\n await getReminders(true, reminderFiledForSearchApiMethod);\n } else {\n setAllRemindersRequested(false);\n await getReminders(false, reminderFiledForSearchApiMethod);\n }\n setLoading(false);\n },\n [getReminders, reminderFiledForSearchApiMethod]\n );\n\n // no dependencies in the array because we only want getReminders to run once\n useEffect(() => {\n if (reminderFiledForSearchApiMethod) {\n getReminders(false, reminderFiledForSearchApiMethod);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reminderFiledForSearchApiMethod]);\n\n return (\n <WidgetCard\n ref={ref}\n // title={'Reminders'}\n hideWidgetName={hideWidgetName}\n headerActions={\n <div className={classes.actions}>\n <FormControlLabel\n control={\n <Switch\n id='udpRecord-RemindersWidget-Switch'\n udprecordid='udpRecord-RemindersWidget-Switch'\n size='small'\n onChange={handleSwitchChange}\n />\n }\n label='All'\n style={{ marginRight: 8 }}\n />\n <FluentIconButton\n id='udpRecord-RemindersWidget-Sort'\n udprecordid='udpRecord-RemindersWidget-Sort'\n icon={SortIcon}\n onClick={sort}\n style={{ marginRight: 4 }}\n />\n <div className={classes.actionButton}>\n <FluentButton\n id='udpRecord-RemindersWidget-Complete'\n udprecordid='udpRecord-RemindersWidget-Complete'\n variant='contained'\n color='secondary'\n onClick={handleAcknowledgeClick}\n >\n {buttonProgress && (\n <CircularProgress\n size={24}\n color='primary'\n className={classes.fabProgress}\n />\n )}\n {t('Complete')}\n </FluentButton>\n </div>\n </div>\n }\n {...other}\n >\n {alertWarnings.length ? (\n alertWarnings.map((warning) => (\n <Alert severity={warning.severity || 'warning'}>\n {warning.message || ''}\n </Alert>\n ))\n ) : (\n <RemindersCard\n reminders={reminders}\n setReminders={setReminders}\n loading={loading}\n onLoadedNodeClick={onLoadedNodeClick}\n getNodeToLoad={getNodeToLoad}\n getIcon={getIcon}\n updateRemindersAcknowledgement={updateRemindersAcknowledgement}\n />\n )}\n\n {children}\n </WidgetCard>\n );\n};\n\nexport default forwardRef(RemindersWidget);\n","export * from './RemindersWidget';\nexport {default} from './RemindersWidget';\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { D as SearchSortDirection, E as SearchGroupingType, d as LogicalSearchOperatorEnums } from "./unitySystemEnums-DM5vXR_m.js";
2
- import { r as getSearchObject } from "./SearchUtilities-On0QS5vE.js";
1
+ import { D as SearchGroupingType, O as SearchSortDirection, f as LogicalSearchOperatorEnums } from "./unitySystemEnums-e5F9Jr7m.js";
2
+ import { r as getSearchObject } from "./SearchUtilities-CNz302LN.js";
3
3
  import { t as FilterOperators } from "./SearchOperator-D9838PIe.js";
4
4
  import { cloneDeep } from "lodash";
5
5
 
@@ -153,4 +153,4 @@ const SearchServiceDatasource = (queryData, apiMethodId, searchFilterElements, l
153
153
 
154
154
  //#endregion
155
155
  export { SearchServiceDatasource as t };
156
- //# sourceMappingURL=SearchServiceDatasource-Ci4OIAl1.js.map
156
+ //# sourceMappingURL=SearchServiceDatasource-DhJk0qU3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchServiceDatasource-Ci4OIAl1.js","names":["element"],"sources":["../src/utilities/aggrid/datasources/SearchServiceDatasource.js"],"sourcesContent":["import {\n LogicalSearchOperatorEnums,\n SearchGroupingType,\n SearchSortDirection\n} from '../../../enums/unitySystemEnums';\nimport { getSearchObject } from '../../search/SearchUtilities';\nimport { FilterOperators } from '../../../models/SearchOperator';\nimport { cloneDeep } from 'lodash';\n\nexport const SearchServiceDatasource = (\n queryData,\n apiMethodId,\n searchFilterElements,\n logicalSearchOperator = LogicalSearchOperatorEnums.And,\n executeQuery,\n storeRowData,\n lookupsMap,\n eagerLoad = false,\n getCleanData = null\n) => {\n return {\n async getRows(params) {\n const {\n startRow,\n endRow,\n rowGroupCols,\n groupKeys,\n valueCols,\n filterModel,\n sortModel\n } = params.request;\n const page = endRow / 20;\n const originalSearchObject = getSearchObject(\n searchFilterElements,\n page,\n null,\n eagerLoad,\n logicalSearchOperator\n );\n\n const searchObject = cloneDeep(originalSearchObject);\n\n // handle server-side sorting on ag-grid\n if (sortModel.length) {\n const orderElements = searchObject.orderElements;\n sortModel.forEach((sortItem) => {\n const formattedPropertyName =\n sortItem.colId.charAt(0).toUpperCase() + sortItem.colId.slice(1);\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (element) {\n element.sortDirection = sortItem.sort.toUpperCase();\n } else {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: sortItem.sort.toUpperCase()\n });\n }\n });\n }\n\n // handle server-side filtering on ag-grid\n if (Object.keys(filterModel).length) {\n const filterElements = searchObject.filterElements;\n Object.keys(filterModel).forEach((key) => {\n const filterItem = filterModel[key];\n const formattedPropertyName =\n key.charAt(0).toUpperCase() + key.slice(1);\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: filterItem.filter,\n searchOperator: FilterOperators[filterItem.type]\n });\n });\n }\n\n // construct search for initial grouping\n if (rowGroupCols.length && !groupKeys.length) {\n const formattedPropertyName =\n rowGroupCols[0].field.charAt(0).toUpperCase() +\n rowGroupCols[0].field.slice(1);\n searchObject.groupingType = SearchGroupingType.Distinct;\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements;\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc\n });\n }\n }\n }\n\n // construct the filter for grouped columns\n if (groupKeys.length) {\n // construct search for last grouped element\n if (groupKeys.length === rowGroupCols.length) {\n searchObject.groupingType = '';\n const filterElements = searchObject.filterElements;\n groupKeys.forEach((key, index) => {\n const rowGroupCol = rowGroupCols[index];\n const formattedPropertyName =\n rowGroupCol.field.charAt(0).toUpperCase() +\n rowGroupCol.field.slice(1);\n const element = filterElements.find(\n (element) => element.searchField === formattedPropertyName\n );\n\n let currentNode = null;\n params.api.forEachNode((node) => {\n const nodeKey = node.field;\n if (\n nodeKey?.toLowerCase() ===\n formattedPropertyName?.toLowerCase() &&\n node?.data?.[nodeKey] === key\n ) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData\n ? getCleanData(currentNode.data, lookupsMap)\n : null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n if (element) {\n element.searchValue = searchValue;\n element.searchOperator = '=';\n } else {\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: searchValue,\n searchOperator: '='\n });\n }\n });\n } else {\n // construct search for the next grouped element\n groupKeys.forEach((key, index) => {\n const formattedPropertyNameForSearch =\n rowGroupCols[index].field.charAt(0).toUpperCase() +\n rowGroupCols[index].field.slice(1);\n\n let currentNode = null;\n params.api.forEachNode((node) => {\n const nodeKey = node.field;\n if (\n nodeKey?.toLowerCase() ===\n formattedPropertyNameForSearch?.toLowerCase() &&\n node?.data?.[nodeKey] === key\n ) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData\n ? getCleanData(currentNode.data, lookupsMap)\n : null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n searchObject.filterElements.push({\n searchField: formattedPropertyNameForSearch,\n searchValue: searchValue,\n searchOperator: '='\n });\n });\n\n searchObject.groupingType = SearchGroupingType.Distinct;\n const searchIndex = groupKeys.length;\n const rowGroupCol = rowGroupCols[searchIndex];\n const formattedPropertyName =\n rowGroupCol.field.charAt(0).toUpperCase() +\n rowGroupCol.field.slice(1);\n\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements;\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc\n });\n }\n }\n }\n }\n\n if (\n !startRow &&\n rowGroupCols.length === 0 &&\n !sortModel.length &&\n !Object.keys(filterModel).length &&\n !groupKeys.length &&\n queryData\n ) {\n if (queryData.pageList && queryData.pageList) {\n params.success({\n rowData: queryData.pageList,\n rowCount: parseInt(queryData.total)\n });\n if (storeRowData) {\n storeRowData(queryData.pageList);\n }\n } else {\n // TODO: add an overlay to display no rows\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n } else {\n let response = null;\n if (executeQuery) {\n const data = { data: searchObject };\n response = await executeQuery(data, apiMethodId, lookupsMap).catch(\n (e) =>\n params.success({\n rowData: [],\n rowCount: 0\n })\n );\n }\n const rowData = response?.status === 200 ? response?.data : response;\n if (rowData && response) {\n if (rowData?.pageList?.length > 0) {\n params.success({\n rowData: rowData.pageList,\n rowCount: parseInt(rowData.total)\n });\n if (storeRowData) {\n storeRowData(rowData.pageList);\n }\n } else {\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n } else {\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n }\n }\n };\n};\n"],"mappings":";;;;;;AASA,MAAa,2BACX,WACA,aACA,sBACA,wBAAwB,2BAA2B,KACnD,cACA,cACA,YACA,YAAY,OACZ,eAAe,SACZ;AACH,QAAO,EACL,MAAM,QAAQ,QAAQ;EACpB,MAAM,EACJ,UACA,QACA,cACA,WACA,WACA,aACA,cACE,OAAO;EAUX,MAAM,eAAe,UARQ,gBAC3B,sBAFW,SAAS,IAIpB,MACA,WACA,sBACD,CAEmD;AAGpD,MAAI,UAAU,QAAQ;GACpB,MAAM,gBAAgB,aAAa;AACnC,aAAU,SAAS,aAAa;IAC9B,MAAM,wBACJ,SAAS,MAAM,OAAO,EAAE,CAAC,aAAa,GAAG,SAAS,MAAM,MAAM,EAAE;IAClE,MAAM,UAAU,cAAc,MAC3B,cAAYA,UAAQ,eAAe,sBACrC;AACD,QAAI,QACF,SAAQ,gBAAgB,SAAS,KAAK,aAAa;QAEnD,eAAc,KAAK;KACjB,YAAY;KACZ,eAAe,SAAS,KAAK,aAAa;KAC3C,CAAC;KAEJ;;AAIJ,MAAI,OAAO,KAAK,YAAY,CAAC,QAAQ;GACnC,MAAM,iBAAiB,aAAa;AACpC,UAAO,KAAK,YAAY,CAAC,SAAS,QAAQ;IACxC,MAAM,aAAa,YAAY;IAC/B,MAAM,wBACJ,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE;AAC5C,mBAAe,KAAK;KAClB,aAAa;KACb,aAAa,WAAW;KACxB,gBAAgB,gBAAgB,WAAW;KAC5C,CAAC;KACF;;AAIJ,MAAI,aAAa,UAAU,CAAC,UAAU,QAAQ;GAC5C,MAAM,wBACJ,aAAa,GAAG,MAAM,OAAO,EAAE,CAAC,aAAa,GAC7C,aAAa,GAAG,MAAM,MAAM,EAAE;AAChC,gBAAa,eAAe,mBAAmB;AAC/C,OAAI,CAAC,aAAa,cAAc,SAAS,sBAAsB,EAAE;AAC/D,iBAAa,cAAc,KAAK,sBAAsB;IAEtD,MAAM,gBAAgB,aAAa;AAInC,QAAI,CAHY,cAAc,MAC3B,YAAY,QAAQ,eAAe,sBACrC,CAEC,eAAc,KAAK;KACjB,YAAY;KACZ,eAAe,oBAAoB;KACpC,CAAC;;;AAMR,MAAI,UAAU,OAEZ,KAAI,UAAU,WAAW,aAAa,QAAQ;AAC5C,gBAAa,eAAe;GAC5B,MAAM,iBAAiB,aAAa;AACpC,aAAU,SAAS,KAAK,UAAU;IAChC,MAAM,cAAc,aAAa;IACjC,MAAM,wBACJ,YAAY,MAAM,OAAO,EAAE,CAAC,aAAa,GACzC,YAAY,MAAM,MAAM,EAAE;IAC5B,MAAM,UAAU,eAAe,MAC5B,cAAYA,UAAQ,gBAAgB,sBACtC;IAED,IAAI,cAAc;AAClB,WAAO,IAAI,aAAa,SAAS;KAC/B,MAAM,UAAU,KAAK;AACrB,SACE,SAAS,aAAa,KACpB,uBAAuB,aAAa,IACtC,MAAM,OAAO,aAAa,KAC1B;AACA,oBAAc;AACd;;MAEF;IACF,IAAI,cAAc;AAClB,QAAI,aAAa;KACf,MAAM,YAAY,eACd,aAAa,YAAY,MAAM,WAAW,GAC1C;AACJ,SAAI,UACF,eAAc,UAAU,YAAY;;AAIxC,QAAI,SAAS;AACX,aAAQ,cAAc;AACtB,aAAQ,iBAAiB;UAEzB,gBAAe,KAAK;KAClB,aAAa;KACA;KACb,gBAAgB;KACjB,CAAC;KAEJ;SACG;AAEL,aAAU,SAAS,KAAK,UAAU;IAChC,MAAM,iCACJ,aAAa,OAAO,MAAM,OAAO,EAAE,CAAC,aAAa,GACjD,aAAa,OAAO,MAAM,MAAM,EAAE;IAEpC,IAAI,cAAc;AAClB,WAAO,IAAI,aAAa,SAAS;KAC/B,MAAM,UAAU,KAAK;AACrB,SACE,SAAS,aAAa,KACpB,gCAAgC,aAAa,IAC/C,MAAM,OAAO,aAAa,KAC1B;AACA,oBAAc;AACd;;MAEF;IACF,IAAI,cAAc;AAClB,QAAI,aAAa;KACf,MAAM,YAAY,eACd,aAAa,YAAY,MAAM,WAAW,GAC1C;AACJ,SAAI,UACF,eAAc,UAAU,YAAY;;AAIxC,iBAAa,eAAe,KAAK;KAC/B,aAAa;KACA;KACb,gBAAgB;KACjB,CAAC;KACF;AAEF,gBAAa,eAAe,mBAAmB;GAE/C,MAAM,cAAc,aADA,UAAU;GAE9B,MAAM,wBACJ,YAAY,MAAM,OAAO,EAAE,CAAC,aAAa,GACzC,YAAY,MAAM,MAAM,EAAE;AAE5B,OAAI,CAAC,aAAa,cAAc,SAAS,sBAAsB,EAAE;AAC/D,iBAAa,cAAc,KAAK,sBAAsB;IAEtD,MAAM,gBAAgB,aAAa;AAInC,QAAI,CAHY,cAAc,MAC3B,YAAY,QAAQ,eAAe,sBACrC,CAEC,eAAc,KAAK;KACjB,YAAY;KACZ,eAAe,oBAAoB;KACpC,CAAC;;;AAMV,MACE,CAAC,YACD,aAAa,WAAW,KACxB,CAAC,UAAU,UACX,CAAC,OAAO,KAAK,YAAY,CAAC,UAC1B,CAAC,UAAU,UACX,UAEA,KAAI,UAAU,YAAY,UAAU,UAAU;AAC5C,UAAO,QAAQ;IACb,SAAS,UAAU;IACnB,UAAU,SAAS,UAAU,MAAM;IACpC,CAAC;AACF,OAAI,aACF,cAAa,UAAU,SAAS;SAE7B;AAEL,UAAO,QAAQ;IACb,SAAS,EAAE;IACX,UAAU;IACX,CAAC;AACF,OAAI,aACF,cAAa,EAAE,CAAC;;OAGf;GACL,IAAI,WAAW;AACf,OAAI,aAEF,YAAW,MAAM,aADJ,EAAE,MAAM,cAAc,EACC,aAAa,WAAW,CAAC,OAC1D,MACC,OAAO,QAAQ;IACb,SAAS,EAAE;IACX,UAAU;IACX,CAAC,CACL;GAEH,MAAM,UAAU,UAAU,WAAW,MAAM,UAAU,OAAO;AAC5D,OAAI,WAAW,SACb,KAAI,SAAS,UAAU,SAAS,GAAG;AACjC,WAAO,QAAQ;KACb,SAAS,QAAQ;KACjB,UAAU,SAAS,QAAQ,MAAM;KAClC,CAAC;AACF,QAAI,aACF,cAAa,QAAQ,SAAS;UAE3B;AACL,WAAO,QAAQ;KACb,SAAS,EAAE;KACX,UAAU;KACX,CAAC;AACF,QAAI,aACF,cAAa,EAAE,CAAC;;QAGf;AACL,WAAO,QAAQ;KACb,SAAS,EAAE;KACX,UAAU;KACX,CAAC;AACF,QAAI,aACF,cAAa,EAAE,CAAC;;;IAKzB"}
1
+ {"version":3,"file":"SearchServiceDatasource-DhJk0qU3.js","names":["element"],"sources":["../src/utilities/aggrid/datasources/SearchServiceDatasource.js"],"sourcesContent":["import {\n LogicalSearchOperatorEnums,\n SearchGroupingType,\n SearchSortDirection\n} from '../../../enums/unitySystemEnums';\nimport { getSearchObject } from '../../search/SearchUtilities';\nimport { FilterOperators } from '../../../models/SearchOperator';\nimport { cloneDeep } from 'lodash';\n\nexport const SearchServiceDatasource = (\n queryData,\n apiMethodId,\n searchFilterElements,\n logicalSearchOperator = LogicalSearchOperatorEnums.And,\n executeQuery,\n storeRowData,\n lookupsMap,\n eagerLoad = false,\n getCleanData = null\n) => {\n return {\n async getRows(params) {\n const {\n startRow,\n endRow,\n rowGroupCols,\n groupKeys,\n valueCols,\n filterModel,\n sortModel\n } = params.request;\n const page = endRow / 20;\n const originalSearchObject = getSearchObject(\n searchFilterElements,\n page,\n null,\n eagerLoad,\n logicalSearchOperator\n );\n\n const searchObject = cloneDeep(originalSearchObject);\n\n // handle server-side sorting on ag-grid\n if (sortModel.length) {\n const orderElements = searchObject.orderElements;\n sortModel.forEach((sortItem) => {\n const formattedPropertyName =\n sortItem.colId.charAt(0).toUpperCase() + sortItem.colId.slice(1);\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (element) {\n element.sortDirection = sortItem.sort.toUpperCase();\n } else {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: sortItem.sort.toUpperCase()\n });\n }\n });\n }\n\n // handle server-side filtering on ag-grid\n if (Object.keys(filterModel).length) {\n const filterElements = searchObject.filterElements;\n Object.keys(filterModel).forEach((key) => {\n const filterItem = filterModel[key];\n const formattedPropertyName =\n key.charAt(0).toUpperCase() + key.slice(1);\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: filterItem.filter,\n searchOperator: FilterOperators[filterItem.type]\n });\n });\n }\n\n // construct search for initial grouping\n if (rowGroupCols.length && !groupKeys.length) {\n const formattedPropertyName =\n rowGroupCols[0].field.charAt(0).toUpperCase() +\n rowGroupCols[0].field.slice(1);\n searchObject.groupingType = SearchGroupingType.Distinct;\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements;\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc\n });\n }\n }\n }\n\n // construct the filter for grouped columns\n if (groupKeys.length) {\n // construct search for last grouped element\n if (groupKeys.length === rowGroupCols.length) {\n searchObject.groupingType = '';\n const filterElements = searchObject.filterElements;\n groupKeys.forEach((key, index) => {\n const rowGroupCol = rowGroupCols[index];\n const formattedPropertyName =\n rowGroupCol.field.charAt(0).toUpperCase() +\n rowGroupCol.field.slice(1);\n const element = filterElements.find(\n (element) => element.searchField === formattedPropertyName\n );\n\n let currentNode = null;\n params.api.forEachNode((node) => {\n const nodeKey = node.field;\n if (\n nodeKey?.toLowerCase() ===\n formattedPropertyName?.toLowerCase() &&\n node?.data?.[nodeKey] === key\n ) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData\n ? getCleanData(currentNode.data, lookupsMap)\n : null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n if (element) {\n element.searchValue = searchValue;\n element.searchOperator = '=';\n } else {\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: searchValue,\n searchOperator: '='\n });\n }\n });\n } else {\n // construct search for the next grouped element\n groupKeys.forEach((key, index) => {\n const formattedPropertyNameForSearch =\n rowGroupCols[index].field.charAt(0).toUpperCase() +\n rowGroupCols[index].field.slice(1);\n\n let currentNode = null;\n params.api.forEachNode((node) => {\n const nodeKey = node.field;\n if (\n nodeKey?.toLowerCase() ===\n formattedPropertyNameForSearch?.toLowerCase() &&\n node?.data?.[nodeKey] === key\n ) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData\n ? getCleanData(currentNode.data, lookupsMap)\n : null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n searchObject.filterElements.push({\n searchField: formattedPropertyNameForSearch,\n searchValue: searchValue,\n searchOperator: '='\n });\n });\n\n searchObject.groupingType = SearchGroupingType.Distinct;\n const searchIndex = groupKeys.length;\n const rowGroupCol = rowGroupCols[searchIndex];\n const formattedPropertyName =\n rowGroupCol.field.charAt(0).toUpperCase() +\n rowGroupCol.field.slice(1);\n\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements;\n const element = orderElements.find(\n (element) => element.sortColumn === formattedPropertyName\n );\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc\n });\n }\n }\n }\n }\n\n if (\n !startRow &&\n rowGroupCols.length === 0 &&\n !sortModel.length &&\n !Object.keys(filterModel).length &&\n !groupKeys.length &&\n queryData\n ) {\n if (queryData.pageList && queryData.pageList) {\n params.success({\n rowData: queryData.pageList,\n rowCount: parseInt(queryData.total)\n });\n if (storeRowData) {\n storeRowData(queryData.pageList);\n }\n } else {\n // TODO: add an overlay to display no rows\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n } else {\n let response = null;\n if (executeQuery) {\n const data = { data: searchObject };\n response = await executeQuery(data, apiMethodId, lookupsMap).catch(\n (e) =>\n params.success({\n rowData: [],\n rowCount: 0\n })\n );\n }\n const rowData = response?.status === 200 ? response?.data : response;\n if (rowData && response) {\n if (rowData?.pageList?.length > 0) {\n params.success({\n rowData: rowData.pageList,\n rowCount: parseInt(rowData.total)\n });\n if (storeRowData) {\n storeRowData(rowData.pageList);\n }\n } else {\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n } else {\n params.success({\n rowData: [],\n rowCount: 0\n });\n if (storeRowData) {\n storeRowData([]);\n }\n }\n }\n }\n };\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { t as useUser } from "./useUser-wpHGo6jU.js";
2
- import { E as SearchGroupingType, d as LogicalSearchOperatorEnums } from "./unitySystemEnums-DM5vXR_m.js";
2
+ import { D as SearchGroupingType, f as LogicalSearchOperatorEnums } from "./unitySystemEnums-e5F9Jr7m.js";
3
3
  import { useCallback, useMemo } from "react";
4
4
  import { DateTime, IANAZone } from "luxon";
5
5
 
@@ -173,4 +173,4 @@ const useConvertFilterModelToSearchFilters = (timeZone = null) => {
173
173
 
174
174
  //#endregion
175
175
  export { SqlFilterOperators as a, useConvertFilterModelToSearchFilters as i, getSearchIdentifiers as n, getSearchObject as r, getApiMethodIdByPath as t };
176
- //# sourceMappingURL=SearchUtilities-On0QS5vE.js.map
176
+ //# sourceMappingURL=SearchUtilities-CNz302LN.js.map