udp-react-enterprise-component-library 25.16.2-beta.2 → 25.16.2-beta.4
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.
- package/dist/{ActionLoadingContext-DxqZH8--.js → ActionLoadingContext-DVpCwfbg.js} +1 -1
- package/dist/{ActionLoadingContext-DxqZH8--.js.map → ActionLoadingContext-DVpCwfbg.js.map} +1 -1
- package/dist/{ActionProvider-BiNM-ubX.js → ActionProvider-BX693NQ_.js} +5 -5
- package/dist/{ActionProvider-BiNM-ubX.js.map → ActionProvider-BX693NQ_.js.map} +1 -1
- package/dist/{AmbientAutoComplete-09VfbDE4.js → AmbientAutoComplete-J8PArVAs.js} +3 -2
- package/dist/AmbientAutoComplete-J8PArVAs.js.map +1 -0
- package/dist/{AppMenu-DzMsTuWv.js → AppMenu-CEp4BrdJ.js} +2 -2
- package/dist/{AppMenu-DzMsTuWv.js.map → AppMenu-CEp4BrdJ.js.map} +1 -1
- package/dist/{BaseTreeMenu-DkcHI-BC.js → BaseTreeMenu-CN_g4GEm.js} +1 -1
- package/dist/{BaseTreeMenu-DkcHI-BC.js.map → BaseTreeMenu-CN_g4GEm.js.map} +1 -1
- package/dist/{BreadCrumbMenu-BxpMqfvj.js → BreadCrumbMenu-RkiR54r9.js} +1 -1
- package/dist/{BreadCrumbMenu-BxpMqfvj.js.map → BreadCrumbMenu-RkiR54r9.js.map} +1 -1
- package/dist/{CatalogUtilities-Cm2RALT1.js → CatalogUtilities-CgNFjItY.js} +1 -1
- package/dist/{CatalogUtilities-Cm2RALT1.js.map → CatalogUtilities-CgNFjItY.js.map} +1 -1
- package/dist/{ChatBotProvider-BE_DhBqN.js → ChatBotProvider-ZTkBY_Lp.js} +1 -1
- package/dist/{ChatBotProvider-BE_DhBqN.js.map → ChatBotProvider-ZTkBY_Lp.js.map} +1 -1
- package/dist/{CircularProgress-CSGPlrG_.js → CircularProgress-CGB2A7S2.js} +1 -1
- package/dist/{CircularProgress-CSGPlrG_.js.map → CircularProgress-CGB2A7S2.js.map} +1 -1
- package/dist/{Controls-CHns-SHo.js → Controls-B0ogviQm.js} +2 -2
- package/dist/{Controls-CHns-SHo.js.map → Controls-B0ogviQm.js.map} +1 -1
- package/dist/{CrudBrowserContainer-BCn9YKhz.js → CrudBrowserContainer-CwD2cxD0.js} +3 -3
- package/dist/{CrudBrowserContainer-BCn9YKhz.js.map → CrudBrowserContainer-CwD2cxD0.js.map} +1 -1
- package/dist/{CrudForm-Bb9BvEVm.js → CrudForm-CN5vjshw.js} +3 -3
- package/dist/{CrudForm-Bb9BvEVm.js.map → CrudForm-CN5vjshw.js.map} +1 -1
- package/dist/{CrudTableSidePanel-Cwd9NuYq.js → CrudTableSidePanel-DBg4P_v7.js} +2 -2
- package/dist/{CrudTableSidePanel-Cwd9NuYq.js.map → CrudTableSidePanel-DBg4P_v7.js.map} +1 -1
- package/dist/{DataBrowserContainer-CwyuvRqK.js → DataBrowserContainer-CMCGX613.js} +3 -3
- package/dist/{DataBrowserContainer-CwyuvRqK.js.map → DataBrowserContainer-CMCGX613.js.map} +1 -1
- package/dist/{DragDropFileUpload-CVmPVcA5.js → DragDropFileUpload-D1ihiCC2.js} +2 -2
- package/dist/{DragDropFileUpload-CVmPVcA5.js.map → DragDropFileUpload-D1ihiCC2.js.map} +1 -1
- package/dist/{EmailDisplay-BEV_maxX.js → EmailDisplay-CpnpgDOC.js} +1 -1
- package/dist/{EmailDisplay-BEV_maxX.js.map → EmailDisplay-CpnpgDOC.js.map} +1 -1
- package/dist/{ExportSidesheet-J4UlfjNv.js → ExportSidesheet-JSM9EoLc.js} +2 -2
- package/dist/{ExportSidesheet-J4UlfjNv.js.map → ExportSidesheet-JSM9EoLc.js.map} +1 -1
- package/dist/{ExternalRedirectUrlStorage-CpypX4nx.js → ExternalRedirectUrlStorage-Bbj9JzIW.js} +1 -1
- package/dist/{ExternalRedirectUrlStorage-CpypX4nx.js.map → ExternalRedirectUrlStorage-Bbj9JzIW.js.map} +1 -1
- package/dist/{FUIAppSwitcher-Cjr-UgW4.js → FUIAppSwitcher-u6lx2hy2.js} +3 -3
- package/dist/{FUIAppSwitcher-Cjr-UgW4.js.map → FUIAppSwitcher-u6lx2hy2.js.map} +1 -1
- package/dist/{FieldArrayCard-L1-QJjiY.js → FieldArrayCard-lEUXQyMD.js} +2 -2
- package/dist/{FieldArrayCard-L1-QJjiY.js.map → FieldArrayCard-lEUXQyMD.js.map} +1 -1
- package/dist/{FluentInputSlider-GXgusPZa.js → FluentInputSlider-BqI2PdVF.js} +1 -1
- package/dist/{FluentInputSlider-GXgusPZa.js.map → FluentInputSlider-BqI2PdVF.js.map} +1 -1
- package/dist/{FluentMap-CAhZE-7q.js → FluentMap-BPiZxyEZ.js} +2 -2
- package/dist/{FluentMap-CAhZE-7q.js.map → FluentMap-BPiZxyEZ.js.map} +1 -1
- package/dist/{FluentProfileMenuCard-CZ00DNnC.js → FluentProfileMenuCard-3lEpSHmy.js} +9 -9
- package/dist/{FluentProfileMenuCard-CZ00DNnC.js.map → FluentProfileMenuCard-3lEpSHmy.js.map} +1 -1
- package/dist/{FluentSimpleSelect-B3vzgEP5.js → FluentSimpleSelect-I2CtivEs.js} +2 -2
- package/dist/{FluentSimpleSelect-B3vzgEP5.js.map → FluentSimpleSelect-I2CtivEs.js.map} +1 -1
- package/dist/{FluentTextField-CgQcsDtq.js → FluentTextField-CPpViNni.js} +1 -1
- package/dist/{FluentTextField-CgQcsDtq.js.map → FluentTextField-CPpViNni.js.map} +1 -1
- package/dist/{GeoLocation-CpjesoCi.js → GeoLocation-BaD7pKM9.js} +2 -2
- package/dist/{GeoLocation-CpjesoCi.js.map → GeoLocation-BaD7pKM9.js.map} +1 -1
- package/dist/{GeoMap-CW3Pgzvz.js → GeoMap-BZDwrLIm.js} +6 -6
- package/dist/{GeoMap-CW3Pgzvz.js.map → GeoMap-BZDwrLIm.js.map} +1 -1
- package/dist/{GridRow-CfCj0Upc.js → GridRow-KktUKRX-.js} +1 -1
- package/dist/{GridRow-CfCj0Upc.js.map → GridRow-KktUKRX-.js.map} +1 -1
- package/dist/{ImportDataFromFileMapping-BG9XyC8n.js → ImportDataFromFileMapping-DRdpqXNn.js} +3 -3
- package/dist/{ImportDataFromFileMapping-BG9XyC8n.js.map → ImportDataFromFileMapping-DRdpqXNn.js.map} +1 -1
- package/dist/{InquiryHeaderControl-BCiMFs_v.js → InquiryHeaderControl-DClEzP6_.js} +1 -1
- package/dist/{InquiryHeaderControl-BCiMFs_v.js.map → InquiryHeaderControl-DClEzP6_.js.map} +1 -1
- package/dist/{KeyValueTextField-B2h4ugP1.js → KeyValueTextField-YjvoszxB.js} +2 -2
- package/dist/{KeyValueTextField-B2h4ugP1.js.map → KeyValueTextField-YjvoszxB.js.map} +1 -1
- package/dist/{LinearProgress-BiBVB7Dw.js → LinearProgress-DvXOb1Ck.js} +1 -1
- package/dist/{LinearProgress-BiBVB7Dw.js.map → LinearProgress-DvXOb1Ck.js.map} +1 -1
- package/dist/{LoadingOverlay-DMaSZ_lL.js → LoadingOverlay-DC798-1h.js} +1 -1
- package/dist/{LoadingOverlay-DMaSZ_lL.js.map → LoadingOverlay-DC798-1h.js.map} +1 -1
- package/dist/{LocalRedirectUrlStorage-BY-L7N4U.js → LocalRedirectUrlStorage-CRvlUZw0.js} +1 -1
- package/dist/{LocalRedirectUrlStorage-BY-L7N4U.js.map → LocalRedirectUrlStorage-CRvlUZw0.js.map} +1 -1
- package/dist/{Map-D2_8ACTx.js → Map-B_ESwi9p.js} +2 -2
- package/dist/{Map-D2_8ACTx.js.map → Map-B_ESwi9p.js.map} +1 -1
- package/dist/{Map-ChRg-LpE.js → Map-DWXcBhH1.js} +4 -4
- package/dist/{Map-ChRg-LpE.js.map → Map-DWXcBhH1.js.map} +1 -1
- package/dist/{MapContent-CM4jG7Cx.js → MapContent-CTPX858a.js} +1 -1
- package/dist/{MapContent-CM4jG7Cx.js.map → MapContent-CTPX858a.js.map} +1 -1
- package/dist/{MapContext-DMHlc2jW.js → MapContext-BmClJmMl.js} +1 -1
- package/dist/{MapContext-DMHlc2jW.js.map → MapContext-BmClJmMl.js.map} +1 -1
- package/dist/{MapContext-DyuJF6vT.js → MapContext-C0QCTK9-.js} +1 -1
- package/dist/{MapContext-DyuJF6vT.js.map → MapContext-C0QCTK9-.js.map} +1 -1
- package/dist/{MapControlsStandard-DB_YFXNg.js → MapControlsStandard-CKhBcU2K.js} +2 -2
- package/dist/{MapControlsStandard-DB_YFXNg.js.map → MapControlsStandard-CKhBcU2K.js.map} +1 -1
- package/dist/{MenuPage-Ci8NbB6g.js → MenuPage-0dfmiHLT.js} +4 -4
- package/dist/{MenuPage-CcKJfqJ-.js → MenuPage-BnjXs_I5.js} +3 -3
- package/dist/{MenuPage-CcKJfqJ-.js.map → MenuPage-BnjXs_I5.js.map} +1 -1
- package/dist/{MyExportsPage-BcWRfSLn.js → MyExportsPage-DoCWrkNv.js} +4 -4
- package/dist/{MyExportsPage-CRhaN5IG.js → MyExportsPage-lei8IuBA.js} +3 -3
- package/dist/{MyExportsPage-CRhaN5IG.js.map → MyExportsPage-lei8IuBA.js.map} +1 -1
- package/dist/{PageActionWrapper-BLi6xXdd.js → PageActionWrapper-CLLGHLUx.js} +2 -2
- package/dist/{PageActionWrapper-BLi6xXdd.js.map → PageActionWrapper-CLLGHLUx.js.map} +1 -1
- package/dist/{PageLoading-DflvopNL.js → PageLoading-CE6S65Ww.js} +1 -1
- package/dist/{PageLoading-DflvopNL.js.map → PageLoading-CE6S65Ww.js.map} +1 -1
- package/dist/{PageNotFoundRoute-CZArnjgk.js → PageNotFoundRoute-Cw7o-U9o.js} +2 -2
- package/dist/{PageNotFoundRoute-BbN60Viu.js → PageNotFoundRoute-Dzo6_TFT.js} +2 -2
- package/dist/{PageNotFoundRoute-BbN60Viu.js.map → PageNotFoundRoute-Dzo6_TFT.js.map} +1 -1
- package/dist/{PageSectionSpacer-BrUQDVvj.js → PageSectionSpacer-8DZPMnIx.js} +1 -1
- package/dist/{PageSectionSpacer-BrUQDVvj.js.map → PageSectionSpacer-8DZPMnIx.js.map} +1 -1
- package/dist/{PageStatus-DBJUjhU1.js → PageStatus-moFTkRZx.js} +1 -1
- package/dist/{PageStatus-DBJUjhU1.js.map → PageStatus-moFTkRZx.js.map} +1 -1
- package/dist/{PageSubHeaderAction-P5JNbI1r.js → PageSubHeaderAction-PjiQrg61.js} +1 -1
- package/dist/{PageSubHeaderAction-P5JNbI1r.js.map → PageSubHeaderAction-PjiQrg61.js.map} +1 -1
- package/dist/{PasswordResetRedirect-DPc0VUWd.js → PasswordResetRedirect-CgIwYhcb.js} +2 -2
- package/dist/{PasswordResetRedirect-BLo-YFvK.js → PasswordResetRedirect-Cvhj2vjU.js} +2 -2
- package/dist/{PasswordResetRedirect-BLo-YFvK.js.map → PasswordResetRedirect-Cvhj2vjU.js.map} +1 -1
- package/dist/{PowerBIReport-DoNECBnv.js → PowerBIReport-DWt7IHNZ.js} +3 -3
- package/dist/{PowerBIReport-DoNECBnv.js.map → PowerBIReport-DWt7IHNZ.js.map} +1 -1
- package/dist/{RejectIcon-C4cwL2EM.js → RejectIcon-IOZLOqY3.js} +1 -1
- package/dist/{RejectIcon-C4cwL2EM.js.map → RejectIcon-IOZLOqY3.js.map} +1 -1
- package/dist/{SearchMethodUdpGrid-DUklUn5Q.js → SearchMethodUdpGrid-DO52Bj_B.js} +1 -1
- package/dist/{SearchMethodUdpGrid-DUklUn5Q.js.map → SearchMethodUdpGrid-DO52Bj_B.js.map} +1 -1
- package/dist/{SearchServiceDatasource-CE-VlvY1.js → SearchServiceDatasource-DofS4I45.js} +1 -1
- package/dist/{SearchServiceDatasource-CE-VlvY1.js.map → SearchServiceDatasource-DofS4I45.js.map} +1 -1
- package/dist/{Shell-B0HzAa4L.js → Shell-Clp49hyi.js} +9 -9
- package/dist/{Shell-B0HzAa4L.js.map → Shell-Clp49hyi.js.map} +1 -1
- package/dist/{SideBarTemplate-DQnJKwXP.js → SideBarTemplate-DKYcwE38.js} +2 -2
- package/dist/{SideBarTemplate-DQnJKwXP.js.map → SideBarTemplate-DKYcwE38.js.map} +1 -1
- package/dist/{Source-BOqgbkAn.js → Source-C21-iTa_.js} +1 -1
- package/dist/{Source-BOqgbkAn.js.map → Source-C21-iTa_.js.map} +1 -1
- package/dist/{SubHeaderAction-DTDxR5S1.js → SubHeaderAction-F_GKrUBX.js} +1 -1
- package/dist/{SubHeaderAction-DTDxR5S1.js.map → SubHeaderAction-F_GKrUBX.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-D48N1B5u.js → SupportCaseSideSheet-B5a-_ehT.js} +4 -4
- package/dist/{SupportCaseSideSheet-D48N1B5u.js.map → SupportCaseSideSheet-B5a-_ehT.js.map} +1 -1
- package/dist/{TableContainer-CjJCsvvs.js → TableContainer-CJFW0Teg.js} +2 -2
- package/dist/{TableContainer-CjJCsvvs.js.map → TableContainer-CJFW0Teg.js.map} +1 -1
- package/dist/{TileDisplay-Btcf3Wrm.js → TileDisplay-DvHKTjpO.js} +2 -2
- package/dist/{TileDisplay-Btcf3Wrm.js.map → TileDisplay-DvHKTjpO.js.map} +1 -1
- package/dist/{TileLayer-Ckm0zl4x.js → TileLayer-D3RksO00.js} +2 -2
- package/dist/{TileLayer-Ckm0zl4x.js.map → TileLayer-D3RksO00.js.map} +1 -1
- package/dist/UI/components/dataDisplay/index.js +1 -1
- package/dist/UI/components/index.js +1 -1
- package/dist/UI/dataDisplay/cardList/index.js +2 -2
- package/dist/UI/dataDisplay/index.js +2 -2
- package/dist/UI/feedback/index.js +1 -1
- package/dist/UI/fileViewer/index.js +2 -2
- package/dist/UI/floorplans/index.js +2 -2
- package/dist/UI/forms/index.js +6 -6
- package/dist/UI/index.js +30 -30
- package/dist/UI/inputs/fieldArrayCard/index.js +2 -2
- package/dist/UI/inputs/link/index.js +1 -1
- package/dist/UI/inputs/menus/index.js +2 -2
- package/dist/UI/inputs/sliders/index.js +1 -1
- package/dist/UI/inputs/textField/index.js +3 -3
- package/dist/UI/loading/index.js +3 -3
- package/dist/UI/mapLayout/index.js +4 -4
- package/dist/UI/navigation/index.js +2 -2
- package/dist/UI/navigation/menus/index.js +2 -2
- package/dist/UI/support/index.js +5 -5
- package/dist/UI/templates/index.js +5 -5
- package/dist/UI/templates/newGrid/index.js +4 -4
- package/dist/UI/utilityDisplay/index.js +5 -5
- package/dist/{UdpMaintenanceConfigPage-DdfyBkU_.js → UdpMaintenanceConfigPage-BcCKx7BV.js} +3 -3
- package/dist/{UdpMaintenanceConfigPage-BcGLnZst.js → UdpMaintenanceConfigPage-O7UcWFPr.js} +3 -3
- package/dist/{UdpMaintenanceConfigPage-BcGLnZst.js.map → UdpMaintenanceConfigPage-O7UcWFPr.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-BPXeLhFN.js → UdpMaintenanceEnginePage-COO3GwG9.js} +31 -5
- package/dist/UdpMaintenanceEnginePage-COO3GwG9.js.map +1 -0
- package/dist/UdpMaintenanceEnginePage-pzq1GqGZ.js +131 -0
- package/dist/{UdpRoutes-B4nogDAu.js → UdpRoutes-VUrO9k-C.js} +46 -14
- package/dist/UdpRoutes-VUrO9k-C.js.map +1 -0
- package/dist/{UserFormSideSheet-DpO8GKQO.js → UserFormSideSheet-CpeyFv3r.js} +1 -1
- package/dist/{UserFormSideSheet-DpO8GKQO.js.map → UserFormSideSheet-CpeyFv3r.js.map} +1 -1
- package/dist/{UtilityBar-XWmjM6xO.js → UtilityBar-CyUTKcIa.js} +3 -3
- package/dist/{UtilityBar-XWmjM6xO.js.map → UtilityBar-CyUTKcIa.js.map} +1 -1
- package/dist/{UtilityBarInport-Dei5BcYo.js → UtilityBarInport-BK2d93K5.js} +1 -1
- package/dist/{UtilityBarInport-Dei5BcYo.js.map → UtilityBarInport-BK2d93K5.js.map} +1 -1
- package/dist/{UtilitySideBar-CTYzpnie.js → UtilitySideBar-BTwLKDoy.js} +2 -2
- package/dist/{UtilitySideBar-CTYzpnie.js.map → UtilitySideBar-BTwLKDoy.js.map} +1 -1
- package/dist/{VectorLayer-lxWaAEEB.js → VectorLayer-DhNuJLQ_.js} +2 -2
- package/dist/{VectorLayer-lxWaAEEB.js.map → VectorLayer-DhNuJLQ_.js.map} +1 -1
- package/dist/{VirtualBrowser-BcE288WI.js → VirtualBrowser-B9Hi3Ns8.js} +1 -1
- package/dist/{VirtualBrowser-MrJ2WyXZ.js → VirtualBrowser-DitDAizB.js} +1 -1
- package/dist/{VirtualBrowser-MrJ2WyXZ.js.map → VirtualBrowser-DitDAizB.js.map} +1 -1
- package/dist/{WorkflowContainer-6pvb3tjn.js → WorkflowContainer-6vFVCbss.js} +5 -5
- package/dist/{WorkflowContainer-6pvb3tjn.js.map → WorkflowContainer-6vFVCbss.js.map} +1 -1
- package/dist/{WorkflowContainer-CJ6gQNV-.js → WorkflowContainer-VHsUGDIl.js} +12 -12
- package/dist/{WorkflowContent-B4na5XXv.js → WorkflowContent-DN9BPOCP.js} +7 -7
- package/dist/{WorkflowContent-B4na5XXv.js.map → WorkflowContent-DN9BPOCP.js.map} +1 -1
- package/dist/{WorkflowTaskFlow-Cb1JZOU2.js → WorkflowTaskFlow-B067pxDZ.js} +1 -1
- package/dist/{WorkflowTaskFlow-Cb1JZOU2.js.map → WorkflowTaskFlow-B067pxDZ.js.map} +1 -1
- package/dist/{WorkflowTreeMenu-CoDNDQxm.js → WorkflowTreeMenu-pXKq9TyH.js} +1 -1
- package/dist/{WorkflowTreeMenu-CoDNDQxm.js.map → WorkflowTreeMenu-pXKq9TyH.js.map} +1 -1
- package/dist/{ZoomControl-BQ6aV6cO.js → ZoomControl-BTO3raDM.js} +2 -2
- package/dist/{ZoomControl-BQ6aV6cO.js.map → ZoomControl-BTO3raDM.js.map} +1 -1
- package/dist/actions/index.js +4 -4
- package/dist/actions/sidebar/index.js +1 -1
- package/dist/actions/utils/index.js +1 -1
- package/dist/{cardList-CEQIqKIS.js → cardList-xcTEI1o0.js} +2 -2
- package/dist/{cardList-CEQIqKIS.js.map → cardList-xcTEI1o0.js.map} +1 -1
- package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/index.js +5 -5
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/index.js +2 -2
- package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
- package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
- package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
- package/dist/componentSystems/pageRenderer/index.js +4 -4
- package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
- package/dist/contexts/index.js +1 -1
- package/dist/{RecentlyLoadedNodesTable-DnBy6AEU.js → dashboard-BE80OHJw.js} +15 -3
- package/dist/dashboard-BE80OHJw.js.map +1 -0
- package/dist/dataBrowser/forms/index.js +1 -1
- package/dist/dataBrowser/index.js +7 -7
- package/dist/enums/index.js +2 -2
- package/dist/{fileViewer-CZYbh-Ns.js → fileViewer-CG0HJ-Ko.js} +2 -2
- package/dist/{fileViewer-CZYbh-Ns.js.map → fileViewer-CG0HJ-Ko.js.map} +1 -1
- package/dist/{floorplans-t1AcjVJw.js → floorplans-bd5zEyHl.js} +2 -2
- package/dist/{floorplans-t1AcjVJw.js.map → floorplans-bd5zEyHl.js.map} +1 -1
- package/dist/{formatBytes-BZH6z2HH.js → formatBytes-BXxFuDvk.js} +1 -1
- package/dist/{formatBytes-BZH6z2HH.js.map → formatBytes-BXxFuDvk.js.map} +1 -1
- package/dist/{forms-DcftP5g4.js → forms-D77JesD_.js} +3 -3
- package/dist/{forms-DcftP5g4.js.map → forms-D77JesD_.js.map} +1 -1
- package/dist/hooks/index.js +2 -2
- package/dist/{hooks-D1nzA6OI.js → hooks-BRJfLTY_.js} +2 -2
- package/dist/{hooks-D1nzA6OI.js.map → hooks-BRJfLTY_.js.map} +1 -1
- package/dist/index.js +103 -104
- package/dist/index.js.map +1 -1
- package/dist/inquiry/dashboard/index.js +1 -3
- package/dist/inquiry/index.js +22 -53
- package/dist/inquiry/inquiryBar/index.js +1 -2
- package/dist/inquiry/search/index.js +1 -2
- package/dist/{Inquiry-BmG2eye6.js → inquiry-CgxJFvsR.js} +69 -46
- package/dist/inquiry-CgxJFvsR.js.map +1 -0
- package/dist/{InquiryNodeControls-NSUmP5z6.js → inquiryBar-C2HJJSqs.js} +1 -1
- package/dist/inquiryBar-C2HJJSqs.js.map +1 -0
- package/dist/layout/index.js +2 -2
- package/dist/maintenanceEngine/crudBrowser/index.js +7 -7
- package/dist/maintenanceEngine/index.js +12 -12
- package/dist/maintenanceEngine/tableBrowser/index.js +3 -3
- package/dist/maintenanceEngine/virtualBrowser/index.js +2 -2
- package/dist/map-library/Controls/index.js +2 -2
- package/dist/map-library/Layers/index.js +2 -2
- package/dist/map-library/Map/index.js +5 -5
- package/dist/map-library/functions/index.js +1 -1
- package/dist/map-library/geoLocation/index.js +2 -2
- package/dist/map-library/ui/index.js +2 -2
- package/dist/{mapFunctions-Bj-QtX0N.js → mapFunctions-D63LqAPS.js} +1 -1
- package/dist/{mapFunctions-Bj-QtX0N.js.map → mapFunctions-D63LqAPS.js.map} +1 -1
- package/dist/{mapLayout-C-bB84bX.js → mapLayout-DXSAQKQp.js} +4 -4
- package/dist/{mapLayout-C-bB84bX.js.map → mapLayout-DXSAQKQp.js.map} +1 -1
- package/dist/maps/index.js +12 -12
- package/dist/maps/leafletMaps/index.js +4 -4
- package/dist/maps/leafletMaps/ui/index.js +2 -2
- package/dist/maps/openLayerMaps/Controls/index.js +2 -2
- package/dist/maps/openLayerMaps/Layers/index.js +2 -2
- package/dist/maps/openLayerMaps/Map/index.js +2 -2
- package/dist/maps/openLayerMaps/Source/index.js +1 -1
- package/dist/maps/openLayerMaps/ui/index.js +2 -2
- package/dist/menuPage/index.js +4 -4
- package/dist/{menuUtilities-8wivnoDW.js → menuUtilities-Cb70He2X.js} +19 -3
- package/dist/menuUtilities-Cb70He2X.js.map +1 -0
- package/dist/{newGrid-C5cV3hvO.js → newGrid-D9TY42ly.js} +2 -2
- package/dist/{newGrid-C5cV3hvO.js.map → newGrid-D9TY42ly.js.map} +1 -1
- package/dist/page/index.js +1 -1
- package/dist/{redirectToLink-CluBHXV_.js → redirectToLink-DUidqyQh.js} +1 -1
- package/dist/{redirectToLink-CluBHXV_.js.map → redirectToLink-DUidqyQh.js.map} +1 -1
- package/dist/{redirectToProduct-CajO9PkB.js → redirectToProduct-8RiwlOkw.js} +1 -1
- package/dist/{redirectToProduct-CajO9PkB.js.map → redirectToProduct-8RiwlOkw.js.map} +1 -1
- package/dist/reports/index.js +3 -3
- package/dist/routes/index.js +4 -4
- package/dist/{InquirySearchContainer-BJZlyWSv.js → search-CvKz7AKM.js} +1 -1
- package/dist/search-CvKz7AKM.js.map +1 -0
- package/dist/shell/index.js +34 -34
- package/dist/shell/ui/addUser/index.js +2 -2
- package/dist/shell/ui/appSwitcher/index.js +4 -4
- package/dist/shell/ui/index.js +19 -19
- package/dist/stores/index.js +1 -1
- package/dist/{tagEnums-K1z2SNKZ.js → tagEnums-BHtWD8NV.js} +1 -1
- package/dist/{tagEnums-K1z2SNKZ.js.map → tagEnums-BHtWD8NV.js.map} +1 -1
- package/dist/{templates-BQJBVScH.js → templates-BzHuN6Sp.js} +2 -2
- package/dist/{templates-BQJBVScH.js.map → templates-BzHuN6Sp.js.map} +1 -1
- package/dist/treeMenu/index.js +1 -1
- package/dist/types/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/udp/utilities/useDateStringColumnDef.d.ts +1 -1
- package/dist/types/utilities/menus/menuUtilities.d.ts +4 -0
- package/dist/udp/export/index.js +6 -6
- package/dist/udp/fileImportMapping/index.js +6 -6
- package/dist/udp/pages/index.js +58 -44
- package/dist/{udpPages-CmWJMQ6t.js → udpPages-Bvmlnzes.js} +12 -12
- package/dist/{udpPages-CmWJMQ6t.js.map → udpPages-Bvmlnzes.js.map} +1 -1
- package/dist/uploader/index.js +2 -2
- package/dist/{useAuthedUser-BRX-xjnS.js → useAuthedUser-CXowatE7.js} +1 -1
- package/dist/{useAuthedUser-BRX-xjnS.js.map → useAuthedUser-CXowatE7.js.map} +1 -1
- package/dist/{useDefaultFormValues-B55mvF77.js → useDefaultFormValues-DFnzUcHv.js} +1 -1
- package/dist/{useDefaultFormValues-B55mvF77.js.map → useDefaultFormValues-DFnzUcHv.js.map} +1 -1
- package/dist/{useGravatar-D5PYsAWb.js → useGravatar-CD9SN7Qi.js} +1 -1
- package/dist/{useGravatar-D5PYsAWb.js.map → useGravatar-CD9SN7Qi.js.map} +1 -1
- package/dist/{useIsUnityAuthenticated-BKhKxtov.js → useIsUnityAuthenticated-BQZPEwr1.js} +1 -1
- package/dist/{useIsUnityAuthenticated-BKhKxtov.js.map → useIsUnityAuthenticated-BQZPEwr1.js.map} +1 -1
- package/dist/{usePrevious-DcRHSVFh.js → usePrevious-DKfZQsm9.js} +1 -1
- package/dist/{usePrevious-DcRHSVFh.js.map → usePrevious-DKfZQsm9.js.map} +1 -1
- package/dist/{useSingleLogout-DIeeNNkW.js → useSingleLogout-DZf89uRJ.js} +4 -4
- package/dist/{useSingleLogout-DIeeNNkW.js.map → useSingleLogout-DZf89uRJ.js.map} +1 -1
- package/dist/{users-Be55HGkm.js → users-DpxNzxRw.js} +1 -1
- package/dist/{users-Be55HGkm.js.map → users-DpxNzxRw.js.map} +1 -1
- package/dist/utilities/DemoJuly/index.js +2 -2
- package/dist/utilities/aggrid/index.js +1 -1
- package/dist/utilities/auth/index.js +8 -8
- package/dist/utilities/catalog/index.js +2 -2
- package/dist/utilities/chatBot/index.js +2 -2
- package/dist/utilities/crud/index.js +2 -2
- package/dist/utilities/customIcons/index.js +2 -2
- package/dist/utilities/entities/index.js +1 -1
- package/dist/utilities/floorplanFunctions/index.js +1 -1
- package/dist/utilities/iconLibrary/index.js +1 -1
- package/dist/utilities/index.js +52 -52
- package/dist/utilities/input/index.js +1 -1
- package/dist/utilities/maintenanceEngine/index.js +1 -1
- package/dist/utilities/menus/index.js +4 -4
- package/dist/utilities/page/index.js +2 -2
- package/dist/utilities/provider/index.js +6 -6
- package/dist/utilities/redirect/index.js +3 -3
- package/dist/utilities/rules/index.js +1 -1
- package/dist/utilities/search/index.js +1 -1
- package/dist/utilities/storage/index.js +1 -1
- package/dist/utilities/style/index.js +1 -1
- package/dist/utilities/tenant/index.js +1 -1
- package/dist/utilities/tree/index.js +1 -1
- package/dist/utilities/uploader/index.js +2 -2
- package/dist/utilities/utilityBar/index.js +4 -4
- package/dist/utilities/workflow/index.js +3 -3
- package/dist/workflow/components/index.js +2 -2
- package/dist/workflow/index.js +14 -14
- package/dist/workflow/menus/index.js +2 -2
- package/dist/{workflowEnums-BPeGiQKg.js → workflowEnums-BOQUbwNm.js} +1 -1
- package/dist/{workflowEnums-BPeGiQKg.js.map → workflowEnums-BOQUbwNm.js.map} +1 -1
- package/dist/{workflowStore-CBcKriB2.js → workflowStore-D-NHniHF.js} +1 -1
- package/dist/{workflowStore-CBcKriB2.js.map → workflowStore-D-NHniHF.js.map} +1 -1
- package/dist/{workflowUtilities-DMsosjJ_.js → workflowUtilities-xEyO79d5.js} +2 -2
- package/dist/{workflowUtilities-DMsosjJ_.js.map → workflowUtilities-xEyO79d5.js.map} +1 -1
- package/export-map.json +3 -2
- package/package.json +2 -2
- package/dist/AmbientAutoComplete-09VfbDE4.js.map +0 -1
- package/dist/Inquiry-BmG2eye6.js.map +0 -1
- package/dist/InquiryDashboard-EoAeiIWK.js +0 -17
- package/dist/InquiryDashboard-EoAeiIWK.js.map +0 -1
- package/dist/InquiryNodeControls-NSUmP5z6.js.map +0 -1
- package/dist/InquirySearchContainer-BJZlyWSv.js.map +0 -1
- package/dist/RecentlyLoadedNodesTable-DnBy6AEU.js.map +0 -1
- package/dist/UdpMaintenanceEnginePage-BK9IdWlV.js +0 -59
- package/dist/UdpMaintenanceEnginePage-BPXeLhFN.js.map +0 -1
- package/dist/UdpRoutes-B4nogDAu.js.map +0 -1
- package/dist/inquiry/index.js.map +0 -1
- package/dist/menuUtilities-8wivnoDW.js.map +0 -1
- package/dist/virtualBrowser-BjGPv8Ks.js +0 -1
- package/dist/workflow-B3zdi9Fz.js +0 -1
- package/dist/wrappers-CLy_1LEL.js +0 -1
- /package/dist/{DemoJuly-46P2EFI7.js → DemoJuly-CIBuhheG.js} +0 -0
- /package/dist/{addUser-DdxKkJbW.js → addUser-CXeM67ys.js} +0 -0
- /package/dist/{aggrid-TPfO-kkM.js → aggrid-BOGlLEu1.js} +0 -0
- /package/dist/{appSwitcher-ERlag4rB.js → appSwitcher-BbbKY0qq.js} +0 -0
- /package/dist/{auth-BOzVI3A0.js → auth-BNJpOA6O.js} +0 -0
- /package/dist/{catalog-DoJ2_1fY.js → catalog-UNxalJg4.js} +0 -0
- /package/dist/{chatBot-flH0_FCC.js → chatBot-rvlTLli1.js} +0 -0
- /package/dist/{components-DqInG_Nm.js → components-BlwSZhpD.js} +0 -0
- /package/dist/{crud-BCrruPIb.js → crud-CKoJlzZC.js} +0 -0
- /package/dist/{crudBrowser-BG7BYo4m.js → crudBrowser-DX85rr54.js} +0 -0
- /package/dist/{customIcons-D0bpSyKS.js → customIcons-C708lO6o.js} +0 -0
- /package/dist/{dashboard-DfDQY2Uz.js → entities-Ciil7n1F.js} +0 -0
- /package/dist/{entities-B32Z17Rb.js → floorplanFunctions-CrklH06W.js} +0 -0
- /package/dist/{floorplanFunctions-QEXAOJwy.js → forms-80OJxgty.js} +0 -0
- /package/dist/{forms-DJnB4tsd.js → functions-Hd-GdWRI.js} +0 -0
- /package/dist/{functions-MWuMR-lY.js → hocs-BBwSfA6i.js} +0 -0
- /package/dist/{hocs-1cIHPs7M.js → hooks-BA76hHir.js} +0 -0
- /package/dist/{hooks-BJgvHLxQ.js → iconLibrary-CJx5yVFL.js} +0 -0
- /package/dist/{iconLibrary-C8sePp_X.js → input-Cjsjq3RH.js} +0 -0
- /package/dist/{input-B3JblbZF.js → leafletMaps-Dap7ksrP.js} +0 -0
- /package/dist/{inquiryBar-CTeb-8eD.js → maintenanceEngine--CHGMGJK.js} +0 -0
- /package/dist/{leafletMaps-DKJcEBvd.js → menus-CORA9-y-.js} +0 -0
- /package/dist/{maintenanceEngine-CpZ9tfB0.js → menus-F0wpxN7s.js} +0 -0
- /package/dist/{menus-B-Xz-Ggy.js → modified-CBLRolfb.js} +0 -0
- /package/dist/{menus-QHvrjl6w.js → mttMainTimeline-DM0dra3i.js} +0 -0
- /package/dist/{modified-Bg5LeKdV.js → mttSummary-BpsBHjLu.js} +0 -0
- /package/dist/{mttMainTimeline-DgGEegXs.js → page-CTPx1eMF.js} +0 -0
- /package/dist/{mttSummary-Dbl2ZLl1.js → provider-YG1Pp4jc.js} +0 -0
- /package/dist/{page-BGtqWrDb.js → redirect-DxcAuEfC.js} +0 -0
- /package/dist/{provider-D1EvAE26.js → rules-B-ksPdxk.js} +0 -0
- /package/dist/{redirect-DEombgSz.js → search-D_aYYsru.js} +0 -0
- /package/dist/{rules-Bbd-Yg6p.js → sidebar-CP5i0Zg7.js} +0 -0
- /package/dist/{search-D3z7GAO_.js → storage-C7L-23mT.js} +0 -0
- /package/dist/{search-YPsWhV_L.js → style-9iKHS-Wi.js} +0 -0
- /package/dist/{sidebar-C96Z7xFg.js → tableBrowser-W5DVnX-k.js} +0 -0
- /package/dist/{storage-Dxdn7n1x.js → tenant-DalfWrIm.js} +0 -0
- /package/dist/{style-C58TNESf.js → tree-TL7VR3tx.js} +0 -0
- /package/dist/{tableBrowser-_iJW5ftf.js → ui-HqpIaxXX.js} +0 -0
- /package/dist/{tenant-Dv4CtN1T.js → ui-en5KNlmI.js} +0 -0
- /package/dist/{tree-BE3grkxa.js → uploader-DcYXiktt.js} +0 -0
- /package/dist/{ui-Dk8IEfOq.js → utilityBar-CFHi-LbU.js} +0 -0
- /package/dist/{ui-_KR24HU9.js → utils-CCCTU1x9.js} +0 -0
- /package/dist/{uploader-CslKfeTU.js → utils-DNdEZ0qE.js} +0 -0
- /package/dist/{utilityBar-efXsIsm6.js → virtualBrowser-CCd9f5nk.js} +0 -0
- /package/dist/{utils-Ccah2Nvr.js → workflow-CTqF0deg.js} +0 -0
- /package/dist/{utils-K0OjqNhn.js → wrappers-DZvJVCmc.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpMaintenanceEnginePage-COO3GwG9.js","names":["apiMutate","entityName","uuid","params"],"sources":["../src/udp/pages/UdpMaintenanceEnginePage.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CrudBrowserContainer } from '../../maintenanceEngine/crudBrowser/CrudBrowserContainer';\nimport { CrudTableSidePanel } from '../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getEntityAttributes,\n getPathObject,\n getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../utilities/input/StringUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../utilities/methodUtils';\nimport { getSearchObject } from '../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { TagEnums } from '../../enums/tagEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport { SideSheet } from '../../UI/surfaces/SideSheet';\nimport { FluentDialog } from '../../UI/feedback/FluentDialog';\nimport { useCatalogStore } from '../../stores/catalogStore';\nimport { useHistory } from 'react-router-dom';\nimport { Inquiry } from '../../inquiry';\n\nexport const UdpMaintenanceEnginePage = (props) => {\n const { catalogKey, params } = props;\n const { t } = useTranslation();\n const [udpFieldInfos, setUdpFieldInfos] = useState([]);\n const [alertWarnings, setAlertWarnings] = useState([]);\n const [showBackToTableBrowser, setShowBackToTableBrowser] = useState(false);\n const gridApiRef = useRef(null);\n const [modalConfig, setModalConfig] = useState({ type: null, data: null });\n const location = useLocation();\n const state = location.state;\n const history = useHistory();\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsEntityName = state?.entityName\n ? state.entityName\n : searchParams.has('entityName') === true\n ? toUpperFirstChar(searchParams.get('entityName'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const udpCatalogKey = useMemo(() => {\n if (params?.entityName || catalogKey || searchParamsEntityName) {\n return params?.entityName || catalogKey || searchParamsEntityName;\n } else {\n handleGoToTableBrowser();\n }\n }, [\n params?.entityName,\n catalogKey,\n searchParamsEntityName,\n handleGoToTableBrowser\n ]);\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [entityName, setEntityName] = useState(null);\n\n const { currentApiCatalogId } = useCatalogStore();\n\n const { data: catalog } = useApiCatalog(currentApiCatalogId);\n\n const { data: udpObjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n const { data: promotedMethodEntities } = usePromotedMethodEntity(\n udpCatalogKey,\n true\n );\n\n // 2. MODAL HANDLERS: Callbacks to open and close modals/sheets.\n const openModal = useCallback((type, data = null) => {\n setModalConfig({ type, data });\n }, []);\n\n const closeModal = useCallback(() => {\n setModalConfig({ type: null, data: null });\n }, []);\n\n //------- CRUD operations--------\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n if(params?.filterElements){\n params?.filterElements?.forEach(filter => {\n filterElements.push(filter)\n })\n }\n return filterElements;\n }, [udpTagId]);\n\n const entityAttributes = useMemo(() => {\n if (udpFieldInfos?.length > 0 && catalog && entityName) {\n // 1. Get original attributes from catalog\n const originalAttributes = getEntityAttributes(catalog, entityName);\n const attributeMap = new Map(\n originalAttributes.map((attr) => [attr.name.toLowerCase(), attr])\n );\n\n // 2. Create the sorted list by iterating through udpFieldInfos\n const sortedPart = udpFieldInfos\n .map((field) => {\n const match = attributeMap.get(field.name.toLowerCase());\n if (match) {\n // Merge properties as we build the sorted list\n return {\n ...match,\n extendedProperties: {\n ...match.extendedProperties,\n udpFieldProperties: field.properties\n }\n };\n }\n return null;\n })\n .filter(Boolean);\n\n // 3. Find unmatched items in a single pass\n const udpFieldNames = new Set(\n udpFieldInfos.map((f) => f.name.toLowerCase())\n );\n const unmatchedPart = originalAttributes.filter(\n (attr) => !udpFieldNames.has(attr.name.toLowerCase())\n );\n\n // 4. Combine the sorted, merged part with the original unmatched part\n return [...sortedPart, ...unmatchedPart];\n }\n }, [catalog, entityName, udpFieldInfos]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: getSanitizedName(entityName)\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n await executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${currentApiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [currentApiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n setAlertWarnings((existingWarnings) => [...existingWarnings, ...warnings]);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.name && fd.fieldName === p.fieldName\n )\n );\n\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n promiseDetail?.associationLabel\n ? toLowerFirstChar(promiseDetail.associationLabel)\n : 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n if (!!promiseDetail) {\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApiRef.current.refreshServerSide();\n closeModal('create');\n return response;\n }\n } else {\n handleErrorSnackbar(\n null,\n selectedEntity.entityName + \"'s create method must be promoted\"\n );\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApiRef.current.refreshServerSide();\n closeModal('edit');\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n gridApiRef.current.refreshServerSide();\n closeModal('delete');\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const shouldDisableAction = useCallback(\n (value) => {\n const sanitizedEntityName = getSanitizedName(entityName);\n const tagTypeShouldDisableEdit =\n [TagEnums.TagTypeSanitizedName.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && !value?.[toLowerFirstChar(EntityAttributeEnums.User_Defined)];\n\n const shortCutContentShouldDisableEdit =\n [UdpEnums.Udp_Shortcut_Content.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) &&\n value?.[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ];\n\n const lookupShouldDisableEdit =\n [UdpEnums.Udp_Lookup.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && value?.[toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)];\n return (\n tagTypeShouldDisableEdit ||\n shortCutContentShouldDisableEdit ||\n lookupShouldDisableEdit\n );\n },\n [entityName]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return [];\n }\n\n let actions = [\n {\n id: 'edit',\n iconName: 'edit', // Pass string name for the icon\n getTitle: () =>\n // Use getTitle for dynamic text\n selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('edit', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseUpdateMethod ||\n shouldDisableAction(params.data)\n },\n {\n id: 'delete',\n iconName: 'trashCan', // Pass string name for the icon\n getTitle: () =>\n selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n handleOnClick: (e, params) => {\n openModal('delete', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseDeleteMethod ||\n shouldDisableAction(params.data)\n }\n ];\n if (params?.inquiryTreeId) {\n actions.splice(1, 0, {\n id: 'inquiry',\n iconName: 'relationshipDiagram',\n title: 'Detailed view',\n handleOnClick: (e, params) => {\n openModal('inquiry', params.data);\n }\n });\n }\n return actions;\n }, [selectedEntity, t, shouldDisableAction, openModal]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n setEntityName(promotedMethodEntities?.entityName);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpObjectFieldInfo) {\n if (udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId) {\n setUdpFieldSearchApiId(\n udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId\n );\n } else {\n setUdpFieldSearchApiId('');\n const udpFieldWarning = {\n id: uuid(),\n message: `UdpObjectFieldInfo method needs to be promoted`\n };\n setAlertWarnings((prevState) => [...prevState, udpFieldWarning]);\n }\n }\n }, [udpObjectFieldInfo]);\n\n useEffect(() => {\n const setFieldInfos = async () => {\n let temp = await getMetaDataForUdpField(entityName);\n setUdpFieldInfos(temp);\n };\n if (udpFieldSearchApiId) {\n setFieldInfos();\n }\n }, [\n udpObjectFieldInfo,\n getMetaDataForUdpField,\n udpFieldSearchApiId,\n entityName\n ]);\n\n useEffect(() => {\n if (location.state?.from === 'tablebrowser') {\n setShowBackToTableBrowser(true);\n }\n }, [location.state]);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n const primaryKeyFieldName = useMemo(() => {\n const fieldName = udpFieldInfos\n ?.find((field) => field.isPrimaryKey)\n ?.name;\n return fieldName?.[0]?.toLowerCase() + fieldName?.slice(1)\n }, [udpFieldInfos]);\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert\n key={warning.id}\n onClose={() => removeWarning(warning.id)}\n severity='warning'\n >\n {warning.message || ''}\n </Alert>\n ))}\n <CrudBrowserContainer\n actionList={actionList}\n onCreate={() => openModal('create')}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n promotedEntity={selectedEntity}\n apiMethod={{ currentApiCatalogId, entityName }}\n filterElements={searchFilterElements}\n setAlertWarnings={setAlertWarnings}\n gridApiCallback={handleGridApiCallback}\n showBackToTableBrowser={showBackToTableBrowser}\n />\n <SideSheet\n open={modalConfig.type === 'create' || modalConfig.type === 'edit'}\n onClose={closeModal}\n title={\n modalConfig.type === 'create'\n ? `Add New ${entityName}`\n : `Edit ${entityName}`\n }\n width={600}\n >\n {(modalConfig.type === 'create' || modalConfig.type === 'edit') && (\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={\n modalConfig.type === 'create' ? handleOnCreate : undefined\n }\n onUpdate={modalConfig.type === 'edit' ? handleOnUpdate : undefined}\n crudTableEditionData={\n modalConfig.type === 'edit' ? modalConfig.data : null\n }\n pageId={\n modalConfig.type === 'edit'\n ? selectedEntity?.unityBaseUpdateMethod?.pageId\n : selectedEntity?.unityBaseCreateMethod?.pageId\n }\n />\n )}\n </SideSheet>\n <SideSheet\n open={modalConfig.type === 'inquiry'}\n onClose={closeModal}\n title={'Detailed view'}\n width={'90%'}\n >\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n </SideSheet>\n <FluentDialog\n open={modalConfig.type === 'delete'}\n handleClose={closeModal}\n title={t('Delete')}\n message={t('Are you sure you want to delete this row?')}\n actionOne={closeModal}\n labelOne={t('Cancel')}\n actionTwo={() => handleOnDelete(modalConfig.data)}\n labelTwo={t('Confirm')}\n />\n </>\n );\n};\n\nexport default UdpMaintenanceEnginePage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAa,4BAA4B,UAAU;CACjD,MAAM,EAAE,YAAY,WAAW;CAC/B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,CAAC,eAAe,oBAAoB,SAAS,EAAE,CAAC;CACtD,MAAM,CAAC,eAAe,oBAAoB,SAAS,EAAE,CAAC;CACtD,MAAM,CAAC,wBAAwB,6BAA6B,SAAS,MAAM;CAC3E,MAAM,aAAa,OAAO,KAAK;CAC/B,MAAM,CAAC,aAAa,kBAAkB,SAAS;EAAE,MAAM;EAAM,MAAM;EAAM,CAAC;CAC1E,MAAM,WAAW,aAAa;CAC9B,MAAM,QAAQ,SAAS;CACvB,MAAM,UAAU,YAAY;CAC5B,IAAI,iBAAiB,SAAS;CAC9B,IAAI,eAAe,IAAI,gBAAgB,eAAe;CACtD,MAAM,yBAAyB,OAAO,aAClC,MAAM,aACN,aAAa,IAAI,aAAa,KAAK,OACnC,iBAAiB,aAAa,IAAI,aAAa,CAAC,GAChD;CAEJ,MAAM,EAAE,qBAAqB,0BAC3B,wBAAwB;CAE1B,MAAM,yBAAyB,kBAAkB;AAC/C,UAAQ,KAAK,EACX,UAAU,iBACX,CAAC;IACD,CAAC,QAAQ,CAAC;CAEb,MAAM,gBAAgB,cAAc;AAClC,MAAI,QAAQ,cAAc,cAAc,uBACtC,QAAO,QAAQ,cAAc,cAAc;MAE3C,yBAAwB;IAEzB;EACD,QAAQ;EACR;EACA;EACA;EACD,CAAC;CACF,MAAM,WAAW,QAAQ,YAAY;CAErC,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAC1D,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAC1D,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,KAAK;CAEpE,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,MAAM,EAAE,wBAAwB,iBAAiB;CAEjD,MAAM,EAAE,MAAM,YAAY,cAAc,oBAAoB;CAE5D,MAAM,EAAE,MAAM,uBAAuB,wBACnC,sBACA,KACD;CAED,MAAM,EAAE,MAAM,2BAA2B,wBACvC,eACA,KACD;CAGD,MAAM,YAAY,aAAa,MAAM,OAAO,SAAS;AACnD,iBAAe;GAAE;GAAM;GAAM,CAAC;IAC7B,EAAE,CAAC;CAEN,MAAM,aAAa,kBAAkB;AACnC,iBAAe;GAAE,MAAM;GAAM,MAAM;GAAM,CAAC;IACzC,EAAE,CAAC;CAGN,MAAM,gBAAgB,YACpB,OAAO,SACLA,YACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,gBAAgB,YACpB,OAAO,SACLA,YACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,gBAAgB,YACpB,OAAO,SACLA,YACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,uBAAuB,cAAc;EACzC,MAAM,iBAAiB,EAAE;AACzB,MAAI,SACF,gBAAe,KAAK;GAClB,aAAa;GACb,gBAAgB;GAChB,aAAa;GACd,CAAC;AAEJ,MAAG,QAAQ,eACT,SAAQ,gBAAgB,SAAQ,WAAU;AACxC,kBAAe,KAAK,OAAO;IAC3B;AAEJ,SAAO;IACN,CAAC,SAAS,CAAC;CAEd,MAAM,mBAAmB,cAAc;AACrC,MAAI,eAAe,SAAS,KAAK,WAAW,YAAY;GAEtD,MAAM,qBAAqB,oBAAoB,SAAS,WAAW;GACnE,MAAM,eAAe,IAAI,IACvB,mBAAmB,KAAK,SAAS,CAAC,KAAK,KAAK,aAAa,EAAE,KAAK,CAAC,CAClE;GAGD,MAAM,aAAa,cAChB,KAAK,UAAU;IACd,MAAM,QAAQ,aAAa,IAAI,MAAM,KAAK,aAAa,CAAC;AACxD,QAAI,MAEF,QAAO;KACL,GAAG;KACH,oBAAoB;MAClB,GAAG,MAAM;MACT,oBAAoB,MAAM;MAC3B;KACF;AAEH,WAAO;KACP,CACD,OAAO,QAAQ;GAGlB,MAAM,gBAAgB,IAAI,IACxB,cAAc,KAAK,MAAM,EAAE,KAAK,aAAa,CAAC,CAC/C;GACD,MAAM,gBAAgB,mBAAmB,QACtC,SAAS,CAAC,cAAc,IAAI,KAAK,KAAK,aAAa,CAAC,CACtD;AAGD,UAAO,CAAC,GAAG,YAAY,GAAG,cAAc;;IAEzC;EAAC;EAAS;EAAY;EAAc,CAAC;CAExC,MAAM,yBAAyB,YAC7B,OAAO,iBAAe;EACpB,IAAI,aAAa,EAAE;AACnB,MAAI,oBAUF,OAAM,kBAAkB,EAAE,MAFP,gBAPI,CACrB;GACE,aAAa;GACb,gBAAgB;GAChB,aAAa,iBAAiBC,aAAW;GAC1C,CACF,EACkD,GAAG,IAAI,KAAK,EAEnB,EAAE,oBAAoB,CAAC,MAChE,SAAS;AACR,gBAAa,KAAK,MAAM;IAE3B;AAEH,SAAO;IAET,CAAC,oBAAoB,CACtB;CAED,MAAM,sBAAsB,YAC1B,OAAO,eAAe;AACpB,MAAI,CAAC,WACH,QAAO,EAAE;EAEX,IAAI,YAAY,EAAE;AAElB,OAAK,MAAM,QAAQ,WAEjB,KAAI,MAAM,oBAAoB,aAAa;GAEzC,MAAM,cAAc,EAAE;AACtB,UAAO,KAAK,KAAK,mBAAmB,oBAAoB,EAAE,CAAC,CAAC,WACzD,KAAK,mBAAmB,iBAAiB,gBACxC,qBAAqB,gBACrB,KAAK,mBAAmB,iBAAiB,gBACvC,qBAAqB,gBACzB,CAAC,KAAK,mBAAmB,iBAAiB,WAC1C,KAAK,mBAAmB,iBAAiB,KAAK,SAC3C,OAAO,MAAM;IACZ,MAAM,OAAO,MAAM,MAAM,IAAI,CAAC;AAC9B,QAAI,KAEF,aAAY,KAAK;KACf,KAAK;KACL,MAAM,WAAW,KAAK,KAAK,GACvB,KAAK,aAAa,GAClB,iBAAiB,KAAK;KAC3B,CAAC;KAGP;GAGH,MAAM,SAAS,WAAW,MAAM,MAC9B,YAAY,MAAM,QAAQ,IAAI,SAAS,EAAE,KAAK,CAC/C;AAED,OAAI,OAEF,OAAMD,YACJ,cAAc,qBACd,cAAc,oBAAoB,0BAA0B,KAAK,UAAU,WAAW,cAAc,OAAO,oBAC3G,EACE,QAAQ,OACT,EACD,EAAE,CACH,CAAC,MAAM,SAAS;AACf,QAAI,QAAQ,KAAK,KACf,WAAU,KAAK;KACb,iBAAiB;KACjB,QAAQ,KAAK;KACd,CAAC;KAEJ;;AAIR,SAAO;IAET,CAAC,oBAAoB,CACtB;CAED,MAAM,wBAAwB,YAC5B,OAAO,iBAAe;EACpB,IAAI,aAAa,EAAE;AACnB,eAAa,MAAM,uBAAuBC,aAAW;AACrD,MAAI,YAAY,UAAU,EACxB,QAAO;AAKT,UAH6B,YAAY,MACtC,OAAO,GAAG,YAAY,oBAAoB,qBAAqB,OACjE,GAC4B;IAE/B,CAAC,uBAAuB,CACzB;CAED,MAAM,gBAAgB,KAAK,MAAM;AAC/B,MAAI,CAAC,IAAK,QAAO;EACjB,IAAI,MAAM,IAAI,MAAM;AACpB,MAAI,CAAC,KAAK;GACR,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC,MAAM,WACjC,OAAO,aAAa,CAAC,SAAS,EAAE,CACjC;AACD,OAAI,IACF,OAAM,IAAI;;AAGd,SAAO;;CAGT,MAAM,YAAY,YAAY,YAAY;AACxC,MAAI,CAAC,kBAAkB,OACrB,QAAO;EAET,MAAM,YAAY,MAAM,oBAAoB,iBAAiB;AAC7D,MAAI,CAAC,WAAW,QAAQ;AACtB,qBAAkB,EAAE,CAAC;AACrB,UAAO,EAAE;;EAEX,IAAI,SAAS,EAAE;EACf,IAAI,WAAW,EAAE;EACjB,IAAI,iBAAiB,EAAE;EACvB,MAAM,WAAW,EAAE;AACnB,OAAK,MAAM,UAAU,UACnB,KAAI,UAAU,QAAQ,QAAQ,uBAAuB;GACnD,MAAM,mBAAmB,MAAM,sBAC7B,OAAO,OAAO,WACf;AACD,kBAAe,KAAK;IAClB,KACE,cAAc,sBACd,yCAAyC,QAAQ,QAAQ,uBAAuB;IAClF,WAAW,OAAO,gBAAgB;IAClC,MAAM,OAAO,OAAO;IACF;IACnB,CAAC;AAEF,YAAS,KACPD,YACE,cAAc,qBACd,wCAAwC,QAAQ,QAAQ,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,EAAE,MAAM,EAAE,EAAE,CACb,CACF;QAED,UAAS,KAAK;GACZ,IAAIE,IAAM;GACV,SAAS,GAAG,OAAO,OAAO,WAAW;GACtC,CAAC;AAGN,oBAAkB,qBAAqB,CAAC,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE1E,UAAQ,IAAI,SAAS,CAAC,MAAM,SAAS;AACnC,QAAK,SAAS,UAAU,UAAU;AAChC,QAAI,SAAS,WAAW,KACtB;SAAI,UAAU,MAAM;MAClB,IAAI,WAAW,EAAE;MACjB,MAAM,gBAAgB,eAAe,MAClC,MACC,EAAE,QAAQ,UAAU,QAAQ,OAC5B,CAAC,OAAO,MACL,OACC,GAAG,eAAe,EAAE,QAAQ,GAAG,cAAc,EAAE,UAClD,CACJ;AAED,eAAS,KAAK,SAAS,MAAM;OAK3B,MAAM,KAAK,aAAa,GAHtB,eAAe,aAAa,EAAE,cAAc,aACxC,cAAc,YACd,KAC4B;OAClC,MAAM,OAAO,aACX,GACA,eAAe,mBACX,iBAAiB,cAAc,iBAAiB,GAChD,OACL;AAED,gBAAS,KAAK;QAAM;QAAI,MAAM,QAAQ;QAAI,CAAC;QAC3C;AAEF,UAAI,CAAC,CAAC,cACJ,QAAO,KAAK;OACV,WAAW,cAAc;OACzB,YAAY,cAAc;OAC1B,MAAM,cAAc;OACpB,MAAM;OACP,CAAC;;;KAIR;AACF,qBAAkB,OAAO;IACzB;IACD;EAAC;EAAkB;EAAqB;EAAsB,CAAC;CAElE,MAAM,iBAAiB,YACrB,OAAO,WAAW;AAChB,MAAI,gBAAgB;GAClB,MAAMD,eAAa,gBAAgB;AACnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,WAAW,MAAM,SAAS,EAAE,MADrB,EAAE,aAAa,QAAQ,EACI,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB;AAEF,QAAI,UAAU,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AACD,gBAAW,QAAQ,mBAAmB;AACtC,gBAAW,SAAS;AACpB,YAAO;;SAGT,qBACE,MACA,eAAe,aAAa,oCAC7B;;IAIP;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,iBAAiB,YACrB,OAAO,QAAQ,qBAAqB;AAClC,MAAI,gBAAgB;GAClB,MAAMA,eAAa,gBAAgB;AAEnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,aAAa,cACjB,eAAe,sBAAsB,gBACrC,iBACD;IACD,IAAI,OAAO,EAAE,aAAa,QAAQ;AAClC,QAAI,MAAM,QAAQ,WAAW,CAC3B,YAAW,SAAS,OAAO;AACzB,UAAK,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,KAAK,GAAG,CAAC;MAC9C;QAEF,QAAO;KAAE,GAAG;KAAY,aAAa;KAAQ;AAO/C,SAJiB,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB,GAEY,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AAED,gBAAW,QAAQ,mBAAmB;AACtC,gBAAW,OAAO;;;;IAK1B;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,iBAAiB,YACrB,OAAO,UAAU;AACf,MAAI,gBAAgB;GAClB,MAAMA,eAAa,gBAAgB;AAEnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,mBAAmB,oBAAoB,kBAAkB,MAAM;IACrE,MAAM,aAAa,cACjB,gBAAgB,sBAAsB,gBACtC,iBACD;IACD,IAAI,OAAO,EAAE;AACb,QAAI,MAAM,QAAQ,WAAW,CAC3B,YAAW,SAAS,OAAO;AACzB,UAAK,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,KAAK,GAAG,CAAC;MAC9C;QAEF,QAAO,EAAE,GAAG,YAAY;AAO1B,SAJiB,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB,GAEY,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AACD,gBAAW,QAAQ,mBAAmB;AACtC,gBAAW,SAAS;;;;IAK5B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,gBAAgB,aACnB,OAAO;AAIN,mBAHwB,cAAc,QACnC,YAAY,QAAQ,OAAO,GAC7B,CACgC;IAEnC,CAAC,cAAc,CAChB;CAED,MAAM,sBAAsB,aACzB,UAAU;EACT,MAAM,sBAAsB,iBAAiB,WAAW;EACxD,MAAM,2BACJ,CAAC,SAAS,qBAAqB,aAAa,CAAC,CAAC,SAC5C,qBAAqB,aAAa,CACnC,IAAI,CAAC,QAAQ,iBAAiB,qBAAqB,aAAa;EAEnE,MAAM,mCACJ,CAAC,SAAS,qBAAqB,aAAa,CAAC,CAAC,SAC5C,qBAAqB,aAAa,CACnC,IACD,QACE,iBAAiB,qBAAqB,2BAA2B;EAGrE,MAAM,0BACJ,CAAC,SAAS,WAAW,aAAa,CAAC,CAAC,SAClC,qBAAqB,aAAa,CACnC,IAAI,QAAQ,iBAAiB,qBAAqB,kBAAkB;AACvE,SACE,4BACA,oCACA;IAGJ,CAAC,WAAW,CACb;CAED,MAAM,aAAa,cAAc;AAC/B,MAAI,CAAC,eACH,QAAO,EAAE;EAGX,IAAI,UAAU,CACZ;GACE,IAAI;GACJ,UAAU;GACV,gBAEE,gBAAgB,wBACZ,EAAE,OAAO,GACT,EAAE,6BAA6B;GACrC,gBAAgB,GAAG,aAAW;AAC5B,cAAU,QAAQE,SAAO,KAAK;;GAEhC,gBAAgB,aACd,CAAC,CAAC,CAAC,gBAAgB,yBACnB,oBAAoBA,SAAO,KAAK;GACnC,EACD;GACE,IAAI;GACJ,UAAU;GACV,gBACE,gBAAgB,wBACZ,EAAE,SAAS,GACX,EAAE,+BAA+B;GACvC,gBAAgB,GAAG,aAAW;AAC5B,cAAU,UAAUA,SAAO,KAAK;;GAElC,gBAAgB,aACd,CAAC,CAAC,CAAC,gBAAgB,yBACnB,oBAAoBA,SAAO,KAAK;GACnC,CACF;AACD,MAAI,QAAQ,cACV,SAAQ,OAAO,GAAG,GAAG;GACnB,IAAI;GACJ,UAAU;GACV,OAAO;GACP,gBAAgB,GAAG,aAAW;AAC5B,cAAU,WAAWA,SAAO,KAAK;;GAEpC,CAAC;AAEJ,SAAO;IACN;EAAC;EAAgB;EAAG;EAAqB;EAAU,CAAC;AAEvD,iBAAgB;EACd,MAAM,eAAe,YAAY;AAC/B,SAAM,WAAW;;AAEnB,MAAI,oBAAoB,wBAAwB,KAC9C,eAAc;IAEf;EAAC;EAAkB;EAAW;EAAoB,CAAC;AAEtD,iBAAgB;AACd,MAAI,wBAAwB;AAC1B,qBAAkB,uBAAuB;AACzC,iBAAc,wBAAwB,WAAW;;IAElD,CAAC,uBAAuB,CAAC;AAE5B,iBAAgB;AACd,MAAI,mBACF,KAAI,oBAAoB,uBAAuB,YAC7C,wBACE,oBAAoB,uBAAuB,YAC5C;OACI;AACL,0BAAuB,GAAG;GAC1B,MAAM,kBAAkB;IACtB,IAAID,IAAM;IACV,SAAS;IACV;AACD,qBAAkB,cAAc,CAAC,GAAG,WAAW,gBAAgB,CAAC;;IAGnE,CAAC,mBAAmB,CAAC;AAExB,iBAAgB;EACd,MAAM,gBAAgB,YAAY;AAEhC,oBADW,MAAM,uBAAuB,WAAW,CAC7B;;AAExB,MAAI,oBACF,gBAAe;IAEhB;EACD;EACA;EACA;EACA;EACD,CAAC;AAEF,iBAAgB;AACd,MAAI,SAAS,OAAO,SAAS,eAC3B,2BAA0B,KAAK;IAEhC,CAAC,SAAS,MAAM,CAAC;CAEpB,MAAM,yBAAyB,QAAQ;AACrC,aAAW,UAAU;;CAGvB,MAAM,sBAAsB,cAAc;EACxC,MAAM,YAAY,eACd,MAAM,UAAU,MAAM,aAAa,EACnC;AACF,SAAO,YAAY,IAAI,aAAa,GAAG,WAAW,MAAM,EAAE;IAC3D,CAAC,cAAc,CAAC;AAEnB,QACE,0DACG,cAAc,KAAK,YAClB,oCAAC;EACC,KAAK,QAAQ;EACb,eAAe,cAAc,QAAQ,GAAG;EACxC,UAAS;IAER,QAAQ,WAAW,GACd,CACR,EACF,oCAAC;EACa;EACZ,gBAAgB,UAAU,SAAS;EACjB;EACF;EAChB,gBAAgB;EAChB,WAAW;GAAE;GAAqB;GAAY;EAC9C,gBAAgB;EACE;EAClB,iBAAiB;EACO;GACxB,EACF,oCAAC;EACC,MAAM,YAAY,SAAS,YAAY,YAAY,SAAS;EAC5D,SAAS;EACT,OACE,YAAY,SAAS,WACjB,WAAW,eACX,QAAQ;EAEd,OAAO;KAEL,YAAY,SAAS,YAAY,YAAY,SAAS,WACtD,oCAAC;EACmB;EACH;EACC;EAChB,gBAAgB;EAChB,YAAY,YAAY,SAAS;EACrB;EACZ,UACE,YAAY,SAAS,WAAW,iBAAiB;EAEnD,UAAU,YAAY,SAAS,SAAS,iBAAiB;EACzD,sBACE,YAAY,SAAS,SAAS,YAAY,OAAO;EAEnD,QACE,YAAY,SAAS,SACjB,gBAAgB,uBAAuB,SACvC,gBAAgB,uBAAuB;GAE7C,CAEM,EACZ,oCAAC;EACC,MAAM,YAAY,SAAS;EAC3B,SAAS;EACT,OAAO;EACP,OAAO;IAEP,oCAAC;EACC,QAAQ,QAAQ;EAChB,iBAAiB;EACjB,aAAa,aAAa,OAAO;GACjC,CACQ,EACZ,oCAAC;EACC,MAAM,YAAY,SAAS;EAC3B,aAAa;EACb,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,4CAA4C;EACvD,WAAW;EACX,UAAU,EAAE,SAAS;EACrB,iBAAiB,eAAe,YAAY,KAAK;EACjD,UAAU,EAAE,UAAU;GACtB,CACD;;AAIP,uCAAe"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import "./AgTable-qA_zuj8l.js";
|
|
2
|
+
import "./FormButtons-3-Do6TqZ.js";
|
|
3
|
+
import "./Field-Cpjv208h.js";
|
|
4
|
+
import "./form-Cenkgcue.js";
|
|
5
|
+
import "./FluentButton-3xMbN_Vs.js";
|
|
6
|
+
import "./CrudBrowserUtilities-BXQ52z0n.js";
|
|
7
|
+
import "./apiHelpers-CaBH4Wqe.js";
|
|
8
|
+
import "./pageEnums-DtccKpw_.js";
|
|
9
|
+
import "./UnitySessionStorage-DFfZhXMh.js";
|
|
10
|
+
import "./axiosInterceptors-KQjcnNLO.js";
|
|
11
|
+
import "./useUser--tP6DN4i.js";
|
|
12
|
+
import "./useAxiosMutate-C_CLzTKW.js";
|
|
13
|
+
import "./DateTimeField-U74kkJm-.js";
|
|
14
|
+
import "./FluentTextFieldAutoComplete-DiwMTnol.js";
|
|
15
|
+
import "./FluentToggle-C2u7hxkz.js";
|
|
16
|
+
import "./propertyTypeEnums-6Agj3u8g.js";
|
|
17
|
+
import "./InputFieldTypeEnums-BAlcQjdc.js";
|
|
18
|
+
import "./StringUtilities-PL6_BoI4.js";
|
|
19
|
+
import "./FluentIcon-iRSVzrph.js";
|
|
20
|
+
import "./FluentIconButton-AN9tZKVl.js";
|
|
21
|
+
import "./FluentColorPicker-Df_P882h.js";
|
|
22
|
+
import "./entityUtilities-DOZQpeXw.js";
|
|
23
|
+
import "./crudActions-CehAicQU.js";
|
|
24
|
+
import "./unitySystemEnums-C3qeqk7V.js";
|
|
25
|
+
import "./FluentSearchField-2RcuJ9Oa.js";
|
|
26
|
+
import "./UnityFluentIcon-B8B1Sov8.js";
|
|
27
|
+
import "./ActionLoadingDispatchContext-DgevJS7v.js";
|
|
28
|
+
import "./actionUtils-Dyk4rqeA.js";
|
|
29
|
+
import "./inquiryStore-Kq3nlMze.js";
|
|
30
|
+
import "./catalogStore-CxNrmjOl.js";
|
|
31
|
+
import "./shellStore-B_6P0cep.js";
|
|
32
|
+
import "./useActions-V6oRdjcy.js";
|
|
33
|
+
import "./RuleUtilities-KxbFReyn.js";
|
|
34
|
+
import "./PrimaryActionButton-Dp7s1CMW.js";
|
|
35
|
+
import "./colors-DvKUCcrv.js";
|
|
36
|
+
import "./colorConverter-82j_Nyao.js";
|
|
37
|
+
import "./Typography-CZuoQGNi.js";
|
|
38
|
+
import "./SearchUtilities-COTnyxTJ.js";
|
|
39
|
+
import "./GroupNode-CVhNuRfd.js";
|
|
40
|
+
import "./TreeUtilities-B-PkiWZw.js";
|
|
41
|
+
import "./UnityIconLibrary-Crad0RBM.js";
|
|
42
|
+
import "./teleporterStore-CHOtFki6.js";
|
|
43
|
+
import "./AmbientPopoverMenuItem-xvRiIMUe.js";
|
|
44
|
+
import "./LayoutUnit-DBF2yb1h.js";
|
|
45
|
+
import "./StandardTitle-C0d5197m.js";
|
|
46
|
+
import "./SideSheetHeader-CPq_nmJd.js";
|
|
47
|
+
import "./SideSheet-t6uVFYIJ.js";
|
|
48
|
+
import "./useAxiosGet-5JQU4EkT.js";
|
|
49
|
+
import "./DashboardWidget-yDqUSPg4.js";
|
|
50
|
+
import "./FUICard-DiRXnOSN.js";
|
|
51
|
+
import "./FUISquareIconButton-DPMLIXy_.js";
|
|
52
|
+
import "./FluentCard-CnizGWYx.js";
|
|
53
|
+
import "./useId-BzmZUUnN.js";
|
|
54
|
+
import "./FUIMenuItem-DpUjPthR.js";
|
|
55
|
+
import "./PageContainer-D6cKoXv1.js";
|
|
56
|
+
import "./PrimaryActionHeader-Dn1lPb0q.js";
|
|
57
|
+
import "./StatusChip-4NHp2t6B.js";
|
|
58
|
+
import "./UdpTabs-PhxBvjk0.js";
|
|
59
|
+
import "./PageContext-eAdaXnSC.js";
|
|
60
|
+
import "./useSetLocationState-rHUPN6XU.js";
|
|
61
|
+
import "./SidebarCollapseButton-RZB7hk6o.js";
|
|
62
|
+
import "./DraggableSidebarTemplate-BdTho2mK.js";
|
|
63
|
+
import "./SidebarHeader-C34v5s4O.js";
|
|
64
|
+
import "./EntitySideBarContent-DQe4HIVq.js";
|
|
65
|
+
import "./CkRichEditor-VlnO9Wqs.js";
|
|
66
|
+
import "./methodUtils-DwkBQ6fj.js";
|
|
67
|
+
import "./ShortcutContentFinder-DZozQTnF.js";
|
|
68
|
+
import "./tenantStore-BCdG8bEr.js";
|
|
69
|
+
import "./AmbientCardButton-rxhZY2T5.js";
|
|
70
|
+
import "./Adornment-CrC1zHSp.js";
|
|
71
|
+
import "./AmbientCard-Bl34OCRH.js";
|
|
72
|
+
import "./NotesScreen-BxovSyt-.js";
|
|
73
|
+
import "./FluentDatePicker-DPhZX5WK.js";
|
|
74
|
+
import "./reminderConstants-BYsslwAk.js";
|
|
75
|
+
import "./RemindersScreen-X98zuhFa.js";
|
|
76
|
+
import "./tenantContext-CMEUzypH.js";
|
|
77
|
+
import "./useTenant-aZVmdg7S.js";
|
|
78
|
+
import "./EnvironmentRibbon-CRhI4qRC.js";
|
|
79
|
+
import "./ActionSplitScreen-yRM4iJ0A.js";
|
|
80
|
+
import "./usePromotedMethodEntity-Dw56T1IV.js";
|
|
81
|
+
import "./LibraryData-Bt6sx_2C.js";
|
|
82
|
+
import "./IconRenderer-3GKCegIn.js";
|
|
83
|
+
import "./FluentDialog-CXnECDfH.js";
|
|
84
|
+
import "./GridFunctions-BpMkkPTk.js";
|
|
85
|
+
import "./IconButtonWithToolTip-C8Gr_PHd.js";
|
|
86
|
+
import "./SearchOperator-D9838PIe.js";
|
|
87
|
+
import "./useApiCatalog-Dy3m4TZr.js";
|
|
88
|
+
import "./useFluentIcon-D3rSGz0m.js";
|
|
89
|
+
import "./searchEnums-BCjBowOK.js";
|
|
90
|
+
import "./useSearchFilterParamsMap-D4anvndE.js";
|
|
91
|
+
import "./inquiry-CgxJFvsR.js";
|
|
92
|
+
import "./useSplitDecimal-CXVfLuCT.js";
|
|
93
|
+
import "./SummaryBlock-BqcLmSbm.js";
|
|
94
|
+
import "./widgets-BstCOckr.js";
|
|
95
|
+
import "./TimeField-CcV1O5Gd.js";
|
|
96
|
+
import "./PropertyFields-CC3bT7Rb.js";
|
|
97
|
+
import "./SelectUtilities-DgYPAESe.js";
|
|
98
|
+
import "./search-CvKz7AKM.js";
|
|
99
|
+
import "./dashboard-BE80OHJw.js";
|
|
100
|
+
import "./InquiryHeaderSecondaryAlert-DyU3gSwo.js";
|
|
101
|
+
import "./inquiryBar-C2HJJSqs.js";
|
|
102
|
+
import "./NodeLoader-DTzrMqNJ.js";
|
|
103
|
+
import "./NumberOperator-B9Z8RVLl.js";
|
|
104
|
+
import "./aggregateUtils-DfJ1Vlr6.js";
|
|
105
|
+
import "./AggregateChip-BNtU9tx9.js";
|
|
106
|
+
import "./DateUtilities-DpwKxatA.js";
|
|
107
|
+
import "./UtilityBarInport-BK2d93K5.js";
|
|
108
|
+
import "./UtilitySideBar-BTwLKDoy.js";
|
|
109
|
+
import "./PageSubHeaderAction-PjiQrg61.js";
|
|
110
|
+
import "./PageActionWrapper-CLLGHLUx.js";
|
|
111
|
+
import "./WorkflowTreeMenu-pXKq9TyH.js";
|
|
112
|
+
import "./workflowEnums-BOQUbwNm.js";
|
|
113
|
+
import "./workflowUtilities-xEyO79d5.js";
|
|
114
|
+
import "./workflowStore-D-NHniHF.js";
|
|
115
|
+
import "./WorkflowTaskFlow-B067pxDZ.js";
|
|
116
|
+
import "./LinearProgress-DvXOb1Ck.js";
|
|
117
|
+
import "./CircularProgress-CGB2A7S2.js";
|
|
118
|
+
import "./WorkflowContent-DN9BPOCP.js";
|
|
119
|
+
import "./EmailDisplay-CpnpgDOC.js";
|
|
120
|
+
import "./LoadingOverlay-DC798-1h.js";
|
|
121
|
+
import "./useAuthedUser-CXowatE7.js";
|
|
122
|
+
import "./useDefaultFormValues-DFnzUcHv.js";
|
|
123
|
+
import "./CrudBrowserContainer-CwD2cxD0.js";
|
|
124
|
+
import "./SearchMethodUdpGrid-DO52Bj_B.js";
|
|
125
|
+
import "./tagEnums-BHtWD8NV.js";
|
|
126
|
+
import "./CrudForm-CN5vjshw.js";
|
|
127
|
+
import "./CrudTableSidePanel-DBg4P_v7.js";
|
|
128
|
+
import "./CatalogUtilities-CgNFjItY.js";
|
|
129
|
+
import { n as UdpMaintenanceEnginePage_default, t as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-COO3GwG9.js";
|
|
130
|
+
|
|
131
|
+
export { UdpMaintenanceEnginePage, UdpMaintenanceEnginePage_default as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as UdpPageEnums } from "./pageEnums-DtccKpw_.js";
|
|
2
2
|
import { t as useUser } from "./useUser--tP6DN4i.js";
|
|
3
|
-
import { t as useIsUnityAuthenticated } from "./useIsUnityAuthenticated-
|
|
4
|
-
import { t as PageStatus } from "./PageStatus-
|
|
5
|
-
import { t as PageLoading } from "./PageLoading-
|
|
3
|
+
import { t as useIsUnityAuthenticated } from "./useIsUnityAuthenticated-BQZPEwr1.js";
|
|
4
|
+
import { t as PageStatus } from "./PageStatus-moFTkRZx.js";
|
|
5
|
+
import { t as PageLoading } from "./PageLoading-CE6S65Ww.js";
|
|
6
6
|
import React, { Suspense, lazy, useMemo } from "react";
|
|
7
7
|
import { makeStyles } from "@material-ui/core";
|
|
8
8
|
import { ConfigService } from "udp-react-stencil-component-library";
|
|
@@ -32,31 +32,63 @@ const PrivateRoute = ({ ...otherProps }) => {
|
|
|
32
32
|
const isAuthenticated = useIsUnityAuthenticated();
|
|
33
33
|
const user = useUser();
|
|
34
34
|
const { t } = useTranslation();
|
|
35
|
-
|
|
35
|
+
const { rolesMap, menuActiveMap } = otherProps;
|
|
36
|
+
const userRoles = user.roleIds;
|
|
37
|
+
let pathAsKey = otherProps.path.toLowerCase().replaceAll(" ", "").replace("/", "");
|
|
38
|
+
pathAsKey = pathAsKey.split("/:")[0];
|
|
39
|
+
const userHasAccessToTenant = useMemo(() => {
|
|
36
40
|
if (user?.tenantIds?.includes(user.currentTenantId)) return true;
|
|
37
41
|
return false;
|
|
38
|
-
}, [user])
|
|
42
|
+
}, [user]);
|
|
43
|
+
const userHasRoles = useMemo(() => {
|
|
44
|
+
if (rolesMap?.size > 0) {
|
|
45
|
+
if (!rolesMap.has(pathAsKey)) return false;
|
|
46
|
+
return rolesMap.get(pathAsKey).every((element) => userRoles.includes(element));
|
|
47
|
+
}
|
|
48
|
+
}, [
|
|
49
|
+
userRoles,
|
|
50
|
+
rolesMap,
|
|
51
|
+
pathAsKey
|
|
52
|
+
]);
|
|
53
|
+
const menuIsActive = useMemo(() => {
|
|
54
|
+
if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) return menuActiveMap.get(pathAsKey);
|
|
55
|
+
}, [menuActiveMap, pathAsKey]);
|
|
56
|
+
if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) return /* @__PURE__ */ React.createElement(Route, {
|
|
39
57
|
path: "*",
|
|
40
58
|
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
41
59
|
message: t("You do not have access to this tenant. Please select a different Tenant."),
|
|
42
60
|
showButton: false
|
|
43
61
|
})
|
|
44
62
|
});
|
|
63
|
+
if (rolesMap?.has(pathAsKey) && !menuIsActive) return /* @__PURE__ */ React.createElement(Route, {
|
|
64
|
+
path: "*",
|
|
65
|
+
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
66
|
+
message: t("Trying to access inactive menu. Please check your menu configurations"),
|
|
67
|
+
showButton: false
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) return /* @__PURE__ */ React.createElement(Route, {
|
|
71
|
+
path: "*",
|
|
72
|
+
render: (props) => /* @__PURE__ */ React.createElement(PageForbiddenRoute, {
|
|
73
|
+
message: t("You do not have the required roles to access this page.Please contact an administrator to get access"),
|
|
74
|
+
showButton: false
|
|
75
|
+
})
|
|
76
|
+
});
|
|
45
77
|
if (isAuthenticated && user?.statusCode === 200) return /* @__PURE__ */ React.createElement(Route, otherProps);
|
|
46
78
|
return null;
|
|
47
79
|
};
|
|
48
80
|
|
|
49
81
|
//#endregion
|
|
50
82
|
//#region src/routes/UdpRoutes.jsx
|
|
51
|
-
const VirtualBrowser = lazy(() => import("./VirtualBrowser-
|
|
52
|
-
const MenuPage = lazy(() => import("./MenuPage-
|
|
83
|
+
const VirtualBrowser = lazy(() => import("./VirtualBrowser-B9Hi3Ns8.js"));
|
|
84
|
+
const MenuPage = lazy(() => import("./MenuPage-0dfmiHLT.js"));
|
|
53
85
|
const UdpPublicForm = lazy(() => import("./UdpPublicForm-BywxbXAQ.js"));
|
|
54
|
-
const WorkflowContainer = lazy(() => import("./WorkflowContainer-
|
|
55
|
-
const PasswordResetRedirect = lazy(() => import("./PasswordResetRedirect-
|
|
56
|
-
const MyExportsPage = lazy(() => import("./MyExportsPage-
|
|
57
|
-
const PageNotFoundRoute = lazy(() => import("./PageNotFoundRoute-
|
|
58
|
-
const UdpMaintenanceConfigPage = lazy(() => import("./UdpMaintenanceConfigPage-
|
|
59
|
-
const UdpMaintenanceEnginePage = lazy(() => import("./UdpMaintenanceEnginePage-
|
|
86
|
+
const WorkflowContainer = lazy(() => import("./WorkflowContainer-VHsUGDIl.js"));
|
|
87
|
+
const PasswordResetRedirect = lazy(() => import("./PasswordResetRedirect-CgIwYhcb.js"));
|
|
88
|
+
const MyExportsPage = lazy(() => import("./MyExportsPage-DoCWrkNv.js"));
|
|
89
|
+
const PageNotFoundRoute = lazy(() => import("./PageNotFoundRoute-Cw7o-U9o.js"));
|
|
90
|
+
const UdpMaintenanceConfigPage = lazy(() => import("./UdpMaintenanceConfigPage-BcCKx7BV.js"));
|
|
91
|
+
const UdpMaintenanceEnginePage = lazy(() => import("./UdpMaintenanceEnginePage-pzq1GqGZ.js"));
|
|
60
92
|
const UdpRoutes = (props) => {
|
|
61
93
|
const { ...other } = props;
|
|
62
94
|
return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement(PageLoading, null) }, /* @__PURE__ */ React.createElement(Switch$1, null, /* @__PURE__ */ React.createElement(PrivateRoute, {
|
|
@@ -107,4 +139,4 @@ const UdpRoutes = (props) => {
|
|
|
107
139
|
|
|
108
140
|
//#endregion
|
|
109
141
|
export { PrivateRoute as n, UdpRoutes as t };
|
|
110
|
-
//# sourceMappingURL=UdpRoutes-
|
|
142
|
+
//# sourceMappingURL=UdpRoutes-VUrO9k-C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpRoutes-VUrO9k-C.js","names":["Switch","props"],"sources":["../src/routes/components/PageForbiddenRoute.jsx","../src/routes/PrivateRoute.jsx","../src/routes/UdpRoutes.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { PageStatus } from './PageStatus';\nimport { useTranslation } from 'react-i18next';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(4)\n }\n}));\n\nexport const PageForbiddenRoute = (props) => {\n const { title, statusCode, subheader, message, showButton } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n\n return (\n <div className={classes.root}>\n <PageStatus\n title={title ?? t('Page Forbidden')}\n statusCode={statusCode ?? '403'}\n subheader={\n subheader ?? t('Sorry, you do not have permission to view this page.')\n }\n message={message ?? t('Please contact an administrator to get access.')}\n to='/'\n buttonLabel={t('Back to Home Page')}\n showButton={showButton}\n />\n </div>\n );\n};\n","import React, { useMemo } from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useIsUnityAuthenticated } from '../utilities/auth/useIsUnityAuthenticated';\r\nimport { useUser } from '../utilities/auth/useUser';\r\nimport { PageForbiddenRoute } from './components/PageForbiddenRoute';\r\n\r\nexport const PrivateRoute = ({ ...otherProps }) => {\r\n const isAuthenticated = useIsUnityAuthenticated();\r\n const user = useUser();\r\n const { t } = useTranslation();\r\n const { rolesMap, menuActiveMap } = otherProps;\r\n const userRoles = user.roleIds;\r\n //path is passed from frontend so making sure it meets expected fromat of all lowercase, no spaces, and has format /pathname or /pathname/:param\r\n let pathAsKey = otherProps.path\r\n .toLowerCase()\r\n .replaceAll(' ', '')\r\n .replace('/', '');\r\n pathAsKey = pathAsKey.split('/:')[0];\r\n\r\n const userHasAccessToTenant = useMemo(() => {\r\n if (user?.tenantIds?.includes(user.currentTenantId)) {\r\n return true;\r\n }\r\n return false;\r\n }, [user]);\r\n\r\n const userHasRoles = useMemo(() => {\r\n if (rolesMap?.size > 0) {\r\n if (!rolesMap.has(pathAsKey)) {\r\n return false;\r\n }\r\n const routeRoles = rolesMap.get(pathAsKey);\r\n return routeRoles.every((element) => userRoles.includes(element));\r\n }\r\n }, [userRoles, rolesMap, pathAsKey]);\r\n\r\n const menuIsActive = useMemo(() => {\r\n if (menuActiveMap?.size > 0 && menuActiveMap.has(pathAsKey)) {\r\n return menuActiveMap.get(pathAsKey);\r\n }\r\n }, [menuActiveMap, pathAsKey]);\r\n\r\n if (!userHasAccessToTenant && isAuthenticated && user?.statusCode === 200) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have access to this tenant. Please select a different Tenant.'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (rolesMap?.has(pathAsKey) && !menuIsActive) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'Trying to access inactive menu. Please check your menu configurations'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (!user.isUnitySystemAdmin && rolesMap?.size > 0 && !userHasRoles) {\r\n return (\r\n <Route\r\n path='*'\r\n render={(props) => (\r\n <PageForbiddenRoute\r\n message={t(\r\n 'You do not have the required roles to access this page.Please contact an administrator to get access'\r\n )}\r\n showButton={false}\r\n />\r\n )}\r\n />\r\n );\r\n }\r\n\r\n if (isAuthenticated && user?.statusCode === 200) {\r\n return <Route {...otherProps} />;\r\n }\r\n\r\n return null;\r\n};\r\n","import React, { Suspense, lazy } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { PrivateRoute } from './PrivateRoute';\nimport { UdpPageEnums } from '../enums/pageEnums';\nimport { ConfigService } from 'udp-react-stencil-component-library';\nimport { PageLoading } from '../UI/feedback/PageLoading';\n\n// Lazy load route components\nconst VirtualBrowser = lazy(() =>\n import('../maintenanceEngine/virtualBrowser/VirtualBrowser')\n);\nconst MenuPage = lazy(() => import('../menuPage/MenuPage'));\nconst UdpPublicForm = lazy(() => import('../udp/pages/UdpPublicForm'));\nconst WorkflowContainer = lazy(() => import('../workflow/WorkflowContainer'));\nconst PasswordResetRedirect = lazy(() =>\n import('./components/PasswordResetRedirect')\n);\nconst MyExportsPage = lazy(() => import('../udp/export/MyExportsPage'));\nconst PageNotFoundRoute = lazy(() => import('./components/PageNotFoundRoute'));\nconst UdpMaintenanceConfigPage = lazy(() =>\n import('../udp/pages/UdpMaintenanceConfigPage')\n);\nconst UdpMaintenanceEnginePage = lazy(() =>\n import('../udp/pages/UdpMaintenanceEnginePage')\n);\n\nexport const UdpRoutes = (props) => {\n const { ...other } = props;\n return (\n <Suspense fallback={<PageLoading />}>\n <Switch>\n <PrivateRoute\n path='/virtual/:id'\n render={(props) => <VirtualBrowser {...props} {...other} />}\n />\n <PrivateRoute\n path='/menupage/:id'\n render={(props) => <MenuPage {...props} {...other} />}\n />\n\n <Route\n path={`/page/${UdpPageEnums.Udp_Public_Forms_Page}`}\n render={(props) => <UdpPublicForm {...props} {...other} />}\n />\n <Route\n path={`/passwordresetsuccess`}\n render={(props) => <PasswordResetRedirect props={props} />}\n />\n <PrivateRoute\n path='/workflowtask/:id'\n render={(props) => <WorkflowContainer {...props} {...other} />}\n />\n <PrivateRoute\n path='/myexports'\n render={(props) => (\n <MyExportsPage\n productId={ConfigService.config.UNITY_PRODUCT_ID}\n {...props}\n {...other}\n />\n )}\n />\n <PrivateRoute\n path='/crudbrowser'\n render={(props) => <UdpMaintenanceEnginePage {...props} />}\n />\n <PrivateRoute\n path='/tablebrowser'\n render={(props) => <UdpMaintenanceConfigPage {...props} />}\n />\n <PrivateRoute path='*' component={PageNotFoundRoute} />\n </Switch>\n </Suspense>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserFormSideSheet-DpO8GKQO.js","names":["useStyles","Field","PasswordValidator","Form","UserFormFields","apiMutate","UserForm"],"sources":["../src/shell/ui/addUser/PasswordValidator.jsx","../src/shell/ui/addUser/UserFormFields.jsx","../src/shell/ui/addUser/UserForm.jsx","../src/shell/ui/addUser/UserFormSideSheet.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nconst validatePassword = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n let issues = [];\n if(!password) return [];\n if (lengthRestriction && password.length < lengthRestriction) {\n issues.push(\n `Password must be at least ${lengthRestriction} characters long.`\n );\n }\n if (upperCaseRestriction && !/[A-Z]/.test(password)) {\n issues.push('Password must contain at least one uppercase letter.');\n }\n if (specialCharacterRestriction && !/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n issues.push('Password must contain at least one special character.');\n }\n if (numberRestriction && !/\\d/.test(password)) {\n issues.push('Password must contain at least one number.');\n }\n if (lowerCaseRestriction && !/[a-z]/.test(password)) {\n issues.push('Password must contain at least one lowercase letter.');\n }\n return issues;\n};\nexport const isPasswordValid = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n return (\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ).length === 0\n );\n};\nconst PasswordValidator = ({\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction,\n}) => {\n const issues = useMemo(\n () =>\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ),\n [password]\n );\n\n return issues?.length && password?.length ? (\n <div>\n <p style={{ color: 'red' }}>\n {issues.map((issue, index) => (\n <>\n {issue}\n <br />\n </>\n ))}\n </p>\n </div>\n ) : null;\n};\n\nexport default PasswordValidator;\n","import {\n Checkbox,\n FormControlLabel,\n makeStyles,\n TextField,\n RadioGroup,\n Radio,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { ADUserTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { Field } from '../../../utilities/form/Field';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport { useForm } from 'react-final-form';\nimport PasswordValidator, { isPasswordValid } from './PasswordValidator';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextFieldAutoComplete } from '../../../UI/inputs/textField/FluentTextFieldAutoComplete';\n\n\nconst removeWhiteSpace = str => {\n if (!str) {\n return '';\n }\n return str.replace(/\\s/g, '');\n};\n\n\n\nconst useStyles = makeStyles(theme => ({\n field: {\n marginBottom: theme.spacing(2),\n },\n selectors: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginTop: theme.spacing(-2),\n marginBottom: theme.spacing(2),\n },\n accountDisabledCheckbox: {\n height: 'auto',\n },\n accountDisabledCheckboxLabel: {\n marginTop: theme.spacing(1),\n },\n}));\n\n\nconst UserFormFields = props => {\n const {\n editedUser,\n rolesData,\n showRolesField = true,\n handlePasswordTypeChange,\n passwordType,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [showPassword, setShowPassword] = useState(false);\n const form = useForm();\n const { t } = useTranslation();\n\n const roles = useMemo(() => {\n if (!rolesData) {\n return [];\n }\n rolesData.forEach(r => {\n r.label = r.name;\n r.value = r.name;\n });\n return rolesData\n .sort((a, b) => a.label.localeCompare(b.label))\n .sort((a, b) => a.productName.localeCompare(b.productName));\n }, [rolesData]);\n\n\n const handleClickShowPassword = useCallback(() => {\n setShowPassword(!showPassword);\n }, [showPassword]);\n\n useEffect(() => {\n if (editedUser) {\n form.change('givenName', editedUser.givenName);\n form.change('surname', editedUser.surname);\n form.change('jobTitle', editedUser.jobTitle);\n form.change('location', editedUser.location);\n form.change('mobilePhone', editedUser.mobilePhone);\n form.change('officePhone', editedUser.officePhone);\n }\n }, [editedUser, form]);\n\n return (\n <>\n {editedUser && (\n <Field\n component={TextField}\n label={t(\"Unity ID\")}\n id=\"unity-id\"\n udprecordid=\"udpRecord-UserFormFields-unity-id\"\n name=\"unityId\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n editedUser?.userId\n }\n disabled={true}\n />\n )}\n <Field\n component={TextField}\n label={t(\"First Name\")}\n id=\"first-name\"\n udprecordid=\"udpRecord-UserFormFields-first-name\"\n name=\"givenName\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.givenName}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Last Name\")}\n id=\"last-name\"\n udprecordid=\"udpRecord-UserFormFields-last-name\"\n name=\"surname\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.surname}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Email\")}\n id=\"email\"\n udprecordid=\"udpRecord-UserFormFields-email\"\n name=\"email\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.email}\n disabled={editedUser && !user.can.CAN_MODIFY_EMAIL}\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n return t('Invalid email address');\n }\n }}\n />\n <Field\n component={TextField}\n label={t(\"Title\")}\n id=\"title\"\n udprecordid=\"udpRecord-UserFormFields-title\"\n name=\"jobTitle\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.jobTitle === 'string'\n ? editedUser?.jobTitle.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value} // makes empty string values get added to form submission object\n />\n <Field\n component={TextField}\n label={t(\"Location\")}\n id=\"location\"\n udprecordid=\"udpRecord-UserFormFields-location\"\n name=\"location\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.location === 'string'\n ? editedUser?.location.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Mobile Phone\")}\n id=\"mobile-phone\"\n udprecordid=\"udpRecord-UserFormFields-mobile-phone\"\n name=\"mobilePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.mobilePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Office Phone\")}\n id=\"office-phone\"\n udprecordid=\"udpRecord-UserFormFields-office-phone\"\n name=\"officePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.officePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n {showRolesField && (\n <Field\n component={FluentTextFieldAutoComplete}\n label={t(\"Select Role\")}\n id=\"roles\"\n udprecordid=\"udpRecord-UserFormFields-roles\"\n name=\"roles\"\n fullWidth\n options={roles || []}\n textFieldProps={{\n id: 'roles',\n name: 'roles',\n }}\n optionKey={'label'}\n isMultiple={true}\n groupBy={(option) => option.productName}\n required\n />\n )}\n {!editedUser && (\n <>\n <RadioGroup\n aria-labelledby=\"password-type\"\n name=\"password-type\"\n value={passwordType}\n onChange={handlePasswordTypeChange}\n >\n <FormControlLabel\n value=\"autoGeneratePassword\"\n control={<Radio />}\n label={t(\"Auto-generate password\")}\n udprecordid=\"udpRecord-UserFormFields-auto-generate-password\"\n />\n <FormControlLabel\n value=\"createPassword\"\n control={<Radio />}\n label={t(\"Let me create the password\")}\n udprecordid=\"udpRecord-UserFormFields-create-password\"\n />\n </RadioGroup>\n {passwordType === 'createPassword' && (\n <Field\n component={TextField}\n label={t(\"Password\")}\n id=\"passwordProfile\"\n udprecordid=\"udpRecord-UserFormFields-passwordProfile\"\n name=\"passwordProfile\"\n type={showPassword ? 'text' : 'password'}\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n autoComplete=\"new-password\"\n validate={value =>\n !isPasswordValid(value, 8, true, true, true, true) && (\n <PasswordValidator\n password={value}\n numberRestriction\n lowerCaseRestriction\n upperCaseRestriction\n lengthRestriction={8}\n specialCharacterRestriction\n />\n )\n }\n InputProps={{\n // <-- This is where the toggle button is added.\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n >\n {showPassword ? <Visibility /> : <VisibilityOff />}\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n )}\n </>\n )}\n {!editedUser && (\n <FormControlLabel\n className={classes.accountDisabledCheckboxLabel}\n label={t('Do not activate account and do not send a welcome email.')}\n control={\n <Field\n component={Checkbox}\n id=\"account-disabled\"\n udprecordid=\"udpRecord-UserFormFields-account-disabled\"\n name={'locked'}\n type=\"checkbox\"\n disabled={!user.can.CAN_MANAGE_USERS}\n classes={classes}\n />\n }\n />\n )}\n </>\n );\n};\nexport default UserFormFields;\n","import { Divider, LinearProgress, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { Form } from '../../../utilities/form/Form';\nimport { FormButtons } from '../../../utilities/form/FormButtons';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { useAxiosGet } from '../../../../src/utilities/useAxiosGet';\nimport { useUser } from '../../../../src/utilities/auth/useUser';\nimport UserFormFields from './UserFormFields';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\n\nconst useStyles = makeStyles(theme => ({\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n loadingBar: {\n bottom: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UserForm = props => {\n const {\n submitUser,\n editedUser,\n creatingUser,\n tenant,\n updateCreatedUser,\n showRolesField = true,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [passwordType, setPasswordType] = useState('autoGeneratePassword');\n const { t } = useTranslation();\n\n\n // GET list of roles\n const [{ data: rolesData }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `roles?userId=${user.id}&tenantId=${tenant?.tenantId}`,\n {},\n !!!tenant,\n false\n );\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleSubmitUser = useCallback(\n values => {\n if (submitUser) {\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n updateCreatedUser && editedUser\n ? updateCreatedUser(values)\n : submitUser(values);\n }\n },\n [submitUser, passwordType, updateCreatedUser, editedUser]\n );\n\n return (\n <>\n <Form onSubmit={handleSubmitUser}>\n <UserFormFields\n rolesData={rolesData}\n editedUser={editedUser}\n showRolesField={showRolesField}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n />\n {user.can.CAN_MANAGE_USERS && (\n <>\n <div className={classes.divider}>\n <Divider />\n </div>\n <FormButtons>\n <SubmitButton\n variant=\"contained\"\n color=\"primary\"\n disablePristine={false}\n udprecordid=\"udpRecord-UserFormFields-submit\"\n >\n {editedUser ? t('Update') : t('Create')}\n </SubmitButton>\n </FormButtons>\n </>\n )}\n </Form>\n {creatingUser && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n </>\n );\n};\nexport default UserForm;\n","import React, { useCallback, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport UserForm from './UserForm';\nimport { useSnackbar } from 'notistack';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\n\nconst UserFormSideSheet = ({\n open,\n onClose,\n}) => {\n const [loading, setLoading] = useState(false);\n const tenant = useTenant();\n const { t } = useTranslation();\n const { handleErrorSnackbar, handleSuccessSnackbar } = useHandleAxiosSnackbar();\n\n // Helper functions\n const getUserByEmail = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/email/${email}`,\n { method: 'get' }\n );\n },\n []\n );\n\n const createUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/${tenant?.activeTenant?.tenantId ?? ''}`,\n { method: 'post' },\n data\n );\n },\n [tenant]\n );\n\n const addUserToTenant = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenants/${tenant?.activeTenant?.tenantId ?? ''}/${email}`,\n { method: 'post' }\n );\n },\n [tenant]\n );\n\n const updateExistingUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/aad/${data.id}`,\n { method: 'patch' },\n data\n );\n },\n []\n );\n\n const fillInValues = (oldValues, newValues) => {\n const invalidFields = [\n 'id', 'displayName', 'mail', 'userType', 'email',\n 'accountEnabled', 'mailNickname', 'identities',\n 'password', 'passwordProfile', 'unityId',\n 'unityDefaultTenantId'\n ];\n for (let field in oldValues) {\n if (!invalidFields.includes(field)) {\n if (!oldValues[field]) {\n oldValues[field] = newValues[field];\n }\n }\n }\n return oldValues;\n };\n\n const handleSubmit = useCallback(\n async values => {\n setLoading(true);\n try {\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n\n const userExistsResponse = await getUserByEmail(values.email);\n const userExists = userExistsResponse.data;\n\n if (userExists) {\n const existingUser = cloneDeep(userExists);\n const updatedValues = fillInValues(existingUser, values);\n\n // Update existing user and add to tenant\n await updateExistingUser({ data: updatedValues });\n await addUserToTenant(values.email);\n handleSuccessSnackbar(t('User has been updated and added to the tenant'))\n } else {\n // Create a new user\n await createUser({ data: values });\n handleSuccessSnackbar(t('User has been created successfully'))\n }\n\n onClose(); // Close the SideSheet after successful submission\n } catch (error) {\n handleErrorSnackbar(error.message || t('An error occurred, please ensure you are creating a new user'))\n } finally {\n setLoading(false);\n }\n },\n [\n getUserByEmail,\n createUser,\n addUserToTenant,\n updateExistingUser,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n onClose,\n ]\n );\n\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title={t(\"Add User\")}\n width={600} // Adjust the width as needed\n >\n <UserForm\n submitUser={handleSubmit}\n creatingUser={loading}\n tenant={tenant?.activeTenant}\n />\n </SideSheet>\n );\n};\n\nexport default UserFormSideSheet;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserFormSideSheet-CpeyFv3r.js","names":["useStyles","Field","PasswordValidator","Form","UserFormFields","apiMutate","UserForm"],"sources":["../src/shell/ui/addUser/PasswordValidator.jsx","../src/shell/ui/addUser/UserFormFields.jsx","../src/shell/ui/addUser/UserForm.jsx","../src/shell/ui/addUser/UserFormSideSheet.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nconst validatePassword = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n let issues = [];\n if(!password) return [];\n if (lengthRestriction && password.length < lengthRestriction) {\n issues.push(\n `Password must be at least ${lengthRestriction} characters long.`\n );\n }\n if (upperCaseRestriction && !/[A-Z]/.test(password)) {\n issues.push('Password must contain at least one uppercase letter.');\n }\n if (specialCharacterRestriction && !/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n issues.push('Password must contain at least one special character.');\n }\n if (numberRestriction && !/\\d/.test(password)) {\n issues.push('Password must contain at least one number.');\n }\n if (lowerCaseRestriction && !/[a-z]/.test(password)) {\n issues.push('Password must contain at least one lowercase letter.');\n }\n return issues;\n};\nexport const isPasswordValid = (\n password,\n lengthRestriction = 0,\n upperCaseRestriction = false,\n specialCharacterRestriction = false,\n numberRestriction = false,\n lowerCaseRestriction = false\n) => {\n return (\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ).length === 0\n );\n};\nconst PasswordValidator = ({\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction,\n}) => {\n const issues = useMemo(\n () =>\n validatePassword(\n password,\n lengthRestriction,\n upperCaseRestriction,\n specialCharacterRestriction,\n numberRestriction,\n lowerCaseRestriction\n ),\n [password]\n );\n\n return issues?.length && password?.length ? (\n <div>\n <p style={{ color: 'red' }}>\n {issues.map((issue, index) => (\n <>\n {issue}\n <br />\n </>\n ))}\n </p>\n </div>\n ) : null;\n};\n\nexport default PasswordValidator;\n","import {\n Checkbox,\n FormControlLabel,\n makeStyles,\n TextField,\n RadioGroup,\n Radio,\n InputAdornment,\n IconButton,\n} from '@material-ui/core';\nimport React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport { ADUserTypeEnums } from '../../../enums/unitySystemEnums';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { Field } from '../../../utilities/form/Field';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport { useForm } from 'react-final-form';\nimport PasswordValidator, { isPasswordValid } from './PasswordValidator';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextFieldAutoComplete } from '../../../UI/inputs/textField/FluentTextFieldAutoComplete';\n\n\nconst removeWhiteSpace = str => {\n if (!str) {\n return '';\n }\n return str.replace(/\\s/g, '');\n};\n\n\n\nconst useStyles = makeStyles(theme => ({\n field: {\n marginBottom: theme.spacing(2),\n },\n selectors: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: theme.spacing(1),\n },\n alert: {\n marginTop: theme.spacing(-2),\n marginBottom: theme.spacing(2),\n },\n accountDisabledCheckbox: {\n height: 'auto',\n },\n accountDisabledCheckboxLabel: {\n marginTop: theme.spacing(1),\n },\n}));\n\n\nconst UserFormFields = props => {\n const {\n editedUser,\n rolesData,\n showRolesField = true,\n handlePasswordTypeChange,\n passwordType,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [showPassword, setShowPassword] = useState(false);\n const form = useForm();\n const { t } = useTranslation();\n\n const roles = useMemo(() => {\n if (!rolesData) {\n return [];\n }\n rolesData.forEach(r => {\n r.label = r.name;\n r.value = r.name;\n });\n return rolesData\n .sort((a, b) => a.label.localeCompare(b.label))\n .sort((a, b) => a.productName.localeCompare(b.productName));\n }, [rolesData]);\n\n\n const handleClickShowPassword = useCallback(() => {\n setShowPassword(!showPassword);\n }, [showPassword]);\n\n useEffect(() => {\n if (editedUser) {\n form.change('givenName', editedUser.givenName);\n form.change('surname', editedUser.surname);\n form.change('jobTitle', editedUser.jobTitle);\n form.change('location', editedUser.location);\n form.change('mobilePhone', editedUser.mobilePhone);\n form.change('officePhone', editedUser.officePhone);\n }\n }, [editedUser, form]);\n\n return (\n <>\n {editedUser && (\n <Field\n component={TextField}\n label={t(\"Unity ID\")}\n id=\"unity-id\"\n udprecordid=\"udpRecord-UserFormFields-unity-id\"\n name=\"unityId\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n editedUser?.userId\n }\n disabled={true}\n />\n )}\n <Field\n component={TextField}\n label={t(\"First Name\")}\n id=\"first-name\"\n udprecordid=\"udpRecord-UserFormFields-first-name\"\n name=\"givenName\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.givenName}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Last Name\")}\n id=\"last-name\"\n udprecordid=\"udpRecord-UserFormFields-last-name\"\n name=\"surname\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.surname}\n disabled={!user.can.CAN_MANAGE_USERS}\n />\n <Field\n component={TextField}\n label={t(\"Email\")}\n id=\"email\"\n udprecordid=\"udpRecord-UserFormFields-email\"\n name=\"email\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n required\n initialValue={editedUser?.email}\n disabled={editedUser && !user.can.CAN_MODIFY_EMAIL}\n validate={value => {\n if (\n !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) ||\n 64 < value.split('@')[0].length\n ) {\n return t('Invalid email address');\n }\n }}\n />\n <Field\n component={TextField}\n label={t(\"Title\")}\n id=\"title\"\n udprecordid=\"udpRecord-UserFormFields-title\"\n name=\"jobTitle\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.jobTitle === 'string'\n ? editedUser?.jobTitle.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value} // makes empty string values get added to form submission object\n />\n <Field\n component={TextField}\n label={t(\"Location\")}\n id=\"location\"\n udprecordid=\"udpRecord-UserFormFields-location\"\n name=\"location\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={\n typeof editedUser?.location === 'string'\n ? editedUser?.location.trim()\n : null\n }\n disabled={!user.can.CAN_MANAGE_USERS}\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Mobile Phone\")}\n id=\"mobile-phone\"\n udprecordid=\"udpRecord-UserFormFields-mobile-phone\"\n name=\"mobilePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.mobilePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n <Field\n component={TextField}\n label={t(\"Office Phone\")}\n id=\"office-phone\"\n udprecordid=\"udpRecord-UserFormFields-office-phone\"\n name=\"officePhone\"\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n initialValue={removeWhiteSpace(editedUser?.officePhone)}\n disabled={\n !user.can.CAN_MANAGE_USERS ||\n editedUser?.userType === ADUserTypeEnums.Guest\n }\n parse={value => value}\n />\n {showRolesField && (\n <Field\n component={FluentTextFieldAutoComplete}\n label={t(\"Select Role\")}\n id=\"roles\"\n udprecordid=\"udpRecord-UserFormFields-roles\"\n name=\"roles\"\n fullWidth\n options={roles || []}\n textFieldProps={{\n id: 'roles',\n name: 'roles',\n }}\n optionKey={'label'}\n isMultiple={true}\n groupBy={(option) => option.productName}\n required\n />\n )}\n {!editedUser && (\n <>\n <RadioGroup\n aria-labelledby=\"password-type\"\n name=\"password-type\"\n value={passwordType}\n onChange={handlePasswordTypeChange}\n >\n <FormControlLabel\n value=\"autoGeneratePassword\"\n control={<Radio />}\n label={t(\"Auto-generate password\")}\n udprecordid=\"udpRecord-UserFormFields-auto-generate-password\"\n />\n <FormControlLabel\n value=\"createPassword\"\n control={<Radio />}\n label={t(\"Let me create the password\")}\n udprecordid=\"udpRecord-UserFormFields-create-password\"\n />\n </RadioGroup>\n {passwordType === 'createPassword' && (\n <Field\n component={TextField}\n label={t(\"Password\")}\n id=\"passwordProfile\"\n udprecordid=\"udpRecord-UserFormFields-passwordProfile\"\n name=\"passwordProfile\"\n type={showPassword ? 'text' : 'password'}\n fullWidth\n variant=\"outlined\"\n margin=\"normal\"\n size=\"small\"\n autoComplete=\"new-password\"\n validate={value =>\n !isPasswordValid(value, 8, true, true, true, true) && (\n <PasswordValidator\n password={value}\n numberRestriction\n lowerCaseRestriction\n upperCaseRestriction\n lengthRestriction={8}\n specialCharacterRestriction\n />\n )\n }\n InputProps={{\n // <-- This is where the toggle button is added.\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n >\n {showPassword ? <Visibility /> : <VisibilityOff />}\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n )}\n </>\n )}\n {!editedUser && (\n <FormControlLabel\n className={classes.accountDisabledCheckboxLabel}\n label={t('Do not activate account and do not send a welcome email.')}\n control={\n <Field\n component={Checkbox}\n id=\"account-disabled\"\n udprecordid=\"udpRecord-UserFormFields-account-disabled\"\n name={'locked'}\n type=\"checkbox\"\n disabled={!user.can.CAN_MANAGE_USERS}\n classes={classes}\n />\n }\n />\n )}\n </>\n );\n};\nexport default UserFormFields;\n","import { Divider, LinearProgress, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { Form } from '../../../utilities/form/Form';\nimport { FormButtons } from '../../../utilities/form/FormButtons';\nimport { SubmitButton } from '../../../utilities/form/SubmitButton';\nimport { useAxiosGet } from '../../../../src/utilities/useAxiosGet';\nimport { useUser } from '../../../../src/utilities/auth/useUser';\nimport UserFormFields from './UserFormFields';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\n\nconst useStyles = makeStyles(theme => ({\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n loadingBar: {\n bottom: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UserForm = props => {\n const {\n submitUser,\n editedUser,\n creatingUser,\n tenant,\n updateCreatedUser,\n showRolesField = true,\n } = props;\n const classes = useStyles();\n const user = useUser();\n const [passwordType, setPasswordType] = useState('autoGeneratePassword');\n const { t } = useTranslation();\n\n\n // GET list of roles\n const [{ data: rolesData }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `roles?userId=${user.id}&tenantId=${tenant?.tenantId}`,\n {},\n !!!tenant,\n false\n );\n\n const handlePasswordTypeChange = useCallback(event => {\n setPasswordType(event.target.value);\n }, []);\n\n const handleSubmitUser = useCallback(\n values => {\n if (submitUser) {\n if (passwordType === 'autoGeneratePassword') {\n values.passwordProfile = null;\n }\n updateCreatedUser && editedUser\n ? updateCreatedUser(values)\n : submitUser(values);\n }\n },\n [submitUser, passwordType, updateCreatedUser, editedUser]\n );\n\n return (\n <>\n <Form onSubmit={handleSubmitUser}>\n <UserFormFields\n rolesData={rolesData}\n editedUser={editedUser}\n showRolesField={showRolesField}\n handlePasswordTypeChange={handlePasswordTypeChange}\n passwordType={passwordType}\n />\n {user.can.CAN_MANAGE_USERS && (\n <>\n <div className={classes.divider}>\n <Divider />\n </div>\n <FormButtons>\n <SubmitButton\n variant=\"contained\"\n color=\"primary\"\n disablePristine={false}\n udprecordid=\"udpRecord-UserFormFields-submit\"\n >\n {editedUser ? t('Update') : t('Create')}\n </SubmitButton>\n </FormButtons>\n </>\n )}\n </Form>\n {creatingUser && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n </>\n );\n};\nexport default UserForm;\n","import React, { useCallback, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport UserForm from './UserForm';\nimport { useSnackbar } from 'notistack';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from 'udp-react-stencil-component-library';\n\n\nconst UserFormSideSheet = ({\n open,\n onClose,\n}) => {\n const [loading, setLoading] = useState(false);\n const tenant = useTenant();\n const { t } = useTranslation();\n const { handleErrorSnackbar, handleSuccessSnackbar } = useHandleAxiosSnackbar();\n\n // Helper functions\n const getUserByEmail = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/email/${email}`,\n { method: 'get' }\n );\n },\n []\n );\n\n const createUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/${tenant?.activeTenant?.tenantId ?? ''}`,\n { method: 'post' },\n data\n );\n },\n [tenant]\n );\n\n const addUserToTenant = useCallback(\n async email => {\n return await apiMutate(\n ConfigService.tenantV1ApiUrl,\n `tenants/${tenant?.activeTenant?.tenantId ?? ''}/${email}`,\n { method: 'post' }\n );\n },\n [tenant]\n );\n\n const updateExistingUser = useCallback(\n async data => {\n return await apiMutate(\n ConfigService.securityV1ApiUrl,\n `users/aad/${data.id}`,\n { method: 'patch' },\n data\n );\n },\n []\n );\n\n const fillInValues = (oldValues, newValues) => {\n const invalidFields = [\n 'id', 'displayName', 'mail', 'userType', 'email',\n 'accountEnabled', 'mailNickname', 'identities',\n 'password', 'passwordProfile', 'unityId',\n 'unityDefaultTenantId'\n ];\n for (let field in oldValues) {\n if (!invalidFields.includes(field)) {\n if (!oldValues[field]) {\n oldValues[field] = newValues[field];\n }\n }\n }\n return oldValues;\n };\n\n const handleSubmit = useCallback(\n async values => {\n setLoading(true);\n try {\n if (values.email) {\n values.email = values.email.toLowerCase().trim();\n }\n\n const userExistsResponse = await getUserByEmail(values.email);\n const userExists = userExistsResponse.data;\n\n if (userExists) {\n const existingUser = cloneDeep(userExists);\n const updatedValues = fillInValues(existingUser, values);\n\n // Update existing user and add to tenant\n await updateExistingUser({ data: updatedValues });\n await addUserToTenant(values.email);\n handleSuccessSnackbar(t('User has been updated and added to the tenant'))\n } else {\n // Create a new user\n await createUser({ data: values });\n handleSuccessSnackbar(t('User has been created successfully'))\n }\n\n onClose(); // Close the SideSheet after successful submission\n } catch (error) {\n handleErrorSnackbar(error.message || t('An error occurred, please ensure you are creating a new user'))\n } finally {\n setLoading(false);\n }\n },\n [\n getUserByEmail,\n createUser,\n addUserToTenant,\n updateExistingUser,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n onClose,\n ]\n );\n\n return (\n <SideSheet\n open={open}\n onClose={onClose}\n title={t(\"Add User\")}\n width={600} // Adjust the width as needed\n >\n <UserForm\n submitUser={handleSubmit}\n creatingUser={loading}\n tenant={tenant?.activeTenant}\n />\n </SideSheet>\n );\n};\n\nexport default UserFormSideSheet;\n"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { t as FluentIconButton } from "./FluentIconButton-AN9tZKVl.js";
|
|
|
2
2
|
import { n as useShellStore } from "./shellStore-B_6P0cep.js";
|
|
3
3
|
import { t as useActionState } from "./useActions-V6oRdjcy.js";
|
|
4
4
|
import { i as InquiryHeaderSecondaryTarget, n as InquiryHeaderSecondaryAlertTarget } from "./InquiryHeaderSecondaryAlert-DyU3gSwo.js";
|
|
5
|
-
import { n as SubHeaderActionsTarget } from "./SubHeaderAction-
|
|
6
|
-
import { i as InquiryHeaderTitleTarget, n as InquiryHeaderControlTarget } from "./InquiryHeaderControl-
|
|
5
|
+
import { n as SubHeaderActionsTarget } from "./SubHeaderAction-F_GKrUBX.js";
|
|
6
|
+
import { i as InquiryHeaderTitleTarget, n as InquiryHeaderControlTarget } from "./InquiryHeaderControl-DClEzP6_.js";
|
|
7
7
|
import React from "react";
|
|
8
8
|
import { Card, Collapse, Divider, makeStyles } from "@material-ui/core";
|
|
9
9
|
import clsx from "clsx";
|
|
@@ -95,4 +95,4 @@ const UtilityBar = (props) => {
|
|
|
95
95
|
|
|
96
96
|
//#endregion
|
|
97
97
|
export { UtilityBar as t };
|
|
98
|
-
//# sourceMappingURL=UtilityBar-
|
|
98
|
+
//# sourceMappingURL=UtilityBar-CyUTKcIa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityBar-
|
|
1
|
+
{"version":3,"file":"UtilityBar-CyUTKcIa.js","names":[],"sources":["../src/UI/utilityDisplay/UtilityBar.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Card, Collapse, Divider } from '@material-ui/core';\nimport { FluentIconButton } from '../inputs/buttons/FluentIconButton';\nimport { ChevronDownIcon, ChevronUpIcon } from '@fluentui/react-icons';\nimport clsx from 'clsx';\nimport { SubHeaderActionsTarget } from '../../utilities/utilityBar/SubHeaderAction';\nimport { InquiryHeaderTitleTarget } from '../../utilities/utilityBar/InquiryHeaderTitle';\nimport { InquiryHeaderControlTarget } from '../../utilities/utilityBar/InquiryHeaderControl';\nimport { InquiryHeaderSecondaryTarget } from '../../utilities/utilityBar/InquiryHeaderSecondary';\nimport { InquiryHeaderSecondaryAlertTarget } from '../../utilities/utilityBar/InquiryHeaderSecondaryAlert';\nimport { useActionState } from '../../hooks/useActions';\nimport { useShellStore } from '../../stores/shellStore';\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n bar: {\n display: 'flex',\n flexDirection: 'row'\n },\n gutters: {\n paddingLeft: theme.spacing(2)\n },\n content: {\n flex: 1,\n width: '100%'\n },\n collapsed: {\n height: 0,\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n expanded: {\n transition: theme.transitions.create('height', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.enteringScreen\n })\n },\n open: {\n display: 'flex',\n justifyContent: 'flex-end'\n },\n toggleButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1)\n },\n cardRoot: {\n '&:last-child': {\n paddingBottom: theme.spacing(1)\n }\n },\n chevronButtonOpen: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosed: {\n position: 'absolute',\n left: '50%',\n top: 11,\n zIndex: theme.zIndex.appBar\n },\n chevronButtonClosedLower: {\n display: 'flex',\n justifyContent: 'center',\n marginLeft: 25,\n zIndex: theme.zIndex.appBar\n },\n inquiryHeader: {\n display: 'flex',\n flexDirection: 'column'\n // alignItems: 'center'\n }\n }),\n\n { name: 'UtilityBar' }\n);\n\nexport const UtilityBar = (props) => {\n // const [expanded, setExpanded] = useState(false)\n // const [expandedSecondary, setExpandedSecondary] = useState(false)\n\n const classes = useStyles(props);\n // const { expanded = true, gutters = true, className } = props\n const {\n className,\n gutters = true,\n expander,\n toggleOne,\n toggleTwo,\n closePrimary = false,\n closeSecondary = false,\n expanded = true,\n expandedSecondary,\n setExpanded,\n setExpandedSecondary\n } = props;\n\n const actionState = useActionState();\n const { pageSplitScreen } = actionState || {};\n\n const shaHasChildren = useShellStore(\n (state) => state.subHeaderActionHasChildren\n );\n\n return (\n <div className={clsx(classes.bar, gutters && classes.gutters, className)}>\n <div\n className={classes.content}\n style={{ zIndex: pageSplitScreen?.open ? 1100 : '' }}\n >\n {!expander && (\n <Card variant={`${shaHasChildren ? 'outlined' : ''}`}>\n <SubHeaderActionsTarget className={classes.actions} />\n </Card>\n )}\n {expander && (\n <div>\n <Card className={classes.card} square>\n {/* <CardContent classes={{ root: classes.cardRoot }}> */}\n <div>\n <InquiryHeaderTitleTarget />\n\n {/* <Collapse in={expanded || closePrimary} timeout='auto'> */}\n <Collapse in={closePrimary} timeout='auto'>\n <SubHeaderActionsTarget className={classes.actions} />\n </Collapse>\n\n {toggleOne && (\n <div\n className={clsx(\n expanded\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosed\n )}\n >\n <FluentIconButton\n // onClick={() => setExpanded(!expanded)}\n onClick={setExpanded}\n icon={expanded ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expanded}\n />\n </div>\n )}\n </div>\n <Divider />\n {/* </CardContent> */}\n {/* <Collapse in={expandedSecondary || closeSecondary} timeout='auto'> */}\n <Collapse in={closeSecondary} timeout='auto'>\n <div className={classes.inquiryHeader}>\n <InquiryHeaderSecondaryTarget className={classes.actions} />\n <InquiryHeaderSecondaryAlertTarget\n className={classes.actions}\n />\n </div>\n </Collapse>\n <InquiryHeaderControlTarget />\n {toggleTwo && (\n <div\n className={clsx(\n expandedSecondary\n ? classes.chevronButtonOpen\n : classes.chevronButtonClosedLower\n )}\n >\n <FluentIconButton\n // onClick={() => setExpandedSecondary(!expandedSecondary)}\n onClick={setExpandedSecondary}\n icon={expandedSecondary ? ChevronUpIcon : ChevronDownIcon}\n className={classes.icon}\n // rounded={!expandedSecondary}\n />\n </div>\n )}\n </Card>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,YACf,WAAW;CACV,MAAM,EAAE;CACR,KAAK;EACH,SAAS;EACT,eAAe;EAChB;CACD,SAAS,EACP,aAAa,MAAM,QAAQ,EAAE,EAC9B;CACD,SAAS;EACP,MAAM;EACN,OAAO;EACR;CACD,WAAW;EACT,QAAQ;EACR,YAAY,MAAM,YAAY,OAAO,UAAU;GAC7C,QAAQ,MAAM,YAAY,OAAO;GACjC,UAAU,MAAM,YAAY,SAAS;GACtC,CAAC;EACH;CACD,UAAU,EACR,YAAY,MAAM,YAAY,OAAO,UAAU;EAC7C,QAAQ,MAAM,YAAY,OAAO;EACjC,UAAU,MAAM,YAAY,SAAS;EACtC,CAAC,EACH;CACD,MAAM;EACJ,SAAS;EACT,gBAAgB;EACjB;CACD,cAAc;EACZ,UAAU;EACV,OAAO,MAAM,QAAQ,EAAE;EACvB,KAAK,MAAM,QAAQ,EAAE;EACtB;CACD,UAAU,EACR,gBAAgB,EACd,eAAe,MAAM,QAAQ,EAAE,EAChC,EACF;CACD,mBAAmB;EACjB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM;EACN,KAAK;EACL,QAAQ,MAAM,OAAO;EACtB;CACD,0BAA0B;EACxB,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,QAAQ,MAAM,OAAO;EACtB;CACD,eAAe;EACb,SAAS;EACT,eAAe;EAEhB;CACF,GAED,EAAE,MAAM,cAAc,CACvB;AAED,MAAa,cAAc,UAAU;CAInC,MAAM,UAAU,UAAU,MAAM;CAEhC,MAAM,EACJ,WACA,UAAU,MACV,UACA,WACA,WACA,eAAe,OACf,iBAAiB,OACjB,WAAW,MACX,mBACA,aACA,yBACE;CAGJ,MAAM,EAAE,oBADY,gBAAgB,IACO,EAAE;CAE7C,MAAM,iBAAiB,eACpB,UAAU,MAAM,2BAClB;AAED,QACE,oCAAC,SAAI,WAAW,KAAK,QAAQ,KAAK,WAAW,QAAQ,SAAS,UAAU,IACtE,oCAAC;EACC,WAAW,QAAQ;EACnB,OAAO,EAAE,QAAQ,iBAAiB,OAAO,OAAO,IAAI;IAEnD,CAAC,YACA,oCAAC,QAAK,SAAS,GAAG,iBAAiB,aAAa,QAC9C,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CACjD,EAER,YACC,oCAAC,aACC,oCAAC;EAAK,WAAW,QAAQ;EAAM;IAE7B,oCAAC,aACC,oCAAC,+BAA2B,EAG5B,oCAAC;EAAS,IAAI;EAAc,SAAQ;IAClC,oCAAC,0BAAuB,WAAW,QAAQ,UAAW,CAC7C,EAEV,aACC,oCAAC,SACC,WAAW,KACT,WACI,QAAQ,oBACR,QAAQ,oBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,WAAW,gBAAgB;EACjC,WAAW,QAAQ;GAEnB,CACE,CAEJ,EACN,oCAAC,cAAU,EAGX,oCAAC;EAAS,IAAI;EAAgB,SAAQ;IACpC,oCAAC,SAAI,WAAW,QAAQ,iBACtB,oCAAC,gCAA6B,WAAW,QAAQ,UAAW,EAC5D,oCAAC,qCACC,WAAW,QAAQ,UACnB,CACE,CACG,EACX,oCAAC,iCAA6B,EAC7B,aACC,oCAAC,SACC,WAAW,KACT,oBACI,QAAQ,oBACR,QAAQ,yBACb,IAED,oCAAC;EAEC,SAAS;EACT,MAAM,oBAAoB,gBAAgB;EAC1C,WAAW,QAAQ;GAEnB,CACE,CAEH,CACH,CAEJ,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityBarInport-
|
|
1
|
+
{"version":3,"file":"UtilityBarInport-BK2d93K5.js","names":[],"sources":["../src/utilities/utilityBar/UtilityBarInport.jsx"],"sourcesContent":["import React from 'react'\nimport { createTeleporter } from 'react-teleporter'\n\nconst UtilityBarInports = createTeleporter({\n multiSources: true\n})\n\n/**\n * @param {any} props\n */\nexport function UtilityBarInportTarget(props) {\n return <UtilityBarInports.Target {...props} />\n}\n\n/**\n * Places a Control in the App SubHeader\n */\nexport const UtilityBarInport = (props) => {\n const { children, className, ...buttonProps } = props\n\n return <UtilityBarInports.Source>{children}</UtilityBarInports.Source>\n}\n"],"mappings":";;;;AAGA,MAAM,oBAAoB,iBAAiB,EACzC,cAAc,MACf,CAAC;;;;AAKF,SAAgB,uBAAuB,OAAO;AAC5C,QAAO,oCAAC,kBAAkB,QAAW,MAAS;;;;;AAMhD,MAAa,oBAAoB,UAAU;CACzC,MAAM,EAAE,UAAU,UAAW,GAAG,gBAAgB;AAEhD,QAAO,oCAAC,kBAAkB,cAAQ,SAAoC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as SidebarCollapseButton } from "./SidebarCollapseButton-RZB7hk6o.js";
|
|
2
2
|
import { t as AmbientCard } from "./AmbientCard-Bl34OCRH.js";
|
|
3
3
|
import { r as useBuildEnvironment, t as APP_RIBBON_SPACE } from "./EnvironmentRibbon-CRhI4qRC.js";
|
|
4
|
-
import { n as UtilityBarInportTarget } from "./UtilityBarInport-
|
|
4
|
+
import { n as UtilityBarInportTarget } from "./UtilityBarInport-BK2d93K5.js";
|
|
5
5
|
import React, { useCallback, useEffect, useState } from "react";
|
|
6
6
|
import { Typography, makeStyles, useTheme } from "@material-ui/core";
|
|
7
7
|
import { ResizableBox } from "react-resizable";
|
|
@@ -92,4 +92,4 @@ const UtilitySideBar = (props) => {
|
|
|
92
92
|
|
|
93
93
|
//#endregion
|
|
94
94
|
export { UtilitySideBar as t };
|
|
95
|
-
//# sourceMappingURL=UtilitySideBar-
|
|
95
|
+
//# sourceMappingURL=UtilitySideBar-BTwLKDoy.js.map
|