udp-react-enterprise-component-library 25.18.3-beta.1 → 25.18.3-beta.11
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/{ActionProvider-BGugOmjV.js → ActionProvider-B1-CUDQT.js} +7 -7
- package/dist/{ActionProvider-BGugOmjV.js.map → ActionProvider-B1-CUDQT.js.map} +1 -1
- package/dist/{ActionSplitScreen-D6_7PlK-.js → ActionSplitScreen-DjSUjE6M.js} +8 -8
- package/dist/{ActionSplitScreen-D6_7PlK-.js.map → ActionSplitScreen-DjSUjE6M.js.map} +1 -1
- package/dist/{ActionWrapper-DnP7lGDq.js → ActionWrapper-BwnB_Qw4.js} +14 -14
- package/dist/{ActionWrapper-DnP7lGDq.js.map → ActionWrapper-BwnB_Qw4.js.map} +1 -1
- package/dist/{ActionsRenderer-DbrPKZ1o.js → ActionsRenderer-DbMlilVW.js} +2 -2
- package/dist/{ActionsRenderer-DbrPKZ1o.js.map → ActionsRenderer-DbMlilVW.js.map} +1 -1
- package/dist/{AggregateChip-BF7S3x_K.js → AggregateChip-Dm3js2LK.js} +5 -5
- package/dist/{AggregateChip-BF7S3x_K.js.map → AggregateChip-Dm3js2LK.js.map} +1 -1
- package/dist/{AmbientChipButton-DYAYXuKp.js → AmbientChipButton-XFBUrwCb.js} +2 -2
- package/dist/AmbientChipButton-XFBUrwCb.js.map +1 -0
- package/dist/{AmbientGridTemplate-D1TMpzxb.js → AmbientGridTemplate-UXA3KgIL.js} +7 -7
- package/dist/{AmbientGridTemplate-D1TMpzxb.js.map → AmbientGridTemplate-UXA3KgIL.js.map} +1 -1
- package/dist/{AmbientTokenButton-B53E25r2.js → AmbientTokenButton-F3Wg-88V.js} +2 -2
- package/dist/AmbientTokenButton-F3Wg-88V.js.map +1 -0
- package/dist/{AppMenu-oGJtO6Vp.js → AppMenu-C_Bl1RvA.js} +5 -4
- package/dist/AppMenu-C_Bl1RvA.js.map +1 -0
- package/dist/{AuthProvider-J79EBNDc.js → AuthProvider-DtiKAaWb.js} +5 -5
- package/dist/{AuthProvider-J79EBNDc.js.map → AuthProvider-DtiKAaWb.js.map} +1 -1
- package/dist/{BarChartWidget-u-8fxMn5.js → BarChartWidget-DDsXC3pz.js} +3 -3
- package/dist/BarChartWidget-DDsXC3pz.js.map +1 -0
- package/dist/{BaseTreeMenu-Dg8MW4TD.js → BaseTreeMenu-Ceq3glfG.js} +6 -7
- package/dist/BaseTreeMenu-Ceq3glfG.js.map +1 -0
- package/dist/{BioCardWrapper-D1ZOHyA4.js → BioCardWrapper-CUuubD2U.js} +3 -3
- package/dist/{BioCardWrapper-D1ZOHyA4.js.map → BioCardWrapper-CUuubD2U.js.map} +1 -1
- package/dist/{BubbleWidget-CMJYN-7J.js → BubbleWidget-Bx4c0P2X.js} +3 -3
- package/dist/BubbleWidget-Bx4c0P2X.js.map +1 -0
- package/dist/{BulkActionsGridButton-JYgIABWU.js → BulkActionsGridButton-zrOoVMFg.js} +8 -8
- package/dist/{BulkActionsGridButton-JYgIABWU.js.map → BulkActionsGridButton-zrOoVMFg.js.map} +1 -1
- package/dist/{CardList-B8nTYXo7.js → CardList-mxsKMn2s.js} +6 -6
- package/dist/{CardList-B8nTYXo7.js.map → CardList-mxsKMn2s.js.map} +1 -1
- package/dist/{ChatBotProvider-CmrKYl2I.js → ChatBotProvider-BgWP6rfO.js} +6 -6
- package/dist/{ChatBotProvider-CmrKYl2I.js.map → ChatBotProvider-BgWP6rfO.js.map} +1 -1
- package/dist/{ChatContainer-CXzPIP9R.js → ChatContainer-C5pau9eF.js} +2 -2
- package/dist/{ChatContainer-CXzPIP9R.js.map → ChatContainer-C5pau9eF.js.map} +1 -1
- package/dist/{ChatUDP-DYAsqqXk.js → ChatUDP-rGP1IC_e.js} +2 -2
- package/dist/{ChatUDP-DYAsqqXk.js.map → ChatUDP-rGP1IC_e.js.map} +1 -1
- package/dist/{CircleButton-CrvnPHDw.js → CircleButton-CwA9EAmx.js} +2 -2
- package/dist/{CircleButton-CrvnPHDw.js.map → CircleButton-CwA9EAmx.js.map} +1 -1
- package/dist/{CrudBrowserContainer-UJvAMHYL.js → CrudBrowserContainer-4xalY8qW.js} +2 -2
- package/dist/{CrudBrowserContainer-UJvAMHYL.js.map → CrudBrowserContainer-4xalY8qW.js.map} +1 -1
- package/dist/{CrudForm-C9xMnPoA.js → CrudForm-B9K31dMq.js} +8 -8
- package/dist/{CrudForm-C9xMnPoA.js.map → CrudForm-B9K31dMq.js.map} +1 -1
- package/dist/{CrudTableSidePanel-D8UYaXhS.js → CrudTableSidePanel-DmC2bKKS.js} +5 -5
- package/dist/{CrudTableSidePanel-D8UYaXhS.js.map → CrudTableSidePanel-DmC2bKKS.js.map} +1 -1
- package/dist/{DataBrowserContainer-DGEL52Un.js → DataBrowserContainer-zVg6Htb9.js} +10 -10
- package/dist/{DataBrowserContainer-DGEL52Un.js.map → DataBrowserContainer-zVg6Htb9.js.map} +1 -1
- package/dist/{DensePlotWidget-lJW-uzdQ.js → DensePlotWidget-C3hgu_PW.js} +3 -3
- package/dist/DensePlotWidget-C3hgu_PW.js.map +1 -0
- package/dist/{DynamicContainerWithMenu-lYZyNyb_.js → DynamicContainerWithMenu-DB27WYKY.js} +2 -2
- package/dist/{DynamicContainerWithMenu-lYZyNyb_.js.map → DynamicContainerWithMenu-DB27WYKY.js.map} +1 -1
- package/dist/{EntityHeader-CPvUEp7i.js → EntityHeader-CuQJ8F5K.js} +4 -4
- package/dist/{EntityHeader-CPvUEp7i.js.map → EntityHeader-CuQJ8F5K.js.map} +1 -1
- package/dist/{EntitySideBarContent-Bl_8gI69.js → EntitySideBarContent-DfmL6BdB.js} +2 -2
- package/dist/{EntitySideBarContent-Bl_8gI69.js.map → EntitySideBarContent-DfmL6BdB.js.map} +1 -1
- package/dist/{ExportSidesheet-eHGdT42e.js → ExportSidesheet-CM6A7I6E.js} +3 -3
- package/dist/{ExportSidesheet-eHGdT42e.js.map → ExportSidesheet-CM6A7I6E.js.map} +1 -1
- package/dist/{FieldArrayCard-CkVvDF-N.js → FieldArrayCard-vX6wT9RN.js} +13 -13
- package/dist/{FieldArrayCard-CkVvDF-N.js.map → FieldArrayCard-vX6wT9RN.js.map} +1 -1
- package/dist/{FluentCell-CuJJAwCD.js → FluentCell-BxgROwUy.js} +2 -2
- package/dist/{FluentCell-CuJJAwCD.js.map → FluentCell-BxgROwUy.js.map} +1 -1
- package/dist/{FluentDataTable-CYNp3-qT.js → FluentDataTable-BLAHPWUk.js} +2 -2
- package/dist/{FluentDataTable-CYNp3-qT.js.map → FluentDataTable-BLAHPWUk.js.map} +1 -1
- package/dist/{FluentSimpleSelect-BfoxBQj4.js → FluentSimpleSelect-BnXJTE2z.js} +2 -2
- package/dist/{FluentSimpleSelect-BfoxBQj4.js.map → FluentSimpleSelect-BnXJTE2z.js.map} +1 -1
- package/dist/{GridFunctions-D76ygiH2.js → GridFunctions-quS_QhSZ.js} +4 -4
- package/dist/GridFunctions-quS_QhSZ.js.map +1 -0
- package/dist/{GridGroupingSidebar-D-ozXbff.js → GridGroupingSidebar-CfXk_nd_.js} +2 -2
- package/dist/{GridGroupingSidebar-D-ozXbff.js.map → GridGroupingSidebar-CfXk_nd_.js.map} +1 -1
- package/dist/{GroupNode-CZX--ble.js → GroupNode-BVz5rDVG.js} +2 -2
- package/dist/{GroupNode-CZX--ble.js.map → GroupNode-BVz5rDVG.js.map} +1 -1
- package/dist/{IconRenderer-BEezfZ3N.js → IconRenderer-BKy2VlFt.js} +2 -2
- package/dist/{IconRenderer-BEezfZ3N.js.map → IconRenderer-BKy2VlFt.js.map} +1 -1
- package/dist/{ImportDataFromFileMapping-Dy1iJMkI.js → ImportDataFromFileMapping-ByNxnvjo.js} +6 -6
- package/dist/{ImportDataFromFileMapping-Dy1iJMkI.js.map → ImportDataFromFileMapping-ByNxnvjo.js.map} +1 -1
- package/dist/InputFieldTypeEnums-CtR8GR5A.js +14 -0
- package/dist/{InputFieldTypeEnums-Mg684vvi.js.map → InputFieldTypeEnums-CtR8GR5A.js.map} +1 -1
- package/dist/{Inquiry-D6nWpzu2.js → Inquiry-DAhC82sz.js} +20 -20
- package/dist/{Inquiry-D6nWpzu2.js.map → Inquiry-DAhC82sz.js.map} +1 -1
- package/dist/Inquiry-UieTwtBP.js +3 -0
- package/dist/{InquiryNodeControls-DeK_hTzo.js → InquiryNodeControls-ivQYYK6C.js} +2 -2
- package/dist/{InquiryNodeControls-DeK_hTzo.js.map → InquiryNodeControls-ivQYYK6C.js.map} +1 -1
- package/dist/{InquirySearchContainer-zxbukV51.js → InquirySearchContainer-Di8nXQP_.js} +6 -6
- package/dist/{InquirySearchContainer-zxbukV51.js.map → InquirySearchContainer-Di8nXQP_.js.map} +1 -1
- package/dist/{LineGraphWidget-Ly1fmTyr.js → LineGraphWidget-CrPDR99w.js} +3 -3
- package/dist/LineGraphWidget-CrPDR99w.js.map +1 -0
- package/dist/MenuPage-BJ4uxotv.js +3 -0
- package/dist/{MenuPage-KiNfnc7P.js → MenuPage-SA6u84EV.js} +7 -7
- package/dist/MenuPage-SA6u84EV.js.map +1 -0
- package/dist/{MenuProvider-BqEZve2y.js → MenuProvider-CqV76ZaL.js} +3 -3
- package/dist/{MenuProvider-BqEZve2y.js.map → MenuProvider-CqV76ZaL.js.map} +1 -1
- package/dist/{MttMainTimeline-DbaaXXQv.js → MttMainTimeline-CinommZ-.js} +3 -3
- package/dist/{MttMainTimeline-DbaaXXQv.js.map → MttMainTimeline-CinommZ-.js.map} +1 -1
- package/dist/{MttSummary-DNc71fHh.js → MttSummary-C9BFDiPS.js} +4 -4
- package/dist/{MttSummary-DNc71fHh.js.map → MttSummary-C9BFDiPS.js.map} +1 -1
- package/dist/{MyExportsPage-C-pr-R0K.js → MyExportsPage-CvYXdQux.js} +6 -6
- package/dist/{MyExportsPage-C-pr-R0K.js.map → MyExportsPage-CvYXdQux.js.map} +1 -1
- package/dist/MyExportsPage-zDOtLpTr.js +3 -0
- package/dist/{NestedGrid-DAqsZ216.js → NestedGrid-BYfgg6bn.js} +3 -3
- package/dist/NestedGrid-BYfgg6bn.js.map +1 -0
- package/dist/{NotesScreen-D8-QnWaB.js → NotesScreen-B1Kf1FUL.js} +8 -8
- package/dist/{NotesScreen-D8-QnWaB.js.map → NotesScreen-B1Kf1FUL.js.map} +1 -1
- package/dist/{NumberOperator-p4HsHHx3.js → NumberOperator-BhGfG6ZY.js} +10 -10
- package/dist/{NumberOperator-p4HsHHx3.js.map → NumberOperator-BhGfG6ZY.js.map} +1 -1
- package/dist/{OutlookCallback-D3no-Urx.js → OutlookCallback-ChCk_gx1.js} +2 -2
- package/dist/{OutlookCallback-D3no-Urx.js.map → OutlookCallback-ChCk_gx1.js.map} +1 -1
- package/dist/{PageActionWrapper-Bm6J0thr.js → PageActionWrapper-B2NHh8V9.js} +4 -4
- package/dist/{PageActionWrapper-Bm6J0thr.js.map → PageActionWrapper-B2NHh8V9.js.map} +1 -1
- package/dist/{PageContainer-ButX_XVS.js → PageContainer-B6aRZIrC.js} +2 -2
- package/dist/{PageContainer-ButX_XVS.js.map → PageContainer-B6aRZIrC.js.map} +1 -1
- package/dist/{PageRenderer-hxobUKe_.js → PageRenderer-BaE_3AVi.js} +2 -2
- package/dist/{PageRenderer-hxobUKe_.js.map → PageRenderer-BaE_3AVi.js.map} +1 -1
- package/dist/{PaymentForm-C4IXoROF.js → PaymentForm-u1QxkAwH.js} +5 -5
- package/dist/{PaymentForm-C4IXoROF.js.map → PaymentForm-u1QxkAwH.js.map} +1 -1
- package/dist/{PowerBIReport-CMrcDCCK.js → PowerBIReport-D4IhLgYA.js} +2 -2
- package/dist/{PowerBIReport-CMrcDCCK.js.map → PowerBIReport-D4IhLgYA.js.map} +1 -1
- package/dist/{RecentlyLoadedNodesTable-BzvR0L0h.js → RecentlyLoadedNodesTable-Bih97GZe.js} +2 -2
- package/dist/{RecentlyLoadedNodesTable-BzvR0L0h.js.map → RecentlyLoadedNodesTable-Bih97GZe.js.map} +1 -1
- package/dist/{RecentlyLoadedNodesWidget-7c9IngMR.js → RecentlyLoadedNodesWidget-C_SvOidH.js} +2 -2
- package/dist/{RecentlyLoadedNodesWidget-7c9IngMR.js.map → RecentlyLoadedNodesWidget-C_SvOidH.js.map} +1 -1
- package/dist/{RemindersCard-C1_GeqUW.js → RemindersCard-DtILCRPZ.js} +4 -4
- package/dist/{RemindersCard-C1_GeqUW.js.map → RemindersCard-DtILCRPZ.js.map} +1 -1
- package/dist/{RemindersScreen-BDgMIUaq.js → RemindersScreen-CR_7sXWV.js} +8 -8
- package/dist/{RemindersScreen-BDgMIUaq.js.map → RemindersScreen-CR_7sXWV.js.map} +1 -1
- package/dist/{RemindersWidget-u_d6RoVv.js → RemindersWidget-VugVy-04.js} +7 -7
- package/dist/{RemindersWidget-u_d6RoVv.js.map → RemindersWidget-VugVy-04.js.map} +1 -1
- package/dist/Reports-ChMzlAeX.js +3 -0
- package/dist/{Reports-D6LOvcOA.js → Reports-XnOyqOdW.js} +2 -2
- package/dist/{Reports-D6LOvcOA.js.map → Reports-XnOyqOdW.js.map} +1 -1
- package/dist/{RequiredFieldsMappingForm-rstcZ1W0.js → RequiredFieldsMappingForm-_Faww_eR.js} +2 -2
- package/dist/{RequiredFieldsMappingForm-rstcZ1W0.js.map → RequiredFieldsMappingForm-_Faww_eR.js.map} +1 -1
- package/dist/{SearchServiceDatasource-D8egrLwe.js → SearchServiceDatasource-DxoCnnUT.js} +3 -3
- package/dist/{SearchServiceDatasource-D8egrLwe.js.map → SearchServiceDatasource-DxoCnnUT.js.map} +1 -1
- package/dist/{SearchUtilities-DUW0kaw_.js → SearchUtilities-4D3aArPk.js} +45 -45
- package/dist/SearchUtilities-4D3aArPk.js.map +1 -0
- package/dist/{Shell-n8SMDgV0.js → Shell-XnaXB62L.js} +11 -11
- package/dist/{Shell-n8SMDgV0.js.map → Shell-XnaXB62L.js.map} +1 -1
- package/dist/{ShortcutContentFinder-BR-Gd55o.js → ShortcutContentFinder-DJveYwAo.js} +6 -6
- package/dist/{ShortcutContentFinder-BR-Gd55o.js.map → ShortcutContentFinder-DJveYwAo.js.map} +1 -1
- package/dist/SidebarCollapseButton-_UUtsftD.js.map +1 -1
- package/dist/{SiteHeader-DaL_Dy45.js → SiteHeader-CduuXQZG.js} +8 -8
- package/dist/{SiteHeader-DaL_Dy45.js.map → SiteHeader-CduuXQZG.js.map} +1 -1
- package/dist/{SparsePlotWidget-DuHbmEom.js → SparsePlotWidget-ZYrmPIXJ.js} +3 -3
- package/dist/SparsePlotWidget-ZYrmPIXJ.js.map +1 -0
- package/dist/{Statistic-DWW8GxYI.js → Statistic-D_p5eqdf.js} +2 -2
- package/dist/{Statistic-DWW8GxYI.js.map → Statistic-D_p5eqdf.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-6P8CVloZ.js → SupportCaseSideSheet-B9BxUCym.js} +2 -2
- package/dist/{SupportCaseSideSheet-6P8CVloZ.js.map → SupportCaseSideSheet-B9BxUCym.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-BKAsjpN1.js → SupportCaseSideSheet-D9IjAIwL.js} +1 -1
- package/dist/{TableContainer-B0IAjIA3.js → TableContainer-mo1phK4j.js} +5 -5
- package/dist/{TableContainer-B0IAjIA3.js.map → TableContainer-mo1phK4j.js.map} +1 -1
- package/dist/{TenantProvider-BeFMHYP8.js → TenantProvider-CBiqIIsu.js} +5 -5
- package/dist/{TenantProvider-BeFMHYP8.js.map → TenantProvider-CBiqIIsu.js.map} +1 -1
- package/dist/{TreeUtilities-jEhtZNg5.js → TreeUtilities-Iv9nOf-6.js} +4 -4
- package/dist/{TreeUtilities-jEhtZNg5.js.map → TreeUtilities-Iv9nOf-6.js.map} +1 -1
- package/dist/UI/accordion/index.js +1 -1
- package/dist/UI/charts/index.js +1 -1
- package/dist/UI/containers/index.js +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.js +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
- package/dist/UI/dataDisplay/cardList/index.js +1 -1
- package/dist/UI/dataDisplay/entityHeader/index.js +1 -1
- package/dist/UI/dataDisplay/index.js +1 -1
- package/dist/UI/fileViewer/index.js +1 -1
- package/dist/UI/floorplans/index.js +1 -1
- package/dist/UI/forms/index.js +3 -3
- package/dist/UI/index.js +21 -21
- package/dist/UI/inputs/buttons/index.js +2 -2
- package/dist/UI/inputs/fieldArrayCard/index.js +1 -1
- package/dist/UI/inputs/menus/index.js +1 -1
- package/dist/UI/mapLayout/index.js +1 -1
- package/dist/UI/mapLayout/ui/index.js +1 -1
- package/dist/UI/navigation/index.js +1 -1
- package/dist/UI/navigation/menus/index.js +1 -1
- package/dist/UI/support/index.js +1 -1
- package/dist/UI/surfaces/NestedGrid/index.js +1 -1
- package/dist/UI/surfaces/index.js +1 -1
- package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +1 -1
- package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +1 -1
- package/dist/UI/templates/newGrid/index.js +1 -1
- package/dist/UI/templates/ui/index.js +1 -1
- package/dist/UI/templates/ui/renderers/index.js +2 -2
- package/dist/UI/timeline/fluentTimeline/index.js +1 -1
- package/dist/UI/timeline/index.js +1 -1
- package/dist/UI/utilityDisplay/alerts/index.js +1 -1
- package/dist/UI/utilityDisplay/index.js +6 -6
- package/dist/UI/utilityDisplay/utilities/index.js +1 -1
- package/dist/UI/widgets/library/BarChartWidget/index.js +1 -1
- package/dist/UI/widgets/library/BubbleWidget/index.js +1 -1
- package/dist/UI/widgets/library/DensePlotWidget/index.js +1 -1
- package/dist/UI/widgets/library/LineGraphWidget/index.js +1 -1
- package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/index.js +1 -1
- package/dist/UI/widgets/library/RemindersWidget/index.js +1 -1
- package/dist/UI/widgets/library/SparsePlotWidget/index.js +1 -1
- package/dist/{UdpAlertsContainer-CbiqX1P0.js → UdpAlertsContainer-C9r41A58.js} +5 -5
- package/dist/{UdpAlertsContainer-CbiqX1P0.js.map → UdpAlertsContainer-C9r41A58.js.map} +1 -1
- package/dist/{UdpAppProvider-DXgzyeHZ.js → UdpAppProvider-DaFJNNnP.js} +4 -4
- package/dist/{UdpAppProvider-DXgzyeHZ.js.map → UdpAppProvider-DaFJNNnP.js.map} +1 -1
- package/dist/{UdpAuditEvents-CoD2y2CV.js → UdpAuditEvents-SVdK01j4.js} +2 -2
- package/dist/{UdpAuditEvents-CoD2y2CV.js.map → UdpAuditEvents-SVdK01j4.js.map} +1 -1
- package/dist/{UdpAuditEventsPage-B0yZyLfH.js → UdpAuditEventsPage-B8wDHsxq.js} +9 -9
- package/dist/{UdpAuditEventsPage-B0yZyLfH.js.map → UdpAuditEventsPage-B8wDHsxq.js.map} +1 -1
- package/dist/UdpAuditEventsPage-bigxgoZ7.js +3 -0
- package/dist/{UdpDataBrowserPage-Br0DJTMq.js → UdpDataBrowserPage-DO-d-rsj.js} +14 -14
- package/dist/{UdpDataBrowserPage-Br0DJTMq.js.map → UdpDataBrowserPage-DO-d-rsj.js.map} +1 -1
- package/dist/{UdpFormsPrivateForm-ip2aj9xl.js → UdpFormsPrivateForm-_yiSaFcM.js} +2 -2
- package/dist/{UdpFormsPrivateForm-ip2aj9xl.js.map → UdpFormsPrivateForm-_yiSaFcM.js.map} +1 -1
- package/dist/{UdpFormsPublicForm-YjrVSCGi.js → UdpFormsPublicForm-3J1HBXQU.js} +2 -2
- package/dist/{UdpFormsPublicForm-YjrVSCGi.js.map → UdpFormsPublicForm-3J1HBXQU.js.map} +1 -1
- package/dist/{UdpFormsSubmissionGrid-fhcfXjlD.js → UdpFormsSubmissionGrid-DFUaQDgZ.js} +97 -40
- package/dist/UdpFormsSubmissionGrid-DFUaQDgZ.js.map +1 -0
- package/dist/{UdpGridPanelManagementPage-CkeP9nO-.js → UdpGridPanelManagementPage-DrQKKAKQ.js} +5 -5
- package/dist/{UdpGridPanelManagementPage-CkeP9nO-.js.map → UdpGridPanelManagementPage-DrQKKAKQ.js.map} +1 -1
- package/dist/{UdpGridTemplate-BjsxZFOQ.js → UdpGridTemplate-DDsHQyJt.js} +2 -2
- package/dist/{UdpGridTemplate-BjsxZFOQ.js.map → UdpGridTemplate-DDsHQyJt.js.map} +1 -1
- package/dist/{UdpImportFromFileMappingPage-xfq_3nOx.js → UdpImportFromFileMappingPage-DxGrLgP4.js} +2 -2
- package/dist/{UdpImportFromFileMappingPage-xfq_3nOx.js.map → UdpImportFromFileMappingPage-DxGrLgP4.js.map} +1 -1
- package/dist/{UdpInquiryMaintenanceEnginePage-WRu7l1i_.js → UdpInquiryMaintenanceEnginePage-niKERvHU.js} +3 -3
- package/dist/{UdpInquiryMaintenanceEnginePage-WRu7l1i_.js.map → UdpInquiryMaintenanceEnginePage-niKERvHU.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-D5pCaMao.js → UdpMaintenanceEnginePage-SlGEwD-7.js} +12 -12
- package/dist/{UdpMaintenanceEnginePage-D5pCaMao.js.map → UdpMaintenanceEnginePage-SlGEwD-7.js.map} +1 -1
- package/dist/{UdpNotesPage-Bc1J9jHc.js → UdpNotesPage-D0p12dX2.js} +9 -9
- package/dist/{UdpNotesPage-Bc1J9jHc.js.map → UdpNotesPage-D0p12dX2.js.map} +1 -1
- package/dist/{UdpRemindersPage-BmNTjbO_.js → UdpRemindersPage-kPco6gzY.js} +9 -9
- package/dist/{UdpRemindersPage-BmNTjbO_.js.map → UdpRemindersPage-kPco6gzY.js.map} +1 -1
- package/dist/{UdpReportsPage-ljtdb45L.js → UdpReportsPage-n1ymR1VK.js} +2 -2
- package/dist/{UdpReportsPage-ljtdb45L.js.map → UdpReportsPage-n1ymR1VK.js.map} +1 -1
- package/dist/{UdpTransactionTypesPage-Uk2cRhpd.js → UdpTransactionTypesPage-BXYKBOaN.js} +27 -48
- package/dist/{UdpTransactionTypesPage-Uk2cRhpd.js.map → UdpTransactionTypesPage-BXYKBOaN.js.map} +1 -1
- package/dist/{UdpTransactionsPage-BfJvIOG4.js → UdpTransactionsPage-DO54u3YC.js} +80 -55
- package/dist/UdpTransactionsPage-DO54u3YC.js.map +1 -0
- package/dist/{UdpVerticalManagementPage-DQAI1xe3.js → UdpVerticalManagementPage-Dl3ub3z_.js} +6 -6
- package/dist/{UdpVerticalManagementPage-DQAI1xe3.js.map → UdpVerticalManagementPage-Dl3ub3z_.js.map} +1 -1
- package/dist/{UdpVerticalManagementSidesheet-heFj83jt.js → UdpVerticalManagementSidesheet-UA0aBt8U.js} +7 -7
- package/dist/{UdpVerticalManagementSidesheet-heFj83jt.js.map → UdpVerticalManagementSidesheet-UA0aBt8U.js.map} +1 -1
- package/dist/{UserForm-DhBINx6I.js → UserForm-CkInKaUZ.js} +3 -3
- package/dist/{UserForm-DhBINx6I.js.map → UserForm-CkInKaUZ.js.map} +1 -1
- package/dist/UserFormSideSheet-ClbFBL2A.js +3 -0
- package/dist/{UserFormSideSheet-Cj7IyfX1.js → UserFormSideSheet-CwC3BnSQ.js} +4 -4
- package/dist/{UserFormSideSheet-Cj7IyfX1.js.map → UserFormSideSheet-CwC3BnSQ.js.map} +1 -1
- package/dist/{UtilitySideBar-BU3ppHrv.js → UtilitySideBar-DcWKNOfr.js} +14 -13
- package/dist/UtilitySideBar-DcWKNOfr.js.map +1 -0
- package/dist/{VirtualBrowser-qF1k097T.js → VirtualBrowser-B8-wmiLh.js} +10 -10
- package/dist/{VirtualBrowser-qF1k097T.js.map → VirtualBrowser-B8-wmiLh.js.map} +1 -1
- package/dist/VirtualBrowser-C5uqdpHU.js +3 -0
- package/dist/{VirtualForm-Cw3gjug-.js → VirtualForm-tukfZj85.js} +2 -2
- package/dist/{VirtualForm-Cw3gjug-.js.map → VirtualForm-tukfZj85.js.map} +1 -1
- package/dist/{WorkflowContainer-Cec3FFwP.js → WorkflowContainer-Cs6LBgWw.js} +7 -7
- package/dist/{WorkflowContainer-Cec3FFwP.js.map → WorkflowContainer-Cs6LBgWw.js.map} +1 -1
- package/dist/{WorkflowContainer-DecC3Yux.js → WorkflowContainer-Cwt061ez.js} +1 -1
- package/dist/{WorkflowContent-HlBHhWl8.js → WorkflowContent-C_1mXaJA.js} +5 -5
- package/dist/{WorkflowContent-HlBHhWl8.js.map → WorkflowContent-C_1mXaJA.js.map} +1 -1
- package/dist/{WorkflowTreeMenu-HHtwkDzu.js → WorkflowTreeMenu-BfKb88w4.js} +4 -4
- package/dist/{WorkflowTreeMenu-HHtwkDzu.js.map → WorkflowTreeMenu-BfKb88w4.js.map} +1 -1
- package/dist/{accordion-CQ1AqRla.js → accordion-M9f7ltSo.js} +2 -2
- package/dist/{accordion-CQ1AqRla.js.map → accordion-M9f7ltSo.js.map} +1 -1
- package/dist/{actionSummary-DwSHY1Tt.js → actionSummary-4uornpGM.js} +2 -2
- package/dist/{actionSummary-DwSHY1Tt.js.map → actionSummary-4uornpGM.js.map} +1 -1
- package/dist/{actionUtils-CPmiSAig.js → actionUtils-BU2Z1V_c.js} +3 -3
- package/dist/{actionUtils-CPmiSAig.js.map → actionUtils-BU2Z1V_c.js.map} +1 -1
- package/dist/actions/actionSummary/index.js +1 -1
- package/dist/actions/index.js +6 -6
- package/dist/actions/sidebar/index.js +1 -1
- package/dist/actions/utils/index.js +1 -1
- package/dist/{aggregateUtils-UcpEjFnf.js → aggregateUtils-BQEbw0_E.js} +3 -3
- package/dist/{aggregateUtils-UcpEjFnf.js.map → aggregateUtils-BQEbw0_E.js.map} +1 -1
- package/dist/{aggridHelpers-BvrSzjdD.js → aggridHelpers-DVAyzpUF.js} +3 -3
- package/dist/{aggridHelpers-BvrSzjdD.js.map → aggridHelpers-DVAyzpUF.js.map} +1 -1
- package/dist/{apiHelpers-WIR8pqy0.js → apiHelpers-CMlmFUix.js} +2 -2
- package/dist/{apiHelpers-WIR8pqy0.js.map → apiHelpers-CMlmFUix.js.map} +1 -1
- package/dist/{auth-BWJ4-JF-.js → auth-09twu9dt.js} +3 -3
- package/dist/{auth-BWJ4-JF-.js.map → auth-09twu9dt.js.map} +1 -1
- package/dist/{axiosInterceptors-MZ6xeLRS.js → axiosInterceptors-C27H4uT-.js} +2 -2
- package/dist/{axiosInterceptors-MZ6xeLRS.js.map → axiosInterceptors-C27H4uT-.js.map} +1 -1
- package/dist/{charts--rJXTRtu.js → charts-CPeB-__9.js} +2 -2
- package/dist/{charts--rJXTRtu.js.map → charts-CPeB-__9.js.map} +1 -1
- package/dist/chatBot/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/index.js +3 -3
- 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 +1 -1
- package/dist/componentSystems/pageRenderer/hocs/index.js +1 -1
- package/dist/componentSystems/pageRenderer/index.js +3 -3
- package/dist/componentSystems/pageRenderer/wrappers/index.js +1 -1
- package/dist/{crudActions-C1Ur7cS5.js → crudActions-BNDjc56_.js} +4 -4
- package/dist/{crudActions-C1Ur7cS5.js.map → crudActions-BNDjc56_.js.map} +1 -1
- package/dist/dataBrowser/forms/index.js +1 -1
- package/dist/dataBrowser/index.js +2 -2
- package/dist/enums/index.js +8 -8
- package/dist/{fileViewer-CtY7cOmL.js → fileViewer-CJmEQUZM.js} +2 -2
- package/dist/{fileViewer-CtY7cOmL.js.map → fileViewer-CJmEQUZM.js.map} +1 -1
- package/dist/{floorplans-9voWXvF2.js → floorplans-ClCj18Qu.js} +2 -2
- package/dist/{floorplans-9voWXvF2.js.map → floorplans-ClCj18Qu.js.map} +1 -1
- package/dist/{fluentTimeline-CiONGsTd.js → fluentTimeline-WyxEgKFr.js} +2 -2
- package/dist/{fluentTimeline-CiONGsTd.js.map → fluentTimeline-WyxEgKFr.js.map} +1 -1
- package/dist/{forms-DsdldFST.js → forms-HlBYZESz.js} +3 -3
- package/dist/{forms-DsdldFST.js.map → forms-HlBYZESz.js.map} +1 -1
- package/dist/hooks/index.js +9 -9
- package/dist/{hooks-BNndjGer.js → hooks-B_0PVsdp.js} +3 -3
- package/dist/{hooks-BNndjGer.js.map → hooks-B_0PVsdp.js.map} +1 -1
- package/dist/index.js +101 -101
- package/dist/inquiry/dashboard/index.js +1 -1
- package/dist/inquiry/index.js +4 -4
- package/dist/inquiry/inquiryBar/index.js +1 -1
- package/dist/inquiry/search/index.js +1 -1
- package/dist/maintenanceEngine/crudBrowser/index.js +2 -2
- package/dist/maintenanceEngine/index.js +4 -4
- package/dist/maintenanceEngine/tableBrowser/index.js +1 -1
- package/dist/maintenanceEngine/virtualBrowser/index.js +1 -1
- package/dist/{mapLayout-DNtsBpcK.js → mapLayout-BaAcodmS.js} +2 -2
- package/dist/{mapLayout-DNtsBpcK.js.map → mapLayout-BaAcodmS.js.map} +1 -1
- package/dist/menuPage/index.js +1 -1
- package/dist/{menuPage-BHXchSeD.js → menuPage-DoZR4-kk.js} +3 -6
- package/dist/menuPage-DoZR4-kk.js.map +1 -0
- package/dist/{menuUtilities-BOnqojY6.js → menuUtilities-CkZ_pe8p.js} +4 -4
- package/dist/{menuUtilities-BOnqojY6.js.map → menuUtilities-CkZ_pe8p.js.map} +1 -1
- package/dist/{methodUtils-CDx9usdO.js → methodUtils-BmW5r7qU.js} +2 -2
- package/dist/{methodUtils-CDx9usdO.js.map → methodUtils-BmW5r7qU.js.map} +1 -1
- package/dist/models/index.js +1 -1
- package/dist/{newGrid-B6oyV5FZ.js → newGrid-tFtQU1l7.js} +2 -2
- package/dist/{newGrid-B6oyV5FZ.js.map → newGrid-tFtQU1l7.js.map} +1 -1
- package/dist/notes/index.js +1 -1
- package/dist/page/PageContainer/index.js +1 -1
- package/dist/pageEnums-Bw4Yfa6D.js +22 -0
- package/dist/{pageEnums-DHCYa0ey.js.map → pageEnums-Bw4Yfa6D.js.map} +1 -1
- package/dist/paymentVendorFactoryEnum-Mq0LPnfG.js +38 -0
- package/dist/{paymentVendorFactoryEnum-CwnzkF9A.js.map → paymentVendorFactoryEnum-Mq0LPnfG.js.map} +1 -1
- package/dist/{profile-7BieC5qc.js → profile-DGLuxYkB.js} +3 -3
- package/dist/{profile-7BieC5qc.js.map → profile-DGLuxYkB.js.map} +1 -1
- package/dist/propertyTypeEnums-kRCZNBn6.js +15 -0
- package/dist/{propertyTypeEnums-Dys-84NL.js.map → propertyTypeEnums-kRCZNBn6.js.map} +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/reminders/index.js +2 -2
- package/dist/reports/index.js +1 -1
- package/dist/routes/index.js +1 -1
- package/dist/{routes-BC24z6ls.js → routes-CzJd_612.js} +9 -9
- package/dist/{routes-BC24z6ls.js.map → routes-CzJd_612.js.map} +1 -1
- package/dist/searchEnums-DruwPmGC.js +11 -0
- package/dist/{searchEnums-BTFUwf6v.js.map → searchEnums-DruwPmGC.js.map} +1 -1
- package/dist/shell/index.js +3 -3
- package/dist/shell/ui/addUser/index.js +1 -1
- package/dist/shell/ui/index.js +2 -2
- package/dist/shell/ui/profile/index.js +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/tagEnums-pSvvqkV3.js +11 -0
- package/dist/{tagEnums-Bc9xOKJw.js.map → tagEnums-pSvvqkV3.js.map} +1 -1
- package/dist/{tenantStore-CFYu7ndZ.js → tenantStore-BUT7oepr.js} +2 -2
- package/dist/{tenantStore-CFYu7ndZ.js.map → tenantStore-BUT7oepr.js.map} +1 -1
- package/dist/{theme-_CEHumbt.js → theme-ubmTDmGy.js} +2 -2
- package/dist/{theme-_CEHumbt.js.map → theme-ubmTDmGy.js.map} +1 -1
- package/dist/treeMenu/index.js +1 -1
- package/dist/types/src/UI/navigation/menus/AppMenuItem.d.ts.map +1 -1
- package/dist/types/src/UI/utilityDisplay/UtilitySideBar.d.ts.map +1 -1
- package/dist/types/src/enums/unitySystemEnums.d.ts +2 -1
- package/dist/types/src/enums/unitySystemEnums.d.ts.map +1 -1
- package/dist/types/src/hooks/useUdpGridFilterModel.d.ts.map +1 -1
- package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
- package/dist/types/src/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
- package/dist/types/src/menuPage/CustomMenuPage.d.ts +1 -1
- package/dist/types/src/menuPage/CustomMenuPage.d.ts.map +1 -1
- package/dist/types/src/menuPage/MenuPage.d.ts.map +1 -1
- package/dist/types/src/shell/ui/SidebarCollapseButton.d.ts.map +1 -1
- package/dist/types/src/treeMenu/BaseTreeMenuItem.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +2 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionGrid.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/UdpTransactionSidesheet.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/components/UdpTransactionCustomPage.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/EditTransaction.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.d.ts.map +1 -1
- package/dist/types/src/udp/utilities/useDateStringColumnDef.d.ts +1 -1
- package/dist/types/src/utilities/search/SearchUtilities.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/ShortcutContent/index.js +1 -1
- package/dist/udp/export/index.js +2 -2
- package/dist/udp/fileImportMapping/index.js +8 -8
- package/dist/udp/fileImportMapping/index.js.map +1 -1
- package/dist/udp/pages/ChatUDP/index.js +1 -1
- package/dist/udp/pages/UdpAuditEvents/index.js +1 -1
- package/dist/udp/pages/UdpDataBrowserPage/index.js +1 -1
- package/dist/udp/pages/UdpFormsPrivateForm/index.js +1 -1
- package/dist/udp/pages/UdpFormsPublicForm/index.js +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
- package/dist/udp/pages/UdpGridPanelManagementPage/index.js +1 -1
- package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +1 -1
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +2 -2
- package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +1 -1
- package/dist/udp/pages/UdpNotesPage/index.js +1 -1
- package/dist/udp/pages/UdpPages/index.js +17 -17
- package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
- package/dist/udp/pages/UdpRemindersPage/index.js +1 -1
- package/dist/udp/pages/UdpReportsPage/index.js +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/index.js +1 -1
- package/dist/udp/pages/UdpTransactionsPage/index.js +1 -1
- package/dist/udp/pages/UdpVerticalManagementPage/index.js +1 -1
- package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +1 -1
- package/dist/udp/utilities/index.js +1 -1
- package/dist/unitySystemEnums-BhRg17du.js +344 -0
- package/dist/{unitySystemEnums-CZDCsD5t.js.map → unitySystemEnums-BhRg17du.js.map} +1 -1
- package/dist/uploader/index.js +1 -1
- package/dist/{uploader-D_e-kKhB.js → uploader-D8ZrNmfQ.js} +8 -8
- package/dist/{uploader-D_e-kKhB.js.map → uploader-D8ZrNmfQ.js.map} +1 -1
- package/dist/{useActions-DZe6YlEm.js → useActions-Ct3UAtTb.js} +4 -4
- package/dist/{useActions-DZe6YlEm.js.map → useActions-Ct3UAtTb.js.map} +1 -1
- package/dist/{useApiCatalog-cpchDfC1.js → useApiCatalog-CFnv-X8K.js} +2 -2
- package/dist/{useApiCatalog-cpchDfC1.js.map → useApiCatalog-CFnv-X8K.js.map} +1 -1
- package/dist/{useAxiosGet-CYnt6Hd0.js → useAxiosGet-B3uusywz.js} +3 -3
- package/dist/{useAxiosGet-CYnt6Hd0.js.map → useAxiosGet-B3uusywz.js.map} +1 -1
- package/dist/{useAxiosMutate-DeqKSi5z.js → useAxiosMutate-CChDJc0L.js} +3 -3
- package/dist/{useAxiosMutate-DeqKSi5z.js.map → useAxiosMutate-CChDJc0L.js.map} +1 -1
- package/dist/{usePromotedMethodEntities-D-GoZJZB.js → usePromotedMethodEntities-CKfXJwBP.js} +3 -3
- package/dist/{usePromotedMethodEntities-D-GoZJZB.js.map → usePromotedMethodEntities-CKfXJwBP.js.map} +1 -1
- package/dist/{usePromotedMethodEntity-B4rk75tH.js → usePromotedMethodEntity-Fr6JxDuh.js} +2 -2
- package/dist/{usePromotedMethodEntity-B4rk75tH.js.map → usePromotedMethodEntity-Fr6JxDuh.js.map} +1 -1
- package/dist/{useQueryExecutors-DuuHrj2M.js → useQueryExecutors-6dxzYiaQ.js} +3 -3
- package/dist/{useQueryExecutors-DuuHrj2M.js.map → useQueryExecutors-6dxzYiaQ.js.map} +1 -1
- package/dist/{useSearchFilterParamsMap-hAHx2Rav.js → useSearchFilterParamsMap-BR31_fpl.js} +3 -3
- package/dist/{useSearchFilterParamsMap-hAHx2Rav.js.map → useSearchFilterParamsMap-BR31_fpl.js.map} +1 -1
- package/dist/utilities/aggrid/datasources/index.js +1 -1
- package/dist/utilities/aggrid/index.js +2 -2
- package/dist/utilities/auth/index.js +4 -4
- package/dist/utilities/chatBot/index.js +1 -1
- package/dist/utilities/form/paymentForm/index.js +1 -1
- package/dist/utilities/index.js +3 -3
- package/dist/utilities/menus/index.js +1 -1
- package/dist/utilities/provider/index.js +1 -1
- package/dist/utilities/redirect/pages/index.js +1 -1
- package/dist/utilities/search/index.js +1 -1
- package/dist/utilities/tenant/index.js +1 -1
- package/dist/utilities/theme/index.js +1 -1
- package/dist/utilities/tree/index.js +1 -1
- package/dist/utilities/workflow/index.js +1 -1
- package/dist/{utilityDisplay-DtdjV7V1.js → utilityDisplay-lia_3vnq.js} +2 -2
- package/dist/{utilityDisplay-DtdjV7V1.js.map → utilityDisplay-lia_3vnq.js.map} +1 -1
- package/dist/{virtualActions-B788CBd7.js → virtualActions-DGiVDudB.js} +2 -2
- package/dist/{virtualActions-B788CBd7.js.map → virtualActions-DGiVDudB.js.map} +1 -1
- package/dist/{withEngineComponent-Bcnxug3h.js → withEngineComponent-CoMj91Ad.js} +2 -2
- package/dist/{withEngineComponent-Bcnxug3h.js.map → withEngineComponent-CoMj91Ad.js.map} +1 -1
- package/dist/workflow/index.js +3 -3
- package/dist/workflow/menus/index.js +1 -1
- package/dist/workflowEnums-ztRFwx_L.js +48 -0
- package/dist/{workflowEnums-BJmSE_P8.js.map → workflowEnums-ztRFwx_L.js.map} +1 -1
- package/dist/{workflowUtilities-Brby0vts.js → workflowUtilities-DBcBJOKf.js} +2 -2
- package/dist/{workflowUtilities-Brby0vts.js.map → workflowUtilities-DBcBJOKf.js.map} +1 -1
- package/export-map.json +1 -1
- package/package.json +2 -2
- package/dist/AmbientChipButton-DYAYXuKp.js.map +0 -1
- package/dist/AmbientTokenButton-B53E25r2.js.map +0 -1
- package/dist/AppMenu-oGJtO6Vp.js.map +0 -1
- package/dist/BarChartWidget-u-8fxMn5.js.map +0 -1
- package/dist/BaseTreeMenu-Dg8MW4TD.js.map +0 -1
- package/dist/BubbleWidget-CMJYN-7J.js.map +0 -1
- package/dist/DensePlotWidget-lJW-uzdQ.js.map +0 -1
- package/dist/GridFunctions-D76ygiH2.js.map +0 -1
- package/dist/InputFieldTypeEnums-Mg684vvi.js +0 -14
- package/dist/Inquiry-C6fDp46v.js +0 -3
- package/dist/LineGraphWidget-Ly1fmTyr.js.map +0 -1
- package/dist/MenuPage-CdzHSWBt.js +0 -3
- package/dist/MenuPage-KiNfnc7P.js.map +0 -1
- package/dist/MyExportsPage-DNvL1_1X.js +0 -3
- package/dist/NestedGrid-DAqsZ216.js.map +0 -1
- package/dist/Reports-B5vRQpl0.js +0 -3
- package/dist/SearchUtilities-DUW0kaw_.js.map +0 -1
- package/dist/SparsePlotWidget-DuHbmEom.js.map +0 -1
- package/dist/UdpAuditEventsPage-u7pIg9Z9.js +0 -3
- package/dist/UdpFormsSubmissionGrid-fhcfXjlD.js.map +0 -1
- package/dist/UdpTransactionsPage-BfJvIOG4.js.map +0 -1
- package/dist/UserFormSideSheet-LAR4fJpW.js +0 -3
- package/dist/UtilitySideBar-BU3ppHrv.js.map +0 -1
- package/dist/VirtualBrowser-CbL5X-W-.js +0 -3
- package/dist/menuPage-BHXchSeD.js.map +0 -1
- package/dist/pageEnums-DHCYa0ey.js +0 -22
- package/dist/paymentVendorFactoryEnum-CwnzkF9A.js +0 -38
- package/dist/propertyTypeEnums-Dys-84NL.js +0 -15
- package/dist/searchEnums-BTFUwf6v.js +0 -11
- package/dist/tagEnums-Bc9xOKJw.js +0 -11
- package/dist/unitySystemEnums-CZDCsD5t.js +0 -343
- package/dist/workflowEnums-BJmSE_P8.js +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatBotProvider-
|
|
1
|
+
{"version":3,"file":"ChatBotProvider-BgWP6rfO.js","names":[],"sources":["../src/utilities/chatBot/ChatBotProvider.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useUser } from '../auth/useUser';\nimport { ChatBotContext } from './ChatBotContext';\n\ninterface Message {\n createdAt: string | undefined;\n createdBy: { name: string; loading: boolean };\n messageContent: string | JSX.Element | undefined;\n messageStatus: MessageStatus | undefined;\n outgoing: boolean | undefined;\n messageText: string | undefined;\n}\n\nenum MessageStatus {\n Sent = 0,\n Delivered = 1,\n Error = -1\n}\n\n\nexport const ChatBotProvider = ({ children }) => {\n const defaultCreatedAt = new Date().toLocaleString([], { hour: '2-digit', minute: '2-digit', hour12: true });\n const defaultCreatedBy = {loading: false, name: 'AI Assistant' };\n const messageText = 'Welcome! How can I help you search our Product Documentation?';\n const welcomeMessage: Message = {\n createdAt: defaultCreatedAt,\n createdBy: defaultCreatedBy,\n messageContent: messageText,\n messageStatus: MessageStatus.Sent,\n outgoing: false,\n messageText\n };\n\n const [messageHistory, setMessageHistory] = useState<Message[]>([]);\n const user = useUser();\n\n const createMessage = (messageContent: string | JSX.Element, createdBy, messageText) => {\n const newMessage: Message = {\n createdAt: new Date().toLocaleString([], { hour: '2-digit', minute: '2-digit', hour12: true }),\n createdBy,\n messageContent,\n messageText,\n messageStatus: MessageStatus.Sent,\n outgoing: createdBy.id === user?.id,\n };\n\n return newMessage\n }\n\n const addMessage = (messageContent: string | JSX.Element, createdBy, messageText) => {\n const newMessage = createMessage(messageContent, createdBy, messageText)\n setMessageHistory((prevState) => [...prevState, newMessage]);\n };\n\n const removeMessageHistory = (messageContent: string | JSX.Element, createdBy) => {\n setMessageHistory(() => []);\n };\n\n const removeLoadingMessage = () => {\n setMessageHistory((prevState) =>\n prevState.filter((message) => !message.createdBy.loading)\n );\n };\n\n return (\n <ChatBotContext.Provider\n value={{\n messageHistory,\n addMessage,\n removeMessageHistory,\n removeLoadingMessage,\n }}\n >\n {children}\n </ChatBotContext.Provider>\n );\n};\n"],"mappings":";;;;;AAaA,IAAK,wDAAL;AACE;AACA;AACA;;EAHG;AAOL,MAAa,mBAAmB,EAAE,eAAe;AACtB,sBAAI,MAAM,EAAC,eAAe,EAAE,EAAE;EAAE,MAAM;EAAW,QAAQ;EAAW,QAAQ;EAAM,CAAC;AAG5E,CAIf,cAAc;CAK/B,MAAM,CAAC,gBAAgB,qBAAqB,SAAoB,EAAE,CAAC;CACnE,MAAM,OAAO,SAAS;CAEtB,MAAM,iBAAiB,gBAAsC,WAAW,gBAAgB;AAUtF,SAT4B;GAC1B,4BAAW,IAAI,MAAM,EAAC,eAAe,EAAE,EAAE;IAAE,MAAM;IAAW,QAAQ;IAAW,QAAQ;IAAM,CAAC;GAC9F;GACA;GACA;GACA,eAAe,cAAc;GAC7B,UAAU,UAAU,OAAO,MAAM;GAClC;;CAKH,MAAM,cAAc,gBAAsC,WAAW,gBAAgB;EACnF,MAAM,aAAa,cAAc,gBAAgB,WAAW,YAAY;AACxE,qBAAmB,cAAc,CAAC,GAAG,WAAW,WAAW,CAAC;;CAG9D,MAAM,wBAAwB,gBAAsC,cAAc;AAChF,0BAAwB,EAAE,CAAC;;CAG7B,MAAM,6BAA6B;AACjC,qBAAmB,cACjB,UAAU,QAAQ,YAAY,CAAC,QAAQ,UAAU,QAAQ,CAC1D;;AAGH,QACE,oCAAC,eAAe,YACd,OAAO;EACL;EACA;EACA;EACA;EACD,IAEA,SACuB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as FluentButton } from "./FluentButton-BexKrnAp.js";
|
|
2
2
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
3
3
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
4
|
-
import { t as apiMutate } from "./useAxiosMutate-
|
|
4
|
+
import { t as apiMutate } from "./useAxiosMutate-CChDJc0L.js";
|
|
5
5
|
import { t as AmbientTextField } from "./AmbientTextField-CdnqPJUw.js";
|
|
6
6
|
import { t as useChatBot } from "./useChatBot-DsJZ4f0O.js";
|
|
7
7
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
@@ -251,4 +251,4 @@ const ChatContainer = (props) => {
|
|
|
251
251
|
|
|
252
252
|
//#endregion
|
|
253
253
|
export { ChatMessage as n, ChatContainer as t };
|
|
254
|
-
//# sourceMappingURL=ChatContainer-
|
|
254
|
+
//# sourceMappingURL=ChatContainer-C5pau9eF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatContainer-CXzPIP9R.js","names":["useStyles","makeStyles","newMessageContent","addMessage"],"sources":["../src/chatBot/ChatMessage.jsx","../src/chatBot/ChatContainer.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Card, CardContent, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: 5,\n background: (props) => (props.message.outgoing ? '#cdecfa' : '#e1e2e3'),\n width: '85%',\n padding: '3px',\n alignSelf: (props) => props.message.outgoing && 'flex-end',\n flexShrink: 0, \n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)'\n },\n userName: {\n fontWeight: 'bold'\n },\n timestamp: {\n color: '#A9A9A9',\n margin: '0 0 0 5px',\n },\n}));\n\nexport const ChatMessage = (props) => {\n const classes = useStyles(props);\n const { message } = props;\n\n return (\n <Card className={classes.root}>\n <CardContent>\n <div style={{display:'flex', flexDirection:'row'}}>\n <Typography noWrap variant='caption' className={classes.userName}>\n {message.createdBy.name}\n </Typography>\n {!message.createdBy.loading && (\n <Typography noWrap variant='caption' className={classes.timestamp}>\n {message.createdAt}\n </Typography>\n )}\n </div>\n <div style={{wordWrap: 'break-word'}}>\n <Typography variant='body2' style={{whiteSpace: 'pre-line'}}>\n {message.messageContent}\n </Typography>\n </div>\n </CardContent>\n </Card>\n );\n};\n\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { AmbientTextField } from '../UI/inputs/textField/AmbientTextField';\nimport { FluentButton } from '../UI/inputs/buttons/FluentButton';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ChatMessage } from './ChatMessage';\nimport { Link, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useChatBot } from '../utilities/chatBot/useChatBot';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../configService';\n\nconst useStyles = makeStyles((theme) => ({\n loadingContainer: {\n display: 'inline-block',\n fontSize: '2em', // Adjust the font size to make the whole section bigger\n },\n pulseEllipsis: {\n display: 'inline-block',\n animation: '$pulse 1.5s infinite',\n '&:nth-of-type(2)': {\n animationDelay: '0.5s',\n },\n '&:nth-of-type(3)': {\n animationDelay: '1s',\n },\n },\n '@keyframes pulse': {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n '50%': {\n transform: 'scale(1.2)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n },\n}));\n\n\nexport const ChatContainer = (props) => {\n const classes = useStyles();\n const { messageHistory, addMessage, removeMessageHistory, removeLoadingMessage } = useChatBot()\n const user = useUser();\n const [newMessageContent, setNewMessageContent] = useState('');\n const messageEndRef = useRef(null);\n const productId = ConfigService.config.UNITY_PRODUCT_ID;\n const aiSearchUrl = ConfigService.config.AI_SEARCH_URL;\n const aiSearchIndexName = ConfigService.config.AI_SEARCH_INDEX_NAME;\n const aiSearchKey = ConfigService.config.AI_SEARCH_KEY;\n const udpAiApiBase = ConfigService.config.UDPAI_API_BASE;\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n\n const handleSendMessage = async () => {\n addMessage(newMessageContent, { ...user, name: 'You' }, newMessageContent);\n setNewMessageContent('');\n addLoadingMessage();\n\n try {\n await sendMessage(newMessageContent, addMessage);\n removeLoadingMessage();\n } catch (error) {\n console.error('Error sending message:', error);\n }\n };\n\n const handleNewSession = async () => {\n try {\n await removeMessageHistory();\n enqueueSnackbar(t(`Chat Session Cleared`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n }\n });\n } catch (error) {\n console.error('Error create new chat session:', error);\n }\n }\n\n const addLoadingMessage = () => {\n const messageContent = (\n <div className={classes.loadingContainer}>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n </div>\n );\n addMessage(messageContent, { name: 'AI Assistant', loading: true }, \"\");\n };\n\n\n useEffect(() => {\n messageEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n }, [messageHistory]);\n\n\n const formatCitations = (citations) => {\n return (\n <div>\n <ol>\n {citations.map((citation) => {\n return (\n <li>\n <Link href={citation.url} target='_blank' rel='noopener'>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {citation.title}\n </Typography>\n </Link>\n </li>\n );\n })}\n </ol>\n </div>\n );\n };\n\n const parseAiResponse = (response, addMessage) => {\n try {\n const gptResponseMessage = response.data.LLMResponse.choices[0].message;\n const messageText = gptResponseMessage.content;\n const citations = gptResponseMessage.context.citations;\n const showCitations = messageText.toString().includes('[doc');\n const textContent = messageText.toString().replaceAll('[doc', '[');\n\n const responseMessage = (\n <div>\n <div style={{ wordWrap: 'break-word' }}>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {textContent}\n </Typography>\n </div>\n {citations.length > 0 && showCitations && (\n <div>\n <br />\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n Refer to the XWiki documents for more info:\n </Typography>\n {formatCitations(citations)}\n </div>\n )}\n </div>\n );\n addMessage(responseMessage, { name: 'AI Assistant' }, textContent);\n } catch (e) {\n const errorMessage = \"Sorry, an error has occurred.\"\n addMessage(errorMessage, { name: 'AI Assistant' }, errorMessage);\n }\n\n };\n\n const executeQuery = useCallback(\n async (data, aiModelId) =>\n apiMutate(\n udpAiApiBase,\n `aiservice/llm`,\n {\n method: 'post',\n headers: {\n currentProductId: productId, //temporary bypass -> //currentProductId: '1'\n }\n },\n data\n ),\n [productId, udpAiApiBase]\n );\n\n\n\n const sendMessage = async (newMessageContent, addMessage) => {\n const messageHistoryTextArray = messageHistory\n .map(item => ({\n role: item.createdBy.name === 'AI Assistant' ? 'assistant' : item.createdBy.name === 'You' ? 'user' : item.createdBy.name,\n content: item.messageText\n }));\n\n const body = {\n modelName: 'gpt-4o',\n useCache: 'false',\n payload: {\n max_tokens: 4096,\n temperature: 0.5,\n n: 1,\n presence_penalty: 0,\n messages: [\n {\n role: 'system',\n content:\n 'You are an assistant helping a user using existing knowledge supplemented by additional data.'\n },\n ...messageHistoryTextArray,\n {\n role: 'user',\n content: newMessageContent\n }\n ],\n data_sources: [\n {\n type: 'azure_search',\n parameters: {\n endpoint: aiSearchUrl,\n // set sematic configuration name to match index name\n semantic_configuration: aiSearchIndexName,\n query_type: \"semantic\",\n in_scope: false,\n //role_information: \"You are an AI search assistant having access to wiki documentation data. Please be helpful to the user answer any questions to the best of your ability.\",\n strictness: 1,\n top_n_documents: 5,\n authentication: {\n type: 'api_key',\n key: aiSearchKey\n },\n index_name: aiSearchIndexName,\n filter: `Products/any(p: p eq '${productId}')`\n }\n }\n ]\n }\n };\n\n const aiResponse = await executeQuery({ data: body });\n parseAiResponse(aiResponse, addMessage);\n }\n\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%'}}>\n <FluentButton id='udpRecord-ChatContainer-NewSession' onClick={handleNewSession}>Clear Chat</FluentButton>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n padding: '3px',\n height: '100%',\n overflowY: 'auto',\n flexGrow: 1\n }}\n >\n {messageHistory.map((message, index) => (\n <ChatMessage key={index} message={message} />\n ))}\n <div ref={messageEndRef} />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginTop: '5px', position: 'sticky', bottom: 0, padding: '3px', zIndex: 1, background: 'white' }}>\n <div style={{ flexGrow: 1 }}>\n <AmbientTextField\n id='udpRecord-ChatContainer-Enter'\n multiline\n value={newMessageContent}\n onChange={(e) => setNewMessageContent(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n handleSendMessage();\n }\n }}\n />\n </div>\n <FluentButton\n id='udpRecord-ChatContainer-Send'\n onClick={handleSendMessage}\n autoFocus\n variant='outlined'\n >\n Send\n </FluentButton>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatContainer-C5pau9eF.js","names":["useStyles","makeStyles","newMessageContent","addMessage"],"sources":["../src/chatBot/ChatMessage.jsx","../src/chatBot/ChatContainer.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { Card, CardContent, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n borderRadius: 5,\n background: (props) => (props.message.outgoing ? '#cdecfa' : '#e1e2e3'),\n width: '85%',\n padding: '3px',\n alignSelf: (props) => props.message.outgoing && 'flex-end',\n flexShrink: 0, \n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)'\n },\n userName: {\n fontWeight: 'bold'\n },\n timestamp: {\n color: '#A9A9A9',\n margin: '0 0 0 5px',\n },\n}));\n\nexport const ChatMessage = (props) => {\n const classes = useStyles(props);\n const { message } = props;\n\n return (\n <Card className={classes.root}>\n <CardContent>\n <div style={{display:'flex', flexDirection:'row'}}>\n <Typography noWrap variant='caption' className={classes.userName}>\n {message.createdBy.name}\n </Typography>\n {!message.createdBy.loading && (\n <Typography noWrap variant='caption' className={classes.timestamp}>\n {message.createdAt}\n </Typography>\n )}\n </div>\n <div style={{wordWrap: 'break-word'}}>\n <Typography variant='body2' style={{whiteSpace: 'pre-line'}}>\n {message.messageContent}\n </Typography>\n </div>\n </CardContent>\n </Card>\n );\n};\n\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { AmbientTextField } from '../UI/inputs/textField/AmbientTextField';\nimport { FluentButton } from '../UI/inputs/buttons/FluentButton';\nimport { useUser } from '../utilities/auth/useUser';\nimport { ChatMessage } from './ChatMessage';\nimport { Link, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { useChatBot } from '../utilities/chatBot/useChatBot';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { ConfigService } from '../configService';\n\nconst useStyles = makeStyles((theme) => ({\n loadingContainer: {\n display: 'inline-block',\n fontSize: '2em', // Adjust the font size to make the whole section bigger\n },\n pulseEllipsis: {\n display: 'inline-block',\n animation: '$pulse 1.5s infinite',\n '&:nth-of-type(2)': {\n animationDelay: '0.5s',\n },\n '&:nth-of-type(3)': {\n animationDelay: '1s',\n },\n },\n '@keyframes pulse': {\n '0%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n '50%': {\n transform: 'scale(1.2)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.6,\n },\n },\n}));\n\n\nexport const ChatContainer = (props) => {\n const classes = useStyles();\n const { messageHistory, addMessage, removeMessageHistory, removeLoadingMessage } = useChatBot()\n const user = useUser();\n const [newMessageContent, setNewMessageContent] = useState('');\n const messageEndRef = useRef(null);\n const productId = ConfigService.config.UNITY_PRODUCT_ID;\n const aiSearchUrl = ConfigService.config.AI_SEARCH_URL;\n const aiSearchIndexName = ConfigService.config.AI_SEARCH_INDEX_NAME;\n const aiSearchKey = ConfigService.config.AI_SEARCH_KEY;\n const udpAiApiBase = ConfigService.config.UDPAI_API_BASE;\n const { enqueueSnackbar } = useSnackbar();\n const { t } = useTranslation();\n\n const handleSendMessage = async () => {\n addMessage(newMessageContent, { ...user, name: 'You' }, newMessageContent);\n setNewMessageContent('');\n addLoadingMessage();\n\n try {\n await sendMessage(newMessageContent, addMessage);\n removeLoadingMessage();\n } catch (error) {\n console.error('Error sending message:', error);\n }\n };\n\n const handleNewSession = async () => {\n try {\n await removeMessageHistory();\n enqueueSnackbar(t(`Chat Session Cleared`), {\n variant: 'success',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center',\n }\n });\n } catch (error) {\n console.error('Error create new chat session:', error);\n }\n }\n\n const addLoadingMessage = () => {\n const messageContent = (\n <div className={classes.loadingContainer}>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n <span className={classes.pulseEllipsis}>.</span>\n </div>\n );\n addMessage(messageContent, { name: 'AI Assistant', loading: true }, \"\");\n };\n\n\n useEffect(() => {\n messageEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n }, [messageHistory]);\n\n\n const formatCitations = (citations) => {\n return (\n <div>\n <ol>\n {citations.map((citation) => {\n return (\n <li>\n <Link href={citation.url} target='_blank' rel='noopener'>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {citation.title}\n </Typography>\n </Link>\n </li>\n );\n })}\n </ol>\n </div>\n );\n };\n\n const parseAiResponse = (response, addMessage) => {\n try {\n const gptResponseMessage = response.data.LLMResponse.choices[0].message;\n const messageText = gptResponseMessage.content;\n const citations = gptResponseMessage.context.citations;\n const showCitations = messageText.toString().includes('[doc');\n const textContent = messageText.toString().replaceAll('[doc', '[');\n\n const responseMessage = (\n <div>\n <div style={{ wordWrap: 'break-word' }}>\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n {textContent}\n </Typography>\n </div>\n {citations.length > 0 && showCitations && (\n <div>\n <br />\n <Typography variant='body2' style={{ whiteSpace: 'pre-line' }}>\n Refer to the XWiki documents for more info:\n </Typography>\n {formatCitations(citations)}\n </div>\n )}\n </div>\n );\n addMessage(responseMessage, { name: 'AI Assistant' }, textContent);\n } catch (e) {\n const errorMessage = \"Sorry, an error has occurred.\"\n addMessage(errorMessage, { name: 'AI Assistant' }, errorMessage);\n }\n\n };\n\n const executeQuery = useCallback(\n async (data, aiModelId) =>\n apiMutate(\n udpAiApiBase,\n `aiservice/llm`,\n {\n method: 'post',\n headers: {\n currentProductId: productId, //temporary bypass -> //currentProductId: '1'\n }\n },\n data\n ),\n [productId, udpAiApiBase]\n );\n\n\n\n const sendMessage = async (newMessageContent, addMessage) => {\n const messageHistoryTextArray = messageHistory\n .map(item => ({\n role: item.createdBy.name === 'AI Assistant' ? 'assistant' : item.createdBy.name === 'You' ? 'user' : item.createdBy.name,\n content: item.messageText\n }));\n\n const body = {\n modelName: 'gpt-4o',\n useCache: 'false',\n payload: {\n max_tokens: 4096,\n temperature: 0.5,\n n: 1,\n presence_penalty: 0,\n messages: [\n {\n role: 'system',\n content:\n 'You are an assistant helping a user using existing knowledge supplemented by additional data.'\n },\n ...messageHistoryTextArray,\n {\n role: 'user',\n content: newMessageContent\n }\n ],\n data_sources: [\n {\n type: 'azure_search',\n parameters: {\n endpoint: aiSearchUrl,\n // set sematic configuration name to match index name\n semantic_configuration: aiSearchIndexName,\n query_type: \"semantic\",\n in_scope: false,\n //role_information: \"You are an AI search assistant having access to wiki documentation data. Please be helpful to the user answer any questions to the best of your ability.\",\n strictness: 1,\n top_n_documents: 5,\n authentication: {\n type: 'api_key',\n key: aiSearchKey\n },\n index_name: aiSearchIndexName,\n filter: `Products/any(p: p eq '${productId}')`\n }\n }\n ]\n }\n };\n\n const aiResponse = await executeQuery({ data: body });\n parseAiResponse(aiResponse, addMessage);\n }\n\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', height: '100%'}}>\n <FluentButton id='udpRecord-ChatContainer-NewSession' onClick={handleNewSession}>Clear Chat</FluentButton>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n padding: '3px',\n height: '100%',\n overflowY: 'auto',\n flexGrow: 1\n }}\n >\n {messageHistory.map((message, index) => (\n <ChatMessage key={index} message={message} />\n ))}\n <div ref={messageEndRef} />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginTop: '5px', position: 'sticky', bottom: 0, padding: '3px', zIndex: 1, background: 'white' }}>\n <div style={{ flexGrow: 1 }}>\n <AmbientTextField\n id='udpRecord-ChatContainer-Enter'\n multiline\n value={newMessageContent}\n onChange={(e) => setNewMessageContent(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault();\n handleSendMessage();\n }\n }}\n />\n </div>\n <FluentButton\n id='udpRecord-ChatContainer-Send'\n onClick={handleSendMessage}\n autoFocus\n variant='outlined'\n >\n Send\n </FluentButton>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./chunk-BN_g-Awi.js";
|
|
2
|
-
import { t as ChatContainer } from "./ChatContainer-
|
|
2
|
+
import { t as ChatContainer } from "./ChatContainer-C5pau9eF.js";
|
|
3
3
|
import React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/udp/pages/ChatUDP/ChatUDP.jsx
|
|
@@ -14,4 +14,4 @@ var ChatUDP_exports = /* @__PURE__ */ __exportAll({ default: () => ChatUDP_defau
|
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
16
16
|
export { ChatUDP_default as n, ChatUDP_exports as t };
|
|
17
|
-
//# sourceMappingURL=ChatUDP-
|
|
17
|
+
//# sourceMappingURL=ChatUDP-rGP1IC_e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatUDP-
|
|
1
|
+
{"version":3,"file":"ChatUDP-rGP1IC_e.js","names":[],"sources":["../src/udp/pages/ChatUDP/ChatUDP.jsx","../src/udp/pages/ChatUDP/index.ts"],"sourcesContent":["import React from 'react';\nimport { ChatContainer } from '../../../chatBot/ChatContainer';\n\nconst ChatUDP = () => {\n return (\n <ChatContainer />\n );\n};\n\nexport default ChatUDP;\n","export { default } from './ChatUDP';\nexport * from './ChatUDP';\n"],"mappings":";;;;;AAGA,MAAM,gBAAgB;AACpB,QACE,oCAAC,oBAAiB;;AAItB,sBAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
|
|
2
|
-
import { t as IconRenderer } from "./IconRenderer-
|
|
2
|
+
import { t as IconRenderer } from "./IconRenderer-BKy2VlFt.js";
|
|
3
3
|
import { n as TimelineStatus, r as TimelineDateBar } from "./MttYearTag-Cw8OyKTy.js";
|
|
4
4
|
import React, { useState } from "react";
|
|
5
5
|
import { ButtonBase, Divider, Fade, Paper, Tooltip, Typography, makeStyles } from "@material-ui/core";
|
|
@@ -237,4 +237,4 @@ CircleButton.propTypes = { children: PropTypes.node };
|
|
|
237
237
|
|
|
238
238
|
//#endregion
|
|
239
239
|
export { useStyles$3 as a, TimelineToggleButton as i, DateWrapper as n, SummaryToken as o, TimelineTopRowFilter as r, CircleButton as t };
|
|
240
|
-
//# sourceMappingURL=CircleButton-
|
|
240
|
+
//# sourceMappingURL=CircleButton-CwA9EAmx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleButton-CrvnPHDw.js","names":["useStyles","useStyles","useStyles","useStyles"],"sources":["../src/componentSystems/multiThreadTimeline/ui/SummaryToken.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.jsx","../src/componentSystems/multiThreadTimeline/ui/DateWrapper.jsx","../src/componentSystems/multiThreadTimeline/ui/CircleButton.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Typography, Divider, Tooltip } from '@material-ui/core';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { TimelineDateBar } from './TimelineDateBar';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { TimelineStatus } from './TimelineStatus';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n minHeight: 200,\n background: (props) => !props.hidebackground && 'whitesmoke'\n },\n dateBar: {\n width: 130\n },\n centerWrapper: {\n display: 'flex',\n justifyContent: 'center'\n }\n}));\n\nexport const SummaryToken = (props) => {\n const {\n title,\n short,\n showMonth,\n amount,\n status,\n date,\n user,\n icon,\n months = [],\n className,\n month,\n balance\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={clsx(classes.root, className)}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 130\n }}\n >\n <div style={{ marginRight: -8 }} className={classes.centerWrapper}>\n {icon}\n </div>\n\n <div style={{ height: 24, display: 'flex', justifyContent: 'center' }}>\n <Divider orientation='vertical' />\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <LayoutUnit unit='nudge' />\n <div style={{ textAlign: 'center' }}>\n <Tooltip title={title}>\n <Typography\n variant='subtitle2'\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {title}\n </Typography>\n </Tooltip>\n </div>\n <LayoutUnit unit='nudge' />\n\n {amount && (\n <div\n style={{\n textAlign: 'center'\n }}\n >\n <Tooltip title={amount}>\n <Typography\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {amount}\n </Typography>\n </Tooltip>\n </div>\n )}\n\n {!amount && (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <TimelineStatus status={status} />\n </div>\n )}\n\n <div style={{ textAlign: 'center' }}>\n <Typography variant='caption'>{date}</Typography>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={user}>\n <Typography variant='caption'>{user}</Typography>\n </Tooltip>\n </div>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={balance}>\n <Typography variant='caption'>{balance}</Typography>\n </Tooltip>\n </div>\n </div>\n </div>\n <LayoutUnit unit='xxs' />\n {!short && (\n <div className={classes.dateBar}>\n <TimelineDateBar\n month={month}\n showMonth={showMonth}\n months={months}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nSummaryToken.propTypes = {\n title: PropTypes.string,\n short: PropTypes.bool,\n showMonth: PropTypes.bool,\n amount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.string,\n date: PropTypes.string,\n user: PropTypes.string,\n icon: PropTypes.element,\n months: PropTypes.array,\n className: PropTypes.string,\n month: PropTypes.string,\n balance: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hidebackground: PropTypes.bool\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\n/**\n * @returns {import('@material-ui/core/styles').WithStyles<import('@material-ui/core/styles/withStyles').Styles<any, {}, string>>}\n */\nexport const useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n off: {\n opacity: 0.5\n }\n}));\n\nexport const TimelineToggleButton = ({\n title,\n timelineItem,\n handleClick,\n icon,\n off\n}) => {\n //const [width, setWidth] = useState(0);\n const classes = useStyles();\n const [filter, setFilter] = useState(true);\n\n const selectFilter = () => {\n setFilter(!filter);\n };\n\n return (\n <div\n className={classes.root}\n onClick={handleClick}\n onMouseUp={selectFilter}\n >\n <div className={off && classes.off}>{icon}</div>\n\n <div style={{ marginTop: -4, marginRight: 48 }}>\n <Typography\n variant='caption'\n style={{ textDecoration: !filter && 'line-through' }}\n >\n {title}\n </Typography>\n </div>\n {/* @todo: fix caption size */}\n </div>\n );\n};\n\nTimelineToggleButton.propTypes = {\n title: PropTypes.string.isRequired,\n timelineItem: PropTypes.object,\n handleClick: PropTypes.func.isRequired,\n icon: PropTypes.node.isRequired,\n off: PropTypes.bool\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { TimelineToggleButton } from './TimelineToggleButton';\nimport { IconRenderer } from '../../../UI/templates/ui/renderers/IconRenderer';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n menu: {\n marginTop: 10,\n marginRight: 8,\n marginBottom: 20\n }\n}));\n\nexport const TimelineTopRowFilter = ({\n filterList,\n filterCall,\n filterListGroup,\n off,\n clear\n}) => {\n const classes = useStyles();\n\n return (\n <div className={classes.root}>\n {/* <button onClick={()=> setCompact(!compact) } > minimize </button> */}\n <div>\n <div>\n <div style={{ display: 'flex' }}>\n {filterListGroup &&\n filterListGroup.map((item) => {\n return (\n <TimelineToggleButton\n title={item.name}\n timelineItem={item.name}\n handleClick={() => filterCall(item.name)}\n off={off}\n icon={\n <IconRenderer\n noBorder\n value={{\n color: { hex: '#' + item.color },\n name: item.icon\n }}\n />\n }\n />\n );\n })}\n {/* <Button onClick={clear} >Clear</Button> */}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nTimelineTopRowFilter.propTypes = {\n filterList: PropTypes.array,\n filterCall: PropTypes.func,\n filterListGroup: PropTypes.array,\n off: PropTypes.bool,\n clear: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography, Fade, Divider } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignContent: 'flex-end',\n cursor: 'pointer',\n justifyContent: 'center'\n },\n wrapper: {\n display: 'flex'\n },\n countWrapper: {\n background: '#E9DADB',\n borderRadius: 25,\n padding: 8\n }\n}));\n\nexport const DateWrapper = ({ children, date, months, count }) => {\n const classes = useStyles();\n\n const [show, setShow] = useState(true);\n const threadHeight = 165;\n\n const MONTHS = {\n 1: 'Jan',\n 2: 'Feb',\n 3: 'March',\n 4: 'Apr',\n 5: 'May',\n 6: 'June',\n 7: 'July',\n 8: 'Aug',\n 9: 'Sept',\n 10: 'Oct',\n 11: 'Nov',\n 12: 'Dec'\n };\n\n // Convert months to order\n const orderedMonths = [months];\n\n orderedMonths.sort(function (a, b) {\n return a - b;\n });\n\n // Map to named months\n const output = orderedMonths.map(function (i) {\n return MONTHS[i];\n });\n\n return (\n <div onClick={() => setShow(!show)}>\n <Fade in={show}>\n <div>{show && <div className={classes.wrapper}>{children} </div>}</div>\n </Fade>\n\n <div className={classes.root}>\n <div>\n {!show && (\n <div\n style={{\n height: threadHeight,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <div>\n <div className={classes.countWrapper}>\n <Typography variant='subtitle2'> + </Typography>\n {count}\n </div>\n <div\n style={{\n height: 123,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <Divider orientation='vertical' />\n </div>\n </div>\n </div>\n )}\n <div style={{ padding: 4 }}>\n <Typography variant='caption'>{output} </Typography>\n </div>\n </div>\n </div>\n </div>\n );\n};\nDateWrapper.propTypes = {\n children: PropTypes.node,\n date: PropTypes.string,\n months: PropTypes.number,\n count: PropTypes.number\n};\n","import React from 'react';\nimport { makeStyles, ButtonBase, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: 12,\n paddingLeft: 13,\n paddingRight: 11,\n borderRadius: 50,\n background: theme.palette.common.white,\n minWidth: 32,\n minHeight: 32\n }\n}));\n\nexport const CircleButton = (props) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n\n return (\n <ButtonBase {...otherProps}>\n <Paper className={classes.root} elevation={1}>\n {children}\n </Paper>\n </ButtonBase>\n );\n};\nCircleButton.propTypes = {\n children: PropTypes.node\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CircleButton-CwA9EAmx.js","names":["useStyles","useStyles","useStyles","useStyles"],"sources":["../src/componentSystems/multiThreadTimeline/ui/SummaryToken.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.jsx","../src/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.jsx","../src/componentSystems/multiThreadTimeline/ui/DateWrapper.jsx","../src/componentSystems/multiThreadTimeline/ui/CircleButton.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles, Typography, Divider, Tooltip } from '@material-ui/core';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { TimelineDateBar } from './TimelineDateBar';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { TimelineStatus } from './TimelineStatus';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n minHeight: 200,\n background: (props) => !props.hidebackground && 'whitesmoke'\n },\n dateBar: {\n width: 130\n },\n centerWrapper: {\n display: 'flex',\n justifyContent: 'center'\n }\n}));\n\nexport const SummaryToken = (props) => {\n const {\n title,\n short,\n showMonth,\n amount,\n status,\n date,\n user,\n icon,\n months = [],\n className,\n month,\n balance\n } = props;\n const classes = useStyles(props);\n\n return (\n <div className={clsx(classes.root, className)}>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 130\n }}\n >\n <div style={{ marginRight: -8 }} className={classes.centerWrapper}>\n {icon}\n </div>\n\n <div style={{ height: 24, display: 'flex', justifyContent: 'center' }}>\n <Divider orientation='vertical' />\n </div>\n\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <LayoutUnit unit='nudge' />\n <div style={{ textAlign: 'center' }}>\n <Tooltip title={title}>\n <Typography\n variant='subtitle2'\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {title}\n </Typography>\n </Tooltip>\n </div>\n <LayoutUnit unit='nudge' />\n\n {amount && (\n <div\n style={{\n textAlign: 'center'\n }}\n >\n <Tooltip title={amount}>\n <Typography\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n {amount}\n </Typography>\n </Tooltip>\n </div>\n )}\n\n {!amount && (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <TimelineStatus status={status} />\n </div>\n )}\n\n <div style={{ textAlign: 'center' }}>\n <Typography variant='caption'>{date}</Typography>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={user}>\n <Typography variant='caption'>{user}</Typography>\n </Tooltip>\n </div>\n <div\n style={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }}\n >\n <Tooltip title={balance}>\n <Typography variant='caption'>{balance}</Typography>\n </Tooltip>\n </div>\n </div>\n </div>\n <LayoutUnit unit='xxs' />\n {!short && (\n <div className={classes.dateBar}>\n <TimelineDateBar\n month={month}\n showMonth={showMonth}\n months={months}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nSummaryToken.propTypes = {\n title: PropTypes.string,\n short: PropTypes.bool,\n showMonth: PropTypes.bool,\n amount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.string,\n date: PropTypes.string,\n user: PropTypes.string,\n icon: PropTypes.element,\n months: PropTypes.array,\n className: PropTypes.string,\n month: PropTypes.string,\n balance: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hidebackground: PropTypes.bool\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\n/**\n * @returns {import('@material-ui/core/styles').WithStyles<import('@material-ui/core/styles/withStyles').Styles<any, {}, string>>}\n */\nexport const useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer'\n },\n off: {\n opacity: 0.5\n }\n}));\n\nexport const TimelineToggleButton = ({\n title,\n timelineItem,\n handleClick,\n icon,\n off\n}) => {\n //const [width, setWidth] = useState(0);\n const classes = useStyles();\n const [filter, setFilter] = useState(true);\n\n const selectFilter = () => {\n setFilter(!filter);\n };\n\n return (\n <div\n className={classes.root}\n onClick={handleClick}\n onMouseUp={selectFilter}\n >\n <div className={off && classes.off}>{icon}</div>\n\n <div style={{ marginTop: -4, marginRight: 48 }}>\n <Typography\n variant='caption'\n style={{ textDecoration: !filter && 'line-through' }}\n >\n {title}\n </Typography>\n </div>\n {/* @todo: fix caption size */}\n </div>\n );\n};\n\nTimelineToggleButton.propTypes = {\n title: PropTypes.string.isRequired,\n timelineItem: PropTypes.object,\n handleClick: PropTypes.func.isRequired,\n icon: PropTypes.node.isRequired,\n off: PropTypes.bool\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { TimelineToggleButton } from './TimelineToggleButton';\nimport { IconRenderer } from '../../../UI/templates/ui/renderers/IconRenderer';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n menu: {\n marginTop: 10,\n marginRight: 8,\n marginBottom: 20\n }\n}));\n\nexport const TimelineTopRowFilter = ({\n filterList,\n filterCall,\n filterListGroup,\n off,\n clear\n}) => {\n const classes = useStyles();\n\n return (\n <div className={classes.root}>\n {/* <button onClick={()=> setCompact(!compact) } > minimize </button> */}\n <div>\n <div>\n <div style={{ display: 'flex' }}>\n {filterListGroup &&\n filterListGroup.map((item) => {\n return (\n <TimelineToggleButton\n title={item.name}\n timelineItem={item.name}\n handleClick={() => filterCall(item.name)}\n off={off}\n icon={\n <IconRenderer\n noBorder\n value={{\n color: { hex: '#' + item.color },\n name: item.icon\n }}\n />\n }\n />\n );\n })}\n {/* <Button onClick={clear} >Clear</Button> */}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nTimelineTopRowFilter.propTypes = {\n filterList: PropTypes.array,\n filterCall: PropTypes.func,\n filterListGroup: PropTypes.array,\n off: PropTypes.bool,\n clear: PropTypes.func\n};\n","import React, { useState } from 'react';\nimport { makeStyles, Typography, Fade, Divider } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n alignContent: 'flex-end',\n cursor: 'pointer',\n justifyContent: 'center'\n },\n wrapper: {\n display: 'flex'\n },\n countWrapper: {\n background: '#E9DADB',\n borderRadius: 25,\n padding: 8\n }\n}));\n\nexport const DateWrapper = ({ children, date, months, count }) => {\n const classes = useStyles();\n\n const [show, setShow] = useState(true);\n const threadHeight = 165;\n\n const MONTHS = {\n 1: 'Jan',\n 2: 'Feb',\n 3: 'March',\n 4: 'Apr',\n 5: 'May',\n 6: 'June',\n 7: 'July',\n 8: 'Aug',\n 9: 'Sept',\n 10: 'Oct',\n 11: 'Nov',\n 12: 'Dec'\n };\n\n // Convert months to order\n const orderedMonths = [months];\n\n orderedMonths.sort(function (a, b) {\n return a - b;\n });\n\n // Map to named months\n const output = orderedMonths.map(function (i) {\n return MONTHS[i];\n });\n\n return (\n <div onClick={() => setShow(!show)}>\n <Fade in={show}>\n <div>{show && <div className={classes.wrapper}>{children} </div>}</div>\n </Fade>\n\n <div className={classes.root}>\n <div>\n {!show && (\n <div\n style={{\n height: threadHeight,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <div>\n <div className={classes.countWrapper}>\n <Typography variant='subtitle2'> + </Typography>\n {count}\n </div>\n <div\n style={{\n height: 123,\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <Divider orientation='vertical' />\n </div>\n </div>\n </div>\n )}\n <div style={{ padding: 4 }}>\n <Typography variant='caption'>{output} </Typography>\n </div>\n </div>\n </div>\n </div>\n );\n};\nDateWrapper.propTypes = {\n children: PropTypes.node,\n date: PropTypes.string,\n months: PropTypes.number,\n count: PropTypes.number\n};\n","import React from 'react';\nimport { makeStyles, ButtonBase, Paper } from '@material-ui/core';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: 12,\n paddingLeft: 13,\n paddingRight: 11,\n borderRadius: 50,\n background: theme.palette.common.white,\n minWidth: 32,\n minHeight: 32\n }\n}));\n\nexport const CircleButton = (props) => {\n const { children, ...otherProps } = props;\n const classes = useStyles(props);\n\n return (\n <ButtonBase {...otherProps}>\n <Paper className={classes.root} elevation={1}>\n {children}\n </Paper>\n </ButtonBase>\n );\n};\nCircleButton.propTypes = {\n children: PropTypes.node\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as toTitleCase } from "./StringUtilities-u-cxAW6-.js";
|
|
2
2
|
import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
|
|
3
|
-
import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-
|
|
3
|
+
import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-BhRg17du.js";
|
|
4
4
|
import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-BMHWSjf5.js";
|
|
5
5
|
import React, { useCallback, useEffect, useMemo } from "react";
|
|
6
6
|
import { useHistory } from "react-router-dom";
|
|
@@ -173,4 +173,4 @@ const CrudBrowserContainer = (props) => {
|
|
|
173
173
|
|
|
174
174
|
//#endregion
|
|
175
175
|
export { CrudTableColumnDefs as n, mapDotNetTypeToAgGridType as r, CrudBrowserContainer as t };
|
|
176
|
-
//# sourceMappingURL=CrudBrowserContainer-
|
|
176
|
+
//# sourceMappingURL=CrudBrowserContainer-4xalY8qW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudBrowserContainer-UJvAMHYL.js","names":["uuid"],"sources":["../src/maintenanceEngine/crudBrowser/crudHelper.ts","../src/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js","../src/maintenanceEngine/crudBrowser/CrudBrowserContainer.jsx"],"sourcesContent":["export function mapDotNetTypeToAgGridType(\n type: string\n): 'text' | 'number' | 'boolean' | 'dateString' | 'dateTimeString' | 'object' {\n const normalized = type.replace(/\\?$/, '').trim().toLowerCase();\n\n if (\n normalized === 'byte' ||\n normalized === 'short' ||\n normalized === 'int' ||\n normalized === 'long' ||\n normalized === 'float' ||\n normalized === 'double' ||\n normalized === 'decimal'\n ) {\n return 'number';\n }\n\n if (normalized === 'string' || normalized === 'guid') {\n return 'text';\n }\n\n if (normalized === 'bool' || normalized === 'boolean') {\n return 'boolean';\n }\n\n if (normalized === 'date') {\n return 'dateString';\n }\n\n if (normalized === 'datetime') {\n return 'dateTimeString';\n }\n\n if (normalized.startsWith('dictionary') || normalized === 'object') {\n return 'object';\n }\n\n // fallback default\n return 'text';\n}\n","import { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { mapDotNetTypeToAgGridType } from './crudHelper';\n\nexport const CrudTableColumnDefs = (entityAttributes, actionList) => {\n let columnDefs =\n entityAttributes?.reduce((defs, element) => {\n //skip is hidden through maintenance config\n if (\n element?.extendedProperties?.udpFieldProperties?.maintenanceConfig\n ?.hidden === true\n ) {\n return defs;\n }\n //skip if business object key\n if (element?.name === 'businessObjectKey') {\n return defs;\n }\n\n if (!element?.extendedProperties?.childEntity) {\n const columnHeader =\n element?.extendedProperties?.udpFieldProperties?.displayName ||\n element?.name;\n\n const columnHeaderName = toTitleCase(columnHeader);\n const lookupId =\n element?.extendedProperties?.lookup ||\n element?.extendedProperties?.udpFieldProperties?.maintainenceConfig\n ?.lookup;\n\n let def = {\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n cellDataType: mapDotNetTypeToAgGridType(element?.type),\n filter: element?.extendedProperties?.searchable,\n sortable: element?.extendedProperties?.orderable,\n hide: element?.extendedProperties?.udpFieldProperties?.maintainenceConfig?.hidden,\n tooltipField: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n context: {\n lookupId: lookupId,\n ...element\n }\n };\n\n defs.push(def);\n }\n return defs;\n }, []) || [];\n\n columnDefs.push({\n headerName: 'Actions',\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: actionList\n }\n });\n\n return columnDefs;\n};\n","import React, { useMemo, useEffect, useCallback } from 'react';\nimport { CrudTableColumnDefs } from './CrudTableColumnDefs';\nimport { LookupEntitiesIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../../enums/unitySystemEnums';\nimport { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { v4 as uuid } from 'uuid';\nimport { SearchMethodUdpGrid } from '../../UI/templates/newGrid/SearchMethodUdpGrid';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const CrudBrowserContainer = (props) => {\n const {\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n promotedEntity,\n apiMethod,\n filterElements,\n setAlertWarnings,\n gridApiCallback,\n showBackToTableBrowser,\n ...other\n } = props;\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const entityName = useMemo(() => {\n return promotedEntity?.entityName;\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName) return '';\n return toTitleCase(getSanitizedName(entityName));\n }, [entityName]);\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const secondaryActionButtons = useMemo(() => {\n if (showBackToTableBrowser) {\n return [\n {\n label: t('Table Browser'),\n iconName: 'arrowLeft16',\n onClick: handleGoToTableBrowser\n }\n ];\n } else {\n return [];\n }\n }, [handleGoToTableBrowser, showBackToTableBrowser, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, foreignKeyData, history, promotedEntity, t]);\n\n const jointActionList = useMemo(() => {\n if (!actionList || actionList?.length === 0) {\n return null;\n }\n // Check if it's a udp lookup entity\n if (\n getSanitizedName(entityName?.toLowerCase()) ===\n UdpEnums.Udp_Lookup.toLowerCase()\n ) {\n return [...actionList, ...virtualActions];\n }\n return [...actionList];\n }, [actionList, entityName, virtualActions]);\n\n const columnDefs = useMemo(() => {\n if (entityAttributes && jointActionList) {\n return CrudTableColumnDefs(entityAttributes, jointActionList);\n }\n }, [entityAttributes, jointActionList]);\n\n useEffect(() => {\n if (promotedEntity) {\n if (!promotedEntity?.unityBaseSearchMethod?.apiMethodId) {\n const searchMethodWarning = {\n id: uuid(),\n message: `${promotedEntity.entityName}'s Search method needs to be promoted`\n };\n setAlertWarnings &&\n setAlertWarnings((prevState) => [...prevState, searchMethodWarning]);\n }\n }\n }, [promotedEntity, setAlertWarnings]);\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n customSearchObject: {filterElements: filterElements}\n };\n }, [promotedEntity?.unityBaseSearchMethod?.apiMethodId, filterElements]);\n\n const gridFunctions = useMemo(() => {\n return [\n { name: 'openSavedViews' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ];\n }, []);\n\n return (\n <SearchMethodUdpGrid\n columnDefs={columnDefs}\n searchMethodConfig={searchMethodConfig}\n gridHeaderConfig={{\n title: commonEntityName,\n primaryActionButton: {\n label: 'Add',\n iconName: 'add',\n onClick: onCreate\n },\n secondaryActionButtons: secondaryActionButtons\n }}\n gridId={GRID_ID}\n entityName={commonEntityName}\n gridOptions={{\n pagination: true,\n ...other\n }}\n gridApiCallback={gridApiCallback}\n gridFunctions={gridFunctions}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CrudBrowserContainer-4xalY8qW.js","names":["uuid"],"sources":["../src/maintenanceEngine/crudBrowser/crudHelper.ts","../src/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js","../src/maintenanceEngine/crudBrowser/CrudBrowserContainer.jsx"],"sourcesContent":["export function mapDotNetTypeToAgGridType(\n type: string\n): 'text' | 'number' | 'boolean' | 'dateString' | 'dateTimeString' | 'object' {\n const normalized = type.replace(/\\?$/, '').trim().toLowerCase();\n\n if (\n normalized === 'byte' ||\n normalized === 'short' ||\n normalized === 'int' ||\n normalized === 'long' ||\n normalized === 'float' ||\n normalized === 'double' ||\n normalized === 'decimal'\n ) {\n return 'number';\n }\n\n if (normalized === 'string' || normalized === 'guid') {\n return 'text';\n }\n\n if (normalized === 'bool' || normalized === 'boolean') {\n return 'boolean';\n }\n\n if (normalized === 'date') {\n return 'dateString';\n }\n\n if (normalized === 'datetime') {\n return 'dateTimeString';\n }\n\n if (normalized.startsWith('dictionary') || normalized === 'object') {\n return 'object';\n }\n\n // fallback default\n return 'text';\n}\n","import { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { mapDotNetTypeToAgGridType } from './crudHelper';\n\nexport const CrudTableColumnDefs = (entityAttributes, actionList) => {\n let columnDefs =\n entityAttributes?.reduce((defs, element) => {\n //skip is hidden through maintenance config\n if (\n element?.extendedProperties?.udpFieldProperties?.maintenanceConfig\n ?.hidden === true\n ) {\n return defs;\n }\n //skip if business object key\n if (element?.name === 'businessObjectKey') {\n return defs;\n }\n\n if (!element?.extendedProperties?.childEntity) {\n const columnHeader =\n element?.extendedProperties?.udpFieldProperties?.displayName ||\n element?.name;\n\n const columnHeaderName = toTitleCase(columnHeader);\n const lookupId =\n element?.extendedProperties?.lookup ||\n element?.extendedProperties?.udpFieldProperties?.maintainenceConfig\n ?.lookup;\n\n let def = {\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n cellDataType: mapDotNetTypeToAgGridType(element?.type),\n filter: element?.extendedProperties?.searchable,\n sortable: element?.extendedProperties?.orderable,\n hide: element?.extendedProperties?.udpFieldProperties?.maintainenceConfig?.hidden,\n tooltipField: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n context: {\n lookupId: lookupId,\n ...element\n }\n };\n\n defs.push(def);\n }\n return defs;\n }, []) || [];\n\n columnDefs.push({\n headerName: 'Actions',\n field: 'actions',\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: actionList\n }\n });\n\n return columnDefs;\n};\n","import React, { useMemo, useEffect, useCallback } from 'react';\nimport { CrudTableColumnDefs } from './CrudTableColumnDefs';\nimport { LookupEntitiesIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../../enums/unitySystemEnums';\nimport { toTitleCase } from '../../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { v4 as uuid } from 'uuid';\nimport { SearchMethodUdpGrid } from '../../UI/templates/newGrid/SearchMethodUdpGrid';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const CrudBrowserContainer = (props) => {\n const {\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n promotedEntity,\n apiMethod,\n filterElements,\n setAlertWarnings,\n gridApiCallback,\n showBackToTableBrowser,\n ...other\n } = props;\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const entityName = useMemo(() => {\n return promotedEntity?.entityName;\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName) return '';\n return toTitleCase(getSanitizedName(entityName));\n }, [entityName]);\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const secondaryActionButtons = useMemo(() => {\n if (showBackToTableBrowser) {\n return [\n {\n label: t('Table Browser'),\n iconName: 'arrowLeft16',\n onClick: handleGoToTableBrowser\n }\n ];\n } else {\n return [];\n }\n }, [handleGoToTableBrowser, showBackToTableBrowser, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, foreignKeyData, history, promotedEntity, t]);\n\n const jointActionList = useMemo(() => {\n if (!actionList || actionList?.length === 0) {\n return null;\n }\n // Check if it's a udp lookup entity\n if (\n getSanitizedName(entityName?.toLowerCase()) ===\n UdpEnums.Udp_Lookup.toLowerCase()\n ) {\n return [...actionList, ...virtualActions];\n }\n return [...actionList];\n }, [actionList, entityName, virtualActions]);\n\n const columnDefs = useMemo(() => {\n if (entityAttributes && jointActionList) {\n return CrudTableColumnDefs(entityAttributes, jointActionList);\n }\n }, [entityAttributes, jointActionList]);\n\n useEffect(() => {\n if (promotedEntity) {\n if (!promotedEntity?.unityBaseSearchMethod?.apiMethodId) {\n const searchMethodWarning = {\n id: uuid(),\n message: `${promotedEntity.entityName}'s Search method needs to be promoted`\n };\n setAlertWarnings &&\n setAlertWarnings((prevState) => [...prevState, searchMethodWarning]);\n }\n }\n }, [promotedEntity, setAlertWarnings]);\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n customSearchObject: {filterElements: filterElements}\n };\n }, [promotedEntity?.unityBaseSearchMethod?.apiMethodId, filterElements]);\n\n const gridFunctions = useMemo(() => {\n return [\n { name: 'openSavedViews' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' }\n ];\n }, []);\n\n return (\n <SearchMethodUdpGrid\n columnDefs={columnDefs}\n searchMethodConfig={searchMethodConfig}\n gridHeaderConfig={{\n title: commonEntityName,\n primaryActionButton: {\n label: 'Add',\n iconName: 'add',\n onClick: onCreate\n },\n secondaryActionButtons: secondaryActionButtons\n }}\n gridId={GRID_ID}\n entityName={commonEntityName}\n gridOptions={{\n pagination: true,\n ...other\n }}\n gridApiCallback={gridApiCallback}\n gridFunctions={gridFunctions}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -3,18 +3,18 @@ import { t as Field$1 } from "./Field-Cda5rJe2.js";
|
|
|
3
3
|
import { n as SubmitButton, t as FormButtons } from "./FormButtons-BTCO-pzW.js";
|
|
4
4
|
import { a as getPrimaryKeyValues, r as getPathObject } from "./CrudBrowserUtilities-C9nVmUR3.js";
|
|
5
5
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
6
|
-
import { i as useHandleAxiosSnackbar } from "./apiHelpers-
|
|
6
|
+
import { i as useHandleAxiosSnackbar } from "./apiHelpers-CMlmFUix.js";
|
|
7
7
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
8
|
-
import { n as useAxiosMutate } from "./useAxiosMutate-
|
|
8
|
+
import { n as useAxiosMutate } from "./useAxiosMutate-CChDJc0L.js";
|
|
9
9
|
import { t as FluentTextFieldAutoComplete } from "./FluentTextFieldAutoComplete-5Hp3qpk6.js";
|
|
10
10
|
import { i as toLowerFirstChar } from "./StringUtilities-u-cxAW6-.js";
|
|
11
11
|
import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
|
|
12
|
-
import { t as useCrudActions } from "./crudActions-
|
|
13
|
-
import { L as UdpEnums, n as CardinalityTypeEnums, o as EntityAttributeEnums } from "./unitySystemEnums-
|
|
14
|
-
import { i as executeQueryWithParameters } from "./methodUtils-
|
|
15
|
-
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-
|
|
12
|
+
import { t as useCrudActions } from "./crudActions-BNDjc56_.js";
|
|
13
|
+
import { L as UdpEnums, n as CardinalityTypeEnums, o as EntityAttributeEnums } from "./unitySystemEnums-BhRg17du.js";
|
|
14
|
+
import { i as executeQueryWithParameters } from "./methodUtils-BmW5r7qU.js";
|
|
15
|
+
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-Fr6JxDuh.js";
|
|
16
16
|
import { n as useDefaultFormValues_default } from "./useDefaultFormValues-4T2o8lae.js";
|
|
17
|
-
import { t as TagEnums } from "./tagEnums-
|
|
17
|
+
import { t as TagEnums } from "./tagEnums-pSvvqkV3.js";
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
19
19
|
import { Typography, makeStyles } from "@material-ui/core";
|
|
20
20
|
import { useForm } from "react-final-form";
|
|
@@ -346,4 +346,4 @@ CrudForm.propTypes = {
|
|
|
346
346
|
|
|
347
347
|
//#endregion
|
|
348
348
|
export { UdpCrudFormFields as n, CrudForm as t };
|
|
349
|
-
//# sourceMappingURL=CrudForm-
|
|
349
|
+
//# sourceMappingURL=CrudForm-B9K31dMq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudForm-C9xMnPoA.js","names":["Field","useDefaultFormValues","schemaAttribute","sanitizedName","fkData","Form"],"sources":["../src/UI/forms/UdpCrudFormFields.jsx","../src/UI/forms/CrudForm.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useMemo, useEffect } from 'react';\nimport { Field } from '../../utilities/form';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useForm } from 'react-final-form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { TagEnums } from '../../enums/tagEnums';\nimport { ConfigService } from '../../configService';\n\nexport const UdpCrudFormFields = (props) => {\n const { entityName, formData, existingTagAssociation } = props;\n const form = useForm();\n const user = useUser();\n const sanitizedEntityName = getSanitizedName(entityName);\n const IS_FOR_LOOKUP =\n sanitizedEntityName?.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase();\n const IS_FOR_TAGS = ![\n TagEnums.TagAssociationSanitizedName.toLowerCase(),\n TagEnums.TagSanitizedName.toLowerCase(),\n TagEnums.TagTypeSanitizedName.toLowerCase()\n ].includes(sanitizedEntityName?.toLowerCase());\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n const { data: udpTagEntity } = usePromotedMethodEntity('udpTag', true);\n\n const [{ data: udpObjectInfoList }, fetchUdpObjectInfoList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpObjectInfoEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const [{ data: udpTagList }, fetchUdpTagList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpTagEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const initialTagValues = useMemo(() => {\n let existingTagIds = existingTagAssociation?.map((tag) => tag.id);\n let tagValues = udpTagList\n ? udpTagList.filter((tag) => existingTagIds.includes(tag.id))\n : [];\n return tagValues;\n }, [existingTagAssociation, udpTagList]);\n\n const initialDomainNameValue = useMemo(() => {\n let domainName = formData?.domainName;\n if (domainName && udpObjectInfoList) {\n domainName = getSanitizedName(domainName);\n return udpObjectInfoList.find(\n (updObjectInfo) => updObjectInfo.sanitizedName === domainName\n );\n }\n return '';\n }, [formData, udpObjectInfoList]);\n\n const lookupFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialDomainNameValue}\n label={'Domain Name'}\n name={'domainName'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpObjectInfoList || []}\n optionKey={'sanitizedName'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpObjectInfoList, initialDomainNameValue]);\n\n const tagFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialTagValues}\n isMultiple\n label={'Tags'}\n name={'udpTags'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpTagList || []}\n optionKey={'name'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpTagList, initialTagValues]);\n\n useEffect(() => {\n if (udpObjectInfoEntity?.unityBaseGetAllMethod && IS_FOR_LOOKUP) {\n fetchUdpObjectInfoList({ data: {} });\n }\n }, [udpObjectInfoEntity, fetchUdpObjectInfoList, IS_FOR_LOOKUP]);\n\n useEffect(() => {\n form.change('domainName', initialDomainNameValue);\n }, [form, initialDomainNameValue]);\n\n useEffect(() => {\n form.change('udpTags', initialTagValues);\n }, [form, initialTagValues]);\n\n useEffect(() => {\n if (udpTagEntity?.unityBaseGetAllMethod) {\n fetchUdpTagList({ data: {} });\n }\n }, [udpTagEntity, fetchUdpTagList]);\n\n return (\n <>\n {IS_FOR_LOOKUP ? lookupFields : null}\n {IS_FOR_TAGS ? tagFields : null}\n </>\n );\n};\n\nUdpCrudFormFields.propTypes = {\n /**\n * Entity name for promoted entity\n */\n entityName: PropTypes.string\n};\n","import { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { Form, FormButtons, SubmitButton } from '../../utilities/form';\nimport { useCrudActions } from '../../hooks/crudActions';\nimport { toLowerFirstChar } from '../../utilities/input/StringUtilities';\nimport useDefaultFormValues from '../../utilities/crud/useDefaultFormValues';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../enums/unitySystemEnums';\nimport { UdpCrudFormFields } from './UdpCrudFormFields';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryWithParameters } from '../../udp/utilities/methodUtils';\nimport { differenceWith } from 'lodash';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { TagEnums } from '../../enums/tagEnums';\n\nconst useStyles = makeStyles((theme) => ({\n actions: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n flexGrow: 1\n },\n subject: {\n marginLeft: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1\n },\n switchRoot: {\n marginLeft: theme.spacing(1)\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 13\n },\n labelRoot: {\n fontSize: 13\n }\n}));\n\nexport const CrudForm = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const { renderInputByFieldType } = useCrudActions();\n\n const [fkData, setFkData] = useState(\n foreignKeyData?.map((fkd) => ({ ...fkd }))\n );\n const { data: promotedEntity } = usePromotedMethodEntity(entityName);\n const { data: udpTagAssocPromotedEntity } = usePromotedMethodEntity(\n 'UdpTagAssociation',\n true\n );\n const { defaultFormValues } = useDefaultFormValues(entityAttributes);\n const [crudTableFormData, setCrudTableFormData] = useState(\n crudTableEditionData || defaultFormValues\n );\n const [existingTagAssociation, setExistingTagAssociation] = useState([]);\n const classes = useStyles();\n\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n const primaryKeyValues = useMemo(\n () => getPrimaryKeyValues(entityAttributes, crudTableEditionData),\n [entityAttributes, crudTableEditionData]\n );\n\n const getEntityFull = useCallback(async () => {\n if (\n !promotedEntity?.unityBaseGetFullMethod?.apiMethodId ||\n !promotedEntity?.unityBaseUpdateMethod?.pathParameters\n ) {\n return null;\n }\n\n const pathObject = getPathObject(\n promotedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n\n let data = { requestBody: {} };\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: {} };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n promotedEntity.unityBaseGetFullMethod.apiMethodId\n ).catch((res) => {\n console.error(res);\n });\n\n if (response?.status === 200) {\n return response.data;\n } else {\n console.error(\n `Could not retrieve full data for ${promotedEntity?.entityName}`\n );\n }\n return null;\n }, [promotedEntity, primaryKeyValues]);\n\n // we'll need this to determine which property names are used as keys for many-to-many\n const manyToManyPropertyList = useMemo(() => {\n if (!entityAttributes?.length) return [];\n const mtmPropertyList = new Set();\n entityAttributes.forEach((attr) => {\n if (attr?.extendedProperties?.childEntity) {\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach((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 mtmPropertyList.add(name.toLowerCase());\n }\n });\n }\n });\n return mtmPropertyList;\n }, [entityAttributes]);\n\n const getJoiningObj = (schemaAttribute, ceAttributes) => {\n return ceAttributes.find(\n (ceAttr) =>\n Object.keys(ceAttr?.extendedProperties?.childEntityAssoc || {})\n .length &&\n ceAttr.extendedProperties.childEntityAssoc.Keys.find((a) => {\n const fieldId = a.split(',')[0];\n return (\n (/^[A-Z]*$/.test(fieldId)\n ? fieldId.toLowerCase()\n : toLowerFirstChar(fieldId)) ===\n toLowerFirstChar(schemaAttribute.name)\n );\n })\n );\n };\n\n const renderAttribute = useCallback(\n (schemaAttribute, fieldInfo) => {\n let render = !fieldInfo?.isIdentity;\n\n if (\n schemaAttribute?.extendedProperties?.identifier &&\n fieldInfo?.dataType === 'Guid'\n ) {\n render = false;\n }\n entityAttributes.every((schemaAttribute, index) => {\n const ceAttributes = entityAttributes.filter(\n (ea) =>\n ea.extendedProperties.childEntity &&\n ea.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n ea.extendedProperties.childEntityAssoc.IsJoiningObject\n );\n\n if (getJoiningObj(schemaAttribute, ceAttributes)) {\n render = true;\n return false;\n }\n return true;\n });\n\n return render;\n },\n [entityAttributes]\n );\n\n // function that helps transform form data for entites like UdpLookup, UdpTagType, UdpShortcutContent\n const transformDataForUdpMaintenance = useCallback(\n (values) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n // Current entity to modify is a UdpLookup\n if (sanitizedName === UdpEnums.Udp_Lookup.toLowerCase()) {\n const attributeName = toLowerFirstChar(\n EntityAttributeEnums.Domain_Name\n );\n let domainName = values[attributeName];\n const modelNameSpaceStructure = domainName?.namespaceStructure?.model;\n const sanitizedName = domainName?.sanitizedName;\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ] = false;\n if (modelNameSpaceStructure) {\n values[\n attributeName\n ] = `${modelNameSpaceStructure}.Models.${sanitizedName}`;\n } else {\n values[attributeName] = '';\n }\n } else if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase()\n ) {\n values[toLowerFirstChar(EntityAttributeEnums.User_Defined)] = true;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase()\n ) {\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ] = false;\n }\n },\n [entityName]\n );\n\n const tagAssociationComparator = (ta1, ta2) => {\n return ta1?.id === ta2?.id;\n };\n\n // Callback to handle associating tags to business objects\n const handleTagAssociation = useCallback(\n async (values, businessObjectKey) => {\n // Get the tagAssociation objects to delete\n const tagAssociationToDelete = differenceWith(\n existingTagAssociation,\n values?.udpTags,\n tagAssociationComparator\n );\n\n // Get the tagAssociation objects to create\n const tagAssociationToCreate = differenceWith(\n values?.udpTags,\n existingTagAssociation,\n tagAssociationComparator\n );\n\n const deleteTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseDeleteMethod;\n const createTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseCreateMethod;\n\n if (businessObjectKey) {\n if (deleteTagAssociationApiMethod) {\n const deletedPromises = [];\n tagAssociationToDelete.forEach((tagAssocToDelete) => {\n const data = {};\n data['{tagId}'] = tagAssocToDelete.id;\n data['{entityBusinessKey}'] = businessObjectKey;\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteTagAssociationApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Tag Association deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Tag Association Method Not Promoted'\n );\n }\n\n if (createTagAssociationApiMethod) {\n const createdPromises = [];\n tagAssociationToCreate.forEach((tagAssoc) => {\n const data = {\n requestBody: {\n tagId: tagAssoc.id,\n entityBusinessKey: businessObjectKey\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createTagAssociationApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingTagAssociation = tagAssociationToCreate.find(\n (ta) => ta.value === entityBusinessKey\n );\n if (!matchingTagAssociation) {\n console.warn(\n `Tag Association not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingTagAssociation(values?.udpTags);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Tag Association Method Not Promoted'\n );\n }\n }\n },\n [\n handleErrorSnackbar,\n existingTagAssociation,\n setExistingTagAssociation,\n udpTagAssocPromotedEntity\n ]\n );\n\n const handleSubmit = useCallback(\n async (values) => {\n let newTableData = {\n ...crudTableFormData,\n ...values\n };\n\n transformDataForUdpMaintenance(newTableData);\n\n const isNewRow = !crudTableEditionData;\n\n if (!isNewEntry) {\n // remove identifiers from object\n entityAttributes\n .filter((ea) => {\n const joiningObject = getJoiningObj(ea, entityAttributes);\n const fieldInfo = udpFieldInfos?.find(\n (fi) => fi?.name.toLowerCase() === ea?.name?.toLowerCase()\n );\n return (\n ea?.extendedProperties?.identifier &&\n fieldInfo?.isIdentity &&\n fieldInfo?.dataType !== 'Guid' &&\n (!joiningObject || joiningObject.extendedProperties?.childEntity)\n );\n })\n .forEach((ea) => {\n delete newTableData[ea.name];\n });\n }\n\n // transform values by fkData before creating/updating\n foreignKeyData.forEach((fkd) => {\n Object.keys(newTableData).forEach((key) => {\n if (key === fkd.fieldName) {\n const fkData = fkd.data.find(\n (d) => d.id === newTableData[key]?.id\n )?.id;\n if (fkData !== null) {\n newTableData[key] = fkData;\n }\n }\n });\n });\n\n let businessObjectKey = '';\n if (isNewRow) {\n if (onCreate) {\n const createdResponse = await onCreate(newTableData);\n if (createdResponse?.status === 200) {\n businessObjectKey = createdResponse?.data?.businessObjectKey;\n }\n }\n } else {\n if (onUpdate) {\n await onUpdate(newTableData, primaryKeyValues);\n businessObjectKey = newTableData?.businessObjectKey;\n }\n }\n if (businessObjectKey && values?.udpTags) {\n handleTagAssociation(values, businessObjectKey);\n }\n closeSideSheet && closeSideSheet();\n },\n [\n crudTableFormData,\n transformDataForUdpMaintenance,\n crudTableEditionData,\n isNewEntry,\n foreignKeyData,\n closeSideSheet,\n entityAttributes,\n onCreate,\n onUpdate,\n primaryKeyValues,\n handleTagAssociation\n ]\n );\n\n const shouldAttributeRenderField = useCallback(\n (schemaAttribute) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.User_Defined)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Lookup.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ) {\n return false;\n }\n\n return true;\n },\n [entityName]\n );\n\n useEffect(() => {\n const getFullData = async () => {\n const fullEntityData = await getEntityFull();\n if (fullEntityData) {\n const filteredTags = fullEntityData.udpTags?.map(\n (tagAssoc) => tagAssoc.udpTagAssociationUdpTag\n );\n setExistingTagAssociation(filteredTags || []);\n }\n };\n if (promotedEntity && !isNewEntry) {\n getFullData();\n }\n }, [promotedEntity, getEntityFull, isNewEntry]);\n\n useEffect(() => {\n if (foreignKeyData) {\n setFkData(foreignKeyData?.map((fkd) => ({ ...fkd })));\n }\n }, [foreignKeyData]);\n\n return (\n <Form onSubmit={handleSubmit}>\n <div>\n {entityAttributes?.map((schemaAttribute, index) => {\n const fieldInfo = udpFieldInfos?.find(\n (fi) =>\n fi?.name.toLowerCase() === schemaAttribute?.name?.toLowerCase()\n );\n // If the field is an identity and is Updating form, we will make the field readOnly\n if (fieldInfo?.isPrimaryKey && !isNewEntry) {\n schemaAttribute.disabled = true;\n }\n if (fieldInfo?.isPrimaryKey && isNewEntry && !fieldInfo?.isIdentity) {\n schemaAttribute.disabled = false;\n }\n if (!shouldAttributeRenderField(schemaAttribute)) {\n return null;\n }\n return (\n renderAttribute(schemaAttribute, fieldInfo) && (\n <React.Fragment key={`${schemaAttribute.name}-${index}`}>\n <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n {schemaAttribute.friendlyName}\n </Typography>\n {renderInputByFieldType(\n schemaAttribute,\n index,\n entityAttributes,\n fieldInfo,\n fkData,\n setFkData,\n crudTableFormData,\n classes,\n isNewEntry,\n entityData,\n manyToManyPropertyList\n )}\n </React.Fragment>\n )\n );\n })}\n <UdpCrudFormFields\n entityName={entityName}\n formData={crudTableFormData}\n existingTagAssociation={existingTagAssociation}\n />\n </div>\n\n <FormButtons>\n <SubmitButton\n id='udpRecord-CrudForm-Submit'\n udprecordid='udpRecord-CrudForm-Submit'\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={false}\n style={{ marginTop: 15 }}\n >\n Save\n </SubmitButton>\n </FormButtons>\n </Form>\n );\n};\n\nCrudForm.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CrudForm-B9K31dMq.js","names":["Field","useDefaultFormValues","schemaAttribute","sanitizedName","fkData","Form"],"sources":["../src/UI/forms/UdpCrudFormFields.jsx","../src/UI/forms/CrudForm.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useMemo, useEffect } from 'react';\nimport { Field } from '../../utilities/form';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useForm } from 'react-final-form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { TagEnums } from '../../enums/tagEnums';\nimport { ConfigService } from '../../configService';\n\nexport const UdpCrudFormFields = (props) => {\n const { entityName, formData, existingTagAssociation } = props;\n const form = useForm();\n const user = useUser();\n const sanitizedEntityName = getSanitizedName(entityName);\n const IS_FOR_LOOKUP =\n sanitizedEntityName?.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase();\n const IS_FOR_TAGS = ![\n TagEnums.TagAssociationSanitizedName.toLowerCase(),\n TagEnums.TagSanitizedName.toLowerCase(),\n TagEnums.TagTypeSanitizedName.toLowerCase()\n ].includes(sanitizedEntityName?.toLowerCase());\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n const { data: udpTagEntity } = usePromotedMethodEntity('udpTag', true);\n\n const [{ data: udpObjectInfoList }, fetchUdpObjectInfoList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpObjectInfoEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const [{ data: udpTagList }, fetchUdpTagList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpTagEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const initialTagValues = useMemo(() => {\n let existingTagIds = existingTagAssociation?.map((tag) => tag.id);\n let tagValues = udpTagList\n ? udpTagList.filter((tag) => existingTagIds.includes(tag.id))\n : [];\n return tagValues;\n }, [existingTagAssociation, udpTagList]);\n\n const initialDomainNameValue = useMemo(() => {\n let domainName = formData?.domainName;\n if (domainName && udpObjectInfoList) {\n domainName = getSanitizedName(domainName);\n return udpObjectInfoList.find(\n (updObjectInfo) => updObjectInfo.sanitizedName === domainName\n );\n }\n return '';\n }, [formData, udpObjectInfoList]);\n\n const lookupFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialDomainNameValue}\n label={'Domain Name'}\n name={'domainName'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpObjectInfoList || []}\n optionKey={'sanitizedName'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpObjectInfoList, initialDomainNameValue]);\n\n const tagFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialTagValues}\n isMultiple\n label={'Tags'}\n name={'udpTags'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpTagList || []}\n optionKey={'name'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpTagList, initialTagValues]);\n\n useEffect(() => {\n if (udpObjectInfoEntity?.unityBaseGetAllMethod && IS_FOR_LOOKUP) {\n fetchUdpObjectInfoList({ data: {} });\n }\n }, [udpObjectInfoEntity, fetchUdpObjectInfoList, IS_FOR_LOOKUP]);\n\n useEffect(() => {\n form.change('domainName', initialDomainNameValue);\n }, [form, initialDomainNameValue]);\n\n useEffect(() => {\n form.change('udpTags', initialTagValues);\n }, [form, initialTagValues]);\n\n useEffect(() => {\n if (udpTagEntity?.unityBaseGetAllMethod) {\n fetchUdpTagList({ data: {} });\n }\n }, [udpTagEntity, fetchUdpTagList]);\n\n return (\n <>\n {IS_FOR_LOOKUP ? lookupFields : null}\n {IS_FOR_TAGS ? tagFields : null}\n </>\n );\n};\n\nUdpCrudFormFields.propTypes = {\n /**\n * Entity name for promoted entity\n */\n entityName: PropTypes.string\n};\n","import { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { Form, FormButtons, SubmitButton } from '../../utilities/form';\nimport { useCrudActions } from '../../hooks/crudActions';\nimport { toLowerFirstChar } from '../../utilities/input/StringUtilities';\nimport useDefaultFormValues from '../../utilities/crud/useDefaultFormValues';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../enums/unitySystemEnums';\nimport { UdpCrudFormFields } from './UdpCrudFormFields';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryWithParameters } from '../../udp/utilities/methodUtils';\nimport { differenceWith } from 'lodash';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { TagEnums } from '../../enums/tagEnums';\n\nconst useStyles = makeStyles((theme) => ({\n actions: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n flexGrow: 1\n },\n subject: {\n marginLeft: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1\n },\n switchRoot: {\n marginLeft: theme.spacing(1)\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 13\n },\n labelRoot: {\n fontSize: 13\n }\n}));\n\nexport const CrudForm = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const { renderInputByFieldType } = useCrudActions();\n\n const [fkData, setFkData] = useState(\n foreignKeyData?.map((fkd) => ({ ...fkd }))\n );\n const { data: promotedEntity } = usePromotedMethodEntity(entityName);\n const { data: udpTagAssocPromotedEntity } = usePromotedMethodEntity(\n 'UdpTagAssociation',\n true\n );\n const { defaultFormValues } = useDefaultFormValues(entityAttributes);\n const [crudTableFormData, setCrudTableFormData] = useState(\n crudTableEditionData || defaultFormValues\n );\n const [existingTagAssociation, setExistingTagAssociation] = useState([]);\n const classes = useStyles();\n\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n const primaryKeyValues = useMemo(\n () => getPrimaryKeyValues(entityAttributes, crudTableEditionData),\n [entityAttributes, crudTableEditionData]\n );\n\n const getEntityFull = useCallback(async () => {\n if (\n !promotedEntity?.unityBaseGetFullMethod?.apiMethodId ||\n !promotedEntity?.unityBaseUpdateMethod?.pathParameters\n ) {\n return null;\n }\n\n const pathObject = getPathObject(\n promotedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n\n let data = { requestBody: {} };\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: {} };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n promotedEntity.unityBaseGetFullMethod.apiMethodId\n ).catch((res) => {\n console.error(res);\n });\n\n if (response?.status === 200) {\n return response.data;\n } else {\n console.error(\n `Could not retrieve full data for ${promotedEntity?.entityName}`\n );\n }\n return null;\n }, [promotedEntity, primaryKeyValues]);\n\n // we'll need this to determine which property names are used as keys for many-to-many\n const manyToManyPropertyList = useMemo(() => {\n if (!entityAttributes?.length) return [];\n const mtmPropertyList = new Set();\n entityAttributes.forEach((attr) => {\n if (attr?.extendedProperties?.childEntity) {\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach((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 mtmPropertyList.add(name.toLowerCase());\n }\n });\n }\n });\n return mtmPropertyList;\n }, [entityAttributes]);\n\n const getJoiningObj = (schemaAttribute, ceAttributes) => {\n return ceAttributes.find(\n (ceAttr) =>\n Object.keys(ceAttr?.extendedProperties?.childEntityAssoc || {})\n .length &&\n ceAttr.extendedProperties.childEntityAssoc.Keys.find((a) => {\n const fieldId = a.split(',')[0];\n return (\n (/^[A-Z]*$/.test(fieldId)\n ? fieldId.toLowerCase()\n : toLowerFirstChar(fieldId)) ===\n toLowerFirstChar(schemaAttribute.name)\n );\n })\n );\n };\n\n const renderAttribute = useCallback(\n (schemaAttribute, fieldInfo) => {\n let render = !fieldInfo?.isIdentity;\n\n if (\n schemaAttribute?.extendedProperties?.identifier &&\n fieldInfo?.dataType === 'Guid'\n ) {\n render = false;\n }\n entityAttributes.every((schemaAttribute, index) => {\n const ceAttributes = entityAttributes.filter(\n (ea) =>\n ea.extendedProperties.childEntity &&\n ea.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n ea.extendedProperties.childEntityAssoc.IsJoiningObject\n );\n\n if (getJoiningObj(schemaAttribute, ceAttributes)) {\n render = true;\n return false;\n }\n return true;\n });\n\n return render;\n },\n [entityAttributes]\n );\n\n // function that helps transform form data for entites like UdpLookup, UdpTagType, UdpShortcutContent\n const transformDataForUdpMaintenance = useCallback(\n (values) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n // Current entity to modify is a UdpLookup\n if (sanitizedName === UdpEnums.Udp_Lookup.toLowerCase()) {\n const attributeName = toLowerFirstChar(\n EntityAttributeEnums.Domain_Name\n );\n let domainName = values[attributeName];\n const modelNameSpaceStructure = domainName?.namespaceStructure?.model;\n const sanitizedName = domainName?.sanitizedName;\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ] = false;\n if (modelNameSpaceStructure) {\n values[\n attributeName\n ] = `${modelNameSpaceStructure}.Models.${sanitizedName}`;\n } else {\n values[attributeName] = '';\n }\n } else if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase()\n ) {\n values[toLowerFirstChar(EntityAttributeEnums.User_Defined)] = true;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase()\n ) {\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ] = false;\n }\n },\n [entityName]\n );\n\n const tagAssociationComparator = (ta1, ta2) => {\n return ta1?.id === ta2?.id;\n };\n\n // Callback to handle associating tags to business objects\n const handleTagAssociation = useCallback(\n async (values, businessObjectKey) => {\n // Get the tagAssociation objects to delete\n const tagAssociationToDelete = differenceWith(\n existingTagAssociation,\n values?.udpTags,\n tagAssociationComparator\n );\n\n // Get the tagAssociation objects to create\n const tagAssociationToCreate = differenceWith(\n values?.udpTags,\n existingTagAssociation,\n tagAssociationComparator\n );\n\n const deleteTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseDeleteMethod;\n const createTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseCreateMethod;\n\n if (businessObjectKey) {\n if (deleteTagAssociationApiMethod) {\n const deletedPromises = [];\n tagAssociationToDelete.forEach((tagAssocToDelete) => {\n const data = {};\n data['{tagId}'] = tagAssocToDelete.id;\n data['{entityBusinessKey}'] = businessObjectKey;\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteTagAssociationApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Tag Association deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Tag Association Method Not Promoted'\n );\n }\n\n if (createTagAssociationApiMethod) {\n const createdPromises = [];\n tagAssociationToCreate.forEach((tagAssoc) => {\n const data = {\n requestBody: {\n tagId: tagAssoc.id,\n entityBusinessKey: businessObjectKey\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createTagAssociationApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingTagAssociation = tagAssociationToCreate.find(\n (ta) => ta.value === entityBusinessKey\n );\n if (!matchingTagAssociation) {\n console.warn(\n `Tag Association not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingTagAssociation(values?.udpTags);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Tag Association Method Not Promoted'\n );\n }\n }\n },\n [\n handleErrorSnackbar,\n existingTagAssociation,\n setExistingTagAssociation,\n udpTagAssocPromotedEntity\n ]\n );\n\n const handleSubmit = useCallback(\n async (values) => {\n let newTableData = {\n ...crudTableFormData,\n ...values\n };\n\n transformDataForUdpMaintenance(newTableData);\n\n const isNewRow = !crudTableEditionData;\n\n if (!isNewEntry) {\n // remove identifiers from object\n entityAttributes\n .filter((ea) => {\n const joiningObject = getJoiningObj(ea, entityAttributes);\n const fieldInfo = udpFieldInfos?.find(\n (fi) => fi?.name.toLowerCase() === ea?.name?.toLowerCase()\n );\n return (\n ea?.extendedProperties?.identifier &&\n fieldInfo?.isIdentity &&\n fieldInfo?.dataType !== 'Guid' &&\n (!joiningObject || joiningObject.extendedProperties?.childEntity)\n );\n })\n .forEach((ea) => {\n delete newTableData[ea.name];\n });\n }\n\n // transform values by fkData before creating/updating\n foreignKeyData.forEach((fkd) => {\n Object.keys(newTableData).forEach((key) => {\n if (key === fkd.fieldName) {\n const fkData = fkd.data.find(\n (d) => d.id === newTableData[key]?.id\n )?.id;\n if (fkData !== null) {\n newTableData[key] = fkData;\n }\n }\n });\n });\n\n let businessObjectKey = '';\n if (isNewRow) {\n if (onCreate) {\n const createdResponse = await onCreate(newTableData);\n if (createdResponse?.status === 200) {\n businessObjectKey = createdResponse?.data?.businessObjectKey;\n }\n }\n } else {\n if (onUpdate) {\n await onUpdate(newTableData, primaryKeyValues);\n businessObjectKey = newTableData?.businessObjectKey;\n }\n }\n if (businessObjectKey && values?.udpTags) {\n handleTagAssociation(values, businessObjectKey);\n }\n closeSideSheet && closeSideSheet();\n },\n [\n crudTableFormData,\n transformDataForUdpMaintenance,\n crudTableEditionData,\n isNewEntry,\n foreignKeyData,\n closeSideSheet,\n entityAttributes,\n onCreate,\n onUpdate,\n primaryKeyValues,\n handleTagAssociation\n ]\n );\n\n const shouldAttributeRenderField = useCallback(\n (schemaAttribute) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.User_Defined)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Lookup.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ) {\n return false;\n }\n\n return true;\n },\n [entityName]\n );\n\n useEffect(() => {\n const getFullData = async () => {\n const fullEntityData = await getEntityFull();\n if (fullEntityData) {\n const filteredTags = fullEntityData.udpTags?.map(\n (tagAssoc) => tagAssoc.udpTagAssociationUdpTag\n );\n setExistingTagAssociation(filteredTags || []);\n }\n };\n if (promotedEntity && !isNewEntry) {\n getFullData();\n }\n }, [promotedEntity, getEntityFull, isNewEntry]);\n\n useEffect(() => {\n if (foreignKeyData) {\n setFkData(foreignKeyData?.map((fkd) => ({ ...fkd })));\n }\n }, [foreignKeyData]);\n\n return (\n <Form onSubmit={handleSubmit}>\n <div>\n {entityAttributes?.map((schemaAttribute, index) => {\n const fieldInfo = udpFieldInfos?.find(\n (fi) =>\n fi?.name.toLowerCase() === schemaAttribute?.name?.toLowerCase()\n );\n // If the field is an identity and is Updating form, we will make the field readOnly\n if (fieldInfo?.isPrimaryKey && !isNewEntry) {\n schemaAttribute.disabled = true;\n }\n if (fieldInfo?.isPrimaryKey && isNewEntry && !fieldInfo?.isIdentity) {\n schemaAttribute.disabled = false;\n }\n if (!shouldAttributeRenderField(schemaAttribute)) {\n return null;\n }\n return (\n renderAttribute(schemaAttribute, fieldInfo) && (\n <React.Fragment key={`${schemaAttribute.name}-${index}`}>\n <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n {schemaAttribute.friendlyName}\n </Typography>\n {renderInputByFieldType(\n schemaAttribute,\n index,\n entityAttributes,\n fieldInfo,\n fkData,\n setFkData,\n crudTableFormData,\n classes,\n isNewEntry,\n entityData,\n manyToManyPropertyList\n )}\n </React.Fragment>\n )\n );\n })}\n <UdpCrudFormFields\n entityName={entityName}\n formData={crudTableFormData}\n existingTagAssociation={existingTagAssociation}\n />\n </div>\n\n <FormButtons>\n <SubmitButton\n id='udpRecord-CrudForm-Submit'\n udprecordid='udpRecord-CrudForm-Submit'\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={false}\n style={{ marginTop: 15 }}\n >\n Save\n </SubmitButton>\n </FormButtons>\n </Form>\n );\n};\n\nCrudForm.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
2
2
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
3
|
-
import { L as UdpEnums } from "./unitySystemEnums-
|
|
3
|
+
import { L as UdpEnums } from "./unitySystemEnums-BhRg17du.js";
|
|
4
4
|
import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
|
|
5
|
-
import { t as useAxiosGet } from "./useAxiosGet-
|
|
6
|
-
import { t as PageContainer } from "./PageContainer-
|
|
7
|
-
import { t as CrudForm } from "./CrudForm-
|
|
5
|
+
import { t as useAxiosGet } from "./useAxiosGet-B3uusywz.js";
|
|
6
|
+
import { t as PageContainer } from "./PageContainer-B6aRZIrC.js";
|
|
7
|
+
import { t as CrudForm } from "./CrudForm-B9K31dMq.js";
|
|
8
8
|
import React, { useMemo } from "react";
|
|
9
9
|
import { Divider, makeStyles } from "@material-ui/core";
|
|
10
10
|
import PropTypes from "prop-types";
|
|
@@ -117,4 +117,4 @@ CrudTableSidePanel.propTypes = {
|
|
|
117
117
|
|
|
118
118
|
//#endregion
|
|
119
119
|
export { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE as n, CrudTableSidePanel as t };
|
|
120
|
-
//# sourceMappingURL=CrudTableSidePanel-
|
|
120
|
+
//# sourceMappingURL=CrudTableSidePanel-DmC2bKKS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudTableSidePanel-
|
|
1
|
+
{"version":3,"file":"CrudTableSidePanel-DmC2bKKS.js","names":[],"sources":["../src/maintenanceEngine/entityAttributeActions.js","../src/maintenanceEngine/crudBrowser/CrudTableSidePanel.jsx"],"sourcesContent":["export const UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE = [\n 'businessObjectKey',\n 'clusterId',\n 'data',\n 'domainName'\n];\n","import { Divider, makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { CrudForm } from '../../UI/forms/CrudForm';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { PageContainer } from '../../page/PageContainer';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { Skeleton } from '@material-ui/lab';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE } from '../entityAttributeActions';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n divider: {\n marginTop: theme.spacing(2)\n }\n}));\n\nconst FIELD_NUMBER = 10;\n\nexport const CrudTableSidePanel = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n pageId,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const user = useUser();\n const classes = useStyles();\n\n const [{ data: page, loading: loadingPage }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${pageId}`,\n {},\n !!!pageId,\n false\n );\n\n const skeleton = useMemo(() => {\n const skeletonArr = [];\n for (let i = 0; i < FIELD_NUMBER; i++) {\n skeletonArr.push(\n <>\n <Skeleton key={i} variant='rect' className={classes.skeleton} />\n <LayoutUnit unit='xxs' />\n </>\n );\n }\n return skeletonArr;\n }, [classes]);\n\n // LAA UNT-3026: Remove businessObjectKey field from the side panel crud form\n const filteredEntityAttributes = useMemo(() => {\n if (entityName?.toLowerCase().includes(UdpEnums.Udp_Lookup.toLowerCase())) {\n return entityAttributes.filter(\n (attr) => !UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE.includes(attr.name)\n );\n }\n return entityAttributes.filter((attr) => attr.name !== 'businessObjectKey');\n }, [entityAttributes, entityName]);\n\n const sideSheetContent = useMemo(() => {\n if (page) {\n return (\n <DndProvider backend={HTML5Backend}>\n <PageContainer\n user={user}\n key={pageId}\n pageData={page}\n widgetParams={{\n pageId: page?.pageId,\n entityAttributes: filteredEntityAttributes,\n entityData: entityData,\n entityName: entityName,\n foreignKeyData: foreignKeyData,\n isNewEntry: isNewEntry,\n udpFieldInfos: udpFieldInfos,\n nodeObj: crudTableEditionData,\n setSideSheetWidth: setSideSheetWidth,\n setSideSheetButtonLabel: setSideSheetButtonLabel,\n setSideSheetOnSubmit: setSideSheetOnSubmit,\n closeSideSheet: closeSideSheet,\n setSideSheetProps: setSideSheetProps,\n onCreate: onCreate,\n onUpdate: onUpdate\n }}\n disableMargins={true}\n />\n </DndProvider>\n );\n } else {\n return (\n <>\n <CrudForm\n entityAttributes={filteredEntityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n crudTableEditionData={crudTableEditionData}\n closeSideSheet={closeSideSheet}\n onCreate={onCreate}\n onUpdate={onUpdate}\n isNewEntry={isNewEntry}\n entityData={entityData}\n entityName={entityName}\n />\n <div className={classes.divider}>\n <Divider />\n </div>\n </>\n );\n }\n }, [\n page,\n user,\n pageId,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps,\n closeSideSheet,\n onCreate,\n onUpdate,\n filteredEntityAttributes,\n foreignKeyData,\n isNewEntry,\n entityData,\n classes,\n entityName,\n udpFieldInfos,\n crudTableEditionData\n ]);\n\n return (\n <div>\n {loadingPage ? (\n <>\n {skeleton.map((sk) => sk)}\n <LayoutUnit unit='md' />\n <Skeleton variant='rect' className={classes.skeletonButton} />\n </>\n ) : (\n sideSheetContent\n )}\n </div>\n );\n};\n\nCrudTableSidePanel.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAa,uCAAuC;CAClD;CACA;CACA;CACA;CACD;;;;ACUD,MAAM,YAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,SAAS,EACP,WAAW,MAAM,QAAQ,EAAE,EAC5B;CACF,EAAE;AAEH,MAAM,eAAe;AAErB,MAAa,sBAAsB,UAAU;CAC3C,MAAM,EACJ,kBACA,eACA,gBACA,sBACA,gBACA,UACA,UACA,QACA,mBACA,yBACA,sBACA,mBACA,YACA,YACA,eACE;CACJ,MAAM,OAAO,SAAS;CACtB,MAAM,UAAU,WAAW;CAE3B,MAAM,CAAC,EAAE,MAAM,MAAM,SAAS,iBAAiB,YAC7C,cAAc,gBACd,QAAQ,UACR,EAAE,EACF,CAAC,CAAC,CAAC,QACH,MACD;CAED,MAAM,WAAW,cAAc;EAC7B,MAAM,cAAc,EAAE;AACtB,OAAK,IAAI,IAAI,GAAG,IAAI,cAAc,IAChC,aAAY,KACV,0DACE,oCAAC;GAAS,KAAK;GAAG,SAAQ;GAAO,WAAW,QAAQ;IAAY,EAChE,oCAAC,cAAW,MAAK,QAAQ,CACxB,CACJ;AAEH,SAAO;IACN,CAAC,QAAQ,CAAC;CAGb,MAAM,2BAA2B,cAAc;AAC7C,MAAI,YAAY,aAAa,CAAC,SAAS,SAAS,WAAW,aAAa,CAAC,CACvE,QAAO,iBAAiB,QACrB,SAAS,CAAC,qCAAqC,SAAS,KAAK,KAAK,CACpE;AAEH,SAAO,iBAAiB,QAAQ,SAAS,KAAK,SAAS,oBAAoB;IAC1E,CAAC,kBAAkB,WAAW,CAAC;CAElC,MAAM,mBAAmB,cAAc;AACrC,MAAI,KACF,QACE,oCAAC,eAAY,SAAS,gBACpB,oCAAC;GACO;GACN,KAAK;GACL,UAAU;GACV,cAAc;IACZ,QAAQ,MAAM;IACd,kBAAkB;IACN;IACA;IACI;IACJ;IACG;IACf,SAAS;IACU;IACM;IACH;IACN;IACG;IACT;IACA;IACX;GACD,gBAAgB;IAChB,CACU;MAGhB,QACE,0DACE,oCAAC;GACC,kBAAkB;GACH;GACC;GACM;GACN;GACN;GACA;GACE;GACA;GACA;IACZ,EACF,oCAAC,SAAI,WAAW,QAAQ,WACtB,oCAAC,cAAU,CACP,CACL;IAGN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,oCAAC,aACE,cACC,0DACG,SAAS,KAAK,OAAO,GAAG,EACzB,oCAAC,cAAW,MAAK,OAAO,EACxB,oCAAC;EAAS,SAAQ;EAAO,WAAW,QAAQ;GAAkB,CAC7D,GAEH,iBAEE;;AAIV,mBAAmB,YAAY;CAI7B,kBAAkB,UAAU;CAI5B,gBAAgB,UAAU;CAI1B,sBAAsB,UAAU;CAIhC,gBAAgB,UAAU;CAI1B,UAAU,UAAU;CAIpB,UAAU,UAAU;CACrB"}
|
|
@@ -3,18 +3,18 @@ import { t as findTermByType } from "./CrudBrowserUtilities-C9nVmUR3.js";
|
|
|
3
3
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
4
4
|
import { a as toTitleCase, i as toLowerFirstChar, o as toUpperFirstChar } from "./StringUtilities-u-cxAW6-.js";
|
|
5
5
|
import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
|
|
6
|
-
import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-
|
|
7
|
-
import { o as SqlFilterOperators, r as getSearchObject } from "./SearchUtilities-
|
|
6
|
+
import { L as UdpEnums, m as LookupTypeIdEnums } from "./unitySystemEnums-BhRg17du.js";
|
|
7
|
+
import { o as SqlFilterOperators, r as getSearchObject } from "./SearchUtilities-4D3aArPk.js";
|
|
8
8
|
import { n as SideSheet } from "./SideSheet-CDXVa_Kr.js";
|
|
9
|
-
import { i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-
|
|
9
|
+
import { i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-BmW5r7qU.js";
|
|
10
10
|
import { n as useBuildEnvironment } from "./useBuildEnvironment-2gdqpmBX.js";
|
|
11
|
-
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-
|
|
12
|
-
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-
|
|
13
|
-
import { t as ActionsRenderer } from "./ActionsRenderer-
|
|
11
|
+
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-Fr6JxDuh.js";
|
|
12
|
+
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-UXA3KgIL.js";
|
|
13
|
+
import { t as ActionsRenderer } from "./ActionsRenderer-DbMlilVW.js";
|
|
14
14
|
import { t as useLookupsStore } from "./lookupsStore-DPI8oD9R.js";
|
|
15
|
-
import { t as useQueryExecutors } from "./useQueryExecutors-
|
|
16
|
-
import { t as SearchServiceDatasource } from "./SearchServiceDatasource-
|
|
17
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
15
|
+
import { t as useQueryExecutors } from "./useQueryExecutors-6dxzYiaQ.js";
|
|
16
|
+
import { t as SearchServiceDatasource } from "./SearchServiceDatasource-DxoCnnUT.js";
|
|
17
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-DmC2bKKS.js";
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
19
19
|
import { useHistory } from "react-router-dom";
|
|
20
20
|
import { AddIcon, ConfigurationSolidIcon, LookupEntitiesIcon } from "@fluentui/react-icons";
|
|
@@ -394,4 +394,4 @@ const DataBrowserContainer = (props) => {
|
|
|
394
394
|
|
|
395
395
|
//#endregion
|
|
396
396
|
export { DataBrowserColumnDefs as n, defaultColActionsDef as r, DataBrowserContainer as t };
|
|
397
|
-
//# sourceMappingURL=DataBrowserContainer-
|
|
397
|
+
//# sourceMappingURL=DataBrowserContainer-zVg6Htb9.js.map
|