udp-react-enterprise-component-library 25.16.2-beta.2 → 25.16.2-beta.3

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 (389) hide show
  1. package/dist/{ActionLoadingContext-DxqZH8--.js → ActionLoadingContext-DVpCwfbg.js} +1 -1
  2. package/dist/{ActionLoadingContext-DxqZH8--.js.map → ActionLoadingContext-DVpCwfbg.js.map} +1 -1
  3. package/dist/{ActionProvider-BiNM-ubX.js → ActionProvider-BX693NQ_.js} +5 -5
  4. package/dist/{ActionProvider-BiNM-ubX.js.map → ActionProvider-BX693NQ_.js.map} +1 -1
  5. package/dist/{AmbientAutoComplete-09VfbDE4.js → AmbientAutoComplete-J8PArVAs.js} +3 -2
  6. package/dist/AmbientAutoComplete-J8PArVAs.js.map +1 -0
  7. package/dist/{AppMenu-DzMsTuWv.js → AppMenu-CEp4BrdJ.js} +2 -2
  8. package/dist/{AppMenu-DzMsTuWv.js.map → AppMenu-CEp4BrdJ.js.map} +1 -1
  9. package/dist/{BaseTreeMenu-DkcHI-BC.js → BaseTreeMenu-CN_g4GEm.js} +1 -1
  10. package/dist/{BaseTreeMenu-DkcHI-BC.js.map → BaseTreeMenu-CN_g4GEm.js.map} +1 -1
  11. package/dist/{BreadCrumbMenu-BxpMqfvj.js → BreadCrumbMenu-RkiR54r9.js} +1 -1
  12. package/dist/{BreadCrumbMenu-BxpMqfvj.js.map → BreadCrumbMenu-RkiR54r9.js.map} +1 -1
  13. package/dist/{CatalogUtilities-Cm2RALT1.js → CatalogUtilities-CgNFjItY.js} +1 -1
  14. package/dist/{CatalogUtilities-Cm2RALT1.js.map → CatalogUtilities-CgNFjItY.js.map} +1 -1
  15. package/dist/{ChatBotProvider-BE_DhBqN.js → ChatBotProvider-ZTkBY_Lp.js} +1 -1
  16. package/dist/{ChatBotProvider-BE_DhBqN.js.map → ChatBotProvider-ZTkBY_Lp.js.map} +1 -1
  17. package/dist/{CircularProgress-CSGPlrG_.js → CircularProgress-CGB2A7S2.js} +1 -1
  18. package/dist/{CircularProgress-CSGPlrG_.js.map → CircularProgress-CGB2A7S2.js.map} +1 -1
  19. package/dist/{Controls-CHns-SHo.js → Controls-B0ogviQm.js} +2 -2
  20. package/dist/{Controls-CHns-SHo.js.map → Controls-B0ogviQm.js.map} +1 -1
  21. package/dist/{CrudBrowserContainer-BCn9YKhz.js → CrudBrowserContainer-CwD2cxD0.js} +3 -3
  22. package/dist/{CrudBrowserContainer-BCn9YKhz.js.map → CrudBrowserContainer-CwD2cxD0.js.map} +1 -1
  23. package/dist/{CrudForm-Bb9BvEVm.js → CrudForm-CN5vjshw.js} +3 -3
  24. package/dist/{CrudForm-Bb9BvEVm.js.map → CrudForm-CN5vjshw.js.map} +1 -1
  25. package/dist/{CrudTableSidePanel-Cwd9NuYq.js → CrudTableSidePanel-DBg4P_v7.js} +2 -2
  26. package/dist/{CrudTableSidePanel-Cwd9NuYq.js.map → CrudTableSidePanel-DBg4P_v7.js.map} +1 -1
  27. package/dist/{DataBrowserContainer-CwyuvRqK.js → DataBrowserContainer-CMCGX613.js} +3 -3
  28. package/dist/{DataBrowserContainer-CwyuvRqK.js.map → DataBrowserContainer-CMCGX613.js.map} +1 -1
  29. package/dist/{DragDropFileUpload-CVmPVcA5.js → DragDropFileUpload-D1ihiCC2.js} +2 -2
  30. package/dist/{DragDropFileUpload-CVmPVcA5.js.map → DragDropFileUpload-D1ihiCC2.js.map} +1 -1
  31. package/dist/{EmailDisplay-BEV_maxX.js → EmailDisplay-CpnpgDOC.js} +1 -1
  32. package/dist/{EmailDisplay-BEV_maxX.js.map → EmailDisplay-CpnpgDOC.js.map} +1 -1
  33. package/dist/{ExportSidesheet-J4UlfjNv.js → ExportSidesheet-JSM9EoLc.js} +2 -2
  34. package/dist/{ExportSidesheet-J4UlfjNv.js.map → ExportSidesheet-JSM9EoLc.js.map} +1 -1
  35. package/dist/{ExternalRedirectUrlStorage-CpypX4nx.js → ExternalRedirectUrlStorage-Bbj9JzIW.js} +1 -1
  36. package/dist/{ExternalRedirectUrlStorage-CpypX4nx.js.map → ExternalRedirectUrlStorage-Bbj9JzIW.js.map} +1 -1
  37. package/dist/{FUIAppSwitcher-Cjr-UgW4.js → FUIAppSwitcher-u6lx2hy2.js} +3 -3
  38. package/dist/{FUIAppSwitcher-Cjr-UgW4.js.map → FUIAppSwitcher-u6lx2hy2.js.map} +1 -1
  39. package/dist/{FieldArrayCard-L1-QJjiY.js → FieldArrayCard-lEUXQyMD.js} +2 -2
  40. package/dist/{FieldArrayCard-L1-QJjiY.js.map → FieldArrayCard-lEUXQyMD.js.map} +1 -1
  41. package/dist/{FluentInputSlider-GXgusPZa.js → FluentInputSlider-BqI2PdVF.js} +1 -1
  42. package/dist/{FluentInputSlider-GXgusPZa.js.map → FluentInputSlider-BqI2PdVF.js.map} +1 -1
  43. package/dist/{FluentMap-CAhZE-7q.js → FluentMap-BPiZxyEZ.js} +2 -2
  44. package/dist/{FluentMap-CAhZE-7q.js.map → FluentMap-BPiZxyEZ.js.map} +1 -1
  45. package/dist/{FluentProfileMenuCard-CZ00DNnC.js → FluentProfileMenuCard-3lEpSHmy.js} +9 -9
  46. package/dist/{FluentProfileMenuCard-CZ00DNnC.js.map → FluentProfileMenuCard-3lEpSHmy.js.map} +1 -1
  47. package/dist/{FluentSimpleSelect-B3vzgEP5.js → FluentSimpleSelect-I2CtivEs.js} +2 -2
  48. package/dist/{FluentSimpleSelect-B3vzgEP5.js.map → FluentSimpleSelect-I2CtivEs.js.map} +1 -1
  49. package/dist/{FluentTextField-CgQcsDtq.js → FluentTextField-CPpViNni.js} +1 -1
  50. package/dist/{FluentTextField-CgQcsDtq.js.map → FluentTextField-CPpViNni.js.map} +1 -1
  51. package/dist/{GeoLocation-CpjesoCi.js → GeoLocation-BaD7pKM9.js} +2 -2
  52. package/dist/{GeoLocation-CpjesoCi.js.map → GeoLocation-BaD7pKM9.js.map} +1 -1
  53. package/dist/{GeoMap-CW3Pgzvz.js → GeoMap-BZDwrLIm.js} +6 -6
  54. package/dist/{GeoMap-CW3Pgzvz.js.map → GeoMap-BZDwrLIm.js.map} +1 -1
  55. package/dist/{GridRow-CfCj0Upc.js → GridRow-KktUKRX-.js} +1 -1
  56. package/dist/{GridRow-CfCj0Upc.js.map → GridRow-KktUKRX-.js.map} +1 -1
  57. package/dist/{ImportDataFromFileMapping-BG9XyC8n.js → ImportDataFromFileMapping-DRdpqXNn.js} +3 -3
  58. package/dist/{ImportDataFromFileMapping-BG9XyC8n.js.map → ImportDataFromFileMapping-DRdpqXNn.js.map} +1 -1
  59. package/dist/{InquiryHeaderControl-BCiMFs_v.js → InquiryHeaderControl-DClEzP6_.js} +1 -1
  60. package/dist/{InquiryHeaderControl-BCiMFs_v.js.map → InquiryHeaderControl-DClEzP6_.js.map} +1 -1
  61. package/dist/{KeyValueTextField-B2h4ugP1.js → KeyValueTextField-YjvoszxB.js} +2 -2
  62. package/dist/{KeyValueTextField-B2h4ugP1.js.map → KeyValueTextField-YjvoszxB.js.map} +1 -1
  63. package/dist/{LinearProgress-BiBVB7Dw.js → LinearProgress-DvXOb1Ck.js} +1 -1
  64. package/dist/{LinearProgress-BiBVB7Dw.js.map → LinearProgress-DvXOb1Ck.js.map} +1 -1
  65. package/dist/{LoadingOverlay-DMaSZ_lL.js → LoadingOverlay-DC798-1h.js} +1 -1
  66. package/dist/{LoadingOverlay-DMaSZ_lL.js.map → LoadingOverlay-DC798-1h.js.map} +1 -1
  67. package/dist/{LocalRedirectUrlStorage-BY-L7N4U.js → LocalRedirectUrlStorage-CRvlUZw0.js} +1 -1
  68. package/dist/{LocalRedirectUrlStorage-BY-L7N4U.js.map → LocalRedirectUrlStorage-CRvlUZw0.js.map} +1 -1
  69. package/dist/{Map-D2_8ACTx.js → Map-B_ESwi9p.js} +2 -2
  70. package/dist/{Map-D2_8ACTx.js.map → Map-B_ESwi9p.js.map} +1 -1
  71. package/dist/{Map-ChRg-LpE.js → Map-DWXcBhH1.js} +4 -4
  72. package/dist/{Map-ChRg-LpE.js.map → Map-DWXcBhH1.js.map} +1 -1
  73. package/dist/{MapContent-CM4jG7Cx.js → MapContent-CTPX858a.js} +1 -1
  74. package/dist/{MapContent-CM4jG7Cx.js.map → MapContent-CTPX858a.js.map} +1 -1
  75. package/dist/{MapContext-DMHlc2jW.js → MapContext-BmClJmMl.js} +1 -1
  76. package/dist/{MapContext-DMHlc2jW.js.map → MapContext-BmClJmMl.js.map} +1 -1
  77. package/dist/{MapContext-DyuJF6vT.js → MapContext-C0QCTK9-.js} +1 -1
  78. package/dist/{MapContext-DyuJF6vT.js.map → MapContext-C0QCTK9-.js.map} +1 -1
  79. package/dist/{MapControlsStandard-DB_YFXNg.js → MapControlsStandard-CKhBcU2K.js} +2 -2
  80. package/dist/{MapControlsStandard-DB_YFXNg.js.map → MapControlsStandard-CKhBcU2K.js.map} +1 -1
  81. package/dist/{MenuPage-Ci8NbB6g.js → MenuPage-0dfmiHLT.js} +4 -4
  82. package/dist/{MenuPage-CcKJfqJ-.js → MenuPage-BnjXs_I5.js} +3 -3
  83. package/dist/{MenuPage-CcKJfqJ-.js.map → MenuPage-BnjXs_I5.js.map} +1 -1
  84. package/dist/{MyExportsPage-BcWRfSLn.js → MyExportsPage-DoCWrkNv.js} +4 -4
  85. package/dist/{MyExportsPage-CRhaN5IG.js → MyExportsPage-lei8IuBA.js} +3 -3
  86. package/dist/{MyExportsPage-CRhaN5IG.js.map → MyExportsPage-lei8IuBA.js.map} +1 -1
  87. package/dist/{PageActionWrapper-BLi6xXdd.js → PageActionWrapper-CLLGHLUx.js} +2 -2
  88. package/dist/{PageActionWrapper-BLi6xXdd.js.map → PageActionWrapper-CLLGHLUx.js.map} +1 -1
  89. package/dist/{PageLoading-DflvopNL.js → PageLoading-CE6S65Ww.js} +1 -1
  90. package/dist/{PageLoading-DflvopNL.js.map → PageLoading-CE6S65Ww.js.map} +1 -1
  91. package/dist/{PageNotFoundRoute-CZArnjgk.js → PageNotFoundRoute-Cw7o-U9o.js} +2 -2
  92. package/dist/{PageNotFoundRoute-BbN60Viu.js → PageNotFoundRoute-Dzo6_TFT.js} +2 -2
  93. package/dist/{PageNotFoundRoute-BbN60Viu.js.map → PageNotFoundRoute-Dzo6_TFT.js.map} +1 -1
  94. package/dist/{PageSectionSpacer-BrUQDVvj.js → PageSectionSpacer-8DZPMnIx.js} +1 -1
  95. package/dist/{PageSectionSpacer-BrUQDVvj.js.map → PageSectionSpacer-8DZPMnIx.js.map} +1 -1
  96. package/dist/{PageStatus-DBJUjhU1.js → PageStatus-moFTkRZx.js} +1 -1
  97. package/dist/{PageStatus-DBJUjhU1.js.map → PageStatus-moFTkRZx.js.map} +1 -1
  98. package/dist/{PageSubHeaderAction-P5JNbI1r.js → PageSubHeaderAction-PjiQrg61.js} +1 -1
  99. package/dist/{PageSubHeaderAction-P5JNbI1r.js.map → PageSubHeaderAction-PjiQrg61.js.map} +1 -1
  100. package/dist/{PasswordResetRedirect-DPc0VUWd.js → PasswordResetRedirect-CgIwYhcb.js} +2 -2
  101. package/dist/{PasswordResetRedirect-BLo-YFvK.js → PasswordResetRedirect-Cvhj2vjU.js} +2 -2
  102. package/dist/{PasswordResetRedirect-BLo-YFvK.js.map → PasswordResetRedirect-Cvhj2vjU.js.map} +1 -1
  103. package/dist/{PowerBIReport-DoNECBnv.js → PowerBIReport-DWt7IHNZ.js} +3 -3
  104. package/dist/{PowerBIReport-DoNECBnv.js.map → PowerBIReport-DWt7IHNZ.js.map} +1 -1
  105. package/dist/{RejectIcon-C4cwL2EM.js → RejectIcon-IOZLOqY3.js} +1 -1
  106. package/dist/{RejectIcon-C4cwL2EM.js.map → RejectIcon-IOZLOqY3.js.map} +1 -1
  107. package/dist/{SearchMethodUdpGrid-DUklUn5Q.js → SearchMethodUdpGrid-DO52Bj_B.js} +1 -1
  108. package/dist/{SearchMethodUdpGrid-DUklUn5Q.js.map → SearchMethodUdpGrid-DO52Bj_B.js.map} +1 -1
  109. package/dist/{SearchServiceDatasource-CE-VlvY1.js → SearchServiceDatasource-DofS4I45.js} +1 -1
  110. package/dist/{SearchServiceDatasource-CE-VlvY1.js.map → SearchServiceDatasource-DofS4I45.js.map} +1 -1
  111. package/dist/{Shell-B0HzAa4L.js → Shell-DeIgr14Z.js} +9 -9
  112. package/dist/{Shell-B0HzAa4L.js.map → Shell-DeIgr14Z.js.map} +1 -1
  113. package/dist/{SideBarTemplate-DQnJKwXP.js → SideBarTemplate-DKYcwE38.js} +2 -2
  114. package/dist/{SideBarTemplate-DQnJKwXP.js.map → SideBarTemplate-DKYcwE38.js.map} +1 -1
  115. package/dist/{Source-BOqgbkAn.js → Source-C21-iTa_.js} +1 -1
  116. package/dist/{Source-BOqgbkAn.js.map → Source-C21-iTa_.js.map} +1 -1
  117. package/dist/{SubHeaderAction-DTDxR5S1.js → SubHeaderAction-F_GKrUBX.js} +1 -1
  118. package/dist/{SubHeaderAction-DTDxR5S1.js.map → SubHeaderAction-F_GKrUBX.js.map} +1 -1
  119. package/dist/{SupportCaseSideSheet-D48N1B5u.js → SupportCaseSideSheet-B5a-_ehT.js} +4 -4
  120. package/dist/{SupportCaseSideSheet-D48N1B5u.js.map → SupportCaseSideSheet-B5a-_ehT.js.map} +1 -1
  121. package/dist/{TableContainer-CjJCsvvs.js → TableContainer-CJFW0Teg.js} +2 -2
  122. package/dist/{TableContainer-CjJCsvvs.js.map → TableContainer-CJFW0Teg.js.map} +1 -1
  123. package/dist/{TileDisplay-Btcf3Wrm.js → TileDisplay-DvHKTjpO.js} +2 -2
  124. package/dist/{TileDisplay-Btcf3Wrm.js.map → TileDisplay-DvHKTjpO.js.map} +1 -1
  125. package/dist/{TileLayer-Ckm0zl4x.js → TileLayer-D3RksO00.js} +2 -2
  126. package/dist/{TileLayer-Ckm0zl4x.js.map → TileLayer-D3RksO00.js.map} +1 -1
  127. package/dist/UI/components/dataDisplay/index.js +1 -1
  128. package/dist/UI/components/index.js +1 -1
  129. package/dist/UI/dataDisplay/cardList/index.js +2 -2
  130. package/dist/UI/dataDisplay/index.js +2 -2
  131. package/dist/UI/feedback/index.js +1 -1
  132. package/dist/UI/fileViewer/index.js +2 -2
  133. package/dist/UI/floorplans/index.js +2 -2
  134. package/dist/UI/forms/index.js +6 -6
  135. package/dist/UI/index.js +30 -30
  136. package/dist/UI/inputs/fieldArrayCard/index.js +2 -2
  137. package/dist/UI/inputs/link/index.js +1 -1
  138. package/dist/UI/inputs/menus/index.js +2 -2
  139. package/dist/UI/inputs/sliders/index.js +1 -1
  140. package/dist/UI/inputs/textField/index.js +3 -3
  141. package/dist/UI/loading/index.js +3 -3
  142. package/dist/UI/mapLayout/index.js +4 -4
  143. package/dist/UI/navigation/index.js +2 -2
  144. package/dist/UI/navigation/menus/index.js +2 -2
  145. package/dist/UI/support/index.js +5 -5
  146. package/dist/UI/templates/index.js +5 -5
  147. package/dist/UI/templates/newGrid/index.js +4 -4
  148. package/dist/UI/utilityDisplay/index.js +5 -5
  149. package/dist/{UdpMaintenanceConfigPage-DdfyBkU_.js → UdpMaintenanceConfigPage-BcCKx7BV.js} +3 -3
  150. package/dist/{UdpMaintenanceConfigPage-BcGLnZst.js → UdpMaintenanceConfigPage-O7UcWFPr.js} +3 -3
  151. package/dist/{UdpMaintenanceConfigPage-BcGLnZst.js.map → UdpMaintenanceConfigPage-O7UcWFPr.js.map} +1 -1
  152. package/dist/{UdpMaintenanceEnginePage-BPXeLhFN.js → UdpMaintenanceEnginePage-COO3GwG9.js} +31 -5
  153. package/dist/UdpMaintenanceEnginePage-COO3GwG9.js.map +1 -0
  154. package/dist/UdpMaintenanceEnginePage-pzq1GqGZ.js +131 -0
  155. package/dist/{UdpRoutes-B4nogDAu.js → UdpRoutes-DVmSmw-w.js} +12 -12
  156. package/dist/{UdpRoutes-B4nogDAu.js.map → UdpRoutes-DVmSmw-w.js.map} +1 -1
  157. package/dist/{UserFormSideSheet-DpO8GKQO.js → UserFormSideSheet-CpeyFv3r.js} +1 -1
  158. package/dist/{UserFormSideSheet-DpO8GKQO.js.map → UserFormSideSheet-CpeyFv3r.js.map} +1 -1
  159. package/dist/{UtilityBar-XWmjM6xO.js → UtilityBar-CyUTKcIa.js} +3 -3
  160. package/dist/{UtilityBar-XWmjM6xO.js.map → UtilityBar-CyUTKcIa.js.map} +1 -1
  161. package/dist/{UtilityBarInport-Dei5BcYo.js → UtilityBarInport-BK2d93K5.js} +1 -1
  162. package/dist/{UtilityBarInport-Dei5BcYo.js.map → UtilityBarInport-BK2d93K5.js.map} +1 -1
  163. package/dist/{UtilitySideBar-CTYzpnie.js → UtilitySideBar-BTwLKDoy.js} +2 -2
  164. package/dist/{UtilitySideBar-CTYzpnie.js.map → UtilitySideBar-BTwLKDoy.js.map} +1 -1
  165. package/dist/{VectorLayer-lxWaAEEB.js → VectorLayer-DhNuJLQ_.js} +2 -2
  166. package/dist/{VectorLayer-lxWaAEEB.js.map → VectorLayer-DhNuJLQ_.js.map} +1 -1
  167. package/dist/{VirtualBrowser-BcE288WI.js → VirtualBrowser-B9Hi3Ns8.js} +1 -1
  168. package/dist/{VirtualBrowser-MrJ2WyXZ.js → VirtualBrowser-DitDAizB.js} +1 -1
  169. package/dist/{VirtualBrowser-MrJ2WyXZ.js.map → VirtualBrowser-DitDAizB.js.map} +1 -1
  170. package/dist/{WorkflowContainer-6pvb3tjn.js → WorkflowContainer-6vFVCbss.js} +5 -5
  171. package/dist/{WorkflowContainer-6pvb3tjn.js.map → WorkflowContainer-6vFVCbss.js.map} +1 -1
  172. package/dist/{WorkflowContainer-CJ6gQNV-.js → WorkflowContainer-VHsUGDIl.js} +12 -12
  173. package/dist/{WorkflowContent-B4na5XXv.js → WorkflowContent-DN9BPOCP.js} +7 -7
  174. package/dist/{WorkflowContent-B4na5XXv.js.map → WorkflowContent-DN9BPOCP.js.map} +1 -1
  175. package/dist/{WorkflowTaskFlow-Cb1JZOU2.js → WorkflowTaskFlow-B067pxDZ.js} +1 -1
  176. package/dist/{WorkflowTaskFlow-Cb1JZOU2.js.map → WorkflowTaskFlow-B067pxDZ.js.map} +1 -1
  177. package/dist/{WorkflowTreeMenu-CoDNDQxm.js → WorkflowTreeMenu-pXKq9TyH.js} +1 -1
  178. package/dist/{WorkflowTreeMenu-CoDNDQxm.js.map → WorkflowTreeMenu-pXKq9TyH.js.map} +1 -1
  179. package/dist/{ZoomControl-BQ6aV6cO.js → ZoomControl-BTO3raDM.js} +2 -2
  180. package/dist/{ZoomControl-BQ6aV6cO.js.map → ZoomControl-BTO3raDM.js.map} +1 -1
  181. package/dist/actions/index.js +4 -4
  182. package/dist/actions/sidebar/index.js +1 -1
  183. package/dist/actions/utils/index.js +1 -1
  184. package/dist/{cardList-CEQIqKIS.js → cardList-xcTEI1o0.js} +2 -2
  185. package/dist/{cardList-CEQIqKIS.js.map → cardList-xcTEI1o0.js.map} +1 -1
  186. package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
  187. package/dist/componentSystems/multiThreadTimeline/index.js +5 -5
  188. package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
  189. package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
  190. package/dist/componentSystems/multiThreadTimeline/ui/index.js +2 -2
  191. package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
  192. package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
  193. package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
  194. package/dist/componentSystems/pageRenderer/index.js +4 -4
  195. package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
  196. package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
  197. package/dist/contexts/index.js +1 -1
  198. package/dist/{RecentlyLoadedNodesTable-DnBy6AEU.js → dashboard-BE80OHJw.js} +15 -3
  199. package/dist/dashboard-BE80OHJw.js.map +1 -0
  200. package/dist/dataBrowser/forms/index.js +1 -1
  201. package/dist/dataBrowser/index.js +7 -7
  202. package/dist/enums/index.js +2 -2
  203. package/dist/{fileViewer-CZYbh-Ns.js → fileViewer-CG0HJ-Ko.js} +2 -2
  204. package/dist/{fileViewer-CZYbh-Ns.js.map → fileViewer-CG0HJ-Ko.js.map} +1 -1
  205. package/dist/{floorplans-t1AcjVJw.js → floorplans-bd5zEyHl.js} +2 -2
  206. package/dist/{floorplans-t1AcjVJw.js.map → floorplans-bd5zEyHl.js.map} +1 -1
  207. package/dist/{formatBytes-BZH6z2HH.js → formatBytes-BXxFuDvk.js} +1 -1
  208. package/dist/{formatBytes-BZH6z2HH.js.map → formatBytes-BXxFuDvk.js.map} +1 -1
  209. package/dist/{forms-DcftP5g4.js → forms-D77JesD_.js} +3 -3
  210. package/dist/{forms-DcftP5g4.js.map → forms-D77JesD_.js.map} +1 -1
  211. package/dist/hooks/index.js +2 -2
  212. package/dist/{hooks-D1nzA6OI.js → hooks-BRJfLTY_.js} +2 -2
  213. package/dist/{hooks-D1nzA6OI.js.map → hooks-BRJfLTY_.js.map} +1 -1
  214. package/dist/index.js +102 -103
  215. package/dist/index.js.map +1 -1
  216. package/dist/inquiry/dashboard/index.js +1 -3
  217. package/dist/inquiry/index.js +22 -53
  218. package/dist/inquiry/inquiryBar/index.js +1 -2
  219. package/dist/inquiry/search/index.js +1 -2
  220. package/dist/{Inquiry-BmG2eye6.js → inquiry-CgxJFvsR.js} +69 -46
  221. package/dist/inquiry-CgxJFvsR.js.map +1 -0
  222. package/dist/{InquiryNodeControls-NSUmP5z6.js → inquiryBar-C2HJJSqs.js} +1 -1
  223. package/dist/inquiryBar-C2HJJSqs.js.map +1 -0
  224. package/dist/layout/index.js +2 -2
  225. package/dist/maintenanceEngine/crudBrowser/index.js +7 -7
  226. package/dist/maintenanceEngine/index.js +12 -12
  227. package/dist/maintenanceEngine/tableBrowser/index.js +3 -3
  228. package/dist/maintenanceEngine/virtualBrowser/index.js +2 -2
  229. package/dist/map-library/Controls/index.js +2 -2
  230. package/dist/map-library/Layers/index.js +2 -2
  231. package/dist/map-library/Map/index.js +5 -5
  232. package/dist/map-library/functions/index.js +1 -1
  233. package/dist/map-library/geoLocation/index.js +2 -2
  234. package/dist/map-library/ui/index.js +2 -2
  235. package/dist/{mapFunctions-Bj-QtX0N.js → mapFunctions-D63LqAPS.js} +1 -1
  236. package/dist/{mapFunctions-Bj-QtX0N.js.map → mapFunctions-D63LqAPS.js.map} +1 -1
  237. package/dist/{mapLayout-C-bB84bX.js → mapLayout-DXSAQKQp.js} +4 -4
  238. package/dist/{mapLayout-C-bB84bX.js.map → mapLayout-DXSAQKQp.js.map} +1 -1
  239. package/dist/maps/index.js +12 -12
  240. package/dist/maps/leafletMaps/index.js +4 -4
  241. package/dist/maps/leafletMaps/ui/index.js +2 -2
  242. package/dist/maps/openLayerMaps/Controls/index.js +2 -2
  243. package/dist/maps/openLayerMaps/Layers/index.js +2 -2
  244. package/dist/maps/openLayerMaps/Map/index.js +2 -2
  245. package/dist/maps/openLayerMaps/Source/index.js +1 -1
  246. package/dist/maps/openLayerMaps/ui/index.js +2 -2
  247. package/dist/menuPage/index.js +4 -4
  248. package/dist/{menuUtilities-8wivnoDW.js → menuUtilities-CiOyxtX1.js} +1 -1
  249. package/dist/{menuUtilities-8wivnoDW.js.map → menuUtilities-CiOyxtX1.js.map} +1 -1
  250. package/dist/{newGrid-C5cV3hvO.js → newGrid-D9TY42ly.js} +2 -2
  251. package/dist/{newGrid-C5cV3hvO.js.map → newGrid-D9TY42ly.js.map} +1 -1
  252. package/dist/page/index.js +1 -1
  253. package/dist/{redirectToLink-CluBHXV_.js → redirectToLink-DUidqyQh.js} +1 -1
  254. package/dist/{redirectToLink-CluBHXV_.js.map → redirectToLink-DUidqyQh.js.map} +1 -1
  255. package/dist/{redirectToProduct-CajO9PkB.js → redirectToProduct-8RiwlOkw.js} +1 -1
  256. package/dist/{redirectToProduct-CajO9PkB.js.map → redirectToProduct-8RiwlOkw.js.map} +1 -1
  257. package/dist/reports/index.js +3 -3
  258. package/dist/routes/index.js +4 -4
  259. package/dist/{InquirySearchContainer-BJZlyWSv.js → search-CvKz7AKM.js} +1 -1
  260. package/dist/search-CvKz7AKM.js.map +1 -0
  261. package/dist/shell/index.js +34 -34
  262. package/dist/shell/ui/addUser/index.js +2 -2
  263. package/dist/shell/ui/appSwitcher/index.js +4 -4
  264. package/dist/shell/ui/index.js +19 -19
  265. package/dist/stores/index.js +1 -1
  266. package/dist/{tagEnums-K1z2SNKZ.js → tagEnums-BHtWD8NV.js} +1 -1
  267. package/dist/{tagEnums-K1z2SNKZ.js.map → tagEnums-BHtWD8NV.js.map} +1 -1
  268. package/dist/{templates-BQJBVScH.js → templates-BzHuN6Sp.js} +2 -2
  269. package/dist/{templates-BQJBVScH.js.map → templates-BzHuN6Sp.js.map} +1 -1
  270. package/dist/treeMenu/index.js +1 -1
  271. package/dist/types/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  272. package/dist/types/tsconfig.tsbuildinfo +1 -1
  273. package/dist/types/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  274. package/dist/udp/export/index.js +6 -6
  275. package/dist/udp/fileImportMapping/index.js +6 -6
  276. package/dist/udp/pages/index.js +58 -44
  277. package/dist/{udpPages-CmWJMQ6t.js → udpPages-Bvmlnzes.js} +12 -12
  278. package/dist/{udpPages-CmWJMQ6t.js.map → udpPages-Bvmlnzes.js.map} +1 -1
  279. package/dist/uploader/index.js +2 -2
  280. package/dist/{useAuthedUser-BRX-xjnS.js → useAuthedUser-CXowatE7.js} +1 -1
  281. package/dist/{useAuthedUser-BRX-xjnS.js.map → useAuthedUser-CXowatE7.js.map} +1 -1
  282. package/dist/{useDefaultFormValues-B55mvF77.js → useDefaultFormValues-DFnzUcHv.js} +1 -1
  283. package/dist/{useDefaultFormValues-B55mvF77.js.map → useDefaultFormValues-DFnzUcHv.js.map} +1 -1
  284. package/dist/{useGravatar-D5PYsAWb.js → useGravatar-CD9SN7Qi.js} +1 -1
  285. package/dist/{useGravatar-D5PYsAWb.js.map → useGravatar-CD9SN7Qi.js.map} +1 -1
  286. package/dist/{useIsUnityAuthenticated-BKhKxtov.js → useIsUnityAuthenticated-BQZPEwr1.js} +1 -1
  287. package/dist/{useIsUnityAuthenticated-BKhKxtov.js.map → useIsUnityAuthenticated-BQZPEwr1.js.map} +1 -1
  288. package/dist/{usePrevious-DcRHSVFh.js → usePrevious-DKfZQsm9.js} +1 -1
  289. package/dist/{usePrevious-DcRHSVFh.js.map → usePrevious-DKfZQsm9.js.map} +1 -1
  290. package/dist/{useSingleLogout-DIeeNNkW.js → useSingleLogout-DZf89uRJ.js} +4 -4
  291. package/dist/{useSingleLogout-DIeeNNkW.js.map → useSingleLogout-DZf89uRJ.js.map} +1 -1
  292. package/dist/{users-Be55HGkm.js → users-DpxNzxRw.js} +1 -1
  293. package/dist/{users-Be55HGkm.js.map → users-DpxNzxRw.js.map} +1 -1
  294. package/dist/utilities/DemoJuly/index.js +2 -2
  295. package/dist/utilities/aggrid/index.js +1 -1
  296. package/dist/utilities/auth/index.js +8 -8
  297. package/dist/utilities/catalog/index.js +2 -2
  298. package/dist/utilities/chatBot/index.js +2 -2
  299. package/dist/utilities/crud/index.js +2 -2
  300. package/dist/utilities/customIcons/index.js +2 -2
  301. package/dist/utilities/entities/index.js +1 -1
  302. package/dist/utilities/floorplanFunctions/index.js +1 -1
  303. package/dist/utilities/iconLibrary/index.js +1 -1
  304. package/dist/utilities/index.js +51 -51
  305. package/dist/utilities/input/index.js +1 -1
  306. package/dist/utilities/maintenanceEngine/index.js +1 -1
  307. package/dist/utilities/menus/index.js +3 -3
  308. package/dist/utilities/page/index.js +2 -2
  309. package/dist/utilities/provider/index.js +6 -6
  310. package/dist/utilities/redirect/index.js +3 -3
  311. package/dist/utilities/rules/index.js +1 -1
  312. package/dist/utilities/search/index.js +1 -1
  313. package/dist/utilities/storage/index.js +1 -1
  314. package/dist/utilities/style/index.js +1 -1
  315. package/dist/utilities/tenant/index.js +1 -1
  316. package/dist/utilities/tree/index.js +1 -1
  317. package/dist/utilities/uploader/index.js +2 -2
  318. package/dist/utilities/utilityBar/index.js +4 -4
  319. package/dist/utilities/workflow/index.js +3 -3
  320. package/dist/workflow/components/index.js +2 -2
  321. package/dist/workflow/index.js +14 -14
  322. package/dist/workflow/menus/index.js +2 -2
  323. package/dist/{workflowEnums-BPeGiQKg.js → workflowEnums-BOQUbwNm.js} +1 -1
  324. package/dist/{workflowEnums-BPeGiQKg.js.map → workflowEnums-BOQUbwNm.js.map} +1 -1
  325. package/dist/{workflowStore-CBcKriB2.js → workflowStore-D-NHniHF.js} +1 -1
  326. package/dist/{workflowStore-CBcKriB2.js.map → workflowStore-D-NHniHF.js.map} +1 -1
  327. package/dist/{workflowUtilities-DMsosjJ_.js → workflowUtilities-xEyO79d5.js} +2 -2
  328. package/dist/{workflowUtilities-DMsosjJ_.js.map → workflowUtilities-xEyO79d5.js.map} +1 -1
  329. package/export-map.json +1 -1
  330. package/package.json +2 -2
  331. package/dist/AmbientAutoComplete-09VfbDE4.js.map +0 -1
  332. package/dist/Inquiry-BmG2eye6.js.map +0 -1
  333. package/dist/InquiryDashboard-EoAeiIWK.js +0 -17
  334. package/dist/InquiryDashboard-EoAeiIWK.js.map +0 -1
  335. package/dist/InquiryNodeControls-NSUmP5z6.js.map +0 -1
  336. package/dist/InquirySearchContainer-BJZlyWSv.js.map +0 -1
  337. package/dist/RecentlyLoadedNodesTable-DnBy6AEU.js.map +0 -1
  338. package/dist/UdpMaintenanceEnginePage-BK9IdWlV.js +0 -59
  339. package/dist/UdpMaintenanceEnginePage-BPXeLhFN.js.map +0 -1
  340. package/dist/inquiry/index.js.map +0 -1
  341. package/dist/virtualBrowser-BjGPv8Ks.js +0 -1
  342. package/dist/workflow-B3zdi9Fz.js +0 -1
  343. package/dist/wrappers-CLy_1LEL.js +0 -1
  344. /package/dist/{DemoJuly-46P2EFI7.js → DemoJuly-CIBuhheG.js} +0 -0
  345. /package/dist/{addUser-DdxKkJbW.js → addUser-CXeM67ys.js} +0 -0
  346. /package/dist/{aggrid-TPfO-kkM.js → aggrid-BOGlLEu1.js} +0 -0
  347. /package/dist/{appSwitcher-ERlag4rB.js → appSwitcher-BbbKY0qq.js} +0 -0
  348. /package/dist/{auth-BOzVI3A0.js → auth-BNJpOA6O.js} +0 -0
  349. /package/dist/{catalog-DoJ2_1fY.js → catalog-UNxalJg4.js} +0 -0
  350. /package/dist/{chatBot-flH0_FCC.js → chatBot-rvlTLli1.js} +0 -0
  351. /package/dist/{components-DqInG_Nm.js → components-BlwSZhpD.js} +0 -0
  352. /package/dist/{crud-BCrruPIb.js → crud-CKoJlzZC.js} +0 -0
  353. /package/dist/{crudBrowser-BG7BYo4m.js → crudBrowser-DX85rr54.js} +0 -0
  354. /package/dist/{customIcons-D0bpSyKS.js → customIcons-C708lO6o.js} +0 -0
  355. /package/dist/{dashboard-DfDQY2Uz.js → entities-Ciil7n1F.js} +0 -0
  356. /package/dist/{entities-B32Z17Rb.js → floorplanFunctions-CrklH06W.js} +0 -0
  357. /package/dist/{floorplanFunctions-QEXAOJwy.js → forms-80OJxgty.js} +0 -0
  358. /package/dist/{forms-DJnB4tsd.js → functions-Hd-GdWRI.js} +0 -0
  359. /package/dist/{functions-MWuMR-lY.js → hocs-BBwSfA6i.js} +0 -0
  360. /package/dist/{hocs-1cIHPs7M.js → hooks-BA76hHir.js} +0 -0
  361. /package/dist/{hooks-BJgvHLxQ.js → iconLibrary-CJx5yVFL.js} +0 -0
  362. /package/dist/{iconLibrary-C8sePp_X.js → input-Cjsjq3RH.js} +0 -0
  363. /package/dist/{input-B3JblbZF.js → leafletMaps-Dap7ksrP.js} +0 -0
  364. /package/dist/{inquiryBar-CTeb-8eD.js → maintenanceEngine--CHGMGJK.js} +0 -0
  365. /package/dist/{leafletMaps-DKJcEBvd.js → menus-CORA9-y-.js} +0 -0
  366. /package/dist/{maintenanceEngine-CpZ9tfB0.js → menus-F0wpxN7s.js} +0 -0
  367. /package/dist/{menus-B-Xz-Ggy.js → modified-CBLRolfb.js} +0 -0
  368. /package/dist/{menus-QHvrjl6w.js → mttMainTimeline-DM0dra3i.js} +0 -0
  369. /package/dist/{modified-Bg5LeKdV.js → mttSummary-BpsBHjLu.js} +0 -0
  370. /package/dist/{mttMainTimeline-DgGEegXs.js → page-CTPx1eMF.js} +0 -0
  371. /package/dist/{mttSummary-Dbl2ZLl1.js → provider-YG1Pp4jc.js} +0 -0
  372. /package/dist/{page-BGtqWrDb.js → redirect-DxcAuEfC.js} +0 -0
  373. /package/dist/{provider-D1EvAE26.js → rules-B-ksPdxk.js} +0 -0
  374. /package/dist/{redirect-DEombgSz.js → search-D_aYYsru.js} +0 -0
  375. /package/dist/{rules-Bbd-Yg6p.js → sidebar-CP5i0Zg7.js} +0 -0
  376. /package/dist/{search-D3z7GAO_.js → storage-C7L-23mT.js} +0 -0
  377. /package/dist/{search-YPsWhV_L.js → style-9iKHS-Wi.js} +0 -0
  378. /package/dist/{sidebar-C96Z7xFg.js → tableBrowser-W5DVnX-k.js} +0 -0
  379. /package/dist/{storage-Dxdn7n1x.js → tenant-DalfWrIm.js} +0 -0
  380. /package/dist/{style-C58TNESf.js → tree-TL7VR3tx.js} +0 -0
  381. /package/dist/{tableBrowser-_iJW5ftf.js → ui-HqpIaxXX.js} +0 -0
  382. /package/dist/{tenant-Dv4CtN1T.js → ui-en5KNlmI.js} +0 -0
  383. /package/dist/{tree-BE3grkxa.js → uploader-DcYXiktt.js} +0 -0
  384. /package/dist/{ui-Dk8IEfOq.js → utilityBar-CFHi-LbU.js} +0 -0
  385. /package/dist/{ui-_KR24HU9.js → utils-CCCTU1x9.js} +0 -0
  386. /package/dist/{uploader-CslKfeTU.js → utils-DNdEZ0qE.js} +0 -0
  387. /package/dist/{utilityBar-efXsIsm6.js → virtualBrowser-CCd9f5nk.js} +0 -0
  388. /package/dist/{utils-Ccah2Nvr.js → workflow-CTqF0deg.js} +0 -0
  389. /package/dist/{utils-K0OjqNhn.js → wrappers-DZvJVCmc.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SearchServiceDatasource-CE-VlvY1.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
+ {"version":3,"file":"SearchServiceDatasource-DofS4I45.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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"}
@@ -2,14 +2,14 @@ import { t as useUser } from "./useUser--tP6DN4i.js";
2
2
  import { t as useInquiryStore } from "./inquiryStore-Kq3nlMze.js";
3
3
  import { n as useShellStore, t as useSetInitialShellVisibility } from "./shellStore-B_6P0cep.js";
4
4
  import { r as useBuildEnvironment, t as APP_RIBBON_SPACE } from "./EnvironmentRibbon-CRhI4qRC.js";
5
- import { t as UtilitySideBar } from "./UtilitySideBar-CTYzpnie.js";
6
- import { t as PageActionWrapper } from "./PageActionWrapper-BLi6xXdd.js";
7
- import { c as NavigationSidebar_default, r as SiteHeader_default } from "./FluentProfileMenuCard-CZ00DNnC.js";
8
- import { t as UtilityBar } from "./UtilityBar-XWmjM6xO.js";
9
- import { t as FUIAppSwitcher_default } from "./FUIAppSwitcher-Cjr-UgW4.js";
10
- import { t as getMenuItemsRecursively } from "./menuUtilities-8wivnoDW.js";
11
- import { t as ActionProvider } from "./ActionProvider-BiNM-ubX.js";
12
- import { t as ChatBotProvider } from "./ChatBotProvider-BE_DhBqN.js";
5
+ import { t as UtilitySideBar } from "./UtilitySideBar-BTwLKDoy.js";
6
+ import { t as PageActionWrapper } from "./PageActionWrapper-CLLGHLUx.js";
7
+ import { c as NavigationSidebar_default, r as SiteHeader_default } from "./FluentProfileMenuCard-3lEpSHmy.js";
8
+ import { t as UtilityBar } from "./UtilityBar-CyUTKcIa.js";
9
+ import { t as FUIAppSwitcher_default } from "./FUIAppSwitcher-u6lx2hy2.js";
10
+ import { t as getMenuItemsRecursively } from "./menuUtilities-CiOyxtX1.js";
11
+ import { t as ActionProvider } from "./ActionProvider-BX693NQ_.js";
12
+ import { t as ChatBotProvider } from "./ChatBotProvider-ZTkBY_Lp.js";
13
13
  import React, { useCallback, useEffect, useMemo, useState } from "react";
14
14
  import { Drawer, makeStyles, useMediaQuery, useTheme } from "@material-ui/core";
15
15
  import clsx from "clsx";
@@ -265,4 +265,4 @@ Shell.propTypes = {
265
265
 
266
266
  //#endregion
267
267
  export { Shell as t };
268
- //# sourceMappingURL=Shell-B0HzAa4L.js.map
268
+ //# sourceMappingURL=Shell-DeIgr14Z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shell-B0HzAa4L.js","names":["menus","SiteHeader","NavigationSidebar","FUIAppSwitcher"],"sources":["../src/shell/Shell.jsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { makeStyles, Drawer, useMediaQuery, useTheme } from '@material-ui/core';\nimport NavigationSidebar from './ui/NavigationSidebar';\nimport SiteHeader from './ui/SiteHeader';\nimport { UtilityBar } from '../UI/utilityDisplay/UtilityBar';\nimport { useTranslation } from 'react-i18next';\nimport FUIAppSwitcher from './ui/appSwitcher/FUIAppSwitcher';\nimport { getMenuItemsRecursively } from '../utilities/menus/menuUtilities';\nimport clsx from 'clsx';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport PropTypes from 'prop-types';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ActionProvider } from '../utilities/provider/ActionProvider';\nimport { PageActionWrapper } from '../actions/PageActionWrapper';\nimport { useInquiryStore } from '../stores/inquiryStore';\nimport {\n useSetInitialShellVisibility,\n useShellStore\n} from '../stores/shellStore';\n\nimport { useBuildEnvironment, APP_RIBBON_SPACE } from './ui/EnvironmentRibbon';\nimport { ChatBotProvider } from '../utilities/chatBot/ChatBotProvider';\n\nconst MenuTypeEnums = {\n Left_Menu: 1,\n Application_Menu: 2,\n Builders_Menu: 3,\n Favorites_Menu: 4\n};\n\nconst useStyles = makeStyles(\n (theme) => ({\n '@global': {\n html: {\n minHeight: '100%'\n },\n 'html, body, #root': {\n display: 'flex',\n flexDirection: 'column'\n },\n 'body, #root': {\n flex: 1\n }\n },\n root: {\n flex: 1,\n minHeight: '100vh',\n display: 'grid',\n gridTemplateAreas: ['sidebar header', 'sidebar content']\n .map((line) => `\"${line}\"`)\n .join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n header: {\n gridArea: 'header'\n },\n sidebar: {\n gridArea: 'sidebar'\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${56 + appRibbonSpace}px)`,\n overflowY: 'auto'\n },\n paper: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: (props) => props.drawerWidth || 520\n }\n }\n }),\n { name: 'Layout' }\n);\n\n/**\n * Core site layout common to all pages\n */\nexport const Shell = (props) => {\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n ribbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const {\n children,\n userAvatar,\n appContent,\n leftMenu,\n appSelectorMenus,\n siteName,\n className,\n navRoot,\n hideToggle,\n useMockData,\n mockMenus,\n user: passedInUser,\n unityUrl,\n expander,\n sidebarTitle,\n navMenuHoverOn = true,\n secondExtended,\n toggleOne,\n toggleTwo,\n closePrimary,\n closeSecondary,\n panelExpanded,\n panelExpandedSecondary,\n setPanelExpanded = false,\n setPanelExpandedSecondary = false,\n breadCrumbAltLabelList = [],\n currentLocation,\n utilitySidebarResizable,\n utilitySidebarToggleOverride,\n onUtilitySidebarToggleExpandClick,\n hideLayout = false,\n getAccessToken,\n switcherData,\n selectedItem,\n switcherWidth,\n languages,\n utilityBarHasTabsOpen,\n projectSwitcherColor,\n getWidget,\n isValidWidget,\n appSwitcherHeader,\n hamburgerMenuAccessRole\n } = props;\n const contextUser = useUser();\n const user = passedInUser ?? contextUser;\n const { setGetWidget, setIsValidWidget, shellHidden } = useShellStore();\n const [appSwitcherMobile, setAppSwitcherMobile] = useState(false);\n const [appSwitcherDesktop, setAppSwitcherDesktop] = useState(false);\n const { i18n } = useTranslation();\n const inquiryTitle = useInquiryStore((state) => state.title);\n useSetInitialShellVisibility();\n\n useEffect(() => {\n setGetWidget(getWidget);\n return () => setGetWidget(null);\n }, [getWidget, setGetWidget]);\n\n useEffect(() => {\n setIsValidWidget(isValidWidget);\n return () => setIsValidWidget(null);\n }, [isValidWidget, setIsValidWidget]);\n\n const getMenuItems = useCallback(\n (menuTypeId, menus) => {\n if (!menus && !useMockData) {\n return [];\n }\n const menusToFilter = useMockData ? mockMenus : menus;\n\n const foundMenus = menusToFilter.filter(\n (menu) => menu.menuTypeId === menuTypeId && menu.active\n );\n\n if (foundMenus) {\n return foundMenus.reduce((menuItemInstanceStructureViews, menu) => {\n return [\n ...menuItemInstanceStructureViews,\n ...menu.menuItemInstanceStructureViews\n ];\n }, []);\n } else {\n return [];\n }\n },\n [useMockData, mockMenus]\n );\n\n const menus = useMemo(() => {\n const menuItems = getMenuItems(1, leftMenu);\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, leftMenu, getAccessToken]);\n\n const theme = useTheme();\n const mobile = useMediaQuery(theme.breakpoints.up('sm'));\n\n const handleAppSwitcher = (type, bool) => {\n if (type === 'mobile') {\n setAppSwitcherMobile(bool);\n } else {\n setAppSwitcherDesktop(bool);\n }\n };\n\n const builderMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Builders_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const favoriteMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Favorites_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const appMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Application_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const hideAppMenu = useMemo(\n () =>\n !appSelectorMenus ||\n (hamburgerMenuAccessRole &&\n !user?.roleNames.includes(hamburgerMenuAccessRole)),\n [user, appSelectorMenus, hamburgerMenuAccessRole]\n );\n\n useEffect(() => {\n i18n.changeLanguage('en-US');\n }, [i18n]);\n\n if (hideLayout) {\n return <div>{children}</div>;\n }\n\n return (\n <ChatBotProvider>\n <ActionProvider>\n <div className={classes.root}>\n {!shellHidden && (\n <SiteHeader\n className={classes.header}\n siteName={siteName}\n appContent={appContent}\n userAvatar={userAvatar}\n breadCrumbRoot={navRoot}\n setAppSwitcherOpen={(type, bool) => handleAppSwitcher(type, bool)}\n breadCrumbAltLabelList={breadCrumbAltLabelList}\n currentLocation={currentLocation}\n switcherData={switcherData}\n selectedItem={selectedItem}\n switcherWidth={switcherWidth}\n hideAppLaunch={hideAppMenu}\n languages={languages}\n backgroundColor={projectSwitcherColor}\n />\n )}\n\n <div style={{ display: 'flex' }} className={classes.sidebar}>\n {!shellHidden && mobile && (\n <NavigationSidebar\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n {expander && (\n <div>\n <UtilitySideBar\n title={inquiryTitle || sidebarTitle}\n resizable={utilitySidebarResizable}\n utilitySidebarToggleOverride={utilitySidebarToggleOverride}\n onUtilitySidebarToggleExpandClick={\n onUtilitySidebarToggleExpandClick\n }\n sidebarHidden={shellHidden}\n {...props}\n />\n </div>\n )}\n </div>\n\n <div className={classes.content}>\n <UtilityBar\n className={clsx(className)}\n gutters={false}\n hideToggle={hideToggle}\n expander={expander}\n secondExtended={secondExtended}\n toggleOne={toggleOne}\n toggleTwo={toggleTwo}\n closePrimary={closePrimary}\n closeSecondary={closeSecondary}\n expanded={panelExpanded}\n expandedSecondary={panelExpandedSecondary}\n setExpanded={setPanelExpanded}\n setExpandedSecondary={setPanelExpandedSecondary}\n />\n <PageActionWrapper>{children}</PageActionWrapper>\n </div>\n <Drawer\n variant='temporary'\n anchor='left'\n open={appSwitcherDesktop}\n classes={\n !mobile ? {} : !appSelectorMenus ? {} : { paper: classes.paper }\n }\n onClose={() => handleAppSwitcher('desktop', false)}\n >\n {mobile && appSelectorMenus && (\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('desktop', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n )}\n {(!mobile || (mobile && !appSelectorMenus)) && (\n <NavigationSidebar\n toggle={false}\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n </Drawer>\n\n <Drawer\n variant='temporary'\n anchor='right'\n open={appSwitcherMobile}\n classes={{ paper: classes.paper }}\n onClose={() => handleAppSwitcher('mobile', false)}\n >\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('mobile', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n </Drawer>\n </div>\n </ActionProvider>\n </ChatBotProvider>\n );\n};\n\nShell.propTypes = {\n /**\n * The newest propTypes have been added but older ones are missing @todo: add missing propTypes for Shell.\n */\n\n /**\n * The array used to map for label and functions to list items.\n */\n switcherData: PropTypes.array,\n /**\n * The active label displayed.\n */\n selectedItem: PropTypes.string,\n /**\n * Provides a method set the selector width. Default is 100.\n */\n switcherWidth: PropTypes.number,\n /**\n * Children nodes\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]).isRequired,\n\n /**\n * Name of site\n */\n siteName: PropTypes.string,\n\n /**\n * Component to render for the user Avatar\n */\n userAvatar: PropTypes.element,\n\n appContent: PropTypes.element,\n\n leftMenu: PropTypes.array,\n\n appSelectorMenus: PropTypes.array,\n\n className: PropTypes.object,\n\n navRoot: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.node]),\n\n /**\n * Should the shell use mock data\n */\n useMockData: PropTypes.bool,\n\n mockMenus: PropTypes.array,\n\n unityUrl: PropTypes.string,\n\n expander: PropTypes.bool,\n\n sidebarTitle: PropTypes.string,\n\n navMenuHoverOn: PropTypes.bool,\n\n toggleOne: PropTypes.bool,\n\n toggleTwo: PropTypes.bool,\n\n closePrimary: PropTypes.bool,\n\n closeSecondary: PropTypes.bool,\n\n panelExpanded: PropTypes.bool,\n\n panelExpandedSecondary: PropTypes.bool,\n\n setPanelExpanded: PropTypes.func,\n\n setPanelExpandedSecondary: PropTypes.func,\n\n breadCrumbAltLabelList: PropTypes.array,\n\n currentLocation: PropTypes.object,\n\n utilitySidebarResizable: PropTypes.bool,\n\n utilitySidebarToggleOverride: PropTypes.bool,\n\n onUtilitySidebarToggleExpandClick: PropTypes.func,\n\n hideLayout: PropTypes.bool,\n\n languages: PropTypes.arrayOf(PropTypes.object),\n\n utilityBarHasTabsOpen: PropTypes.bool,\n /**\n * Passes the background color on the project switcher (default: theme secondary)\n */\n projectSwitcherColor: PropTypes.string,\n getWidget: PropTypes.func,\n isValidWidget: PropTypes.func,\n currentTenant: PropTypes.object,\n hamburgerMenuAccessRole: PropTypes.string\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Shell-DeIgr14Z.js","names":["menus","SiteHeader","NavigationSidebar","FUIAppSwitcher"],"sources":["../src/shell/Shell.jsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { makeStyles, Drawer, useMediaQuery, useTheme } from '@material-ui/core';\nimport NavigationSidebar from './ui/NavigationSidebar';\nimport SiteHeader from './ui/SiteHeader';\nimport { UtilityBar } from '../UI/utilityDisplay/UtilityBar';\nimport { useTranslation } from 'react-i18next';\nimport FUIAppSwitcher from './ui/appSwitcher/FUIAppSwitcher';\nimport { getMenuItemsRecursively } from '../utilities/menus/menuUtilities';\nimport clsx from 'clsx';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport PropTypes from 'prop-types';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ActionProvider } from '../utilities/provider/ActionProvider';\nimport { PageActionWrapper } from '../actions/PageActionWrapper';\nimport { useInquiryStore } from '../stores/inquiryStore';\nimport {\n useSetInitialShellVisibility,\n useShellStore\n} from '../stores/shellStore';\n\nimport { useBuildEnvironment, APP_RIBBON_SPACE } from './ui/EnvironmentRibbon';\nimport { ChatBotProvider } from '../utilities/chatBot/ChatBotProvider';\n\nconst MenuTypeEnums = {\n Left_Menu: 1,\n Application_Menu: 2,\n Builders_Menu: 3,\n Favorites_Menu: 4\n};\n\nconst useStyles = makeStyles(\n (theme) => ({\n '@global': {\n html: {\n minHeight: '100%'\n },\n 'html, body, #root': {\n display: 'flex',\n flexDirection: 'column'\n },\n 'body, #root': {\n flex: 1\n }\n },\n root: {\n flex: 1,\n minHeight: '100vh',\n display: 'grid',\n gridTemplateAreas: ['sidebar header', 'sidebar content']\n .map((line) => `\"${line}\"`)\n .join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n header: {\n gridArea: 'header'\n },\n sidebar: {\n gridArea: 'sidebar'\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${56 + appRibbonSpace}px)`,\n overflowY: 'auto'\n },\n paper: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: (props) => props.drawerWidth || 520\n }\n }\n }),\n { name: 'Layout' }\n);\n\n/**\n * Core site layout common to all pages\n */\nexport const Shell = (props) => {\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n ribbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const {\n children,\n userAvatar,\n appContent,\n leftMenu,\n appSelectorMenus,\n siteName,\n className,\n navRoot,\n hideToggle,\n useMockData,\n mockMenus,\n user: passedInUser,\n unityUrl,\n expander,\n sidebarTitle,\n navMenuHoverOn = true,\n secondExtended,\n toggleOne,\n toggleTwo,\n closePrimary,\n closeSecondary,\n panelExpanded,\n panelExpandedSecondary,\n setPanelExpanded = false,\n setPanelExpandedSecondary = false,\n breadCrumbAltLabelList = [],\n currentLocation,\n utilitySidebarResizable,\n utilitySidebarToggleOverride,\n onUtilitySidebarToggleExpandClick,\n hideLayout = false,\n getAccessToken,\n switcherData,\n selectedItem,\n switcherWidth,\n languages,\n utilityBarHasTabsOpen,\n projectSwitcherColor,\n getWidget,\n isValidWidget,\n appSwitcherHeader,\n hamburgerMenuAccessRole\n } = props;\n const contextUser = useUser();\n const user = passedInUser ?? contextUser;\n const { setGetWidget, setIsValidWidget, shellHidden } = useShellStore();\n const [appSwitcherMobile, setAppSwitcherMobile] = useState(false);\n const [appSwitcherDesktop, setAppSwitcherDesktop] = useState(false);\n const { i18n } = useTranslation();\n const inquiryTitle = useInquiryStore((state) => state.title);\n useSetInitialShellVisibility();\n\n useEffect(() => {\n setGetWidget(getWidget);\n return () => setGetWidget(null);\n }, [getWidget, setGetWidget]);\n\n useEffect(() => {\n setIsValidWidget(isValidWidget);\n return () => setIsValidWidget(null);\n }, [isValidWidget, setIsValidWidget]);\n\n const getMenuItems = useCallback(\n (menuTypeId, menus) => {\n if (!menus && !useMockData) {\n return [];\n }\n const menusToFilter = useMockData ? mockMenus : menus;\n\n const foundMenus = menusToFilter.filter(\n (menu) => menu.menuTypeId === menuTypeId && menu.active\n );\n\n if (foundMenus) {\n return foundMenus.reduce((menuItemInstanceStructureViews, menu) => {\n return [\n ...menuItemInstanceStructureViews,\n ...menu.menuItemInstanceStructureViews\n ];\n }, []);\n } else {\n return [];\n }\n },\n [useMockData, mockMenus]\n );\n\n const menus = useMemo(() => {\n const menuItems = getMenuItems(1, leftMenu);\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, leftMenu, getAccessToken]);\n\n const theme = useTheme();\n const mobile = useMediaQuery(theme.breakpoints.up('sm'));\n\n const handleAppSwitcher = (type, bool) => {\n if (type === 'mobile') {\n setAppSwitcherMobile(bool);\n } else {\n setAppSwitcherDesktop(bool);\n }\n };\n\n const builderMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Builders_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const favoriteMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Favorites_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const appMenu = useMemo(() => {\n const menuItems = getMenuItems(\n MenuTypeEnums.Application_Menu,\n appSelectorMenus\n );\n return getMenuItemsRecursively(menuItems, true, user, getAccessToken);\n }, [getMenuItems, user, appSelectorMenus, getAccessToken]);\n\n const hideAppMenu = useMemo(\n () =>\n !appSelectorMenus ||\n (hamburgerMenuAccessRole &&\n !user?.roleNames.includes(hamburgerMenuAccessRole)),\n [user, appSelectorMenus, hamburgerMenuAccessRole]\n );\n\n useEffect(() => {\n i18n.changeLanguage('en-US');\n }, [i18n]);\n\n if (hideLayout) {\n return <div>{children}</div>;\n }\n\n return (\n <ChatBotProvider>\n <ActionProvider>\n <div className={classes.root}>\n {!shellHidden && (\n <SiteHeader\n className={classes.header}\n siteName={siteName}\n appContent={appContent}\n userAvatar={userAvatar}\n breadCrumbRoot={navRoot}\n setAppSwitcherOpen={(type, bool) => handleAppSwitcher(type, bool)}\n breadCrumbAltLabelList={breadCrumbAltLabelList}\n currentLocation={currentLocation}\n switcherData={switcherData}\n selectedItem={selectedItem}\n switcherWidth={switcherWidth}\n hideAppLaunch={hideAppMenu}\n languages={languages}\n backgroundColor={projectSwitcherColor}\n />\n )}\n\n <div style={{ display: 'flex' }} className={classes.sidebar}>\n {!shellHidden && mobile && (\n <NavigationSidebar\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n {expander && (\n <div>\n <UtilitySideBar\n title={inquiryTitle || sidebarTitle}\n resizable={utilitySidebarResizable}\n utilitySidebarToggleOverride={utilitySidebarToggleOverride}\n onUtilitySidebarToggleExpandClick={\n onUtilitySidebarToggleExpandClick\n }\n sidebarHidden={shellHidden}\n {...props}\n />\n </div>\n )}\n </div>\n\n <div className={classes.content}>\n <UtilityBar\n className={clsx(className)}\n gutters={false}\n hideToggle={hideToggle}\n expander={expander}\n secondExtended={secondExtended}\n toggleOne={toggleOne}\n toggleTwo={toggleTwo}\n closePrimary={closePrimary}\n closeSecondary={closeSecondary}\n expanded={panelExpanded}\n expandedSecondary={panelExpandedSecondary}\n setExpanded={setPanelExpanded}\n setExpandedSecondary={setPanelExpandedSecondary}\n />\n <PageActionWrapper>{children}</PageActionWrapper>\n </div>\n <Drawer\n variant='temporary'\n anchor='left'\n open={appSwitcherDesktop}\n classes={\n !mobile ? {} : !appSelectorMenus ? {} : { paper: classes.paper }\n }\n onClose={() => handleAppSwitcher('desktop', false)}\n >\n {mobile && appSelectorMenus && (\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('desktop', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n )}\n {(!mobile || (mobile && !appSelectorMenus)) && (\n <NavigationSidebar\n toggle={false}\n className={classes.sidebar}\n data={menus}\n navMenuHoverOn={navMenuHoverOn}\n user={user}\n useGlobalState={true}\n />\n )}\n </Drawer>\n\n <Drawer\n variant='temporary'\n anchor='right'\n open={appSwitcherMobile}\n classes={{ paper: classes.paper }}\n onClose={() => handleAppSwitcher('mobile', false)}\n >\n <FUIAppSwitcher\n onClose={() => handleAppSwitcher('mobile', false)}\n favoriteMenu={favoriteMenu}\n builderMenu={builderMenu}\n appMenu={appMenu}\n unityUrl={unityUrl}\n user={user}\n header={appSwitcherHeader}\n />\n </Drawer>\n </div>\n </ActionProvider>\n </ChatBotProvider>\n );\n};\n\nShell.propTypes = {\n /**\n * The newest propTypes have been added but older ones are missing @todo: add missing propTypes for Shell.\n */\n\n /**\n * The array used to map for label and functions to list items.\n */\n switcherData: PropTypes.array,\n /**\n * The active label displayed.\n */\n selectedItem: PropTypes.string,\n /**\n * Provides a method set the selector width. Default is 100.\n */\n switcherWidth: PropTypes.number,\n /**\n * Children nodes\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]).isRequired,\n\n /**\n * Name of site\n */\n siteName: PropTypes.string,\n\n /**\n * Component to render for the user Avatar\n */\n userAvatar: PropTypes.element,\n\n appContent: PropTypes.element,\n\n leftMenu: PropTypes.array,\n\n appSelectorMenus: PropTypes.array,\n\n className: PropTypes.object,\n\n navRoot: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.node]),\n\n /**\n * Should the shell use mock data\n */\n useMockData: PropTypes.bool,\n\n mockMenus: PropTypes.array,\n\n unityUrl: PropTypes.string,\n\n expander: PropTypes.bool,\n\n sidebarTitle: PropTypes.string,\n\n navMenuHoverOn: PropTypes.bool,\n\n toggleOne: PropTypes.bool,\n\n toggleTwo: PropTypes.bool,\n\n closePrimary: PropTypes.bool,\n\n closeSecondary: PropTypes.bool,\n\n panelExpanded: PropTypes.bool,\n\n panelExpandedSecondary: PropTypes.bool,\n\n setPanelExpanded: PropTypes.func,\n\n setPanelExpandedSecondary: PropTypes.func,\n\n breadCrumbAltLabelList: PropTypes.array,\n\n currentLocation: PropTypes.object,\n\n utilitySidebarResizable: PropTypes.bool,\n\n utilitySidebarToggleOverride: PropTypes.bool,\n\n onUtilitySidebarToggleExpandClick: PropTypes.func,\n\n hideLayout: PropTypes.bool,\n\n languages: PropTypes.arrayOf(PropTypes.object),\n\n utilityBarHasTabsOpen: PropTypes.bool,\n /**\n * Passes the background color on the project switcher (default: theme secondary)\n */\n projectSwitcherColor: PropTypes.string,\n getWidget: PropTypes.func,\n isValidWidget: PropTypes.func,\n currentTenant: PropTypes.object,\n hamburgerMenuAccessRole: PropTypes.string\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBA,MAAM,gBAAgB;CACpB,WAAW;CACX,kBAAkB;CAClB,eAAe;CACf,gBAAgB;CACjB;AAED,MAAM,YAAY,YACf,WAAW;CACV,WAAW;EACT,MAAM,EACJ,WAAW,QACZ;EACD,qBAAqB;GACnB,SAAS;GACT,eAAe;GAChB;EACD,eAAe,EACb,MAAM,GACP;EACF;CACD,MAAM;EACJ,MAAM;EACN,WAAW;EACX,SAAS;EACT,mBAAmB,CAAC,kBAAkB,kBAAkB,CACrD,KAAK,SAAS,IAAI,KAAK,GAAG,CAC1B,KAAK,IAAI;EACZ,qBAAqB;EACrB,kBAAkB;EACnB;CACD,QAAQ,EACN,UAAU,UACX;CACD,SAAS,EACP,UAAU,WACX;CACD,SAAS;EACP,UAAU;EACV,SAAS;EACT,eAAe;EACf,UAAU;EACV,QAAQ;EACR,SAAS,EAAE,qBAAqB,gBAAgB,KAAK,eAAe;EACpE,WAAW;EACZ;CACD,OAAO;EACL,OAAO;GACN,MAAM,YAAY,GAAG,KAAK,GAAG,EAC5B,QAAQ,UAAU,MAAM,eAAe,KACxC;EACF;CACF,GACD,EAAE,MAAM,UAAU,CACnB;;;;AAKD,MAAa,SAAS,UAAU;CAC9B,MAAM,WAAW,qBAAqB;CACtC,MAAM,UAAU,UAAU;EACxB,GAAG;EACH,aAAa,WAAW,mBAAmB;EAC5C,CAAC;CACF,MAAM,EACJ,UACA,YACA,YACA,UACA,kBACA,UACA,WACA,SACA,YACA,aACA,WACA,MAAM,cACN,UACA,UACA,cACA,iBAAiB,MACjB,gBACA,WACA,WACA,cACA,gBACA,eACA,wBACA,mBAAmB,OACnB,4BAA4B,OAC5B,yBAAyB,EAAE,EAC3B,iBACA,yBACA,8BACA,mCACA,aAAa,OACb,gBACA,cACA,cACA,eACA,WACA,uBACA,sBACA,WACA,eACA,mBACA,4BACE;CACJ,MAAM,cAAc,SAAS;CAC7B,MAAM,OAAO,gBAAgB;CAC7B,MAAM,EAAE,cAAc,kBAAkB,gBAAgB,eAAe;CACvE,MAAM,CAAC,mBAAmB,wBAAwB,SAAS,MAAM;CACjE,MAAM,CAAC,oBAAoB,yBAAyB,SAAS,MAAM;CACnE,MAAM,EAAE,SAAS,gBAAgB;CACjC,MAAM,eAAe,iBAAiB,UAAU,MAAM,MAAM;AAC5D,+BAA8B;AAE9B,iBAAgB;AACd,eAAa,UAAU;AACvB,eAAa,aAAa,KAAK;IAC9B,CAAC,WAAW,aAAa,CAAC;AAE7B,iBAAgB;AACd,mBAAiB,cAAc;AAC/B,eAAa,iBAAiB,KAAK;IAClC,CAAC,eAAe,iBAAiB,CAAC;CAErC,MAAM,eAAe,aAClB,YAAY,YAAU;AACrB,MAAI,CAACA,WAAS,CAAC,YACb,QAAO,EAAE;EAIX,MAAM,cAFgB,cAAc,YAAYA,SAEf,QAC9B,SAAS,KAAK,eAAe,cAAc,KAAK,OAClD;AAED,MAAI,WACF,QAAO,WAAW,QAAQ,gCAAgC,SAAS;AACjE,UAAO,CACL,GAAG,gCACH,GAAG,KAAK,+BACT;KACA,EAAE,CAAC;MAEN,QAAO,EAAE;IAGb,CAAC,aAAa,UAAU,CACzB;CAED,MAAM,QAAQ,cAAc;AAE1B,SAAO,wBADW,aAAa,GAAG,SAAS,EACD,MAAM,MAAM,eAAe;IACpE;EAAC;EAAc;EAAM;EAAU;EAAe,CAAC;CAGlD,MAAM,SAAS,cADD,UAAU,CACW,YAAY,GAAG,KAAK,CAAC;CAExD,MAAM,qBAAqB,MAAM,SAAS;AACxC,MAAI,SAAS,SACX,sBAAqB,KAAK;MAE1B,uBAAsB,KAAK;;CAI/B,MAAM,cAAc,cAAc;AAKhC,SAAO,wBAJW,aAChB,cAAc,eACd,iBACD,EACyC,MAAM,MAAM,eAAe;IACpE;EAAC;EAAc;EAAM;EAAkB;EAAe,CAAC;CAE1D,MAAM,eAAe,cAAc;AAKjC,SAAO,wBAJW,aAChB,cAAc,gBACd,iBACD,EACyC,MAAM,MAAM,eAAe;IACpE;EAAC;EAAc;EAAM;EAAkB;EAAe,CAAC;CAE1D,MAAM,UAAU,cAAc;AAK5B,SAAO,wBAJW,aAChB,cAAc,kBACd,iBACD,EACyC,MAAM,MAAM,eAAe;IACpE;EAAC;EAAc;EAAM;EAAkB;EAAe,CAAC;CAE1D,MAAM,cAAc,cAEhB,CAAC,oBACA,2BACC,CAAC,MAAM,UAAU,SAAS,wBAAwB,EACtD;EAAC;EAAM;EAAkB;EAAwB,CAClD;AAED,iBAAgB;AACd,OAAK,eAAe,QAAQ;IAC3B,CAAC,KAAK,CAAC;AAEV,KAAI,WACF,QAAO,oCAAC,aAAK,SAAe;AAG9B,QACE,oCAAC,uBACC,oCAAC,sBACC,oCAAC,SAAI,WAAW,QAAQ,QACrB,CAAC,eACA,oCAACC;EACC,WAAW,QAAQ;EACT;EACE;EACA;EACZ,gBAAgB;EAChB,qBAAqB,MAAM,SAAS,kBAAkB,MAAM,KAAK;EACzC;EACP;EACH;EACA;EACC;EACf,eAAe;EACJ;EACX,iBAAiB;GACjB,EAGJ,oCAAC;EAAI,OAAO,EAAE,SAAS,QAAQ;EAAE,WAAW,QAAQ;IACjD,CAAC,eAAe,UACf,oCAACC;EACC,WAAW,QAAQ;EACnB,MAAM;EACU;EACV;EACN,gBAAgB;GAChB,EAEH,YACC,oCAAC,aACC,oCAAC;EACC,OAAO,gBAAgB;EACvB,WAAW;EACmB;EAE5B;EAEF,eAAe;EACf,GAAI;GACJ,CACE,CAEJ,EAEN,oCAAC,SAAI,WAAW,QAAQ,WACtB,oCAAC;EACC,WAAW,KAAK,UAAU;EAC1B,SAAS;EACG;EACF;EACM;EACL;EACA;EACG;EACE;EAChB,UAAU;EACV,mBAAmB;EACnB,aAAa;EACb,sBAAsB;GACtB,EACF,oCAAC,yBAAmB,SAA6B,CAC7C,EACN,oCAAC;EACC,SAAQ;EACR,QAAO;EACP,MAAM;EACN,SACE,CAAC,SAAS,EAAE,GAAG,CAAC,mBAAmB,EAAE,GAAG,EAAE,OAAO,QAAQ,OAAO;EAElE,eAAe,kBAAkB,WAAW,MAAM;IAEjD,UAAU,oBACT,oCAACC;EACC,eAAe,kBAAkB,WAAW,MAAM;EACpC;EACD;EACJ;EACC;EACJ;EACN,QAAQ;GACR,GAEF,CAAC,UAAW,UAAU,CAAC,qBACvB,oCAACD;EACC,QAAQ;EACR,WAAW,QAAQ;EACnB,MAAM;EACU;EACV;EACN,gBAAgB;GAChB,CAEG,EAET,oCAAC;EACC,SAAQ;EACR,QAAO;EACP,MAAM;EACN,SAAS,EAAE,OAAO,QAAQ,OAAO;EACjC,eAAe,kBAAkB,UAAU,MAAM;IAEjD,oCAACC;EACC,eAAe,kBAAkB,UAAU,MAAM;EACnC;EACD;EACJ;EACC;EACJ;EACN,QAAQ;GACR,CACK,CACL,CACS,CACD;;AAItB,MAAM,YAAY;CAQhB,cAAc,UAAU;CAIxB,cAAc,UAAU;CAIxB,eAAe,UAAU;CAIzB,UAAU,UAAU,UAAU,CAC5B,UAAU,QAAQ,UAAU,KAAK,EACjC,UAAU,KACX,CAAC,CAAC;CAKH,UAAU,UAAU;CAKpB,YAAY,UAAU;CAEtB,YAAY,UAAU;CAEtB,UAAU,UAAU;CAEpB,kBAAkB,UAAU;CAE5B,WAAW,UAAU;CAErB,SAAS,UAAU,UAAU;EAAC,UAAU;EAAQ,UAAU;EAAS,UAAU;EAAK,CAAC;CAKnF,aAAa,UAAU;CAEvB,WAAW,UAAU;CAErB,UAAU,UAAU;CAEpB,UAAU,UAAU;CAEpB,cAAc,UAAU;CAExB,gBAAgB,UAAU;CAE1B,WAAW,UAAU;CAErB,WAAW,UAAU;CAErB,cAAc,UAAU;CAExB,gBAAgB,UAAU;CAE1B,eAAe,UAAU;CAEzB,wBAAwB,UAAU;CAElC,kBAAkB,UAAU;CAE5B,2BAA2B,UAAU;CAErC,wBAAwB,UAAU;CAElC,iBAAiB,UAAU;CAE3B,yBAAyB,UAAU;CAEnC,8BAA8B,UAAU;CAExC,mCAAmC,UAAU;CAE7C,YAAY,UAAU;CAEtB,WAAW,UAAU,QAAQ,UAAU,OAAO;CAE9C,uBAAuB,UAAU;CAIjC,sBAAsB,UAAU;CAChC,WAAW,UAAU;CACrB,eAAe,UAAU;CACzB,eAAe,UAAU;CACzB,yBAAyB,UAAU;CACpC"}
@@ -1,6 +1,6 @@
1
1
  import { t as FluentIconButton } from "./FluentIconButton-AN9tZKVl.js";
2
2
  import { t as AmbientCard } from "./AmbientCard-Bl34OCRH.js";
3
- import { n as GridUnit, r as getRatio, t as GridRow } from "./GridRow-CfCj0Upc.js";
3
+ import { n as GridUnit, r as getRatio, t as GridRow } from "./GridRow-KktUKRX-.js";
4
4
  import React, { Children, useState } from "react";
5
5
  import { Box, Fade, makeStyles, useTheme } from "@material-ui/core";
6
6
  import { ChevronLeftIcon, ChevronRightIcon } from "@fluentui/react-icons";
@@ -125,4 +125,4 @@ const SideBarTemplate = ({ children, sidebar }) => {
125
125
 
126
126
  //#endregion
127
127
  export { HeaderLayout as n, GridGroup as r, SideBarTemplate as t };
128
- //# sourceMappingURL=SideBarTemplate-DQnJKwXP.js.map
128
+ //# sourceMappingURL=SideBarTemplate-DKYcwE38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideBarTemplate-DQnJKwXP.js","names":[],"sources":["../src/layout/GridGroup.jsx","../src/layout/HeaderLayout.jsx","../src/layout/templates/SideBarTemplate.jsx"],"sourcesContent":["import React, { Children } from 'react';\nimport { useTheme } from '@material-ui/core';\nimport { GridUnit } from './GridUnit';\nimport { GridRow } from './GridRow';\nimport { getRatio } from './getRatio';\n\nexport const GridGroup = ({\n col1,\n col2,\n col3,\n col4,\n col5,\n col6,\n ratio,\n highlight\n}) => {\n const theme = useTheme();\n\n const cnt = Children.toArray(col1).length;\n const cnt2 = Children.toArray(col2).length;\n const cnt3 = Children.toArray(col3).length;\n const cnt4 = Children.toArray(col4).length;\n const cnt5 = Children.toArray(col5).length;\n const cnt6 = Children.toArray(col6).length;\n\n const number = cnt + cnt2 + cnt3 + cnt4 + cnt5 + cnt6;\n const width = theme.spacing(154) / number / 8;\n\n const ratioArr = getRatio(ratio);\n const staticDisplay = (\n <GridRow highlight={highlight}>\n {number >= 1 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col1}\n </GridUnit>\n )}\n\n {number >= 2 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col2}\n </GridUnit>\n )}\n {number >= 3 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col3}\n </GridUnit>\n )}\n {number >= 4 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col4}\n </GridUnit>\n )}\n {number >= 5 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col5}\n </GridUnit>\n )}\n {number >= 6 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col6}\n </GridUnit>\n )}\n </GridRow>\n );\n\n return <div> {staticDisplay} </div>;\n};\n","import React from 'react';\nimport { AmbientCard } from '../UI/surfaces/cards/AmbientCard';\nimport { Box } from '@material-ui/core';\n\nexport const HeaderLayout = ({ children }) => {\n return (\n <AmbientCard style={{ marginTop: 0, padding: 0 }} fullWidth>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n style={{\n padding: '0px',\n }}\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n style={{\n padding: '0px',\n width: '100%',\n gap: '10px',\n }}\n >\n {children}\n </Box>\n </Box>\n </Box>\n </AmbientCard>\n );\n};\n","import React, { useState } from 'react'\nimport { makeStyles, Fade } from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n position: 'relative'\n },\n column: {\n display: 'flex',\n flexDirection: 'row',\n flex: 1\n },\n content: {\n flex: 1\n },\n sideBar: {\n height: '100vh',\n background: theme.palette.primary.light\n }\n}))\n\nexport const SideBarTemplate = ({ children, sidebar }) => {\n const classes = useStyles()\n\n const [open, setOpen] = useState(true)\n\n const toggleSidebar = () => {\n setOpen(!open)\n }\n\n return (\n <div className={classes.root}>\n <div className={classes.column}>\n <div className={classes.content}>{children}</div>\n\n <div style={{ position: 'absolute', top: 0, right: open ? 300 : 0 }}>\n <FluentIconButton\n color='primary'\n icon={open ? ChevronRightIcon : ChevronLeftIcon}\n onClick={toggleSidebar}\n />\n </div>\n\n {open && (\n <Fade in={open} timeout={{ enter: 1000, exit: 1000 }}>\n <div className={classes.sideBar}>{sidebar}</div>\n </Fade>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SideBarTemplate-DKYcwE38.js","names":[],"sources":["../src/layout/GridGroup.jsx","../src/layout/HeaderLayout.jsx","../src/layout/templates/SideBarTemplate.jsx"],"sourcesContent":["import React, { Children } from 'react';\nimport { useTheme } from '@material-ui/core';\nimport { GridUnit } from './GridUnit';\nimport { GridRow } from './GridRow';\nimport { getRatio } from './getRatio';\n\nexport const GridGroup = ({\n col1,\n col2,\n col3,\n col4,\n col5,\n col6,\n ratio,\n highlight\n}) => {\n const theme = useTheme();\n\n const cnt = Children.toArray(col1).length;\n const cnt2 = Children.toArray(col2).length;\n const cnt3 = Children.toArray(col3).length;\n const cnt4 = Children.toArray(col4).length;\n const cnt5 = Children.toArray(col5).length;\n const cnt6 = Children.toArray(col6).length;\n\n const number = cnt + cnt2 + cnt3 + cnt4 + cnt5 + cnt6;\n const width = theme.spacing(154) / number / 8;\n\n const ratioArr = getRatio(ratio);\n const staticDisplay = (\n <GridRow highlight={highlight}>\n {number >= 1 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col1}\n </GridUnit>\n )}\n\n {number >= 2 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col2}\n </GridUnit>\n )}\n {number >= 3 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col3}\n </GridUnit>\n )}\n {number >= 4 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col4}\n </GridUnit>\n )}\n {number >= 5 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col5}\n </GridUnit>\n )}\n {number >= 6 && (\n <GridUnit\n width={theme.spacing(width)}\n columnPadding={8 * number - 8}\n r1={ratioArr[0]}\n r2={ratioArr[1]}\n >\n {col6}\n </GridUnit>\n )}\n </GridRow>\n );\n\n return <div> {staticDisplay} </div>;\n};\n","import React from 'react';\nimport { AmbientCard } from '../UI/surfaces/cards/AmbientCard';\nimport { Box } from '@material-ui/core';\n\nexport const HeaderLayout = ({ children }) => {\n return (\n <AmbientCard style={{ marginTop: 0, padding: 0 }} fullWidth>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n style={{\n padding: '0px',\n }}\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n style={{\n padding: '0px',\n width: '100%',\n gap: '10px',\n }}\n >\n {children}\n </Box>\n </Box>\n </Box>\n </AmbientCard>\n );\n};\n","import React, { useState } from 'react'\nimport { makeStyles, Fade } from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n position: 'relative'\n },\n column: {\n display: 'flex',\n flexDirection: 'row',\n flex: 1\n },\n content: {\n flex: 1\n },\n sideBar: {\n height: '100vh',\n background: theme.palette.primary.light\n }\n}))\n\nexport const SideBarTemplate = ({ children, sidebar }) => {\n const classes = useStyles()\n\n const [open, setOpen] = useState(true)\n\n const toggleSidebar = () => {\n setOpen(!open)\n }\n\n return (\n <div className={classes.root}>\n <div className={classes.column}>\n <div className={classes.content}>{children}</div>\n\n <div style={{ position: 'absolute', top: 0, right: open ? 300 : 0 }}>\n <FluentIconButton\n color='primary'\n icon={open ? ChevronRightIcon : ChevronLeftIcon}\n onClick={toggleSidebar}\n />\n </div>\n\n {open && (\n <Fade in={open} timeout={{ enter: 1000, exit: 1000 }}>\n <div className={classes.sideBar}>{sidebar}</div>\n </Fade>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
@@ -31,4 +31,4 @@ var osm_default = osm;
31
31
 
32
32
  //#endregion
33
33
  export { xyz_default as n, vector_default as r, osm_default as t };
34
- //# sourceMappingURL=Source-BOqgbkAn.js.map
34
+ //# sourceMappingURL=Source-C21-iTa_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Source-BOqgbkAn.js","names":["VectorSource"],"sources":["../src/maps/openLayerMaps/Source/vector.js","../src/maps/openLayerMaps/Source/xyz.js","../src/maps/openLayerMaps/Source/osm.js"],"sourcesContent":["import { Vector as VectorSource } from 'ol/source';\n\n/**\n * @param {{features: import('ol/Feature').default[]}} props\n * @returns {VectorSource}\n */\nfunction vector({ features }) {\n\treturn new VectorSource({\n\t\tfeatures\n\t});\n}\n\nexport default vector;\n","import * as olSource from \"ol/source\";\n\nfunction xyz({ url, attributions, maxZoom }) {\n\treturn new olSource.XYZ({ url, attributions, maxZoom });\n}\n\nexport default xyz;\n","import * as olSource from 'ol/source';\n\nfunction osm() {\n return new olSource.OSM();\n}\n\nexport default osm;\n"],"mappings":";;;;;;;;AAMA,SAAS,OAAO,EAAE,YAAY;AAC7B,QAAO,IAAIA,OAAa,EACvB,UACA,CAAC;;AAGH,qBAAe;;;;ACVf,SAAS,IAAI,EAAE,KAAK,cAAc,WAAW;AAC5C,QAAO,IAAI,SAAS,IAAI;EAAE;EAAK;EAAc;EAAS,CAAC;;AAGxD,kBAAe;;;;ACJf,SAAS,MAAM;AACb,QAAO,IAAI,SAAS,KAAK;;AAG3B,kBAAe"}
1
+ {"version":3,"file":"Source-C21-iTa_.js","names":["VectorSource"],"sources":["../src/maps/openLayerMaps/Source/vector.js","../src/maps/openLayerMaps/Source/xyz.js","../src/maps/openLayerMaps/Source/osm.js"],"sourcesContent":["import { Vector as VectorSource } from 'ol/source';\n\n/**\n * @param {{features: import('ol/Feature').default[]}} props\n * @returns {VectorSource}\n */\nfunction vector({ features }) {\n\treturn new VectorSource({\n\t\tfeatures\n\t});\n}\n\nexport default vector;\n","import * as olSource from \"ol/source\";\n\nfunction xyz({ url, attributions, maxZoom }) {\n\treturn new olSource.XYZ({ url, attributions, maxZoom });\n}\n\nexport default xyz;\n","import * as olSource from 'ol/source';\n\nfunction osm() {\n return new olSource.OSM();\n}\n\nexport default osm;\n"],"mappings":";;;;;;;;AAMA,SAAS,OAAO,EAAE,YAAY;AAC7B,QAAO,IAAIA,OAAa,EACvB,UACA,CAAC;;AAGH,qBAAe;;;;ACVf,SAAS,IAAI,EAAE,KAAK,cAAc,WAAW;AAC5C,QAAO,IAAI,SAAS,IAAI;EAAE;EAAK;EAAc;EAAS,CAAC;;AAGxD,kBAAe;;;;ACJf,SAAS,MAAM;AACb,QAAO,IAAI,SAAS,KAAK;;AAG3B,kBAAe"}
@@ -24,4 +24,4 @@ const SubHeaderAction = (props) => {
24
24
 
25
25
  //#endregion
26
26
  export { SubHeaderActionsTarget as n, SubHeaderAction as t };
27
- //# sourceMappingURL=SubHeaderAction-DTDxR5S1.js.map
27
+ //# sourceMappingURL=SubHeaderAction-F_GKrUBX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeaderAction-DTDxR5S1.js","names":[],"sources":["../src/utilities/utilityBar/SubHeaderAction.jsx"],"sourcesContent":["import React, { Children, useEffect } from 'react';\nimport { createTeleporter } from 'react-teleporter';\nimport { useShellStore } from '../../stores/shellStore';\n\nconst SubHeaderActions = createTeleporter({\n multiSources: true\n});\n\n/**\n * @param {any} props\n */\nexport function SubHeaderActionsTarget(props) {\n return <SubHeaderActions.Target {...props} />;\n}\n\n/**\n * Places a button in the App SubHeader\n */\nexport const SubHeaderAction = (props) => {\n const { children, className, ...buttonProps } = props;\n\n const setSubHeaderActionHasChildren = useShellStore(\n (state) => state.setSubHeaderActionHasChildren\n );\n\n useEffect(() => {\n const hasChildren = Children.count(children) > 0;\n setSubHeaderActionHasChildren(hasChildren);\n }, [children, setSubHeaderActionHasChildren]);\n\n return <SubHeaderActions.Source>{children}</SubHeaderActions.Source>;\n};\n"],"mappings":";;;;;AAIA,MAAM,mBAAmB,iBAAiB,EACxC,cAAc,MACf,CAAC;;;;AAKF,SAAgB,uBAAuB,OAAO;AAC5C,QAAO,oCAAC,iBAAiB,QAAW,MAAS;;;;;AAM/C,MAAa,mBAAmB,UAAU;CACxC,MAAM,EAAE,UAAU,UAAW,GAAG,gBAAgB;CAEhD,MAAM,gCAAgC,eACnC,UAAU,MAAM,8BAClB;AAED,iBAAgB;AAEd,gCADoB,SAAS,MAAM,SAAS,GAAG,EACL;IACzC,CAAC,UAAU,8BAA8B,CAAC;AAE7C,QAAO,oCAAC,iBAAiB,cAAQ,SAAmC"}
1
+ {"version":3,"file":"SubHeaderAction-F_GKrUBX.js","names":[],"sources":["../src/utilities/utilityBar/SubHeaderAction.jsx"],"sourcesContent":["import React, { Children, useEffect } from 'react';\nimport { createTeleporter } from 'react-teleporter';\nimport { useShellStore } from '../../stores/shellStore';\n\nconst SubHeaderActions = createTeleporter({\n multiSources: true\n});\n\n/**\n * @param {any} props\n */\nexport function SubHeaderActionsTarget(props) {\n return <SubHeaderActions.Target {...props} />;\n}\n\n/**\n * Places a button in the App SubHeader\n */\nexport const SubHeaderAction = (props) => {\n const { children, className, ...buttonProps } = props;\n\n const setSubHeaderActionHasChildren = useShellStore(\n (state) => state.setSubHeaderActionHasChildren\n );\n\n useEffect(() => {\n const hasChildren = Children.count(children) > 0;\n setSubHeaderActionHasChildren(hasChildren);\n }, [children, setSubHeaderActionHasChildren]);\n\n return <SubHeaderActions.Source>{children}</SubHeaderActions.Source>;\n};\n"],"mappings":";;;;;AAIA,MAAM,mBAAmB,iBAAiB,EACxC,cAAc,MACf,CAAC;;;;AAKF,SAAgB,uBAAuB,OAAO;AAC5C,QAAO,oCAAC,iBAAiB,QAAW,MAAS;;;;;AAM/C,MAAa,mBAAmB,UAAU;CACxC,MAAM,EAAE,UAAU,UAAW,GAAG,gBAAgB;CAEhD,MAAM,gCAAgC,eACnC,UAAU,MAAM,8BAClB;AAED,iBAAgB;AAEd,gCADoB,SAAS,MAAM,SAAS,GAAG,EACL;IACzC,CAAC,UAAU,8BAA8B,CAAC;AAE7C,QAAO,oCAAC,iBAAiB,cAAQ,SAAmC"}
@@ -6,9 +6,9 @@ import { t as FluentTextFieldAutoComplete } from "./FluentTextFieldAutoComplete-
6
6
  import { t as LayoutUnit } from "./LayoutUnit-DBF2yb1h.js";
7
7
  import { n as SideSheet } from "./SideSheet-t6uVFYIJ.js";
8
8
  import { t as AmbientCard } from "./AmbientCard-Bl34OCRH.js";
9
- import { t as LinearProgress$1 } from "./LinearProgress-BiBVB7Dw.js";
10
- import { t as FluentTextField } from "./FluentTextField-CgQcsDtq.js";
11
- import { t as DragDropFileUpload } from "./DragDropFileUpload-CVmPVcA5.js";
9
+ import { t as LinearProgress$1 } from "./LinearProgress-DvXOb1Ck.js";
10
+ import { t as FluentTextField } from "./FluentTextField-CPpViNni.js";
11
+ import { t as DragDropFileUpload } from "./DragDropFileUpload-D1ihiCC2.js";
12
12
  import React, { useCallback, useEffect, useState } from "react";
13
13
  import { Button } from "@material-ui/core";
14
14
  import { ConfigService } from "udp-react-stencil-component-library";
@@ -372,4 +372,4 @@ var SupportCaseSideSheet_default = SupportCaseSideSheet;
372
372
 
373
373
  //#endregion
374
374
  export { SupportCaseSideSheet_default as n, SupportCaseSideSheet as t };
375
- //# sourceMappingURL=SupportCaseSideSheet-D48N1B5u.js.map
375
+ //# sourceMappingURL=SupportCaseSideSheet-B5a-_ehT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupportCaseSideSheet-D48N1B5u.js","names":["apiMutate","LinearProgress","SupportCaseForm"],"sources":["../src/UI/support/SupportCaseForm.jsx","../src/UI/support/SupportCaseSideSheet.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { FluentTextField } from '../inputs/textField/FluentTextField';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { DragDropFileUpload } from '../../uploader/DragDropFileUpload';\nimport { Form, FormButtons, SubmitButton, Field } from '../../utilities/form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { Button } from '@material-ui/core';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { LinearProgress } from '../../UI/loading/LinearProgress';\nimport { useHistory } from 'react-router-dom';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst SupportCaseForm = ({\n onSubmit,\n initialValues = {},\n handleCloseSupportCaseSideSheet\n}) => {\n const { t } = useTranslation();\n const user = useUser();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const [severityOptions, setSeverityOptions] = useState([]);\n const [environmentOptions, setEnvironmentOptions] = useState([]);\n const [brandOptions, setBrandOptions] = useState([]);\n const [uploadedFiles, setUploadedFiles] = useState([]);\n const [unityState, setUnityState] = useState();\n const [loadingState, setLoadingState] = useState(false);\n const baseUrl = ConfigService.productV1ApiUrl; // backend base url\n const unityUrl = ConfigService.supportV1ApiUrl; // unity support bypass\n const unityEnv = ConfigService.config.UNITY_ENVIRONMENT; // unity environment\n const [uploadKey, setUploadKey] = useState(0);\n const [restrictedFiles, setRestrictedFiles] = useState({});\n const history = useHistory();\n\n const getFileRestrictions = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/supportFileUploadRestrictions`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n const getFileRestrictionsUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `evergrncaseattachment/get-attachment-restrictions`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getSeverityUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `caseseverity/get-case-severity`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getEnvironmentUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `evergrncaseenvironment/get-case-environments`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getSeverity = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/severities`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n const getEnvironment = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/environments`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n // externalUuid will be needed part of the post request to submit ticket\n const getTenantCaseAccount = useCallback(\n async () =>\n apiMutate(\n baseUrl,\n `udpunitysupport/tenantCaseAccount/` + user?.currentTenantId,\n {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }\n ),\n [baseUrl, user?.currentTenantId]\n );\n\n // list of products to choose from when in Support Portal, if cooresponsding externalUuid is null, default to devops support GUID\n const getTenantCaseBrand = useCallback(\n async () =>\n apiMutate(ConfigService.tenantV2ApiUrl, `tenant/products`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [user?.currentTenantId]\n );\n\n const getTenantSubscribedProducts = useCallback(\n async () =>\n apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenantProducts?tenantId=${user?.currentTenantId}`,\n {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }\n ),\n [user?.currentTenantId]\n );\n\n // TODO: this data should come from Unity table -> Unity UEM -> Unity Support\n const getCasesEnv = {\n Development: '100000003',\n Build: '100000003',\n Staging: '100000001',\n Production: '100000000'\n };\n\n function getCaseEnvironment() {\n return getCasesEnv[unityEnv] || '100000003'; // default to dev\n }\n\n let brandId = '416b0ca8-e679-ef11-ac20-6045bdcd3d86'; // Default to devops support ID, should come from API\n\n const postCaseAttachment = useCallback(\n (values) => {\n const data = new FormData();\n uploadedFiles.forEach((file) => {\n data.append('files', file);\n });\n data.append('EvergrnCaseName', values.title);\n data.append('EvergrnDescription', values.description);\n data.append('EvergrnCaseEnvironment', getCaseEnvironment());\n data.append('EvergrnSeverity', values.severity.value);\n // Find the corresponding brand ID using environment variable's product ID\n const matchingProduct = brandOptions.find(\n (product) => product.productId == ConfigService.config.UNITY_PRODUCT_ID\n );\n if (matchingProduct && matchingProduct.value) {\n brandId = matchingProduct.value;\n }\n data.append('EvergrnBrandId', brandId);\n data.append(\n 'UDPDriveUnityProductId',\n ConfigService.config.UNITY_PRODUCT_ID\n );\n\n return apiMutate(\n baseUrl,\n `udpunitysupport/case`,\n {\n method: 'post',\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n },\n { data: data }\n );\n },\n [baseUrl, uploadedFiles, getCaseEnvironment, brandOptions, brandId]\n );\n\n const postCaseAttachmentUnity = useCallback(\n (values) => {\n const data = new FormData();\n uploadedFiles.forEach((file) => {\n data.append('files', file);\n });\n data.append('EvergrnCaseName', values.title);\n data.append('EvergrnDescription', values.description);\n data.append('EvergrnCaseEnvironment', getCaseEnvironment());\n data.append('EvergrnSeverity', values.severity.value);\n data.append('EvergrnBrandId', values.product?.value || brandId);\n data.append(\n 'UDPDriveUnityProductId',\n ConfigService.config.UNITY_PRODUCT_ID\n );\n\n return apiMutate(\n unityUrl,\n `evergrncase/post-case`,\n {\n method: 'post',\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n },\n { data: data }\n );\n },\n [unityUrl, uploadedFiles, getCaseEnvironment, brandId]\n );\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n if (ConfigService.config.UNITY_PRODUCT_ID === '1') {\n setUnityState(true);\n } else {\n setUnityState(false);\n }\n\n let getFileRestrictionsResponse = unityState\n ? await getFileRestrictionsUnity()\n : await getFileRestrictions();\n\n let severityResponse = unityState\n ? await getSeverityUnity()\n : await getSeverity();\n\n let environmentResponse = unityState\n ? await getEnvironmentUnity()\n : await getEnvironment();\n\n if (getFileRestrictionsResponse) {\n const fileRestrictionsData = getFileRestrictionsResponse.data;\n setRestrictedFiles(fileRestrictionsData);\n }\n\n if (severityResponse) {\n const severityOptions = severityResponse.data.map((item) => ({\n value: item.externalUUID.toString(),\n label: item.name\n }));\n setSeverityOptions(severityOptions);\n }\n\n if (environmentResponse) {\n const environmentOptions = environmentResponse.data.map((item) => ({\n value: item.evergrnCaseEnvironmentValue.toString(),\n label: item.evergrnCaseEnvironmentLabel\n }));\n setEnvironmentOptions(environmentOptions);\n }\n\n // fetch brand data\n const brandResponse = await getTenantCaseBrand();\n const tenantSubscribedProductsResponse =\n await getTenantSubscribedProducts();\n\n if (brandResponse && tenantSubscribedProductsResponse) {\n const brandArray = brandResponse.data.filter(\n (brandItem) => brandItem.externalUuid != null\n );\n const subscribedArray = tenantSubscribedProductsResponse.data;\n\n const brandOptions = subscribedArray\n .map((subscribedProduct) => {\n const foundProduct = brandArray.find(\n (brandItem) =>\n brandItem.productId === subscribedProduct.productId\n );\n\n if (!foundProduct) {\n return null;\n }\n\n return {\n ...subscribedProduct,\n value: foundProduct.externalUuid?.toString(), // Cases Brand ID\n label: foundProduct.name.toString()\n };\n })\n .filter(Boolean);\n\n setBrandOptions(brandOptions);\n }\n } catch (error) {\n console.error('Error fetching data:', error);\n }\n };\n\n fetchData();\n }, [\n unityState,\n getSeverityUnity,\n getEnvironmentUnity,\n getFileRestrictionsUnity,\n getFileRestrictions,\n getSeverity,\n getEnvironment,\n getTenantCaseBrand,\n getTenantSubscribedProducts\n ]);\n\n const handleUploadFile = (files) => {\n const identifiedRestrictedExtensions = [];\n const identifiedRestrictedFileSizes = [];\n\n files.forEach((file) => {\n const fileExtension = file.name.includes('.')\n ? '.' + file.name.split('.').pop().toLowerCase()\n : '';\n\n if (restrictedFiles.restrictedExtensions.includes(fileExtension)) {\n identifiedRestrictedExtensions.push(fileExtension);\n }\n\n if (file.size > restrictedFiles.maxFileSize) {\n identifiedRestrictedFileSizes.push(file.name);\n }\n });\n\n const isAcceptableExtensions = identifiedRestrictedExtensions.length === 0;\n const isAcceptableSizes = identifiedRestrictedFileSizes.length === 0;\n\n if (!(isAcceptableExtensions && isAcceptableSizes)) {\n if (!isAcceptableExtensions) {\n const uniqueExtensions = [...new Set(identifiedRestrictedExtensions)];\n const errorText = `Restricted file type(s). ${uniqueExtensions.join(\n ', '\n )}`;\n enqueueSnackbar(t(errorText), {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' }\n });\n }\n\n if (!isAcceptableSizes) {\n const errorText = `File(s) are too large (5MB limit). ${identifiedRestrictedFileSizes.join(\n ', '\n )}`;\n enqueueSnackbar(t(errorText), {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' }\n });\n }\n\n setUploadKey((prevKey) => prevKey + 1);\n return;\n }\n\n setUploadedFiles(files);\n };\n\n const handleSubmit = async (values) => {\n setLoadingState(true);\n\n let response;\n try {\n response = unityState\n ? await postCaseAttachmentUnity(values)\n : await postCaseAttachment(values);\n } catch (apiError) {\n console.error('post Case API call failed:', apiError);\n enqueueSnackbar(t('Submission failed'), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-close'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n close\n </Button>\n )\n });\n setLoadingState(false);\n return { submitError: apiError.message };\n }\n\n // Check for valid response\n if (!response?.data?.evergrnCaseId) {\n console.error('API call succeeded but no case ID returned');\n enqueueSnackbar(t('Submission failed - No case ID returned'), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-close'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n close\n </Button>\n )\n });\n setLoadingState(false);\n return { submitError: 'No case ID was returned from the server' };\n }\n\n window.dispatchEvent(new CustomEvent('support-case-created'));\n\n try {\n handleCloseSupportCaseSideSheet();\n } catch (closeError) {\n console.error('Error closing sheet:', closeError);\n }\n\n enqueueSnackbar(t(`Support Case Created. View your cases`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-here'\n onClick={() => {\n try {\n const caseId = response.data.evergrnCaseId;\n let url;\n if (unityState) {\n url = `/support/cases/${caseId}`;\n history.push(url);\n } else {\n url = `${ConfigService.config.UNITY_URL}/support/cases/${caseId}`;\n window.location.href = url;\n }\n closeSnackbar(key);\n } catch (navError) {\n console.error('Navigation error:', navError);\n closeSnackbar(key);\n }\n }}\n >\n here\n </Button>\n )\n });\n\n try {\n await onSubmit(values);\n } catch (onSubmitError) {\n console.error('Error in onSubmit:', onSubmitError);\n }\n setLoadingState(false);\n };\n\n return (\n <>\n {loadingState && <LinearProgress />}\n <Form onSubmit={handleSubmit}>\n <AmbientCard fullWidth>\n <Field\n component={FluentTextField}\n name='title'\n label={t('Title')}\n placeholder={t('Enter a brief title for your issue')}\n variant='outlined'\n fullWidth\n autoFocus\n required={true}\n />\n {unityState && (\n <Field\n component={FluentTextFieldAutoComplete}\n name='product'\n label={t('Product')}\n variant='outlined'\n margin='normal'\n size='small'\n options={brandOptions}\n optionKey='label'\n style={{ width: '100%' }}\n disableClearable\n id='udpRecord-CreateSupportCaseForm-product'\n udprecordid='udpRecord-CreateSupportCaseForm-product'\n />\n )}\n <Field\n component={FluentTextFieldAutoComplete}\n name='severity'\n label={t('Severity')}\n variant='outlined'\n margin='normal'\n size='small'\n options={severityOptions}\n optionKey='label'\n style={{ width: '100%' }}\n disableClearable\n id='udpRecord-CreateSupportCaseForm-severity'\n udprecordid='udpRecord-CreateSupportCaseForm-severity'\n required={true}\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <AmbientCard fullWidth>\n <Field\n name='description'\n component={FluentTextField}\n multiline={true}\n rows={10}\n minRows={3}\n maxRows={20}\n required={true}\n label='Description'\n placeholder='Please describe your issue in detail'\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <AmbientCard fullWidth>\n <DragDropFileUpload\n key={uploadKey}\n title='Attachments'\n multiple={true}\n minHeight='100px'\n maxHeight='400px'\n acceptedFiles='.pdf,.doc,.docx,.png,.jpg,.jpeg'\n handleUploadFile={handleUploadFile}\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <FormButtons>\n <SubmitButton\n color='primary'\n variant='contained'\n disablePristine={false}\n >\n Submit Ticket\n </SubmitButton>\n </FormButtons>\n </Form>\n </>\n );\n};\n\nexport default SupportCaseForm;\n","import React from 'react';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport SupportCaseForm from './SupportCaseForm';\n\nexport const SupportCaseSideSheet = ({\n open,\n onClose,\n onSubmit,\n initialValues,\n handleCloseSupportCaseSideSheet,\n loading\n}) => {\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title=\"Submit Support Ticket\"\n width={600} // You can adjust the width as needed\n >\n <SupportCaseForm\n onSubmit={onSubmit}\n initialValues={initialValues}\n handleCloseSupportCaseSideSheet={handleCloseSupportCaseSideSheet}\n loading={loading}\n />\n </SideSheet>\n );\n};\n\nexport default SupportCaseSideSheet;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SupportCaseSideSheet-B5a-_ehT.js","names":["apiMutate","LinearProgress","SupportCaseForm"],"sources":["../src/UI/support/SupportCaseForm.jsx","../src/UI/support/SupportCaseSideSheet.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { FluentTextField } from '../inputs/textField/FluentTextField';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { DragDropFileUpload } from '../../uploader/DragDropFileUpload';\nimport { Form, FormButtons, SubmitButton, Field } from '../../utilities/form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { Button } from '@material-ui/core';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { LinearProgress } from '../../UI/loading/LinearProgress';\nimport { useHistory } from 'react-router-dom';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\nconst SupportCaseForm = ({\n onSubmit,\n initialValues = {},\n handleCloseSupportCaseSideSheet\n}) => {\n const { t } = useTranslation();\n const user = useUser();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const [severityOptions, setSeverityOptions] = useState([]);\n const [environmentOptions, setEnvironmentOptions] = useState([]);\n const [brandOptions, setBrandOptions] = useState([]);\n const [uploadedFiles, setUploadedFiles] = useState([]);\n const [unityState, setUnityState] = useState();\n const [loadingState, setLoadingState] = useState(false);\n const baseUrl = ConfigService.productV1ApiUrl; // backend base url\n const unityUrl = ConfigService.supportV1ApiUrl; // unity support bypass\n const unityEnv = ConfigService.config.UNITY_ENVIRONMENT; // unity environment\n const [uploadKey, setUploadKey] = useState(0);\n const [restrictedFiles, setRestrictedFiles] = useState({});\n const history = useHistory();\n\n const getFileRestrictions = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/supportFileUploadRestrictions`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n const getFileRestrictionsUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `evergrncaseattachment/get-attachment-restrictions`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getSeverityUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `caseseverity/get-case-severity`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getEnvironmentUnity = useCallback(\n async () =>\n apiMutate(unityUrl, `evergrncaseenvironment/get-case-environments`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [unityUrl, user?.currentTenantId]\n );\n\n const getSeverity = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/severities`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n const getEnvironment = useCallback(\n async () =>\n apiMutate(baseUrl, `udpunitysupport/environments`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [baseUrl, user?.currentTenantId]\n );\n\n // externalUuid will be needed part of the post request to submit ticket\n const getTenantCaseAccount = useCallback(\n async () =>\n apiMutate(\n baseUrl,\n `udpunitysupport/tenantCaseAccount/` + user?.currentTenantId,\n {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }\n ),\n [baseUrl, user?.currentTenantId]\n );\n\n // list of products to choose from when in Support Portal, if cooresponsding externalUuid is null, default to devops support GUID\n const getTenantCaseBrand = useCallback(\n async () =>\n apiMutate(ConfigService.tenantV2ApiUrl, `tenant/products`, {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }),\n [user?.currentTenantId]\n );\n\n const getTenantSubscribedProducts = useCallback(\n async () =>\n apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenantProducts?tenantId=${user?.currentTenantId}`,\n {\n method: 'get',\n headers: {\n currentTenantId: user?.currentTenantId\n }\n }\n ),\n [user?.currentTenantId]\n );\n\n // TODO: this data should come from Unity table -> Unity UEM -> Unity Support\n const getCasesEnv = {\n Development: '100000003',\n Build: '100000003',\n Staging: '100000001',\n Production: '100000000'\n };\n\n function getCaseEnvironment() {\n return getCasesEnv[unityEnv] || '100000003'; // default to dev\n }\n\n let brandId = '416b0ca8-e679-ef11-ac20-6045bdcd3d86'; // Default to devops support ID, should come from API\n\n const postCaseAttachment = useCallback(\n (values) => {\n const data = new FormData();\n uploadedFiles.forEach((file) => {\n data.append('files', file);\n });\n data.append('EvergrnCaseName', values.title);\n data.append('EvergrnDescription', values.description);\n data.append('EvergrnCaseEnvironment', getCaseEnvironment());\n data.append('EvergrnSeverity', values.severity.value);\n // Find the corresponding brand ID using environment variable's product ID\n const matchingProduct = brandOptions.find(\n (product) => product.productId == ConfigService.config.UNITY_PRODUCT_ID\n );\n if (matchingProduct && matchingProduct.value) {\n brandId = matchingProduct.value;\n }\n data.append('EvergrnBrandId', brandId);\n data.append(\n 'UDPDriveUnityProductId',\n ConfigService.config.UNITY_PRODUCT_ID\n );\n\n return apiMutate(\n baseUrl,\n `udpunitysupport/case`,\n {\n method: 'post',\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n },\n { data: data }\n );\n },\n [baseUrl, uploadedFiles, getCaseEnvironment, brandOptions, brandId]\n );\n\n const postCaseAttachmentUnity = useCallback(\n (values) => {\n const data = new FormData();\n uploadedFiles.forEach((file) => {\n data.append('files', file);\n });\n data.append('EvergrnCaseName', values.title);\n data.append('EvergrnDescription', values.description);\n data.append('EvergrnCaseEnvironment', getCaseEnvironment());\n data.append('EvergrnSeverity', values.severity.value);\n data.append('EvergrnBrandId', values.product?.value || brandId);\n data.append(\n 'UDPDriveUnityProductId',\n ConfigService.config.UNITY_PRODUCT_ID\n );\n\n return apiMutate(\n unityUrl,\n `evergrncase/post-case`,\n {\n method: 'post',\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n },\n { data: data }\n );\n },\n [unityUrl, uploadedFiles, getCaseEnvironment, brandId]\n );\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n if (ConfigService.config.UNITY_PRODUCT_ID === '1') {\n setUnityState(true);\n } else {\n setUnityState(false);\n }\n\n let getFileRestrictionsResponse = unityState\n ? await getFileRestrictionsUnity()\n : await getFileRestrictions();\n\n let severityResponse = unityState\n ? await getSeverityUnity()\n : await getSeverity();\n\n let environmentResponse = unityState\n ? await getEnvironmentUnity()\n : await getEnvironment();\n\n if (getFileRestrictionsResponse) {\n const fileRestrictionsData = getFileRestrictionsResponse.data;\n setRestrictedFiles(fileRestrictionsData);\n }\n\n if (severityResponse) {\n const severityOptions = severityResponse.data.map((item) => ({\n value: item.externalUUID.toString(),\n label: item.name\n }));\n setSeverityOptions(severityOptions);\n }\n\n if (environmentResponse) {\n const environmentOptions = environmentResponse.data.map((item) => ({\n value: item.evergrnCaseEnvironmentValue.toString(),\n label: item.evergrnCaseEnvironmentLabel\n }));\n setEnvironmentOptions(environmentOptions);\n }\n\n // fetch brand data\n const brandResponse = await getTenantCaseBrand();\n const tenantSubscribedProductsResponse =\n await getTenantSubscribedProducts();\n\n if (brandResponse && tenantSubscribedProductsResponse) {\n const brandArray = brandResponse.data.filter(\n (brandItem) => brandItem.externalUuid != null\n );\n const subscribedArray = tenantSubscribedProductsResponse.data;\n\n const brandOptions = subscribedArray\n .map((subscribedProduct) => {\n const foundProduct = brandArray.find(\n (brandItem) =>\n brandItem.productId === subscribedProduct.productId\n );\n\n if (!foundProduct) {\n return null;\n }\n\n return {\n ...subscribedProduct,\n value: foundProduct.externalUuid?.toString(), // Cases Brand ID\n label: foundProduct.name.toString()\n };\n })\n .filter(Boolean);\n\n setBrandOptions(brandOptions);\n }\n } catch (error) {\n console.error('Error fetching data:', error);\n }\n };\n\n fetchData();\n }, [\n unityState,\n getSeverityUnity,\n getEnvironmentUnity,\n getFileRestrictionsUnity,\n getFileRestrictions,\n getSeverity,\n getEnvironment,\n getTenantCaseBrand,\n getTenantSubscribedProducts\n ]);\n\n const handleUploadFile = (files) => {\n const identifiedRestrictedExtensions = [];\n const identifiedRestrictedFileSizes = [];\n\n files.forEach((file) => {\n const fileExtension = file.name.includes('.')\n ? '.' + file.name.split('.').pop().toLowerCase()\n : '';\n\n if (restrictedFiles.restrictedExtensions.includes(fileExtension)) {\n identifiedRestrictedExtensions.push(fileExtension);\n }\n\n if (file.size > restrictedFiles.maxFileSize) {\n identifiedRestrictedFileSizes.push(file.name);\n }\n });\n\n const isAcceptableExtensions = identifiedRestrictedExtensions.length === 0;\n const isAcceptableSizes = identifiedRestrictedFileSizes.length === 0;\n\n if (!(isAcceptableExtensions && isAcceptableSizes)) {\n if (!isAcceptableExtensions) {\n const uniqueExtensions = [...new Set(identifiedRestrictedExtensions)];\n const errorText = `Restricted file type(s). ${uniqueExtensions.join(\n ', '\n )}`;\n enqueueSnackbar(t(errorText), {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' }\n });\n }\n\n if (!isAcceptableSizes) {\n const errorText = `File(s) are too large (5MB limit). ${identifiedRestrictedFileSizes.join(\n ', '\n )}`;\n enqueueSnackbar(t(errorText), {\n variant: 'error',\n anchorOrigin: { vertical: 'top', horizontal: 'center' }\n });\n }\n\n setUploadKey((prevKey) => prevKey + 1);\n return;\n }\n\n setUploadedFiles(files);\n };\n\n const handleSubmit = async (values) => {\n setLoadingState(true);\n\n let response;\n try {\n response = unityState\n ? await postCaseAttachmentUnity(values)\n : await postCaseAttachment(values);\n } catch (apiError) {\n console.error('post Case API call failed:', apiError);\n enqueueSnackbar(t('Submission failed'), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-close'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n close\n </Button>\n )\n });\n setLoadingState(false);\n return { submitError: apiError.message };\n }\n\n // Check for valid response\n if (!response?.data?.evergrnCaseId) {\n console.error('API call succeeded but no case ID returned');\n enqueueSnackbar(t('Submission failed - No case ID returned'), {\n variant: 'error',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-close'\n onClick={() => {\n closeSnackbar(key);\n }}\n >\n close\n </Button>\n )\n });\n setLoadingState(false);\n return { submitError: 'No case ID was returned from the server' };\n }\n\n window.dispatchEvent(new CustomEvent('support-case-created'));\n\n try {\n handleCloseSupportCaseSideSheet();\n } catch (closeError) {\n console.error('Error closing sheet:', closeError);\n }\n\n enqueueSnackbar(t(`Support Case Created. View your cases`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n action: (key) => (\n <Button\n color='primary'\n size='small'\n id='udpRecord-SupportCaseForm-here'\n onClick={() => {\n try {\n const caseId = response.data.evergrnCaseId;\n let url;\n if (unityState) {\n url = `/support/cases/${caseId}`;\n history.push(url);\n } else {\n url = `${ConfigService.config.UNITY_URL}/support/cases/${caseId}`;\n window.location.href = url;\n }\n closeSnackbar(key);\n } catch (navError) {\n console.error('Navigation error:', navError);\n closeSnackbar(key);\n }\n }}\n >\n here\n </Button>\n )\n });\n\n try {\n await onSubmit(values);\n } catch (onSubmitError) {\n console.error('Error in onSubmit:', onSubmitError);\n }\n setLoadingState(false);\n };\n\n return (\n <>\n {loadingState && <LinearProgress />}\n <Form onSubmit={handleSubmit}>\n <AmbientCard fullWidth>\n <Field\n component={FluentTextField}\n name='title'\n label={t('Title')}\n placeholder={t('Enter a brief title for your issue')}\n variant='outlined'\n fullWidth\n autoFocus\n required={true}\n />\n {unityState && (\n <Field\n component={FluentTextFieldAutoComplete}\n name='product'\n label={t('Product')}\n variant='outlined'\n margin='normal'\n size='small'\n options={brandOptions}\n optionKey='label'\n style={{ width: '100%' }}\n disableClearable\n id='udpRecord-CreateSupportCaseForm-product'\n udprecordid='udpRecord-CreateSupportCaseForm-product'\n />\n )}\n <Field\n component={FluentTextFieldAutoComplete}\n name='severity'\n label={t('Severity')}\n variant='outlined'\n margin='normal'\n size='small'\n options={severityOptions}\n optionKey='label'\n style={{ width: '100%' }}\n disableClearable\n id='udpRecord-CreateSupportCaseForm-severity'\n udprecordid='udpRecord-CreateSupportCaseForm-severity'\n required={true}\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <AmbientCard fullWidth>\n <Field\n name='description'\n component={FluentTextField}\n multiline={true}\n rows={10}\n minRows={3}\n maxRows={20}\n required={true}\n label='Description'\n placeholder='Please describe your issue in detail'\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <AmbientCard fullWidth>\n <DragDropFileUpload\n key={uploadKey}\n title='Attachments'\n multiple={true}\n minHeight='100px'\n maxHeight='400px'\n acceptedFiles='.pdf,.doc,.docx,.png,.jpg,.jpeg'\n handleUploadFile={handleUploadFile}\n />\n </AmbientCard>\n\n <LayoutUnit unit='xxs' />\n\n <FormButtons>\n <SubmitButton\n color='primary'\n variant='contained'\n disablePristine={false}\n >\n Submit Ticket\n </SubmitButton>\n </FormButtons>\n </Form>\n </>\n );\n};\n\nexport default SupportCaseForm;\n","import React from 'react';\nimport { SideSheet } from '../surfaces/SideSheet';\nimport SupportCaseForm from './SupportCaseForm';\n\nexport const SupportCaseSideSheet = ({\n open,\n onClose,\n onSubmit,\n initialValues,\n handleCloseSupportCaseSideSheet,\n loading\n}) => {\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title=\"Submit Support Ticket\"\n width={600} // You can adjust the width as needed\n >\n <SupportCaseForm\n onSubmit={onSubmit}\n initialValues={initialValues}\n handleCloseSupportCaseSideSheet={handleCloseSupportCaseSideSheet}\n loading={loading}\n />\n </SideSheet>\n );\n};\n\nexport default SupportCaseSideSheet;\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { r as getSanitizedName } from "./entityUtilities-DOZQpeXw.js";
3
3
  import { t as executeQueryAdHoc } from "./methodUtils-DwkBQ6fj.js";
4
4
  import { r as useBuildEnvironment } from "./EnvironmentRibbon-CRhI4qRC.js";
5
5
  import { r as ActionsRenderer, t as AmbientGridTemplate } from "./AmbientGridTemplate-Cbl9GXcd.js";
6
- import { t as SearchServiceDatasource } from "./SearchServiceDatasource-CE-VlvY1.js";
6
+ import { t as SearchServiceDatasource } from "./SearchServiceDatasource-DofS4I45.js";
7
7
  import React, { useCallback, useEffect, useMemo } from "react";
8
8
 
9
9
  //#region src/maintenanceEngine/tableBrowser/TableColumnDefs.js
@@ -106,4 +106,4 @@ const TableContainer = (props) => {
106
106
 
107
107
  //#endregion
108
108
  export { TableColumnDefs as n, defaultColumnActionsDef as r, TableContainer as t };
109
- //# sourceMappingURL=TableContainer-CjJCsvvs.js.map
109
+ //# sourceMappingURL=TableContainer-CJFW0Teg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableContainer-CjJCsvvs.js","names":[],"sources":["../src/maintenanceEngine/tableBrowser/TableColumnDefs.js","../src/maintenanceEngine/tableBrowser/TableContainer.jsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\n\nexport const TableColumnDefs = (actionList) => {\n const getterRowData = useCallback((params) => {\n return params.data;\n }, []);\n\n const columnDefs = [\n {\n headerName: 'Name',\n field: 'entityName',\n valueGetter: (params) =>\n params.data?.properties?.displayName ||\n params.data?.sanitizedName ||\n getSanitizedName(params.data?.entityName),\n wrapText: true,\n autoHeight: false,\n sortable: false\n },\n {\n headerName: 'Actions',\n filter: false,\n pinned: 'right',\n cellRenderer: 'actionsRenderer',\n // minWidth: 50,\n width: 150,\n cellRendererParams: {\n actionList: actionList\n },\n valueGetter: getterRowData,\n maxWidth: 180,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n }\n ];\n return columnDefs;\n};\n\nexport const defaultColumnActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useEffect, useMemo } from 'react';\nimport { TableColumnDefs } from './TableColumnDefs';\nimport { AmbientGridTemplate } from '../../UI/templates/AmbientGridTemplate';\nimport { ActionsRenderer } from '../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useAgGridApi } from '../../utilities/aggrid/AgTable';\nimport { executeQueryAdHoc } from '../../udp/utilities/methodUtils';\nimport { SearchServiceDatasource } from '../../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useBuildEnvironment } from '../../shell/ui/EnvironmentRibbon';\n\nexport const TableContainer = (props) => {\n const {\n actionList,\n loading,\n rowData,\n catalog,\n isServerSide = false,\n promotedEntity,\n filterElements,\n customColumnDefs,\n eagerLoad = false,\n logicalSearchOperator = 1,\n frameworkComponents={ actionsRenderer: ActionsRenderer },\n additionalGridOptions,\n headerBackgroundColor,\n api,\n columnApi,\n gridReady,\n dynamicSizing,\n ...other\n } = props;\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const gApi = api || gridApi;\n const cApi = columnApi || gridColumnApi;\n const gReady = gridReady || onGridReady\n const buildEnv = useBuildEnvironment()\n const columnDefs = customColumnDefs || TableColumnDefs(actionList);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n useEffect(() => {\n if (!gApi) return;\n if (promotedEntity && isServerSide) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n filterElements,\n logicalSearchOperator,\n executeQueryAdHoc,\n null,\n null,\n eagerLoad\n );\n // eslint-disable-next-line no-unused-expressions\n gApi?.setServerSideDatasource(datasource);\n }\n }, [gApi, promotedEntity, isServerSide, filterElements, eagerLoad, logicalSearchOperator]);\n\n return (\n <AmbientGridTemplate\n useNewHeader\n api={gApi}\n onGridReady={gReady}\n columnApi={cApi}\n title={catalog?.name}\n data={!isServerSide && rowData}\n columnDefs={columnDefs}\n groupingData={groupData}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n frameworkComponents={frameworkComponents}\n hideSearchBar={isServerSide}\n loading={loading}\n suppressScrollOnNewData\n dynamicSizing={dynamicSizing ?? false}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n additionalGridOptions={additionalGridOptions}\n headerBackgroundColor={headerBackgroundColor}\n {...other}\n />\n );\n};\n"],"mappings":";;;;;;;;;AAGA,MAAa,mBAAmB,eAAe;CAC7C,MAAM,gBAAgB,aAAa,WAAW;AAC5C,SAAO,OAAO;IACb,EAAE,CAAC;AA+BN,QA7BmB,CACjB;EACE,YAAY;EACZ,OAAO;EACP,cAAc,WACZ,OAAO,MAAM,YAAY,eACzB,OAAO,MAAM,iBACb,iBAAiB,OAAO,MAAM,WAAW;EAC3C,UAAU;EACV,YAAY;EACZ,UAAU;EACX,EACD;EACE,YAAY;EACZ,QAAQ;EACR,QAAQ;EACR,cAAc;EAEd,OAAO;EACP,oBAAoB,EACN,YACb;EACD,aAAa;EACb,UAAU;EACV,cAAc;EACd,UAAU;EACV,WAAW;GAAE,SAAS;GAAQ,YAAY;GAAU;EACrD,CACF;;AAIH,MAAa,0BAA0B;CACrC,WAAW;CACX,UAAU;CACV,UAAU;CACV,QAAQ;CACR,gBAAgB;CAChB,gBAAgB;CACjB;;;;ACtCD,MAAa,kBAAkB,UAAU;CACvC,MAAM,EACJ,YACA,SACA,SACA,SACA,eAAe,OACf,gBACA,gBACA,kBACA,YAAY,OACZ,wBAAwB,GACxB,sBAAoB,EAAE,iBAAiB,iBAAiB,EACxD,uBACA,uBACA,KACA,WACA,WACA,cACA,GAAG,UACD;CACJ,MAAM,EAAE,SAAS,eAAe,gBAAgB,cAAc;CAC9D,MAAM,OAAO,OAAO;CACpB,MAAM,OAAO,aAAa;CAC1B,MAAM,SAAS,aAAa;CAC5B,MAAM,WAAW,qBAAqB;CACtC,MAAM,aAAa,oBAAoB,gBAAgB,WAAW;CAElE,MAAM,YAAY,cAAc;AAC9B,SAAO,YAAY,KAAK,SAAS;AAC/B,UAAO;IACL,WAAW,KAAK;IAChB,OAAO,KAAK;IACZ,OAAO,KAAK;IACb;IACD;IACD,CAAC,WAAW,CAAC;AAEhB,iBAAgB;AACd,MAAI,CAAC,KAAM;AACX,MAAI,kBAAkB,cAAc;GAClC,IAAI,aAAa,wBACf,MACA,gBAAgB,uBAAuB,aACvC,gBACA,uBACA,mBACA,MACA,MACA,UACD;AAED,SAAM,wBAAwB,WAAW;;IAE1C;EAAC;EAAM;EAAgB;EAAc;EAAgB;EAAW;EAAsB,CAAC;AAE1F,QACE,oCAAC;EACC;EACA,KAAK;EACL,aAAa;EACb,WAAW;EACX,OAAO,SAAS;EAChB,MAAM,CAAC,gBAAgB;EACX;EACZ,cAAc;EACd,QAAQ,gBAAgB,WAAW,UAAU,QAAQ;EAChC;EACrB,eAAe;EACN;EACT;EACA,eAAe,iBAAiB;EAChC,qBAAqB;EACrB,cAAc,eAAe,eAAe;EAC5C,qBAAqB,eAAe,YAAY;EAChD,mBAAmB,eAAe,IAAI;EACtC,gBAAgB,eAAe,KAAK;EACpC,iCAAiC,eAAe,IAAI;EAC7B;EACA;EACvB,GAAI;GACJ"}
1
+ {"version":3,"file":"TableContainer-CJFW0Teg.js","names":[],"sources":["../src/maintenanceEngine/tableBrowser/TableColumnDefs.js","../src/maintenanceEngine/tableBrowser/TableContainer.jsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\n\nexport const TableColumnDefs = (actionList) => {\n const getterRowData = useCallback((params) => {\n return params.data;\n }, []);\n\n const columnDefs = [\n {\n headerName: 'Name',\n field: 'entityName',\n valueGetter: (params) =>\n params.data?.properties?.displayName ||\n params.data?.sanitizedName ||\n getSanitizedName(params.data?.entityName),\n wrapText: true,\n autoHeight: false,\n sortable: false\n },\n {\n headerName: 'Actions',\n filter: false,\n pinned: 'right',\n cellRenderer: 'actionsRenderer',\n // minWidth: 50,\n width: 150,\n cellRendererParams: {\n actionList: actionList\n },\n valueGetter: getterRowData,\n maxWidth: 180,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n }\n ];\n return columnDefs;\n};\n\nexport const defaultColumnActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useEffect, useMemo } from 'react';\nimport { TableColumnDefs } from './TableColumnDefs';\nimport { AmbientGridTemplate } from '../../UI/templates/AmbientGridTemplate';\nimport { ActionsRenderer } from '../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useAgGridApi } from '../../utilities/aggrid/AgTable';\nimport { executeQueryAdHoc } from '../../udp/utilities/methodUtils';\nimport { SearchServiceDatasource } from '../../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useBuildEnvironment } from '../../shell/ui/EnvironmentRibbon';\n\nexport const TableContainer = (props) => {\n const {\n actionList,\n loading,\n rowData,\n catalog,\n isServerSide = false,\n promotedEntity,\n filterElements,\n customColumnDefs,\n eagerLoad = false,\n logicalSearchOperator = 1,\n frameworkComponents={ actionsRenderer: ActionsRenderer },\n additionalGridOptions,\n headerBackgroundColor,\n api,\n columnApi,\n gridReady,\n dynamicSizing,\n ...other\n } = props;\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const gApi = api || gridApi;\n const cApi = columnApi || gridColumnApi;\n const gReady = gridReady || onGridReady\n const buildEnv = useBuildEnvironment()\n const columnDefs = customColumnDefs || TableColumnDefs(actionList);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n useEffect(() => {\n if (!gApi) return;\n if (promotedEntity && isServerSide) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n filterElements,\n logicalSearchOperator,\n executeQueryAdHoc,\n null,\n null,\n eagerLoad\n );\n // eslint-disable-next-line no-unused-expressions\n gApi?.setServerSideDatasource(datasource);\n }\n }, [gApi, promotedEntity, isServerSide, filterElements, eagerLoad, logicalSearchOperator]);\n\n return (\n <AmbientGridTemplate\n useNewHeader\n api={gApi}\n onGridReady={gReady}\n columnApi={cApi}\n title={catalog?.name}\n data={!isServerSide && rowData}\n columnDefs={columnDefs}\n groupingData={groupData}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n frameworkComponents={frameworkComponents}\n hideSearchBar={isServerSide}\n loading={loading}\n suppressScrollOnNewData\n dynamicSizing={dynamicSizing ?? false}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n additionalGridOptions={additionalGridOptions}\n headerBackgroundColor={headerBackgroundColor}\n {...other}\n />\n );\n};\n"],"mappings":";;;;;;;;;AAGA,MAAa,mBAAmB,eAAe;CAC7C,MAAM,gBAAgB,aAAa,WAAW;AAC5C,SAAO,OAAO;IACb,EAAE,CAAC;AA+BN,QA7BmB,CACjB;EACE,YAAY;EACZ,OAAO;EACP,cAAc,WACZ,OAAO,MAAM,YAAY,eACzB,OAAO,MAAM,iBACb,iBAAiB,OAAO,MAAM,WAAW;EAC3C,UAAU;EACV,YAAY;EACZ,UAAU;EACX,EACD;EACE,YAAY;EACZ,QAAQ;EACR,QAAQ;EACR,cAAc;EAEd,OAAO;EACP,oBAAoB,EACN,YACb;EACD,aAAa;EACb,UAAU;EACV,cAAc;EACd,UAAU;EACV,WAAW;GAAE,SAAS;GAAQ,YAAY;GAAU;EACrD,CACF;;AAIH,MAAa,0BAA0B;CACrC,WAAW;CACX,UAAU;CACV,UAAU;CACV,QAAQ;CACR,gBAAgB;CAChB,gBAAgB;CACjB;;;;ACtCD,MAAa,kBAAkB,UAAU;CACvC,MAAM,EACJ,YACA,SACA,SACA,SACA,eAAe,OACf,gBACA,gBACA,kBACA,YAAY,OACZ,wBAAwB,GACxB,sBAAoB,EAAE,iBAAiB,iBAAiB,EACxD,uBACA,uBACA,KACA,WACA,WACA,cACA,GAAG,UACD;CACJ,MAAM,EAAE,SAAS,eAAe,gBAAgB,cAAc;CAC9D,MAAM,OAAO,OAAO;CACpB,MAAM,OAAO,aAAa;CAC1B,MAAM,SAAS,aAAa;CAC5B,MAAM,WAAW,qBAAqB;CACtC,MAAM,aAAa,oBAAoB,gBAAgB,WAAW;CAElE,MAAM,YAAY,cAAc;AAC9B,SAAO,YAAY,KAAK,SAAS;AAC/B,UAAO;IACL,WAAW,KAAK;IAChB,OAAO,KAAK;IACZ,OAAO,KAAK;IACb;IACD;IACD,CAAC,WAAW,CAAC;AAEhB,iBAAgB;AACd,MAAI,CAAC,KAAM;AACX,MAAI,kBAAkB,cAAc;GAClC,IAAI,aAAa,wBACf,MACA,gBAAgB,uBAAuB,aACvC,gBACA,uBACA,mBACA,MACA,MACA,UACD;AAED,SAAM,wBAAwB,WAAW;;IAE1C;EAAC;EAAM;EAAgB;EAAc;EAAgB;EAAW;EAAsB,CAAC;AAE1F,QACE,oCAAC;EACC;EACA,KAAK;EACL,aAAa;EACb,WAAW;EACX,OAAO,SAAS;EAChB,MAAM,CAAC,gBAAgB;EACX;EACZ,cAAc;EACd,QAAQ,gBAAgB,WAAW,UAAU,QAAQ;EAChC;EACrB,eAAe;EACN;EACT;EACA,eAAe,iBAAiB;EAChC,qBAAqB;EACrB,cAAc,eAAe,eAAe;EAC5C,qBAAqB,eAAe,YAAY;EAChD,mBAAmB,eAAe,IAAI;EACtC,gBAAgB,eAAe,KAAK;EACpC,iCAAiC,eAAe,IAAI;EAC7B;EACA;EACvB,GAAI;GACJ"}
@@ -1,5 +1,5 @@
1
1
  import { t as FluentIconButton } from "./FluentIconButton-AN9tZKVl.js";
2
- import { t as FluentInputSlider_default } from "./FluentInputSlider-GXgusPZa.js";
2
+ import { t as FluentInputSlider_default } from "./FluentInputSlider-BqI2PdVF.js";
3
3
  import React from "react";
4
4
  import { Card, CardContent, Chip, Divider, Paper, Typography, lighten, makeStyles, useTheme } from "@material-ui/core";
5
5
  import clsx from "clsx";
@@ -221,4 +221,4 @@ const TileDisplay = (props) => {
221
221
 
222
222
  //#endregion
223
223
  export { MapSheet as n, MapFilterBar as r, TileDisplay as t };
224
- //# sourceMappingURL=TileDisplay-Btcf3Wrm.js.map
224
+ //# sourceMappingURL=TileDisplay-DvHKTjpO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileDisplay-Btcf3Wrm.js","names":["useStyles","FluentInputSlider","useStyles","useStyles","FilterOptions","ControlZoom","useStyles"],"sources":["../src/map-library/ui/ControlZoom.jsx","../src/map-library/ui/FilterOptions.jsx","../src/map-library/ui/MapFilterBar.jsx","../src/map-library/ui/MapSheet.jsx","../src/map-library/ui/TileDisplay.jsx"],"sourcesContent":["import React from 'react'\nimport { makeStyles, Divider } from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport {\n ZoomInIcon,\n ZoomOutIcon,\n ZoomToFitIcon,\n ZoomIcon\n} from '@fluentui/react-icons'\nimport FluentInputSlider from '../../UI/inputs/sliders/FluentInputSlider'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nconst ControlZoom = (props) => {\n const {\n zoomIn,\n zoomOut,\n value,\n handleSliderChange,\n handleInputChange,\n handleBlur,\n reset\n } = props\n const classes = useStyles()\n return (\n <div className={classes.root}>\n <div>\n <FluentIconButton onClick={zoomIn} color='primary' icon={ZoomInIcon} />\n <FluentIconButton\n onClick={zoomOut}\n color='primary'\n icon={ZoomOutIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <FluentInputSlider\n value={value}\n handleSliderChange={handleSliderChange}\n handleInputChange={handleInputChange}\n handleBlur={handleBlur}\n input\n icon={ZoomIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <FluentIconButton\n onClick={reset}\n color='primary'\n icon={ZoomToFitIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n </div>\n )\n}\nexport default ControlZoom\n","import React from 'react'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport {\n AlertSolidIcon,\n HomeIcon,\n BoxMultiplySolidIcon\n} from '@fluentui/react-icons'\nimport { makeStyles, useTheme, lighten } from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nconst FilterOptions = (props) => {\n const classes = useStyles()\n const { showAlert, showHome, showMarker, toggleDisplayMarkers } = props\n const theme = useTheme()\n\n const inactive = lighten(theme.palette.common.black, 0.8)\n\n return (\n <div className={classes.root}>\n <FluentIconButton\n color='primary'\n icon={AlertSolidIcon}\n onClick={() => toggleDisplayMarkers('alert')}\n style={{\n color: showAlert ? theme.palette.error.main : inactive\n }}\n />\n <FluentIconButton\n color='primary'\n icon={HomeIcon}\n onClick={() => toggleDisplayMarkers('home')}\n style={{ color: showHome ? theme.palette.success.main : inactive }}\n />\n <FluentIconButton\n color='primary'\n icon={BoxMultiplySolidIcon}\n onClick={() => toggleDisplayMarkers('mark')}\n style={{ color: showMarker ? theme.palette.success.main : inactive }}\n />\n </div>\n )\n}\nexport default FilterOptions\n","import React from 'react'\nimport ControlZoom from './ControlZoom'\nimport { makeStyles, Divider } from '@material-ui/core'\nimport FilterOptions from './FilterOptions'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n filter: {\n display: 'flex',\n flex: 1\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nexport const MapFilterBar = (props) => {\n const classes = useStyles()\n\n const {\n showAlert,\n toggleDisplayMarkers,\n value,\n setZoom,\n handleSliderChange,\n handleInputChange,\n handleBlur,\n zoomIn,\n zoomOut,\n reset,\n showHome\n } = props\n\n return (\n <div className={classes.root}>\n <div className={classes.filter}>\n <FilterOptions\n showAlert={showAlert}\n showHome={showHome}\n toggleDisplayMarkers={toggleDisplayMarkers}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <ControlZoom\n zoomIn={zoomIn}\n zoomOut={zoomOut}\n value={value}\n setValue={setZoom}\n handleSliderChange={handleSliderChange}\n handleInputChange={handleInputChange}\n handleBlur={handleBlur}\n reset={reset}\n />\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { Paper, makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n position: 'absolute',\n zIndex: 9999,\n top: 50,\n right: 0\n },\n mapPage: {\n overflow: 'hidden'\n },\n collapsed: {\n width: 0,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n expanded: {\n width: 300,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.enteringScreen\n })\n },\n wrapper: {\n padding: theme.spacing(2)\n },\n sheetWrapper: {\n display: 'flex',\n flexDirection: 'row'\n },\n toggle: {\n padding: theme.spacing(1),\n background: theme.palette.common.white,\n height: theme.spacing(6)\n }\n}))\n\nexport const MapSheet = (props) => {\n const classes = useStyles()\n const { children, collapsed, toggle } = props\n\n return (\n <div\n className={clsx(\n classes.root,\n collapsed ? classes.collapsed : classes.expanded\n )}\n >\n <div className={classes.sheetWrapper}>\n <div className={classes.toggle}>\n <FluentIconButton\n className={classes.extendedButton}\n onClick={toggle}\n color='primary'\n icon={collapsed ? ChevronLeftIcon : ChevronRightIcon}\n />\n </div>\n <div>\n <Paper square>\n <div className={classes.wrapper}>{children}</div>\n </Paper>\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport {\n Card,\n Chip,\n CardContent,\n makeStyles,\n useTheme,\n lighten,\n Typography,\n Divider\n} from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { MapPinIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n fontWeight: 700\n },\n titleWrapper: {\n marginBottom: theme.spacing(1)\n },\n divider: {\n // marginBottom: theme.spacing(2),\n },\n body: {\n color: lighten(theme.palette.common.black, 0.5)\n },\n actions: {\n marginTop: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row'\n },\n qty: {\n marginLeft: theme.spacing(1)\n }\n}))\n\nexport const TileDisplay = (props) => {\n const { title, body, selected } = props\n const classes = useStyles()\n const qty = Math.floor(Math.random() * 10) + 1\n const theme = useTheme()\n\n const Indicator = () => {\n return (\n <svg width='15' height='10'>\n <circle cx='70%' cy='50%' r='4' fill={theme.palette.success.main} />\n </svg>\n )\n }\n\n return (\n <div>\n <Card\n square\n elevation={0}\n className={classes.root}\n style={{\n background: selected && lighten(theme.palette.secondary.main, 0.9)\n }}\n >\n <CardContent>\n <div className={classes.root}>\n <div>\n <div className={classes.titleWrapper}>\n <Typography className={classes.title} variant='subtitle'>\n {title}\n </Typography>\n </div>\n <div>\n <Typography className={classes.body} variant='caption'>\n {body}\n </Typography>\n </div>\n </div>\n <div>\n <FluentIconButton color='primary' icon={MapPinIcon} />\n </div>\n </div>\n\n <div className={classes.actions}>\n <div>\n <Chip\n variant='outlined'\n size='small'\n label='Active'\n icon={<Indicator />}\n />\n </div>\n <div className={classes.qty}>\n <Chip variant='outlined' size='small' label={`Qty:${qty}`} />\n </div>\n </div>\n </CardContent>\n </Card>\n <div>\n <Divider />\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TileDisplay-DvHKTjpO.js","names":["useStyles","FluentInputSlider","useStyles","useStyles","FilterOptions","ControlZoom","useStyles"],"sources":["../src/map-library/ui/ControlZoom.jsx","../src/map-library/ui/FilterOptions.jsx","../src/map-library/ui/MapFilterBar.jsx","../src/map-library/ui/MapSheet.jsx","../src/map-library/ui/TileDisplay.jsx"],"sourcesContent":["import React from 'react'\nimport { makeStyles, Divider } from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport {\n ZoomInIcon,\n ZoomOutIcon,\n ZoomToFitIcon,\n ZoomIcon\n} from '@fluentui/react-icons'\nimport FluentInputSlider from '../../UI/inputs/sliders/FluentInputSlider'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nconst ControlZoom = (props) => {\n const {\n zoomIn,\n zoomOut,\n value,\n handleSliderChange,\n handleInputChange,\n handleBlur,\n reset\n } = props\n const classes = useStyles()\n return (\n <div className={classes.root}>\n <div>\n <FluentIconButton onClick={zoomIn} color='primary' icon={ZoomInIcon} />\n <FluentIconButton\n onClick={zoomOut}\n color='primary'\n icon={ZoomOutIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <FluentInputSlider\n value={value}\n handleSliderChange={handleSliderChange}\n handleInputChange={handleInputChange}\n handleBlur={handleBlur}\n input\n icon={ZoomIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <FluentIconButton\n onClick={reset}\n color='primary'\n icon={ZoomToFitIcon}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n </div>\n )\n}\nexport default ControlZoom\n","import React from 'react'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport {\n AlertSolidIcon,\n HomeIcon,\n BoxMultiplySolidIcon\n} from '@fluentui/react-icons'\nimport { makeStyles, useTheme, lighten } from '@material-ui/core'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nconst FilterOptions = (props) => {\n const classes = useStyles()\n const { showAlert, showHome, showMarker, toggleDisplayMarkers } = props\n const theme = useTheme()\n\n const inactive = lighten(theme.palette.common.black, 0.8)\n\n return (\n <div className={classes.root}>\n <FluentIconButton\n color='primary'\n icon={AlertSolidIcon}\n onClick={() => toggleDisplayMarkers('alert')}\n style={{\n color: showAlert ? theme.palette.error.main : inactive\n }}\n />\n <FluentIconButton\n color='primary'\n icon={HomeIcon}\n onClick={() => toggleDisplayMarkers('home')}\n style={{ color: showHome ? theme.palette.success.main : inactive }}\n />\n <FluentIconButton\n color='primary'\n icon={BoxMultiplySolidIcon}\n onClick={() => toggleDisplayMarkers('mark')}\n style={{ color: showMarker ? theme.palette.success.main : inactive }}\n />\n </div>\n )\n}\nexport default FilterOptions\n","import React from 'react'\nimport ControlZoom from './ControlZoom'\nimport { makeStyles, Divider } from '@material-ui/core'\nimport FilterOptions from './FilterOptions'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n filter: {\n display: 'flex',\n flex: 1\n },\n divider: {\n marginRight: theme.spacing(2),\n marginLeft: theme.spacing(2)\n }\n}))\n\nexport const MapFilterBar = (props) => {\n const classes = useStyles()\n\n const {\n showAlert,\n toggleDisplayMarkers,\n value,\n setZoom,\n handleSliderChange,\n handleInputChange,\n handleBlur,\n zoomIn,\n zoomOut,\n reset,\n showHome\n } = props\n\n return (\n <div className={classes.root}>\n <div className={classes.filter}>\n <FilterOptions\n showAlert={showAlert}\n showHome={showHome}\n toggleDisplayMarkers={toggleDisplayMarkers}\n />\n </div>\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n\n <div className={classes.divider}>\n <Divider orientation='vertical' />\n </div>\n <div>\n <ControlZoom\n zoomIn={zoomIn}\n zoomOut={zoomOut}\n value={value}\n setValue={setZoom}\n handleSliderChange={handleSliderChange}\n handleInputChange={handleInputChange}\n handleBlur={handleBlur}\n reset={reset}\n />\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport { Paper, makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n position: 'absolute',\n zIndex: 9999,\n top: 50,\n right: 0\n },\n mapPage: {\n overflow: 'hidden'\n },\n collapsed: {\n width: 0,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n expanded: {\n width: 300,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.enteringScreen\n })\n },\n wrapper: {\n padding: theme.spacing(2)\n },\n sheetWrapper: {\n display: 'flex',\n flexDirection: 'row'\n },\n toggle: {\n padding: theme.spacing(1),\n background: theme.palette.common.white,\n height: theme.spacing(6)\n }\n}))\n\nexport const MapSheet = (props) => {\n const classes = useStyles()\n const { children, collapsed, toggle } = props\n\n return (\n <div\n className={clsx(\n classes.root,\n collapsed ? classes.collapsed : classes.expanded\n )}\n >\n <div className={classes.sheetWrapper}>\n <div className={classes.toggle}>\n <FluentIconButton\n className={classes.extendedButton}\n onClick={toggle}\n color='primary'\n icon={collapsed ? ChevronLeftIcon : ChevronRightIcon}\n />\n </div>\n <div>\n <Paper square>\n <div className={classes.wrapper}>{children}</div>\n </Paper>\n </div>\n </div>\n </div>\n )\n}\n","import React from 'react'\nimport {\n Card,\n Chip,\n CardContent,\n makeStyles,\n useTheme,\n lighten,\n Typography,\n Divider\n} from '@material-ui/core'\nimport { FluentIconButton } from '../../UI/inputs/buttons/FluentIconButton'\nimport { MapPinIcon } from '@fluentui/react-icons'\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n fontWeight: 700\n },\n titleWrapper: {\n marginBottom: theme.spacing(1)\n },\n divider: {\n // marginBottom: theme.spacing(2),\n },\n body: {\n color: lighten(theme.palette.common.black, 0.5)\n },\n actions: {\n marginTop: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row'\n },\n qty: {\n marginLeft: theme.spacing(1)\n }\n}))\n\nexport const TileDisplay = (props) => {\n const { title, body, selected } = props\n const classes = useStyles()\n const qty = Math.floor(Math.random() * 10) + 1\n const theme = useTheme()\n\n const Indicator = () => {\n return (\n <svg width='15' height='10'>\n <circle cx='70%' cy='50%' r='4' fill={theme.palette.success.main} />\n </svg>\n )\n }\n\n return (\n <div>\n <Card\n square\n elevation={0}\n className={classes.root}\n style={{\n background: selected && lighten(theme.palette.secondary.main, 0.9)\n }}\n >\n <CardContent>\n <div className={classes.root}>\n <div>\n <div className={classes.titleWrapper}>\n <Typography className={classes.title} variant='subtitle'>\n {title}\n </Typography>\n </div>\n <div>\n <Typography className={classes.body} variant='caption'>\n {body}\n </Typography>\n </div>\n </div>\n <div>\n <FluentIconButton color='primary' icon={MapPinIcon} />\n </div>\n </div>\n\n <div className={classes.actions}>\n <div>\n <Chip\n variant='outlined'\n size='small'\n label='Active'\n icon={<Indicator />}\n />\n </div>\n <div className={classes.qty}>\n <Chip variant='outlined' size='small' label={`Qty:${qty}`} />\n </div>\n </div>\n </CardContent>\n </Card>\n <div>\n <Divider />\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as MapContext_default } from "./MapContext-DMHlc2jW.js";
1
+ import { t as MapContext_default } from "./MapContext-BmClJmMl.js";
2
2
  import React, { useContext, useEffect } from "react";
3
3
  import OLTileLayer from "ol/layer/Tile";
4
4
 
@@ -28,4 +28,4 @@ const TileLayer = ({ source, zIndex = 0 }) => {
28
28
 
29
29
  //#endregion
30
30
  export { Layers as n, TileLayer as t };
31
- //# sourceMappingURL=TileLayer-Ckm0zl4x.js.map
31
+ //# sourceMappingURL=TileLayer-D3RksO00.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileLayer-Ckm0zl4x.js","names":["MapContext"],"sources":["../src/maps/openLayerMaps/Layers/Layers.jsx","../src/maps/openLayerMaps/Layers/TileLayer.js"],"sourcesContent":["import React from 'react'\n\nexport const Layers = ({ children }) => {\n return <div>{children}</div>\n}\n","import { useContext, useEffect } from 'react'\nimport MapContext from '../Map/MapContext'\nimport OLTileLayer from 'ol/layer/Tile'\n\nexport const TileLayer = ({ source, zIndex = 0 }) => {\n const { map } = useContext(MapContext)\n\n useEffect(() => {\n if (!map) return\n\n const tileLayer = new OLTileLayer({\n source,\n zIndex\n })\n\n map.addLayer(tileLayer)\n tileLayer.setZIndex(zIndex)\n\n return () => {\n if (map) {\n map.removeLayer(tileLayer)\n }\n }\n }, [map, source])\n\n return null\n}\n"],"mappings":";;;;;AAEA,MAAa,UAAU,EAAE,eAAe;AACtC,QAAO,oCAAC,aAAK,SAAe;;;;;ACC9B,MAAa,aAAa,EAAE,QAAQ,SAAS,QAAQ;CACnD,MAAM,EAAE,QAAQ,WAAWA,mBAAW;AAEtC,iBAAgB;AACd,MAAI,CAAC,IAAK;EAEV,MAAM,YAAY,IAAI,YAAY;GAChC;GACA;GACD,CAAC;AAEF,MAAI,SAAS,UAAU;AACvB,YAAU,UAAU,OAAO;AAE3B,eAAa;AACX,OAAI,IACF,KAAI,YAAY,UAAU;;IAG7B,CAAC,KAAK,OAAO,CAAC;AAEjB,QAAO"}
1
+ {"version":3,"file":"TileLayer-D3RksO00.js","names":["MapContext"],"sources":["../src/maps/openLayerMaps/Layers/Layers.jsx","../src/maps/openLayerMaps/Layers/TileLayer.js"],"sourcesContent":["import React from 'react'\n\nexport const Layers = ({ children }) => {\n return <div>{children}</div>\n}\n","import { useContext, useEffect } from 'react'\nimport MapContext from '../Map/MapContext'\nimport OLTileLayer from 'ol/layer/Tile'\n\nexport const TileLayer = ({ source, zIndex = 0 }) => {\n const { map } = useContext(MapContext)\n\n useEffect(() => {\n if (!map) return\n\n const tileLayer = new OLTileLayer({\n source,\n zIndex\n })\n\n map.addLayer(tileLayer)\n tileLayer.setZIndex(zIndex)\n\n return () => {\n if (map) {\n map.removeLayer(tileLayer)\n }\n }\n }, [map, source])\n\n return null\n}\n"],"mappings":";;;;;AAEA,MAAa,UAAU,EAAE,eAAe;AACtC,QAAO,oCAAC,aAAK,SAAe;;;;;ACC9B,MAAa,aAAa,EAAE,QAAQ,SAAS,QAAQ;CACnD,MAAM,EAAE,QAAQ,WAAWA,mBAAW;AAEtC,iBAAgB;AACd,MAAI,CAAC,IAAK;EAEV,MAAM,YAAY,IAAI,YAAY;GAChC;GACA;GACD,CAAC;AAEF,MAAI,SAAS,UAAU;AACvB,YAAU,UAAU,OAAO;AAE3B,eAAa;AACX,OAAI,IACF,KAAI,YAAY,UAAU;;IAG7B,CAAC,KAAK,OAAO,CAAC;AAEjB,QAAO"}