udp-react-enterprise-component-library 25.18.1-beta.11 → 25.18.1-beta.12
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-CTn1qVWd.js → ActionProvider-MFZvkh4u.js} +6 -6
- package/dist/{ActionProvider-CTn1qVWd.js.map → ActionProvider-MFZvkh4u.js.map} +1 -1
- package/dist/{ActionSplitScreen-KVa5olgd.js → ActionSplitScreen-SncJFJJQ.js} +7 -7
- package/dist/{ActionSplitScreen-KVa5olgd.js.map → ActionSplitScreen-SncJFJJQ.js.map} +1 -1
- package/dist/{ActionWrapper-47uvDDnB.js → ActionWrapper-Dq45yDqo.js} +11 -11
- package/dist/{ActionWrapper-47uvDDnB.js.map → ActionWrapper-Dq45yDqo.js.map} +1 -1
- package/dist/{ActionsRenderer-BVfaUEx2.js → ActionsRenderer-B1ImXko3.js} +2 -2
- package/dist/{ActionsRenderer-BVfaUEx2.js.map → ActionsRenderer-B1ImXko3.js.map} +1 -1
- package/dist/{AggregateChip-BF6RL_4_.js → AggregateChip-BDugg_kG.js} +3 -3
- package/dist/{AggregateChip-BF6RL_4_.js.map → AggregateChip-BDugg_kG.js.map} +1 -1
- package/dist/{AmbientGridTemplate-CDj051YK.js → AmbientGridTemplate-BecuOnHe.js} +5 -5
- package/dist/{AmbientGridTemplate-CDj051YK.js.map → AmbientGridTemplate-BecuOnHe.js.map} +1 -1
- package/dist/{AppMenu-l9dxXKrP.js → AppMenu-B9CCWiY8.js} +3 -3
- package/dist/{AppMenu-l9dxXKrP.js.map → AppMenu-B9CCWiY8.js.map} +1 -1
- package/dist/{BaseTreeMenu-Bk4XZUCL.js → BaseTreeMenu-DitVfbeZ.js} +2 -2
- package/dist/{BaseTreeMenu-Bk4XZUCL.js.map → BaseTreeMenu-DitVfbeZ.js.map} +1 -1
- package/dist/{BioCardWrapper-DmS18Z9H.js → BioCardWrapper-CI0ZngTU.js} +3 -3
- package/dist/{BioCardWrapper-DmS18Z9H.js.map → BioCardWrapper-CI0ZngTU.js.map} +1 -1
- package/dist/{BulkActionsGridButton-C2Nwb7c6.js → BulkActionsGridButton-CSzHiVvH.js} +3 -3
- package/dist/{BulkActionsGridButton-C2Nwb7c6.js.map → BulkActionsGridButton-CSzHiVvH.js.map} +1 -1
- package/dist/{ChatContainer-BpN6e_Of.js → ChatContainer-CW2u13tF.js} +2 -2
- package/dist/{ChatContainer-BpN6e_Of.js.map → ChatContainer-CW2u13tF.js.map} +1 -1
- package/dist/{ChatUDP-DglX5k_O.js → ChatUDP-B7dgnKO0.js} +2 -2
- package/dist/{ChatUDP-DglX5k_O.js.map → ChatUDP-B7dgnKO0.js.map} +1 -1
- package/dist/{CoreLayoutFloorplan-C-4DdwJz.js → CoreLayoutFloorplan-xIdceY2Q.js} +2 -2
- package/dist/{CoreLayoutFloorplan-C-4DdwJz.js.map → CoreLayoutFloorplan-xIdceY2Q.js.map} +1 -1
- package/dist/{CrudForm-mWpBEuUw.js → CrudForm-DzmNPfVa.js} +6 -6
- package/dist/{CrudForm-mWpBEuUw.js.map → CrudForm-DzmNPfVa.js.map} +1 -1
- package/dist/{CrudTableSidePanel-CepOcRgl.js → CrudTableSidePanel-CXOSojmw.js} +4 -4
- package/dist/{CrudTableSidePanel-CepOcRgl.js.map → CrudTableSidePanel-CXOSojmw.js.map} +1 -1
- package/dist/{DataBrowserContainer-hkDvrMzs.js → DataBrowserContainer-DHE9PS3L.js} +7 -7
- package/dist/{DataBrowserContainer-hkDvrMzs.js.map → DataBrowserContainer-DHE9PS3L.js.map} +1 -1
- package/dist/{EntityHeader-Ddk4syVV.js → EntityHeader-y6CNHP0L.js} +3 -3
- package/dist/{EntityHeader-Ddk4syVV.js.map → EntityHeader-y6CNHP0L.js.map} +1 -1
- package/dist/{EntitySideBarContent-CBckqx1w.js → EntitySideBarContent-Bp0saKq_.js} +2 -2
- package/dist/{EntitySideBarContent-CBckqx1w.js.map → EntitySideBarContent-Bp0saKq_.js.map} +1 -1
- package/dist/{ExportSidesheet-DA6NzDsz.js → ExportSidesheet-DBww0zIt.js} +3 -3
- package/dist/{ExportSidesheet-DA6NzDsz.js.map → ExportSidesheet-DBww0zIt.js.map} +1 -1
- package/dist/{FieldArrayCard-tENUf1YA.js → FieldArrayCard-56TLTaZc.js} +3 -3
- package/dist/{FieldArrayCard-tENUf1YA.js.map → FieldArrayCard-56TLTaZc.js.map} +1 -1
- package/dist/{FluentProfileMenuCard-CMRsJxqq.js → FluentProfileMenuCard-CnUOy-ne.js} +8 -8
- package/dist/{FluentProfileMenuCard-CMRsJxqq.js.map → FluentProfileMenuCard-CnUOy-ne.js.map} +1 -1
- package/dist/{FluentSimpleSelect-kMQgny9h.js → FluentSimpleSelect-sDwSJFGU.js} +2 -2
- package/dist/{FluentSimpleSelect-kMQgny9h.js.map → FluentSimpleSelect-sDwSJFGU.js.map} +1 -1
- package/dist/{ImportDataFromFileMapping-kkCJEGIS.js → ImportDataFromFileMapping-CBKGm2pM.js} +6 -6
- package/dist/{ImportDataFromFileMapping-kkCJEGIS.js.map → ImportDataFromFileMapping-CBKGm2pM.js.map} +1 -1
- package/dist/{InputsExample-2z_6lbK2.js → InputsExample-ClC-vFVK.js} +1 -1
- package/dist/{InputsExample-2z_6lbK2.js.map → InputsExample-ClC-vFVK.js.map} +1 -1
- package/dist/{InsightRenderer-DU65aYRt.js → InsightRenderer-UkS3B5zg.js} +2 -2
- package/dist/{InsightRenderer-DU65aYRt.js.map → InsightRenderer-UkS3B5zg.js.map} +1 -1
- package/dist/{MapLayout-D_OmMd5_.js → MapLayout-D6hNVarS.js} +2 -2
- package/dist/{MapLayout-D_OmMd5_.js.map → MapLayout-D6hNVarS.js.map} +1 -1
- package/dist/{MenuPage-CM3gZWnB.js → MenuPage-B4ZN_tQt.js} +4 -4
- package/dist/{MenuPage-CM3gZWnB.js.map → MenuPage-B4ZN_tQt.js.map} +1 -1
- package/dist/{MenuPage-C8256rDe.js → MenuPage-HFTfG0b-.js} +10 -10
- package/dist/{MttMainTimeline-CO2XiVps.js → MttMainTimeline-CwttwjLy.js} +2 -2
- package/dist/{MttMainTimeline-CO2XiVps.js.map → MttMainTimeline-CwttwjLy.js.map} +1 -1
- package/dist/{MttSummary-DDb0TusU.js → MttSummary-Br4SrY1Q.js} +2 -2
- package/dist/{MttSummary-DDb0TusU.js.map → MttSummary-Br4SrY1Q.js.map} +1 -1
- package/dist/{MyExportsPage-tRTJ5QKs.js → MyExportsPage-Bw0ueYE_.js} +14 -14
- package/dist/{MyExportsPage-BAtFVaZg.js → MyExportsPage-lqTyApig.js} +7 -7
- package/dist/{MyExportsPage-BAtFVaZg.js.map → MyExportsPage-lqTyApig.js.map} +1 -1
- package/dist/{NotesScreen-DeWD6LVV.js → NotesScreen-COYYhVJJ.js} +5 -5
- package/dist/{NotesScreen-DeWD6LVV.js.map → NotesScreen-COYYhVJJ.js.map} +1 -1
- package/dist/{OutlookCallback-BETH8x2Z.js → OutlookCallback-BJmI0px0.js} +2 -2
- package/dist/{OutlookCallback-BETH8x2Z.js.map → OutlookCallback-BJmI0px0.js.map} +1 -1
- package/dist/{PageActionWrapper-BCK4anE9.js → PageActionWrapper-DuvcqQCs.js} +4 -4
- package/dist/{PageActionWrapper-BCK4anE9.js.map → PageActionWrapper-DuvcqQCs.js.map} +1 -1
- package/dist/{PageContainer-BgNeJt3S.js → PageContainer-N4d5KO-T.js} +2 -2
- package/dist/{PageContainer-BgNeJt3S.js.map → PageContainer-N4d5KO-T.js.map} +1 -1
- package/dist/{PageRenderer-DDEem1OJ.js → PageRenderer-ToHJXkJq.js} +2 -2
- package/dist/{PageRenderer-DDEem1OJ.js.map → PageRenderer-ToHJXkJq.js.map} +1 -1
- package/dist/{PaymentForm-C0Hvky2o.js → PaymentForm-D09B2VrH.js} +3 -3
- package/dist/{PaymentForm-C0Hvky2o.js.map → PaymentForm-D09B2VrH.js.map} +1 -1
- package/dist/{PaymentReversalForm-CYoR6QL5.js → PaymentReversalForm-BCACJcnX.js} +2 -2
- package/dist/{PaymentReversalForm-CYoR6QL5.js.map → PaymentReversalForm-BCACJcnX.js.map} +1 -1
- package/dist/{PowerBIReport-BQP0l17v.js → PowerBIReport-DzVNLdH0.js} +2 -2
- package/dist/{PowerBIReport-BQP0l17v.js.map → PowerBIReport-DzVNLdH0.js.map} +1 -1
- package/dist/{RejectIcon-yEBYxlIm.js → RejectIcon-9a6AQhFS.js} +1 -1
- package/dist/{RejectIcon-yEBYxlIm.js.map → RejectIcon-9a6AQhFS.js.map} +1 -1
- package/dist/{RemindersCard-BJvpNrnD.js → RemindersCard-EbJUUB54.js} +2 -2
- package/dist/{RemindersCard-BJvpNrnD.js.map → RemindersCard-EbJUUB54.js.map} +1 -1
- package/dist/{RemindersScreen--hs-M0hg.js → RemindersScreen-bwvsZOGc.js} +5 -5
- package/dist/{RemindersScreen--hs-M0hg.js.map → RemindersScreen-bwvsZOGc.js.map} +1 -1
- package/dist/{RemindersWidget-BcypyEI4.js → RemindersWidget-Uk_ZyAW-.js} +5 -5
- package/dist/{RemindersWidget-BcypyEI4.js.map → RemindersWidget-Uk_ZyAW-.js.map} +1 -1
- package/dist/{RequiredFieldsMappingForm-BTnefL8X.js → RequiredFieldsMappingForm-KwEaUAJ-.js} +2 -2
- package/dist/{RequiredFieldsMappingForm-BTnefL8X.js.map → RequiredFieldsMappingForm-KwEaUAJ-.js.map} +1 -1
- package/dist/{Shell-DxRVAjoc.js → Shell-BnKSMfKq.js} +6 -6
- package/dist/{Shell-DxRVAjoc.js.map → Shell-BnKSMfKq.js.map} +1 -1
- package/dist/{ShortcutContentFinder-DV4VXUyJ.js → ShortcutContentFinder-MyXbDeFJ.js} +3 -3
- package/dist/{ShortcutContentFinder-DV4VXUyJ.js.map → ShortcutContentFinder-MyXbDeFJ.js.map} +1 -1
- package/dist/{SimpleTable-qZ0yJQ7F.js → SimpleTable-BMjywRbx.js} +1 -1
- package/dist/{SimpleTable-qZ0yJQ7F.js.map → SimpleTable-BMjywRbx.js.map} +1 -1
- package/dist/{StatusCellRenderer-DK3MexwY.js → StatusCellRenderer-DOYDkiZu.js} +1 -1
- package/dist/{StatusCellRenderer-DK3MexwY.js.map → StatusCellRenderer-DOYDkiZu.js.map} +1 -1
- package/dist/{SupportCaseSideSheet-_IBBlr08.js → SupportCaseSideSheet-D5VyeXgu.js} +5 -5
- package/dist/{SupportCaseSideSheet-DNXocqwx.js → SupportCaseSideSheet-DPfapAFC.js} +2 -2
- package/dist/{SupportCaseSideSheet-DNXocqwx.js.map → SupportCaseSideSheet-DPfapAFC.js.map} +1 -1
- package/dist/{TableContainer-CNI8NNy2.js → TableContainer-B4aFO7ly.js} +4 -4
- package/dist/{TableContainer-CNI8NNy2.js.map → TableContainer-B4aFO7ly.js.map} +1 -1
- package/dist/{TenantProvider-DLI5riri.js → TenantProvider-rYWrO7y7.js} +2 -2
- package/dist/{TenantProvider-DLI5riri.js.map → TenantProvider-rYWrO7y7.js.map} +1 -1
- package/dist/UI/accordion/index.js +1 -1
- package/dist/UI/advancedSearchBuilder/index.js +1 -1
- package/dist/UI/charts/index.js +6 -6
- package/dist/UI/components/dataDisplay/index.js +1 -1
- package/dist/UI/components/feedback/index.js +1 -1
- package/dist/UI/components/index.js +3 -3
- package/dist/UI/containers/index.js +1 -1
- package/dist/UI/dataDisplay/FluentActivity/index.js +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/index.js +1 -1
- package/dist/UI/dataDisplay/entityHeader/index.js +11 -11
- package/dist/UI/dataDisplay/index.js +3 -3
- package/dist/UI/demos/index.js +2 -2
- package/dist/UI/feedback/index.js +1 -1
- package/dist/UI/fileViewer/index.js +1 -1
- package/dist/UI/floorplans/index.js +11 -11
- package/dist/UI/forms/index.js +12 -12
- package/dist/UI/iframe/index.js +1 -1
- package/dist/UI/index.js +64 -64
- package/dist/UI/inputs/fieldArrayCard/index.js +10 -10
- package/dist/UI/inputs/menus/index.js +5 -5
- package/dist/UI/loading/index.js +1 -1
- package/dist/UI/mapLayout/index.js +11 -11
- package/dist/UI/maps/index.js +2 -2
- package/dist/UI/navigation/index.js +11 -11
- package/dist/UI/navigation/menus/index.js +8 -8
- package/dist/UI/navigation/tabs/defaultTabs/index.js +1 -1
- package/dist/UI/navigation/tabs/index.js +2 -2
- package/dist/UI/property/index.js +1 -1
- package/dist/UI/stepper/index.js +1 -1
- package/dist/UI/support/index.js +6 -6
- package/dist/UI/surfaces/NestedGrid/index.js +2 -2
- package/dist/UI/surfaces/NestedGrid/ui/index.js +1 -1
- package/dist/UI/surfaces/cards/index.js +1 -1
- package/dist/UI/surfaces/index.js +4 -4
- package/dist/UI/templates/deprecated/AmbientGridTemplate/index.js +9 -9
- package/dist/UI/templates/deprecated/UdpGridTemplate/index.js +9 -9
- package/dist/UI/templates/index.js +1 -1
- package/dist/UI/templates/newGrid/index.js +9 -9
- package/dist/UI/templates/ui/renderers/index.js +3 -3
- package/dist/UI/timeline/fluentTimeline/index.js +1 -1
- package/dist/UI/timeline/index.js +2 -2
- package/dist/UI/utilityDisplay/alerts/index.js +11 -11
- package/dist/UI/utilityDisplay/index.js +17 -17
- package/dist/UI/utilityDisplay/ui/index.js +1 -1
- package/dist/UI/utilityDisplay/utilities/index.js +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/index.js +1 -1
- package/dist/UI/widgets/FluentComponents/index.js +1 -1
- package/dist/UI/widgets/index.js +1 -1
- package/dist/UI/widgets/library/RemindersWidget/index.js +9 -9
- package/dist/UI/widgets/library/TableWidget/index.js +1 -1
- package/dist/{UdpAlertsContainer-DexXCrFZ.js → UdpAlertsContainer-DehnlBcE.js} +4 -4
- package/dist/{UdpAlertsContainer-DexXCrFZ.js.map → UdpAlertsContainer-DehnlBcE.js.map} +1 -1
- package/dist/{UdpAuditEvents-BOsP49Fy.js → UdpAuditEvents-Dsvqz2Ad.js} +2 -2
- package/dist/{UdpAuditEvents-BOsP49Fy.js.map → UdpAuditEvents-Dsvqz2Ad.js.map} +1 -1
- package/dist/{UdpAuditEventsPage-mfZsK6Up.js → UdpAuditEventsPage-BF-AXqwI.js} +18 -18
- package/dist/{UdpAuditEventsPage-DoA7iu8S.js → UdpAuditEventsPage-CUXXlLY1.js} +3 -3
- package/dist/{UdpAuditEventsPage-DoA7iu8S.js.map → UdpAuditEventsPage-CUXXlLY1.js.map} +1 -1
- package/dist/{UdpDataBrowserPage-cKFWzGRk.js → UdpDataBrowserPage-DIq--ak3.js} +10 -10
- package/dist/{UdpDataBrowserPage-cKFWzGRk.js.map → UdpDataBrowserPage-DIq--ak3.js.map} +1 -1
- package/dist/{UdpFormsBuilderPage-_oo5DGDq.js → UdpFormsBuilderPage-C1_7kI_t.js} +7 -5
- package/dist/{UdpFormsBuilderPage-_oo5DGDq.js.map → UdpFormsBuilderPage-C1_7kI_t.js.map} +1 -1
- package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js +295 -0
- package/dist/UdpFormsSubmissionGrid-Bzo5wcCS.js.map +1 -0
- package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js → UdpGridPanelManagementPage-Dk0miZ38.js} +5 -5
- package/dist/{UdpGridPanelManagementPage-BcGNXKD4.js.map → UdpGridPanelManagementPage-Dk0miZ38.js.map} +1 -1
- package/dist/{UdpGridTemplate-jILzGANi.js → UdpGridTemplate-CodLjVVL.js} +2 -2
- package/dist/{UdpGridTemplate-jILzGANi.js.map → UdpGridTemplate-CodLjVVL.js.map} +1 -1
- package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js → UdpImportFromFileMappingPage-BWaYkxhW.js} +2 -2
- package/dist/{UdpImportFromFileMappingPage-CC3YinwA.js.map → UdpImportFromFileMappingPage-BWaYkxhW.js.map} +1 -1
- package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js → UdpInquiryMaintenanceEnginePage-DTanTz7X.js} +3 -3
- package/dist/{UdpInquiryMaintenanceEnginePage-BU49LRTZ.js.map → UdpInquiryMaintenanceEnginePage-DTanTz7X.js.map} +1 -1
- package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js → UdpMaintenanceEnginePage-DIyBfIMk.js} +8 -8
- package/dist/{UdpMaintenanceEnginePage-Dhf985zH.js.map → UdpMaintenanceEnginePage-DIyBfIMk.js.map} +1 -1
- package/dist/{UdpMap-Bu59mmYa.js → UdpMap-DB0qsBfI.js} +1 -1
- package/dist/{UdpMap-Bu59mmYa.js.map → UdpMap-DB0qsBfI.js.map} +1 -1
- package/dist/{UdpNotesPage-CXu_ydp4.js → UdpNotesPage-B3cesDaw.js} +7 -7
- package/dist/{UdpNotesPage-CXu_ydp4.js.map → UdpNotesPage-B3cesDaw.js.map} +1 -1
- package/dist/{UdpPages-DVPJl-XO.js → UdpPages-Duf7s2Bf.js} +16 -16
- package/dist/{UdpPages-DVPJl-XO.js.map → UdpPages-Duf7s2Bf.js.map} +1 -1
- package/dist/{UdpPrivateForm-BJdYZzlO.js → UdpPrivateForm-Cju6dVDc.js} +9 -6
- package/dist/UdpPrivateForm-Cju6dVDc.js.map +1 -0
- package/dist/{UdpPublicForm-aCs42nKH.js → UdpPublicForm-D3D8GPrh.js} +2 -2
- package/dist/{UdpPublicForm-aCs42nKH.js.map → UdpPublicForm-D3D8GPrh.js.map} +1 -1
- package/dist/{UdpRemindersPage-5EYNlPs6.js → UdpRemindersPage-DBQ0SQO4.js} +7 -7
- package/dist/{UdpRemindersPage-5EYNlPs6.js.map → UdpRemindersPage-DBQ0SQO4.js.map} +1 -1
- package/dist/{UdpReportsPage-CKxd-e9T.js → UdpReportsPage-DMA-kvyF.js} +2 -2
- package/dist/{UdpReportsPage-CKxd-e9T.js.map → UdpReportsPage-DMA-kvyF.js.map} +1 -1
- package/dist/{UdpRoutes-BRQDUS6-.js → UdpRoutes-MhKxW3An.js} +6 -6
- package/dist/{UdpRoutes-BRQDUS6-.js.map → UdpRoutes-MhKxW3An.js.map} +1 -1
- package/dist/{UdpVerticalManagementPage-8VmP_fHh.js → UdpVerticalManagementPage-SWVycbx7.js} +6 -6
- package/dist/{UdpVerticalManagementPage-8VmP_fHh.js.map → UdpVerticalManagementPage-SWVycbx7.js.map} +1 -1
- package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js → UdpVerticalManagementSidesheet-aIPwJWAM.js} +6 -6
- package/dist/{UdpVerticalManagementSidesheet-DUahRHZG.js.map → UdpVerticalManagementSidesheet-aIPwJWAM.js.map} +1 -1
- package/dist/{UserForm-BvhytSr8.js → UserForm-Crii1kld.js} +2 -2
- package/dist/{UserForm-BvhytSr8.js.map → UserForm-Crii1kld.js.map} +1 -1
- package/dist/{UserFormSideSheet-hCzYWgFm.js → UserFormSideSheet-2QRJUUnm.js} +4 -4
- package/dist/{UserFormSideSheet-hCzYWgFm.js.map → UserFormSideSheet-2QRJUUnm.js.map} +1 -1
- package/dist/{UserFormSideSheet-7MuWUCQQ.js → UserFormSideSheet-DGU02bqo.js} +7 -7
- package/dist/{UtilityBar-DRKn9kf4.js → UtilityBar-CdvZ37Da.js} +2 -2
- package/dist/{UtilityBar-DRKn9kf4.js.map → UtilityBar-CdvZ37Da.js.map} +1 -1
- package/dist/{VirtualBrowser-BQ_Zpdh0.js → VirtualBrowser-CKvzgu8L.js} +9 -9
- package/dist/{VirtualBrowser-BQ_Zpdh0.js.map → VirtualBrowser-CKvzgu8L.js.map} +1 -1
- package/dist/{VirtualBrowser-CaeWWI1I.js → VirtualBrowser-CxAjZWKa.js} +14 -14
- package/dist/{VirtualForm-B3d7su-F.js → VirtualForm-Dj5FMp9u.js} +1 -1
- package/dist/{VirtualForm-B3d7su-F.js.map → VirtualForm-Dj5FMp9u.js.map} +1 -1
- package/dist/{WorkflowContainer-sEYHBwJR.js → WorkflowContainer-CBoWiJQY.js} +4 -4
- package/dist/{WorkflowContainer-sEYHBwJR.js.map → WorkflowContainer-CBoWiJQY.js.map} +1 -1
- package/dist/{WorkflowContainer-2ubt2MCe.js → WorkflowContainer-CW9NJXbF.js} +11 -11
- package/dist/{WorkflowContent-CaMS5xmR.js → WorkflowContent-B4W3IhqH.js} +4 -4
- package/dist/{WorkflowContent-CaMS5xmR.js.map → WorkflowContent-B4W3IhqH.js.map} +1 -1
- package/dist/{WorkflowTreeMenu-DC4CuF88.js → WorkflowTreeMenu-DKGbOQSH.js} +2 -2
- package/dist/{WorkflowTreeMenu-DC4CuF88.js.map → WorkflowTreeMenu-DKGbOQSH.js.map} +1 -1
- package/dist/{actionSummary-BOSgduAE.js → actionSummary-Ciu0y-s0.js} +2 -2
- package/dist/{actionSummary-BOSgduAE.js.map → actionSummary-Ciu0y-s0.js.map} +1 -1
- package/dist/{actionUtils-99XIoiDI.js → actionUtils-cC_2y5Xi.js} +2 -2
- package/dist/{actionUtils-99XIoiDI.js.map → actionUtils-cC_2y5Xi.js.map} +1 -1
- package/dist/actions/actionSummary/index.js +7 -7
- package/dist/actions/index.js +21 -21
- package/dist/actions/sidebar/index.js +6 -6
- package/dist/actions/utils/index.js +6 -6
- package/dist/{apiHelpers-BpZTkMX8.js → apiHelpers-B_cn3sZo.js} +2 -2
- package/dist/{apiHelpers-BpZTkMX8.js.map → apiHelpers-B_cn3sZo.js.map} +1 -1
- package/dist/{auth-EOQASxKM.js → auth-BEf5rt4s.js} +4 -4
- package/dist/{auth-EOQASxKM.js.map → auth-BEf5rt4s.js.map} +1 -1
- package/dist/{axiosInterceptors-6Czv1PA5.js → axiosInterceptors-FQ3b5kjr.js} +2 -2
- package/dist/{axiosInterceptors-6Czv1PA5.js.map → axiosInterceptors-FQ3b5kjr.js.map} +1 -1
- package/dist/{cards-CqNi83lO.js → cards-Bpy1zoxV.js} +1 -1
- package/dist/{cards-CqNi83lO.js.map → cards-Bpy1zoxV.js.map} +1 -1
- package/dist/chatBot/index.js +5 -5
- package/dist/componentSystems/multiThreadTimeline/functions/index.js +1 -1
- package/dist/componentSystems/multiThreadTimeline/index.js +11 -11
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/index.js +6 -6
- package/dist/componentSystems/multiThreadTimeline/mttSummary/index.js +6 -6
- package/dist/componentSystems/multiThreadTimeline/ui/index.js +2 -2
- package/dist/componentSystems/multiThreadTimeline/ui/modified/index.js +1 -1
- package/dist/componentSystems/pageRenderer/hocs/index.js +13 -13
- package/dist/componentSystems/pageRenderer/hooks/index.js +1 -1
- package/dist/componentSystems/pageRenderer/index.js +17 -17
- package/dist/componentSystems/pageRenderer/utils/index.js +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/index.js +12 -12
- package/dist/{crudActions-Bl1NmJtO.js → crudActions-DXyHKaN8.js} +2 -2
- package/dist/{crudActions-Bl1NmJtO.js.map → crudActions-DXyHKaN8.js.map} +1 -1
- package/dist/dataBrowser/forms/index.js +6 -6
- package/dist/dataBrowser/index.js +20 -20
- package/dist/{dataDisplay-nJIK_NjC.js → dataDisplay-CBFgak2F.js} +1 -1
- package/dist/{dataDisplay-nJIK_NjC.js.map → dataDisplay-CBFgak2F.js.map} +1 -1
- package/dist/{defaultTabs-BzZY0_Jb.js → defaultTabs-CVeUq9lw.js} +1 -1
- package/dist/{defaultTabs-BzZY0_Jb.js.map → defaultTabs-CVeUq9lw.js.map} +1 -1
- package/dist/enums/index.js +2 -1
- package/dist/hooks/index.js +14 -14
- package/dist/{hooks-C2Rr_sq1.js → hooks-CxLP2j70.js} +3 -3
- package/dist/{hooks-C2Rr_sq1.js.map → hooks-CxLP2j70.js.map} +1 -1
- package/dist/index.js +99 -97
- package/dist/inquiry/index.js +20 -20
- package/dist/{inquiry-5fUj13A8.js → inquiry-J7m3wdvC.js} +10 -10
- package/dist/{inquiry-5fUj13A8.js.map → inquiry-J7m3wdvC.js.map} +1 -1
- package/dist/maintenanceEngine/crudBrowser/index.js +12 -12
- package/dist/maintenanceEngine/index.js +22 -22
- package/dist/maintenanceEngine/tableBrowser/index.js +13 -13
- package/dist/maintenanceEngine/virtualBrowser/index.js +15 -15
- package/dist/menuPage/index.js +11 -11
- package/dist/{CustomMenuPage-PSOKksBZ.js → menuPage-Df5ucoQW.js} +2 -2
- package/dist/menuPage-Df5ucoQW.js.map +1 -0
- package/dist/{menuUtilities-fX5ECi0i.js → menuUtilities-58E3hJ9u.js} +2 -2
- package/dist/{menuUtilities-fX5ECi0i.js.map → menuUtilities-58E3hJ9u.js.map} +1 -1
- package/dist/{methodUtils-DEk9B4A8.js → methodUtils-Cwo_kmVX.js} +2 -2
- package/dist/{methodUtils-DEk9B4A8.js.map → methodUtils-Cwo_kmVX.js.map} +1 -1
- package/dist/{newGrid-DPiAB3cO.js → newGrid-nbEL11Vp.js} +2 -2
- package/dist/{newGrid-DPiAB3cO.js.map → newGrid-nbEL11Vp.js.map} +1 -1
- package/dist/notes/index.js +9 -9
- package/dist/page/PageContainer/index.js +5 -5
- package/dist/{pageEnums-CA-HlW3W.js → pageEnums-DHCYa0ey.js} +2 -1
- package/dist/{pageEnums-CA-HlW3W.js.map → pageEnums-DHCYa0ey.js.map} +1 -1
- package/dist/reminders/index.js +10 -10
- package/dist/reports/index.js +5 -5
- package/dist/routes/index.js +2 -2
- package/dist/shell/index.js +32 -32
- package/dist/shell/ui/addUser/index.js +8 -8
- package/dist/shell/ui/appSwitcher/index.js +1 -1
- package/dist/shell/ui/index.js +14 -14
- package/dist/treeMenu/index.js +8 -8
- package/dist/types/src/enums/pageEnums.d.ts +2 -1
- package/dist/types/src/enums/pageEnums.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts +5 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts +3 -0
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/index.d.ts.map +1 -0
- package/dist/types/src/udp/pages/UdpPrivateForm/UdpPrivateForm.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/ShortcutContent/index.js +8 -8
- package/dist/udp/export/index.js +16 -16
- package/dist/udp/fileImportMapping/index.js +14 -14
- package/dist/udp/pages/ChatUDP/index.js +6 -6
- package/dist/udp/pages/UdpAuditEvents/index.js +19 -19
- package/dist/udp/pages/UdpDataBrowserPage/index.js +20 -20
- package/dist/udp/pages/UdpFormsBuilderPage/index.js +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +94 -0
- package/dist/udp/pages/UdpGridPanelManagementPage/index.js +12 -12
- package/dist/udp/pages/UdpImportFromFileMappingPage/index.js +9 -9
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/index.js +26 -26
- package/dist/udp/pages/UdpMaintenanceConfigPage/index.js +5 -5
- package/dist/udp/pages/UdpMaintenanceEnginePage/index.js +25 -25
- package/dist/udp/pages/UdpNotesPage/index.js +14 -14
- package/dist/udp/pages/UdpPages/index.js +57 -57
- package/dist/udp/pages/UdpPagesLazy/index.js +1 -1
- package/dist/udp/pages/UdpPrivateForm/index.js +11 -10
- package/dist/udp/pages/UdpPublicForm/index.js +3 -3
- package/dist/udp/pages/UdpRemindersPage/index.js +14 -14
- package/dist/udp/pages/UdpReportsPage/index.js +6 -6
- package/dist/udp/pages/UdpVerticalManagementPage/index.js +12 -12
- package/dist/udp/pages/UdpVerticalManagementSidesheet/index.js +11 -11
- package/dist/udp/pages/index.js +57 -57
- package/dist/udp/utilities/index.js +5 -5
- package/dist/{ui-CsyeuYr4.js → ui-gRqaK08H.js} +1 -1
- package/dist/{ui-CsyeuYr4.js.map → ui-gRqaK08H.js.map} +1 -1
- package/dist/{useActions-CBGNxEKr.js → useActions-BbqecXkd.js} +3 -3
- package/dist/{useActions-CBGNxEKr.js.map → useActions-BbqecXkd.js.map} +1 -1
- package/dist/{useApiCatalog-sZ6uMfzd.js → useApiCatalog-Yi_KDPot.js} +2 -2
- package/dist/{useApiCatalog-sZ6uMfzd.js.map → useApiCatalog-Yi_KDPot.js.map} +1 -1
- package/dist/{useAxiosGet-BMoXHfLN.js → useAxiosGet-vvPjwB4W.js} +3 -3
- package/dist/{useAxiosGet-BMoXHfLN.js.map → useAxiosGet-vvPjwB4W.js.map} +1 -1
- package/dist/{useAxiosMutate-q_ZpG98Z.js → useAxiosMutate-DcLxzykX.js} +3 -3
- package/dist/{useAxiosMutate-q_ZpG98Z.js.map → useAxiosMutate-DcLxzykX.js.map} +1 -1
- package/dist/{usePromotedMethodEntities-DGb2hZSz.js → usePromotedMethodEntities-bv9ewSry.js} +2 -2
- package/dist/{usePromotedMethodEntities-DGb2hZSz.js.map → usePromotedMethodEntities-bv9ewSry.js.map} +1 -1
- package/dist/{usePromotedMethodEntity-wRBkHT3x.js → usePromotedMethodEntity-Bi2neP26.js} +2 -2
- package/dist/{usePromotedMethodEntity-wRBkHT3x.js.map → usePromotedMethodEntity-Bi2neP26.js.map} +1 -1
- package/dist/{useQueryExecutors-CuXmVvXX.js → useQueryExecutors-UWa24-Mf.js} +3 -3
- package/dist/{useQueryExecutors-CuXmVvXX.js.map → useQueryExecutors-UWa24-Mf.js.map} +1 -1
- package/dist/utilities/auth/index.js +6 -6
- package/dist/utilities/customIcons/index.js +1 -1
- package/dist/utilities/form/paymentForm/index.js +6 -6
- package/dist/utilities/index.js +6 -6
- package/dist/utilities/menus/index.js +2 -2
- package/dist/utilities/provider/index.js +21 -21
- package/dist/utilities/redirect/pages/index.js +5 -5
- package/dist/utilities/tenant/index.js +5 -5
- package/dist/{theme-DLA8cxjc.js → utilities-BLu3F9sJ.js} +1 -1
- package/dist/utilities-BLu3F9sJ.js.map +1 -0
- package/dist/{withEngineComponent-Bya6z6jQ.js → withEngineComponent-CUQbIi-0.js} +2 -2
- package/dist/{withEngineComponent-Bya6z6jQ.js.map → withEngineComponent-CUQbIi-0.js.map} +1 -1
- package/dist/workflow/components/index.js +1 -1
- package/dist/workflow/index.js +13 -13
- package/dist/workflow/menus/index.js +9 -9
- package/dist/wrappers-CGE2HK5z.js +1 -0
- package/export-map.json +3 -2
- package/package.json +1 -1
- package/dist/CustomMenuPage-PSOKksBZ.js.map +0 -1
- package/dist/UdpPrivateForm-BJdYZzlO.js.map +0 -1
- package/dist/theme-DLA8cxjc.js.map +0 -1
- /package/dist/{FluentActivity-CSTNwtbg.js → FluentActivity-DNv5ppko.js} +0 -0
- /package/dist/{FluentDataTable-DaeSnPVT.js → FluentDataTable-BXPIqR8m.js} +0 -0
- /package/dist/{NestedGrid-DnwDKGuS.js → NestedGrid-CQ_tEe-B.js} +0 -0
- /package/dist/{accordion-b0s-0-RI.js → accordion-BLXGkcTH.js} +0 -0
- /package/dist/{addUser-B0865wVm.js → addUser-D2pqu0AW.js} +0 -0
- /package/dist/{advancedSearchBuilder-3XkAGMdW.js → advancedSearchBuilder-DAGBcP1-.js} +0 -0
- /package/dist/{alerts-OCaGbJa8.js → alerts-Gbvcpl4E.js} +0 -0
- /package/dist/{appSwitcher-CgqKfl97.js → appSwitcher-Cj_OxE8O.js} +0 -0
- /package/dist/{charts-Dqnchxlj.js → charts-R51kXdbo.js} +0 -0
- /package/dist/{components-DS49lfXu.js → components-BbPynQ4E.js} +0 -0
- /package/dist/{components-RSFyyue7.js → components-HFPHj0Z0.js} +0 -0
- /package/dist/{containers-CbiOWu6t.js → containers-Do3V9CjC.js} +0 -0
- /package/dist/{crudBrowser-B3M_qFXM.js → crudBrowser-CNJMNMPk.js} +0 -0
- /package/dist/{dataDisplay-C4xsjRpN.js → dataDisplay-CHdSKRO0.js} +0 -0
- /package/dist/{demos-CHF7C73o.js → demos-D1hYYoOq.js} +0 -0
- /package/dist/{feedback-8c0PUyzJ.js → enums-Edm9Kwqq.js} +0 -0
- /package/dist/{feedback-D7AaTszW.js → feedback-DL6EKTOa.js} +0 -0
- /package/dist/{fileViewer-N90YmIyL.js → feedback-Dw-Qh7A6.js} +0 -0
- /package/dist/{floorplans-rm7R2YbY.js → fileViewer-CMBhBXGp.js} +0 -0
- /package/dist/{fluentTimeline-De-79li3.js → floorplans-CtbDAfnq.js} +0 -0
- /package/dist/{forms-DUpzjbB8.js → fluentTimeline-BbvrZFSz.js} +0 -0
- /package/dist/{forms-DoLgP7J3.js → forms-Bqbd2PSS.js} +0 -0
- /package/dist/{functions-DjPVehfJ.js → forms-uSV7-14b.js} +0 -0
- /package/dist/{hocs-BuWIHy7I.js → functions-BKH-pLPX.js} +0 -0
- /package/dist/{hooks-Bgdv7Rjl.js → hocs-DwAy8u5A.js} +0 -0
- /package/dist/{iframe-AW8kvPvm.js → hooks-B7ab4j1m.js} +0 -0
- /package/dist/{loading-6mD-gixw.js → iframe-CM2OOxOu.js} +0 -0
- /package/dist/{mapLayout-CDZKQDHU.js → loading-BwkuGJoi.js} +0 -0
- /package/dist/{maps-Ce7LPzeA.js → mapLayout-Cg6spO9k.js} +0 -0
- /package/dist/{menus-BOCTn6h6.js → maps-D2whP8Zh.js} +0 -0
- /package/dist/{menus-pzqEb4ZE.js → menus-DugtDOhA.js} +0 -0
- /package/dist/{modified-CeJaPfN-.js → menus-VWidUTp_.js} +0 -0
- /package/dist/{mttMainTimeline-Bhn6Bx8O.js → modified--RrdyRlS.js} +0 -0
- /package/dist/{mttSummary-Bx5hrrL_.js → mttMainTimeline-DFHSLEBw.js} +0 -0
- /package/dist/{navigation-n9BzYj_m.js → mttSummary-BrQ0Tb62.js} +0 -0
- /package/dist/{property-BZsCMXJZ.js → navigation-2kyWDJg1.js} +0 -0
- /package/dist/{sidebar-BV9-4hst.js → property-CB8U10nw.js} +0 -0
- /package/dist/{stepper-CE7rAMMG.js → sidebar-C8yBp4eL.js} +0 -0
- /package/dist/{support-DeorQvzN.js → stepper-sZXSP0dk.js} +0 -0
- /package/dist/{surfaces-BjGAutOC.js → support-BhMVhBcD.js} +0 -0
- /package/dist/{tableBrowser-THunl5ws.js → surfaces-B445R0FQ.js} +0 -0
- /package/dist/{tabs-DcAL3Jpp.js → tableBrowser-BRVY65f3.js} +0 -0
- /package/dist/{templates-B2aOg0L7.js → tabs-BMrd1KM-.js} +0 -0
- /package/dist/{timeline-D0LJGudk.js → templates-Cz1v1M4q.js} +0 -0
- /package/dist/{ui-BCGHP5Tg.js → timeline-x3kpYbLD.js} +0 -0
- /package/dist/{ui-CWkntoL5.js → ui-BjpkPJO5.js} +0 -0
- /package/dist/{ui-P3i_0RoE.js → ui-Bqag992Z.js} +0 -0
- /package/dist/{utilities-tnyNft1v.js → ui-DBhxlgrk.js} +0 -0
- /package/dist/{utilityDisplay-9oT_42C1.js → utilities-CMoiGbGt.js} +0 -0
- /package/dist/{utilityHeader-CluhKbl1.js → utilityDisplay-BHYWs3gf.js} +0 -0
- /package/dist/{utils-B90bZC89.js → utilityHeader-BsUlwtE7.js} +0 -0
- /package/dist/{utils-ISMJodw8.js → utils-CRdMZZPC.js} +0 -0
- /package/dist/{virtualBrowser-CjWRkC7M.js → utils-Cpcp_Rx8.js} +0 -0
- /package/dist/{widgets-BbScraXi.js → virtualBrowser-pfw07Czd.js} +0 -0
- /package/dist/{wrappers-DT4B7IyD.js → widgets-BcHFxfRK.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpAuditEventsPage-DoA7iu8S.js","names":["useStyles","getLocalizedDateTimeString","auditEventDetail","LinearProgress","getLocalizedDateTimeString","getLocalizedDateString","params","LinearProgress","UdpAuditEventSidesheet"],"sources":["../src/enums/auditEventEnums.ts","../src/UI/widgets/utils/dateUtils.js","../src/udp/utilities/dateLocalizationHooks.jsx","../src/udp/pages/UdpAuditEvents/UdpAuditEventSidesheet.jsx","../src/udp/utilities/useDateStringColumnDef.js","../src/udp/pages/UdpAuditEvents/UdpAuditEventsPage.jsx"],"sourcesContent":["export enum AuditEventTypeEnums {\n Create_Domain = 1,\n Update_Domain = 2,\n Delete_Domain = 3,\n}\n","import { DateTime } from 'luxon'\n\nexport function formatDateLong(value) {\n try {\n let date = new Date(value);\n const day = date.toLocaleString('default', { day: '2-digit' });\n const month = date.toLocaleString('default', { month: 'short' });\n const year = date.toLocaleString('default', { year: 'numeric' });\n const dayOfWeek = date.toLocaleString('default', { weekday: 'long' });\n return `${day} ${month}, ${year} (${dayOfWeek})`;\n } catch (error) {\n return '';\n }\n}\n\nexport function formatDate(value, formatStr = '') {\n try {\n let date = new Date(value);\n const day = date.toLocaleString('default', { day: '2-digit' });\n const month = date.toLocaleString('default', { month: 'short' });\n const year = date.toLocaleString('default', { year: 'numeric' });\n\n switch (formatStr.toLowerCase()) {\n case 'mon dd, yyyy':\n return `${day} ${month}, ${year}`;\n case 'dd/mm/yyyy':\n return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;\n case 'yyyy-mm-dd':\n return date.toISOString().split('T')[0];\n default:\n return '';\n }\n } catch (error) {\n return '';\n }\n}\n\nexport function getDaysDiff(dateOne, dateTwo) {\n const d1 = new Date(dateOne);\n const d2 = new Date(dateTwo);\n const diff = d2.getTime() - d1.getTime();\n\n return diff / (1000 * 60 * 60 * 24);\n}\n\n/**\n * Creates a Date object based on an ISO 8601 date string.\n * @param dateString A ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @returns A date object, or null if the format was invalid.\n */\nexport const getDateFromString = (dateString) => {\n if (!dateString || dateString.length === 0) {\n return null;\n }\n\n const date = DateTime.fromISO(dateString);\n\n return date ? date.toJSDate() : null;\n};\n\n/**\n * Formats a date string by converting it to a date in the specified time zone,\n * stripping out the time element and returning a localized date string.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone An IANA time zone id. If supplied, convert the date into the specified time zone,\n * otherwise convert to local browser time.\n * @returns A date string without time based on the supplied time zone and the\n * user's browser locale settings.\n */\nexport const getLocalizedDateString = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n\n return convertedDate\n ? DateTime.fromJSDate(convertedDate, { zone: timeZone }).toLocaleString(DateTime.DATE_SHORT)\n : '';\n};\n\n/**\n * Converts a date string to a date in the specified timezone,\n * and returning a converted date with the localized date and time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone If supplied, convert the date into the specified IANA time zone,\n * otherwise convert to local browser time.\n * @returns A converted date and time based on the user's browser locale settings.\n */\nexport const getLocalizedDateTime = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n if (convertedDate === null) {\n return '';\n }\n const convertedDateTime = DateTime.fromJSDate(convertedDate, { zone: timeZone });\n\n return convertedDateTime;\n};\n\n/**\n * Formats a date string by converting it to a date in the specified timezone,\n * and returning a string with the localized date and time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param delimiter If supplied, split the date and time by this string when returned.\n * @param timeZone If supplied, convert the date into the specified IANA time zone,\n * otherwise convert to local browser time.\n * @returns A date and time string based on the user's browser locale settings.\n */\nexport const getLocalizedDateTimeString = (\n date,\n delimiter = null,\n timeZone = 'local',\n includeOffset = false,\n) => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n if (convertedDate === null) {\n return '';\n }\n const convertedDateTime = DateTime.fromJSDate(convertedDate, { zone: timeZone });\n\n if (delimiter !== null) {\n return (\n convertedDateTime.toLocaleString(DateTime.DATE_SHORT) +\n delimiter +\n convertedDateTime.toLocaleString(DateTime.TIME_WITH_SECONDS) +\n (includeOffset ? ' ' + convertedDateTime.offsetNameShort : '')\n );\n } else {\n return (\n convertedDateTime.toLocaleString(DateTime.DATETIME_SHORT_WITH_SECONDS) +\n (includeOffset ? ' ' + convertedDateTime.offsetNameShort : '')\n );\n }\n};\n\n/**\n * Formats a date string by converting it to a date in the specified time zone,\n * and returning a string as the localized time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone An IANA time zone id. If supplied, convert the date into the specified time zone,\n * otherwise convert to local browser time.\n * @returns A time string without the date based on the supplied time zone and user's\n * browser locale settings.\n */\nexport const getLocalizedTimeString = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n\n return convertedDate\n ? DateTime.fromJSDate(convertedDate, { zone: timeZone }).toLocaleString(\n DateTime.TIME_WITH_SECONDS,\n )\n : '';\n};\n","import { IANAZone } from 'luxon';\nimport { useCallback } from 'react';\nimport {\n getLocalizedDateString,\n getLocalizedDateTimeString,\n} from '../../UI/widgets/utils/dateUtils';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date string without time in the specified IANA time zone.\n * @param timeZone An IANA time zone to convert the date to before returning as a string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateString = (timeZone) => {\n const user = useAuthedUser();\n\n const getDateString = useCallback(\n (date) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateString(date, validTimeZone);\n },\n [user, timeZone],\n );\n\n return getDateString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the specified IANA time zone.\n * @param timeZone The IANA time zone to convert the date before converting to\n * a localized string.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateTimeString = (timeZone, includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateTimeString(date, delimiter, validTimeZone, includeTimeZoneOffset);\n },\n [user, timeZone, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the current user's time zone.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedUserDateTimeString = (includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n return getLocalizedDateTimeString(\n date,\n delimiter,\n user?.additionalProperties?.timeZone,\n includeTimeZoneOffset,\n );\n },\n [user, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextField } from '../../../UI/inputs/textField/FluentTextField';\nimport { GridRow } from '../../../layout/GridRow';\nimport { GridUnit } from '../../../layout/GridUnit';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard/AmbientCard';\nimport { makeStyles, Box } from \"@material-ui/core\";\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJson from 'react-json-view';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { useGetLocalizedUserDateTimeString } from '../../utilities/dateLocalizationHooks';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryWithParameters, getBaseMethod } from '../../utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n textField: {\n marginTop: theme.spacing(0),\n },\n loadingBar: {\n top: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UdpAuditEventSidesheet = props => {\n const {\n auditEvent,\n isSideSheetOpen,\n handleSideSheet,\n promotedEntities,\n sheetProps,\n } = props;\n\n const { t } = useTranslation();\n const classes = useStyles();\n const getLocalizedDateTimeString = useGetLocalizedUserDateTimeString();\n const [auditEventDetail, setAuditEventDetail] = React.useState({});\n const [loading, setLoading] = useState(false);\n\n const auditEventDetailGetApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Detail,\n 'unityBaseGetMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const onCloseSideSheet = () => {\n handleSideSheet(false);\n }\n\n useEffect(() => {\n const getAuditEventDetail = async () => {\n let auditEventDetail = {};\n const data = {};\n try {\n if (auditEventDetailGetApiMethod && auditEvent) {\n setLoading(true);\n data['{auditEventId}'] = auditEvent.id;\n const response = await executeQueryWithParameters(\n { data },\n auditEventDetailGetApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n auditEventDetail = response.data;\n setAuditEventDetail(auditEventDetail);\n }\n }\n } finally {\n setLoading(false);\n }\n };\n getAuditEventDetail();\n }, [auditEvent, auditEventDetailGetApiMethod]);\n\n return (\n <SideSheet\n {...sheetProps}\n open={isSideSheetOpen}\n onClose={onCloseSideSheet}\n title={t(`Audit Event Details`)}\n width={800}\n color='primary'\n >\n {loading && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n <GridRow>\n <GridUnit ratio=\"1:1\" width=\"100%\">\n <AmbientCard title={t('Event')} fullWidth={true} subCard>\n <>\n <FluentTextField\n className={classes.textField}\n id=\"auditEventTypeName\"\n label={t('Event Type')}\n value={auditEvent?.auditEventTypeName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventUserDisplayName\"\n label={t('User')}\n value={auditEvent?.userDisplayName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventDomain\"\n label={t('Description')}\n value={auditEvent?.domain || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventCreatedOn\"\n label={t('Created On')}\n value={getLocalizedDateTimeString(auditEvent?.createdOn ?? '')}\n disabled={true}\n />\n <Box>\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Delete_Domain) &&\n <ReactJson\n src={auditEventDetail?.oldObj ? JSON.parse(auditEventDetail?.oldObj) : {}}\n name={t('Old Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Create_Domain) &&\n <ReactJson\n src={auditEventDetail?.newObj ? JSON.parse(auditEventDetail?.newObj) : {}}\n name={t('New Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n </Box>\n </>\n </AmbientCard>\n </GridUnit>\n </GridRow>\n </SideSheet>\n )\n}\n\nexport default UdpAuditEventSidesheet;\n","import { DateTime, IANAZone } from 'luxon';\nimport { useMemo } from 'react';\nimport { getDateFromString } from '../../UI/widgets/utils/dateUtils';\nimport { GridExcelStyleEnums } from '../../enums/unitySystemEnums';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\nimport { useGetLocalizedDateString, useGetLocalizedDateTimeString } from './dateLocalizationHooks';\n\n\nexport const useDateStringColumnDef = (\n includeTime = false,\n timeZone = null,\n includeTimeZoneOffset = false,\n) => {\n const user = useAuthedUser();\n\n const zone = useMemo(() => {\n const tz = timeZone ?? user?.additionalProperties?.timeZone ?? 'local';\n const validTimeZone =\n tz !== 'local' &&\n (tz === user?.additionalProperties?.timeZone || IANAZone.isValidZone(tz))\n ? tz\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return validTimeZone;\n }, [timeZone, user]);\n\n const getLocalizedDateTimeString = useGetLocalizedDateTimeString(zone, includeTimeZoneOffset);\n const getLocalizedDateString = useGetLocalizedDateString(zone);\n\n const columnDef = useMemo(() => {\n return !user\n ? {}\n : ({\n valueFormatter: (params) => {\n if (!params) {\n return '';\n }\n if (includeTime) {\n return getLocalizedDateTimeString(params.value);\n } else {\n return getLocalizedDateString(params.value);\n }\n },\n cellClass: includeTime\n ? GridExcelStyleEnums.DateTimeShortWithSeconds\n : GridExcelStyleEnums.DateShort,\n filter: 'agDateColumnFilter',\n filterParams: {\n comparator: function (filterLocalDateAtMidnight, cellValue) {\n const cellDate = getDateFromString(cellValue);\n if (!cellDate) {\n return null;\n }\n\n // Assume date picker is in the same time zone that we're displaying dates in so that the results make sense to the user\n const filterDateTimeMidnight = DateTime.fromJSDate(filterLocalDateAtMidnight).setZone(\n zone,\n { keepLocalTime: true },\n );\n const cellDateTimeMidnight = DateTime.fromJSDate(cellDate, { zone: zone }).set({\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n });\n\n if (cellDateTimeMidnight < filterDateTimeMidnight) {\n return -1;\n } else if (cellDateTimeMidnight > filterDateTimeMidnight) {\n return 1;\n } else {\n return 0;\n }\n },\n buttons: ['apply', 'reset'],\n closeOnApply: true,\n suppressAndOrCondition: true,\n filterOptions: ['equals', 'lessThan', 'greaterThan', 'inRange'],\n },\n });\n }, [includeTime, getLocalizedDateString, getLocalizedDateTimeString, user, zone]);\n\n return columnDef;\n};\n","import React, { useCallback, useEffect, useState, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { useAgGridApi } from '../../../utilities/aggrid/AgTable';\nimport { debounce } from 'lodash';\nimport { LogicalSearchOperatorEnums, UdpEnums } from '../../../enums/unitySystemEnums';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { ViewIcon, RefreshIcon } from '@fluentui/react-icons';\nimport UdpAuditEventSidesheet from './UdpAuditEventSidesheet';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useDateStringColumnDef } from '../../utilities/useDateStringColumnDef';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { usePromotedMethodEntity } from '../../../hooks';\n\nconst PAGE_SIZE = 15;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n};\n\nconst useStyles = makeStyles(theme => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5),\n },\n}));\n\nconst UdpAuditEventsPage = (props) => {\n const { params } = props;\n\n // Hooks\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { t } = useTranslation();\n const classes = useStyles();\n const dateStringColumnDef = useDateStringColumnDef(true);\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const gridApiRef = useRef(null);\n\n // States\n const [searchQuery, setSearchQuery] = useState('');\n const [displayProgressBar, setDisplayProgressBar] = useState(false);\n const [selectedAuditEvent, setSelectedAuditEvent] = useState(null);\n const [viewSideSheetOpen, setViewSideSheetOpen] = useState(false);\n const [auditEventTypes, setAuditEventTypes] = useState([]);\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const promotedMethodEntitiesMap = useCatalogStore(\n (state) => state.promotedMethodEntitiesMap\n );\n\n const promotedEntities = useMemo(() => {\n if (!currentApiCatalogId || !promotedMethodEntitiesMap) {\n return null;\n }\n return promotedMethodEntitiesMap[currentApiCatalogId] || [];\n }, [promotedMethodEntitiesMap, currentApiCatalogId]);\n\n const auditEventTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Type,\n 'unityBaseGetAllMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const auditEventSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event,\n 'unityBaseSearchMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const getAuditEventTypeName = useCallback(auditEventTypeCode => {\n if (!auditEventTypes) return '';\n const matchingAuditEventType = auditEventTypes.find(\n auditEventType => auditEventType.code === auditEventTypeCode\n );\n return matchingAuditEventType?.name || '';\n }, [auditEventTypes]);\n\n const handleSideSheet = useCallback((isOpen, auditEvent) => {\n setViewSideSheetOpen(isOpen);\n setSelectedAuditEvent(auditEvent);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Event Type'),\n field: 'UdpAuditEventUdpAuditEventType.Name',\n valueGetter: params => getAuditEventTypeName(params.data.typeCode),\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('User'),\n field: 'userDisplayName',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Description'),\n field: 'domain',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Created On'),\n field: 'createdOn',\n resizable: true,\n sortable: true,\n ...dateStringColumnDef\n },\n {\n field: 'actions',\n headerName: t('Details'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('View'),\n iconName: 'view',\n handleOnClick: (e, auditEvent) =>\n handleSideSheet(true, {...auditEvent?.data, auditEventTypeName: getAuditEventTypeName(auditEvent?.data?.typeCode)}),\n disabled: false,\n },\n\n ],\n },\n suppressMenu: true,\n sortable: false,\n filter: false,\n },\n ];\n }, [getAuditEventTypeName]);\n\n const gridFunctions = [\n { name: 'chipFilter' },\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' },\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true,\n };\n }, []);\n\n useEffect(() => {\n const getAuditEventTypes = async () => {\n let types = [];\n if (auditEventTypeGetAllApiMethod) {\n const response = await executeQueryAdHoc(\n { data: {}},\n auditEventTypeGetAllApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n types = response.data;\n }\n }\n setAuditEventTypes(types);\n };\n getAuditEventTypes();\n }, [auditEventTypeGetAllApiMethod]);\n\n const handleGridApiCallback = api => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: auditEventSearchApiMethod?.apiMethodId,\n customSearchObject: searchObject,\n };\n }, [auditEventSearchApiMethod]);\n\n return (\n <>\n {(displayProgressBar) && (<LinearProgress className={classes.loadingBar} color=\"secondary\" />)}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={{\n title: t('Audit Events'),\n }}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpAuditEventSidesheet\n auditEvent={selectedAuditEvent}\n isSideSheetOpen={viewSideSheetOpen}\n handleSideSheet={handleSideSheet}\n promotedEntities={promotedEntities}\n />\n </>\n )\n}\n\n export default UdpAuditEventsPage;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UdpAuditEventsPage-CUXXlLY1.js","names":["useStyles","getLocalizedDateTimeString","auditEventDetail","LinearProgress","getLocalizedDateTimeString","getLocalizedDateString","params","LinearProgress","UdpAuditEventSidesheet"],"sources":["../src/enums/auditEventEnums.ts","../src/UI/widgets/utils/dateUtils.js","../src/udp/utilities/dateLocalizationHooks.jsx","../src/udp/pages/UdpAuditEvents/UdpAuditEventSidesheet.jsx","../src/udp/utilities/useDateStringColumnDef.js","../src/udp/pages/UdpAuditEvents/UdpAuditEventsPage.jsx"],"sourcesContent":["export enum AuditEventTypeEnums {\n Create_Domain = 1,\n Update_Domain = 2,\n Delete_Domain = 3,\n}\n","import { DateTime } from 'luxon'\n\nexport function formatDateLong(value) {\n try {\n let date = new Date(value);\n const day = date.toLocaleString('default', { day: '2-digit' });\n const month = date.toLocaleString('default', { month: 'short' });\n const year = date.toLocaleString('default', { year: 'numeric' });\n const dayOfWeek = date.toLocaleString('default', { weekday: 'long' });\n return `${day} ${month}, ${year} (${dayOfWeek})`;\n } catch (error) {\n return '';\n }\n}\n\nexport function formatDate(value, formatStr = '') {\n try {\n let date = new Date(value);\n const day = date.toLocaleString('default', { day: '2-digit' });\n const month = date.toLocaleString('default', { month: 'short' });\n const year = date.toLocaleString('default', { year: 'numeric' });\n\n switch (formatStr.toLowerCase()) {\n case 'mon dd, yyyy':\n return `${day} ${month}, ${year}`;\n case 'dd/mm/yyyy':\n return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;\n case 'yyyy-mm-dd':\n return date.toISOString().split('T')[0];\n default:\n return '';\n }\n } catch (error) {\n return '';\n }\n}\n\nexport function getDaysDiff(dateOne, dateTwo) {\n const d1 = new Date(dateOne);\n const d2 = new Date(dateTwo);\n const diff = d2.getTime() - d1.getTime();\n\n return diff / (1000 * 60 * 60 * 24);\n}\n\n/**\n * Creates a Date object based on an ISO 8601 date string.\n * @param dateString A ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @returns A date object, or null if the format was invalid.\n */\nexport const getDateFromString = (dateString) => {\n if (!dateString || dateString.length === 0) {\n return null;\n }\n\n const date = DateTime.fromISO(dateString);\n\n return date ? date.toJSDate() : null;\n};\n\n/**\n * Formats a date string by converting it to a date in the specified time zone,\n * stripping out the time element and returning a localized date string.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone An IANA time zone id. If supplied, convert the date into the specified time zone,\n * otherwise convert to local browser time.\n * @returns A date string without time based on the supplied time zone and the\n * user's browser locale settings.\n */\nexport const getLocalizedDateString = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n\n return convertedDate\n ? DateTime.fromJSDate(convertedDate, { zone: timeZone }).toLocaleString(DateTime.DATE_SHORT)\n : '';\n};\n\n/**\n * Converts a date string to a date in the specified timezone,\n * and returning a converted date with the localized date and time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone If supplied, convert the date into the specified IANA time zone,\n * otherwise convert to local browser time.\n * @returns A converted date and time based on the user's browser locale settings.\n */\nexport const getLocalizedDateTime = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n if (convertedDate === null) {\n return '';\n }\n const convertedDateTime = DateTime.fromJSDate(convertedDate, { zone: timeZone });\n\n return convertedDateTime;\n};\n\n/**\n * Formats a date string by converting it to a date in the specified timezone,\n * and returning a string with the localized date and time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param delimiter If supplied, split the date and time by this string when returned.\n * @param timeZone If supplied, convert the date into the specified IANA time zone,\n * otherwise convert to local browser time.\n * @returns A date and time string based on the user's browser locale settings.\n */\nexport const getLocalizedDateTimeString = (\n date,\n delimiter = null,\n timeZone = 'local',\n includeOffset = false,\n) => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n if (convertedDate === null) {\n return '';\n }\n const convertedDateTime = DateTime.fromJSDate(convertedDate, { zone: timeZone });\n\n if (delimiter !== null) {\n return (\n convertedDateTime.toLocaleString(DateTime.DATE_SHORT) +\n delimiter +\n convertedDateTime.toLocaleString(DateTime.TIME_WITH_SECONDS) +\n (includeOffset ? ' ' + convertedDateTime.offsetNameShort : '')\n );\n } else {\n return (\n convertedDateTime.toLocaleString(DateTime.DATETIME_SHORT_WITH_SECONDS) +\n (includeOffset ? ' ' + convertedDateTime.offsetNameShort : '')\n );\n }\n};\n\n/**\n * Formats a date string by converting it to a date in the specified time zone,\n * and returning a string as the localized time.\n * @param date A Date or ISO 8601 date string. EX: yyyy-MM-ddThh:mm:ss[Z|offset]\n * @param timeZone An IANA time zone id. If supplied, convert the date into the specified time zone,\n * otherwise convert to local browser time.\n * @returns A time string without the date based on the supplied time zone and user's\n * browser locale settings.\n */\nexport const getLocalizedTimeString = (date, timeZone = 'local') => {\n const convertedDate = date instanceof Date ? date : getDateFromString(date);\n\n return convertedDate\n ? DateTime.fromJSDate(convertedDate, { zone: timeZone }).toLocaleString(\n DateTime.TIME_WITH_SECONDS,\n )\n : '';\n};\n","import { IANAZone } from 'luxon';\nimport { useCallback } from 'react';\nimport {\n getLocalizedDateString,\n getLocalizedDateTimeString,\n} from '../../UI/widgets/utils/dateUtils';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date string without time in the specified IANA time zone.\n * @param timeZone An IANA time zone to convert the date to before returning as a string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateString = (timeZone) => {\n const user = useAuthedUser();\n\n const getDateString = useCallback(\n (date) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateString(date, validTimeZone);\n },\n [user, timeZone],\n );\n\n return getDateString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the specified IANA time zone.\n * @param timeZone The IANA time zone to convert the date before converting to\n * a localized string.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedDateTimeString = (timeZone, includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n const validTimeZone =\n timeZone !== 'local' &&\n (timeZone === user?.additionalProperties?.activeUtilityTimeZone ||\n IANAZone.isValidZone(timeZone))\n ? timeZone\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return getLocalizedDateTimeString(date, delimiter, validTimeZone, includeTimeZoneOffset);\n },\n [user, timeZone, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n\n/**\n * Gets a function that can be used to convert a date or\n * ISO 8601 date string (EX: yyyy-MM-ddThh:mm:ss[Z|offset])\n * to a localized date time string in the current user's time zone.\n * @param includeTimeZoneOffset If true, include the time zone offset in the localized string.\n * @returns A function to convert a date to a localized string.\n */\n\nexport const useGetLocalizedUserDateTimeString = (includeTimeZoneOffset = false) => {\n const user = useAuthedUser();\n\n const getDateTimeString = useCallback(\n (date, delimiter = null) => {\n return getLocalizedDateTimeString(\n date,\n delimiter,\n user?.additionalProperties?.timeZone,\n includeTimeZoneOffset,\n );\n },\n [user, includeTimeZoneOffset],\n );\n\n return getDateTimeString;\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useTranslation } from 'react-i18next';\nimport { FluentTextField } from '../../../UI/inputs/textField/FluentTextField';\nimport { GridRow } from '../../../layout/GridRow';\nimport { GridUnit } from '../../../layout/GridUnit';\nimport { AmbientCard } from '../../../UI/surfaces/cards/AmbientCard/AmbientCard';\nimport { makeStyles, Box } from \"@material-ui/core\";\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJson from 'react-json-view';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { useGetLocalizedUserDateTimeString } from '../../utilities/dateLocalizationHooks';\nimport { UdpEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryWithParameters, getBaseMethod } from '../../utilities/methodUtils';\n\nconst useStyles = makeStyles((theme) => ({\n textField: {\n marginTop: theme.spacing(0),\n },\n loadingBar: {\n top: theme.spacing(-2),\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n}));\n\nconst UdpAuditEventSidesheet = props => {\n const {\n auditEvent,\n isSideSheetOpen,\n handleSideSheet,\n promotedEntities,\n sheetProps,\n } = props;\n\n const { t } = useTranslation();\n const classes = useStyles();\n const getLocalizedDateTimeString = useGetLocalizedUserDateTimeString();\n const [auditEventDetail, setAuditEventDetail] = React.useState({});\n const [loading, setLoading] = useState(false);\n\n const auditEventDetailGetApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Detail,\n 'unityBaseGetMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const onCloseSideSheet = () => {\n handleSideSheet(false);\n }\n\n useEffect(() => {\n const getAuditEventDetail = async () => {\n let auditEventDetail = {};\n const data = {};\n try {\n if (auditEventDetailGetApiMethod && auditEvent) {\n setLoading(true);\n data['{auditEventId}'] = auditEvent.id;\n const response = await executeQueryWithParameters(\n { data },\n auditEventDetailGetApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n auditEventDetail = response.data;\n setAuditEventDetail(auditEventDetail);\n }\n }\n } finally {\n setLoading(false);\n }\n };\n getAuditEventDetail();\n }, [auditEvent, auditEventDetailGetApiMethod]);\n\n return (\n <SideSheet\n {...sheetProps}\n open={isSideSheetOpen}\n onClose={onCloseSideSheet}\n title={t(`Audit Event Details`)}\n width={800}\n color='primary'\n >\n {loading && (\n <LinearProgress className={classes.loadingBar} color=\"secondary\" />\n )}\n <GridRow>\n <GridUnit ratio=\"1:1\" width=\"100%\">\n <AmbientCard title={t('Event')} fullWidth={true} subCard>\n <>\n <FluentTextField\n className={classes.textField}\n id=\"auditEventTypeName\"\n label={t('Event Type')}\n value={auditEvent?.auditEventTypeName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventUserDisplayName\"\n label={t('User')}\n value={auditEvent?.userDisplayName || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventDomain\"\n label={t('Description')}\n value={auditEvent?.domain || ''}\n disabled={true}\n />\n <FluentTextField\n className={classes.textField}\n id=\"auditEventCreatedOn\"\n label={t('Created On')}\n value={getLocalizedDateTimeString(auditEvent?.createdOn ?? '')}\n disabled={true}\n />\n <Box>\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Delete_Domain) &&\n <ReactJson\n src={auditEventDetail?.oldObj ? JSON.parse(auditEventDetail?.oldObj) : {}}\n name={t('Old Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n {(auditEvent?.typeCode === AuditEventTypeEnums.Update_Domain ||\n auditEvent?.typeCode === AuditEventTypeEnums.Create_Domain) &&\n <ReactJson\n src={auditEventDetail?.newObj ? JSON.parse(auditEventDetail?.newObj) : {}}\n name={t('New Details')}\n displayDataTypes={false}\n displayObjectSize={false}\n />\n }\n </Box>\n </>\n </AmbientCard>\n </GridUnit>\n </GridRow>\n </SideSheet>\n )\n}\n\nexport default UdpAuditEventSidesheet;\n","import { DateTime, IANAZone } from 'luxon';\nimport { useMemo } from 'react';\nimport { getDateFromString } from '../../UI/widgets/utils/dateUtils';\nimport { GridExcelStyleEnums } from '../../enums/unitySystemEnums';\nimport { useAuthedUser } from '../../utilities/auth/useAuthedUser'\nimport { useGetLocalizedDateString, useGetLocalizedDateTimeString } from './dateLocalizationHooks';\n\n\nexport const useDateStringColumnDef = (\n includeTime = false,\n timeZone = null,\n includeTimeZoneOffset = false,\n) => {\n const user = useAuthedUser();\n\n const zone = useMemo(() => {\n const tz = timeZone ?? user?.additionalProperties?.timeZone ?? 'local';\n const validTimeZone =\n tz !== 'local' &&\n (tz === user?.additionalProperties?.timeZone || IANAZone.isValidZone(tz))\n ? tz\n : 'local'; // IANAZone.isValidZone is very slow, skip it if known valid timeZone passed\n return validTimeZone;\n }, [timeZone, user]);\n\n const getLocalizedDateTimeString = useGetLocalizedDateTimeString(zone, includeTimeZoneOffset);\n const getLocalizedDateString = useGetLocalizedDateString(zone);\n\n const columnDef = useMemo(() => {\n return !user\n ? {}\n : ({\n valueFormatter: (params) => {\n if (!params) {\n return '';\n }\n if (includeTime) {\n return getLocalizedDateTimeString(params.value);\n } else {\n return getLocalizedDateString(params.value);\n }\n },\n cellClass: includeTime\n ? GridExcelStyleEnums.DateTimeShortWithSeconds\n : GridExcelStyleEnums.DateShort,\n filter: 'agDateColumnFilter',\n filterParams: {\n comparator: function (filterLocalDateAtMidnight, cellValue) {\n const cellDate = getDateFromString(cellValue);\n if (!cellDate) {\n return null;\n }\n\n // Assume date picker is in the same time zone that we're displaying dates in so that the results make sense to the user\n const filterDateTimeMidnight = DateTime.fromJSDate(filterLocalDateAtMidnight).setZone(\n zone,\n { keepLocalTime: true },\n );\n const cellDateTimeMidnight = DateTime.fromJSDate(cellDate, { zone: zone }).set({\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n });\n\n if (cellDateTimeMidnight < filterDateTimeMidnight) {\n return -1;\n } else if (cellDateTimeMidnight > filterDateTimeMidnight) {\n return 1;\n } else {\n return 0;\n }\n },\n buttons: ['apply', 'reset'],\n closeOnApply: true,\n suppressAndOrCondition: true,\n filterOptions: ['equals', 'lessThan', 'greaterThan', 'inRange'],\n },\n });\n }, [includeTime, getLocalizedDateString, getLocalizedDateTimeString, user, zone]);\n\n return columnDef;\n};\n","import React, { useCallback, useEffect, useState, useMemo, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { makeStyles } from '@material-ui/core';\nimport { useAgGridApi } from '../../../utilities/aggrid/AgTable';\nimport { debounce } from 'lodash';\nimport { LogicalSearchOperatorEnums, UdpEnums } from '../../../enums/unitySystemEnums';\nimport { LinearProgress } from '../../../UI/loading/LinearProgress';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { ViewIcon, RefreshIcon } from '@fluentui/react-icons';\nimport UdpAuditEventSidesheet from './UdpAuditEventSidesheet';\nimport { ActionsRenderer } from '../../../UI/templates/ui/renderers/ActionsRenderer';\nimport { useDateStringColumnDef } from '../../utilities/useDateStringColumnDef';\nimport { executeQueryAdHoc, getBaseMethod } from '../../utilities/methodUtils';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { SearchMethodUdpGrid } from '../../../UI/templates/newGrid';\nimport { usePromotedMethodEntity } from '../../../hooks';\n\nconst PAGE_SIZE = 15;\n\nconst baseSearchPayload = {\n pageNumber: 1,\n pageSize: PAGE_SIZE,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n};\n\nconst useStyles = makeStyles(theme => ({\n loadingBar: {\n bottom: theme.spacing(-0.5),\n marginLeft: theme.spacing(0.5),\n marginRight: theme.spacing(0.5),\n },\n}));\n\nconst UdpAuditEventsPage = (props) => {\n const { params } = props;\n\n // Hooks\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { t } = useTranslation();\n const classes = useStyles();\n const dateStringColumnDef = useDateStringColumnDef(true);\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n const gridApiRef = useRef(null);\n\n // States\n const [searchQuery, setSearchQuery] = useState('');\n const [displayProgressBar, setDisplayProgressBar] = useState(false);\n const [selectedAuditEvent, setSelectedAuditEvent] = useState(null);\n const [viewSideSheetOpen, setViewSideSheetOpen] = useState(false);\n const [auditEventTypes, setAuditEventTypes] = useState([]);\n const [searchObject, setSearchObject] = useState(baseSearchPayload);\n\n const currentApiCatalogId = useCatalogStore(\n (state) => state.currentApiCatalogId\n );\n\n const promotedMethodEntitiesMap = useCatalogStore(\n (state) => state.promotedMethodEntitiesMap\n );\n\n const promotedEntities = useMemo(() => {\n if (!currentApiCatalogId || !promotedMethodEntitiesMap) {\n return null;\n }\n return promotedMethodEntitiesMap[currentApiCatalogId] || [];\n }, [promotedMethodEntitiesMap, currentApiCatalogId]);\n\n const auditEventTypeGetAllApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event_Type,\n 'unityBaseGetAllMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const auditEventSearchApiMethod = useMemo(() => {\n return getBaseMethod(\n UdpEnums.Udp_Audit_Event,\n 'unityBaseSearchMethod',\n promotedEntities\n );\n }, [promotedEntities]);\n\n const getAuditEventTypeName = useCallback(auditEventTypeCode => {\n if (!auditEventTypes) return '';\n const matchingAuditEventType = auditEventTypes.find(\n auditEventType => auditEventType.code === auditEventTypeCode\n );\n return matchingAuditEventType?.name || '';\n }, [auditEventTypes]);\n\n const handleSideSheet = useCallback((isOpen, auditEvent) => {\n setViewSideSheetOpen(isOpen);\n setSelectedAuditEvent(auditEvent);\n }, []);\n\n const columnDefs = useMemo(() => {\n return [\n {\n headerName: t('Event Type'),\n field: 'UdpAuditEventUdpAuditEventType.Name',\n valueGetter: params => getAuditEventTypeName(params.data.typeCode),\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('User'),\n field: 'userDisplayName',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Description'),\n field: 'domain',\n resizable: true,\n sortable: false,\n },\n {\n headerName: t('Created On'),\n field: 'createdOn',\n resizable: true,\n sortable: true,\n ...dateStringColumnDef\n },\n {\n field: 'actions',\n headerName: t('Details'),\n cellRenderer: 'actionsRenderer',\n cellRendererParams: {\n actionList: [\n {\n id: 0,\n title: t('View'),\n iconName: 'view',\n handleOnClick: (e, auditEvent) =>\n handleSideSheet(true, {...auditEvent?.data, auditEventTypeName: getAuditEventTypeName(auditEvent?.data?.typeCode)}),\n disabled: false,\n },\n\n ],\n },\n suppressMenu: true,\n sortable: false,\n filter: false,\n },\n ];\n }, [getAuditEventTypeName]);\n\n const gridFunctions = [\n { name: 'chipFilter' },\n { name: 'agGridExport' },\n { name: 'agGridSizeColumnsToFit' },\n { name: 'agGridAutoSizeColumns' },\n { name: 'agGridResetColumns' },\n { name: 'agGridHideShowColumns' },\n ];\n\n const gridOptions = useMemo(() => {\n return {\n pagination: true,\n };\n }, []);\n\n useEffect(() => {\n const getAuditEventTypes = async () => {\n let types = [];\n if (auditEventTypeGetAllApiMethod) {\n const response = await executeQueryAdHoc(\n { data: {}},\n auditEventTypeGetAllApiMethod.apiMethodId\n );\n if (response?.status === 200) {\n types = response.data;\n }\n }\n setAuditEventTypes(types);\n };\n getAuditEventTypes();\n }, [auditEventTypeGetAllApiMethod]);\n\n const handleGridApiCallback = api => {\n gridApiRef.current = api;\n };\n\n const searchMethodConfig = useMemo(() => {\n return {\n apiMethodId: auditEventSearchApiMethod?.apiMethodId,\n customSearchObject: searchObject,\n };\n }, [auditEventSearchApiMethod]);\n\n return (\n <>\n {(displayProgressBar) && (<LinearProgress className={classes.loadingBar} color=\"secondary\" />)}\n <SearchMethodUdpGrid\n searchMethodConfig={searchMethodConfig}\n columnDefs={columnDefs}\n gridHeaderConfig={{\n title: t('Audit Events'),\n }}\n gridOptions={gridOptions}\n gridApiCallback={handleGridApiCallback}\n gridFunctions={gridFunctions}\n />\n <UdpAuditEventSidesheet\n auditEvent={selectedAuditEvent}\n isSideSheetOpen={viewSideSheetOpen}\n handleSideSheet={handleSideSheet}\n promotedEntities={promotedEntities}\n />\n </>\n )\n}\n\n export default UdpAuditEventsPage;\n"],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { t as __export } from "./chunk-Bp6m_JJh.js";
|
|
2
2
|
import { a as getPrimaryKeyValues, n as getEntityAttributes, r as getPathObject } from "./CrudBrowserUtilities-C9nVmUR3.js";
|
|
3
3
|
import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
4
|
-
import { i as useHandleAxiosSnackbar } from "./apiHelpers-
|
|
5
|
-
import { t as apiMutate } from "./useAxiosMutate-
|
|
4
|
+
import { i as useHandleAxiosSnackbar } from "./apiHelpers-B_cn3sZo.js";
|
|
5
|
+
import { t as apiMutate } from "./useAxiosMutate-DcLxzykX.js";
|
|
6
6
|
import { i as toLowerFirstChar, o as toUpperFirstChar } from "./StringUtilities-u-cxAW6-.js";
|
|
7
7
|
import { n as CardinalityTypeEnums } from "./unitySystemEnums-DQSkCr3D.js";
|
|
8
8
|
import { r as getSearchObject } from "./SearchUtilities-Df1gkDw9.js";
|
|
9
9
|
import { M as mapNodeObjValuesToSearchParameters } from "./TreeUtilities-C6e2dd4g.js";
|
|
10
|
-
import { t as useAxiosGet } from "./useAxiosGet-
|
|
11
|
-
import { t as executeQueryAdHoc } from "./methodUtils-
|
|
12
|
-
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-
|
|
13
|
-
import { t as useApiCatalog } from "./useApiCatalog-
|
|
14
|
-
import { t as useQueryExecutors } from "./useQueryExecutors-
|
|
10
|
+
import { t as useAxiosGet } from "./useAxiosGet-vvPjwB4W.js";
|
|
11
|
+
import { t as executeQueryAdHoc } from "./methodUtils-Cwo_kmVX.js";
|
|
12
|
+
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-Bi2neP26.js";
|
|
13
|
+
import { t as useApiCatalog } from "./useApiCatalog-Yi_KDPot.js";
|
|
14
|
+
import { t as useQueryExecutors } from "./useQueryExecutors-UWa24-Mf.js";
|
|
15
15
|
import { t as useSearchFilterParamsMap } from "./useSearchFilterParamsMap-1qMwke0K.js";
|
|
16
16
|
import { t as useAuthedUser } from "./useAuthedUser-CN4neRNZ.js";
|
|
17
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
18
|
-
import { t as DataBrowserContainer } from "./DataBrowserContainer-
|
|
17
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-CXOSojmw.js";
|
|
18
|
+
import { t as DataBrowserContainer } from "./DataBrowserContainer-DHE9PS3L.js";
|
|
19
19
|
import React, { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
20
20
|
import { useLocation } from "react-router-dom";
|
|
21
21
|
import { DeleteIcon, EditIcon, UploadIcon } from "@fluentui/react-icons";
|
|
@@ -455,4 +455,4 @@ var UdpDataBrowserPage_exports = /* @__PURE__ */ __export({
|
|
|
455
455
|
|
|
456
456
|
//#endregion
|
|
457
457
|
export { UdpDataBrowserPage as n, UdpDataBrowserPage_default as r, UdpDataBrowserPage_exports as t };
|
|
458
|
-
//# sourceMappingURL=UdpDataBrowserPage-
|
|
458
|
+
//# sourceMappingURL=UdpDataBrowserPage-DIq--ak3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpDataBrowserPage-cKFWzGRk.js","names":["entityName","uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,MAAa,sBAAsB,UAAU;CAC3C,MAAM,EAAE,SAAS,WAAW;CAC5B,MAAM,OAAO,eAAe;CAC5B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,CAAC,YAAY,iBAAiB,SAAS,EAAE,CAAC;CAChD,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;CAC5C,MAAM,CAAC,eAAe,oBAAoB,SAAS,EAAE,CAAC;CAEtD,MAAM,WAAW,aAAa;CAC9B,MAAM,QAAQ,SAAS;CACvB,IAAI,iBAAiB,SAAS;CAC9B,IAAI,eAAe,IAAI,gBAAgB,eAAe;CACtD,MAAM,sBAAsB,OAAO,UAC/B,MAAM,UACN,aAAa,IAAI,UAAU,KAAK,OAChC,iBAAiB,aAAa,IAAI,UAAU,CAAC,GAC7C;CAEJ,MAAM,EAAE,qBAAqB,0BAC3B,wBAAwB;CAE1B,MAAM,EAAE,iBAAiB,mBAAmB;CAE5C,MAAM,aAAa,cACX,QAAQ,WAAW,WAAW,uBAAuB,IAC3D;EAAC;EAAQ;EAAS;EAAoB,CACvC;CAED,MAAM,WAAW,QAAQ,YAAY;CAErC,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAC1D,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;CAC1D,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,KAAK;CAEpE,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,cAAc,mBAAmB,SAAS,KAAK;CACtD,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAClD,MAAM,CAAC,mBAAmB,wBAAwB,SAAS,MAAM;CAEjE,MAAM,EAAE,MAAM,YAAY,cAAc,aAAa;CAErD,MAAM,EAAE,MAAM,sBAAsB,wBAClC,sBACA,KACD;CAGD,MAAM,EAAE,2BAA2B,0BAA0B;CAE7D,MAAM,CAAC,EAAE,MAAM,OAAO,SAAS,cAAc,OAAO,gBAClD,YACE,cAAc,qBACd,sCAAsC,MAAM,gBAAgB,WAAW,cAAc,OAAO,oBAC5F,EAAE,EACF,CAAC,CAAC,CAAC,MACH,MACD;CAEH,MAAM,CACJ,EACE,MAAM,mBACN,SAAS,2BACT,OAAO,4BAEP,YACF,cAAc,qBACd,qBAAqB,cACrB,EAAE,EACF,CAAC,CAAC,CAAC,YACH,MACD;CAED,MAAM,CACJ,EAAE,MAAM,WAAW,SAAS,kBAAkB,OAAO,oBACnD,YACF,cAAc,qBACd,aAAa,mBAAmB,eAChC,EAAE,EACF,CAAC,CAAC,CAAC,mBAAmB,aACtB,MACD;CAED,MAAM,gBAAgB,cAAc,WAAW,cAAc,IAAI,CAAC,UAAU,CAAC;CAa7E,MAAM,EAAE,MAAM,wBAAwB,SAAS,2BAC7C,wBAAwB,WAAW;CAErC,MAAM,gBAAgB,YACpB,OAAO,SACL,UACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,gBAAgB,YACpB,OAAO,SACL,UACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,gBAAgB,YACpB,OAAO,SACL,UACE,cAAc,qBACd,wCAAwC,gBAAgB,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,KACD,EACH,CAAC,eAAe,CACjB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAED,MAAM,WAAW,YACf,OAAO,SAAS;AACd,SAAO,MAAM,cAAc,KAAK;IAElC,CAAC,cAAc,CAChB;CAGD,MAAM,mBAAmB,cAAc;AACrC,MAAI,CAAC,kBAAmB,QAAO,EAAE;EACjC,IAAI,cAAc,EAAE;AACpB,MAAI;GACF,MAAM,yBAAyB,kBAAkB;AAEjD,iBAD4B,KAAK,MAAM,uBAAuB;UAExD;AACN,WAAQ,KAAK,sDAAsD;;AAErE,SAAO;IACN,CAAC,kBAAkB,CAAC;CAGvB,MAAM,aAAa,cAAc;AAE/B,MAAI,CAAC,iBAAiB,OAAQ,QAAO;EACrC,MAAM,MAAM,EAAE;AAId,EAHsB,iBAAiB,QACpC,WAAW,CAAC,CAAC,OAAO,oBAAoB,OAC1C,CACa,SAAS,OAAO;AAC5B,OAAI,GAAG,QAAQ;IACb,eAAe,GAAG,oBAAoB,iBAAiB;IACvD,iBAAiB,GAAG,oBAAoB,iBAAiB;IACzD,OAAO,GAAG,oBAAoB,UAAU;IACxC,UAAU,CAAC,CAAC,GAAG,YAAY;IAC5B;IACD;AAEF,SAAO;IACN,CAAC,iBAAiB,CAAC;CAEtB,MAAM,mBAAmB,cAAc;EACrC,IAAI,eAAe,EAAE;AACrB,MAAI,QAAQ,WAAW,QAAQ,mBAAmB;GAChD,MAAM,mBAAmB,mCACvB,OAAO,SACP,OAAO,kBACR;AACD,OAAI,OAAO,KAAK,iBAAiB,CAAC,OAChC,QAAO,KAAK,iBAAiB,CAAC,SAAS,QAAQ;AAC7C,iBAAa,KAAK;KAChB,MAAM;KACN,OAAO,iBAAiB;KACxB,MAAM;KACP,CAAC;KACF;;AAGN,SAAO;IACN,CAAC,OAAO,CAAC;CAGZ,MAAM,uBAAuB,cAAc;EACzC,MAAM,iBAAiB,EAAE;AACzB,MAAI,CAAC,qBAAqB,SACxB,gBAAe,KAAK;GAClB,aAAa;GACb,gBAAgB;GAChB,aAAa;GACd,CAAC;EAGJ,MAAM,sBAAsB,uBAC1B,mBACA,iBACD;AACD,SAAO,eAAe,OAAO,oBAAoB;IAChD;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,mBAAmB,cAAc;AACrC,SAAO,oBAAoB,SAAS,WAAW;IAC9C,CAAC,SAAS,WAAW,CAAC;CAEzB,MAAM,yBAAyB,YAC7B,OAAO,iBAAe;EACpB,IAAI,aAAa,EAAE;AACnB,MAAI,oBAUF,mBAAkB,EAAE,MAFD,gBAPI,CACrB;GACE,aAAa;GACb,gBAAgB;GAChB,aAAaA;GACd,CACF,EACkD,GAAG,IAAI,KAAK,EAEzB,EAAE,oBAAoB,CAAC,MAC1D,SAAS;AACR,gBAAa,KAAK,MAAM;IAE3B;AAEH,SAAO;IAET,CAAC,oBAAoB,CACtB;CAED,MAAM,sBAAsB,YAC1B,OAAO,eAAe;AACpB,MAAI,CAAC,WACH,QAAO,EAAE;EAEX,IAAI,YAAY,EAAE;AAElB,OAAK,MAAM,QAAQ,WAEjB,KAAI,MAAM,oBAAoB,aAAa;GAEzC,MAAM,cAAc,EAAE;AACtB,UAAO,KAAK,KAAK,mBAAmB,oBAAoB,EAAE,CAAC,CAAC,WACzD,KAAK,mBAAmB,iBAAiB,gBACxC,qBAAqB,gBACrB,KAAK,mBAAmB,iBAAiB,gBACvC,qBAAqB,gBACzB,CAAC,KAAK,mBAAmB,iBAAiB,WAC1C,KAAK,mBAAmB,iBAAiB,KAAK,SAC3C,OAAO,MAAM;IACZ,MAAM,OAAO,MAAM,MAAM,IAAI,CAAC;AAC9B,QAAI,KAEF,aAAY,KAAK;KACf,KAAK;KACL,MAAM,WAAW,KAAK,KAAK,GACvB,KAAK,aAAa,GAClB,iBAAiB,KAAK;KAC3B,CAAC;KAGP;GAGH,MAAM,SAAS,WAAW,MAAM,MAC9B,YAAY,MAAM,QAAQ,IAAI,SAAS,EAAE,KAAK,CAC/C;AAED,OAAI,OAEF,OAAM,UACJ,cAAc,qBACd,cAAc,aAAa,0BAA0B,KAAK,UAAU,WAAW,cAAc,OAAO,oBACpG,EACE,QAAQ,OACT,EACD,EAAE,CACH,CAAC,MAAM,SAAS;AACf,QAAI,QAAQ,KAAK,KACf,WAAU,KAAK;KACb,iBAAiB;KACjB,QAAQ,KAAK;KACd,CAAC;KAEJ;;AAIR,SAAO;IAET,CAAC,aAAa,CACf;CAED,MAAM,wBAAwB,YAC5B,OAAO,iBAAe;EACpB,IAAI,aAAa,EAAE;AACnB,eAAa,MAAM,uBAAuBA,aAAW;AACrD,MAAI,YAAY,UAAU,EACxB,QAAO;AAKT,UAH6B,YAAY,MACtC,OAAO,GAAG,YAAY,oBAAoB,qBAAqB,OACjE,GAC4B;IAE/B,CAAC,uBAAuB,CACzB;CAED,MAAM,gBAAgB,KAAK,MAAM;AAC/B,MAAI,CAAC,IAAK,QAAO;EACjB,IAAI,MAAM,IAAI,MAAM;AACpB,MAAI,CAAC,KAAK;GACR,MAAM,MAAM,OAAO,KAAK,IAAI,CAAC,MAAM,WACjC,OAAO,aAAa,CAAC,SAAS,EAAE,CACjC;AACD,OAAI,IACF,OAAM,IAAI;;AAGd,SAAO;;CAGT,MAAM,YAAY,YAAY,YAAY;AACxC,MAAI,CAAC,kBAAkB,OACrB,QAAO;EAET,MAAM,YAAY,MAAM,oBAAoB,iBAAiB;AAC7D,MAAI,CAAC,WAAW,QAAQ;AACtB,qBAAkB,EAAE,CAAC;AACrB,UAAO,EAAE;;EAEX,IAAI,SAAS,EAAE;EACf,IAAI,WAAW,EAAE;EACjB,IAAI,iBAAiB,EAAE;EACvB,MAAM,WAAW,EAAE;AACnB,OAAK,MAAM,UAAU,UACnB,KAAI,UAAU,QAAQ,QAAQ,uBAAuB;GACnD,MAAM,mBAAmB,MAAM,sBAC7B,OAAO,OAAO,WACf;AACD,kBAAe,KAAK;IAClB,KACE,cAAc,sBACd,yCAAyC,QAAQ,QAAQ,uBAAuB;IAClF,WAAW,OAAO,gBAAgB;IAClC,MAAM,OAAO,OAAO;IACF;IACnB,CAAC;AAEF,YAAS,KACP,UACE,cAAc,qBACd,wCAAwC,QAAQ,QAAQ,uBAAuB,eAC/E,EACE,QAAQ,QACT,EACD,EAAE,MAAM,EAAE,EAAE,CACb,CACF;QAED,UAAS,KAAK;GACZ,IAAIC,IAAM;GACV,SAAS,GAAG,OAAO,OAAO,WAAW;GACtC,CAAC;AAIN,mBAAiB,SAAS;AAE1B,UAAQ,IAAI,SAAS,CAAC,MAAM,SAAS;AACnC,QAAK,SAAS,UAAU,UAAU;AAChC,QAAI,SAAS,WAAW,KACtB;SAAI,UAAU,MAAM;MAClB,IAAI,WAAW,EAAE;MACjB,MAAM,gBAAgB,eAAe,MAClC,MACC,EAAE,QAAQ,UAAU,QAAQ,OAC5B,CAAC,OAAO,MACL,OACC,GAAG,eAAe,EAAE,QAAQ,GAAG,cAAc,EAAE,UAClD,CACJ;AACD,eAAS,KAAK,SAAS,MAAM;OAK3B,MAAM,KAAK,aAAa,GAHtB,eAAe,aAAa,EAAE,cAAc,aACxC,cAAc,YACd,KAC4B;OAClC,MAAM,OAAO,aACX,GACA,iBAAiB,cAAc,iBAAiB,IAAI,OACrD;AAED,gBAAS,KAAK;QAAM;QAAI,MAAM,QAAQ;QAAI,CAAC;QAC3C;AAEF,aAAO,KAAK;OACV,WAAW,cAAc;OACzB,YAAY,cAAc;OAC1B,MAAM,cAAc;OACpB,MAAM;OACP,CAAC;;;KAGN;AACF,qBAAkB,OAAO;IACzB;IACD;EAAC;EAAkB;EAAqB;EAAsB,CAAC;CAElE,MAAM,iBAAiB,YACrB,OAAO,WAAW;AAChB,MAAI,gBAAgB;GAClB,MAAMD,eAAa,gBAAgB;AACnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,WAAW,MAAM,SAAS,EAAE,MADrB,EAAE,aAAa,QAAQ,EACI,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB;AAEF,QAAI,UAAU,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AACD,cAAS,wBAAwB;AACjC,YAAO;;;;IAKf;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,iBAAiB,YACrB,OAAO,QAAQ,qBAAqB;AAClC,MAAI,gBAAgB;GAClB,MAAMA,eAAa,gBAAgB;AAEnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,aAAa,cACjB,eAAe,sBAAsB,gBACrC,iBACD;IACD,IAAI,OAAO,EAAE,aAAa,QAAQ;AAClC,QAAI,MAAM,QAAQ,WAAW,CAC3B,YAAW,SAAS,OAAO;AACzB,UAAK,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,KAAK,GAAG,CAAC;MAC9C;QAEF,QAAO;KAAE,GAAG;KAAY,aAAa;KAAQ;AAO/C,SAJiB,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB,GAEY,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AAED,cAAS,wBAAwB;;;;IAKzC;EACE;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,iBAAiB,YACrB,OAAO,UAAU;AACf,UAAQ,aAAa,OAAO,WAAW;AACvC,MAAI,gBAAgB;GAClB,MAAMA,eAAa,gBAAgB;AAEnC,OAAI,gBAAgB,uBAAuB;IAEzC,MAAM,mBAAmB,oBAAoB,kBAAkB,MAAM;IACrE,MAAM,aAAa,cACjB,gBAAgB,sBAAsB,gBACtC,iBACD;IACD,IAAI,OAAO,EAAE;AACb,QAAI,MAAM,QAAQ,WAAW,CAC3B,YAAW,SAAS,OAAO;AACzB,UAAK,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,KAAK,GAAG,CAAC;MAC9C;QAEF,QAAO,EAAE,GAAG,YAAY;AAO1B,SAJiB,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,QAAQ;AACvD,yBAAoB,IAAI;MACxB,GAEY,WAAW,KAAK;AAC5B,2BACEA,eACI,EAAE,GAAGA,aAAW,mBAAmB,GACnC,EAAE,0BAA0B,CACjC;AAED,cAAS,wBAAwB;;;;IAKzC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAED,MAAM,qBAAqB,aAAa,iBAAe;AACrD,mBAAiB,EAAE,CAAC;AACpB,gBAAcA,aAAW;AACzB,uBAAqB,KAAK;IACzB,EAAE,CAAC;CAEN,MAAM,gBAAgB,aACnB,OAAO;AAIN,mBAHwB,cAAc,QACnC,YAAY,QAAQ,OAAO,GAC7B,CACgC;IAEnC,CAAC,cAAc,CAChB;CAED,MAAM,aAAa,cAAc;AAC/B,MAAI,CAAC,eACH;EAGF,MAAM,OAAO,aAAa,YAAY,WAAW;EAEjD,MAAM,UAAU,CACd;GACE,IAAI;GACJ,OAAO,gBAAgB,wBACnB,EAAE,OAAO,GACT,EAAE,6BAA6B;GACnC,MAAM;GACN,SAAS;GACT,OAAO;GACP,SAAS,CAAC,CAAC,CAAC;GACZ,MAAM;IACJ,WAAW;IACX,YAAY;KACV;KACgB;KAChB,sBAAsB;KACtB,UAAU;KACV,eAAe;KACf,gBAAgB;KAChB,wBAAwB;KACxB,QAAQ,gBAAgB,uBAAuB;KAC/C,YAAY;KACZ;KACA,YAAY;KACb;IACF;GACD,UAAU,CAAC,CAAC,CAAC,gBAAgB;GAC9B,EACD;GACE,IAAI;GACJ,OAAO,gBAAgB,wBACnB,EAAE,SAAS,GACX,EAAE,+BAA+B;GACrC,MAAM;GACN,SAAS;GACT,OAAO;GACP,SAAS,CAAC,CAAC,CAAC;GACZ,MAAM;IACJ,WAAW;IACX,YAAY;KACV,OAAO,EAAE,SAAS;KAClB,SAAS,EAAE,4CAA4C;KACvD,UAAU,EAAE,SAAS;KACrB,WAAW;KACX,UAAU,EAAE,UAAU;KACvB;IACF;GACD,UAAU,CAAC,CAAC,CAAC,gBAAgB;GAC9B,CACF;AAED,MAAI,QAAQ,mBAAmB,QAAQ,sBACrC,SAAQ,KAAK;GACX,IAAI;GACJ,OAAO,EAAE,eAAe;GACxB,MAAM;GACN,UAAU,UAAU;IAClB,MAAM,MAAM,aAAa,OAAO,WAAW;AAC3C,WAAO,gBAAgB,IAAI;;GAE7B,SAAS,CAAC,CAAC,CAAC;GACZ,MAAM,EAAE;GACT,CAAC;AAEJ,SAAO;IACN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,iBAAgB;EACd,MAAM,eAAe,YAAY;AAC/B,SAAM,WAAW;;AAEnB,MAAI,oBAAoB,wBAAwB,KAC9C,eAAc;IAEf;EAAC;EAAkB;EAAW;EAAoB,CAAC;AAEtD,iBAAgB;AACd,MAAI,uBACF,mBAAkB,uBAAuB;IAE1C,CAAC,uBAAuB,CAAC;AAE5B,iBAAgB;AACd,MAAI,kBACF,wBACE,mBAAmB,uBAAuB,eAAe,GAC1D;IAEF,CAAC,kBAAkB,CAAC;AAEvB,iBAAgB;AACd,mBAAiB,EAAE,CAAC;AACpB,MAAI,cACF,eAAc,cAAc;IAE7B,CAAC,cAAc,CAAC;AAEnB,iBAAgB;AACd,MAAI,MACF,iBAAgB,MAAM,aAAa;IAEpC,CAAC,MAAM,CAAC;AAGX,iBAAgB;AACd,aAAW,gBAAgB,uBAAuB;IACjD,CAAC,cAAc,uBAAuB,CAAC;AAE1C,KAAI,WACF,QACE,oCAAC,SAAM,UAAS,WACb,EAAE,kEAAkE,CAC/D;AAIZ,QACE,0DACG,cAAc,KAAK,YAClB,oCAAC;EAAM,eAAe,cAAc,QAAQ,GAAG;EAAE,UAAS;IACvD,QAAQ,WAAW,GACd,CACR,EACF,oCAAC;EACa;EACA;EACZ,UAAU;EACQ;EACF;EAChB,WAAW;EACX,gBAAgB;EACD;EACf,cAAc;EACd,WAAW;GAAE;GAAc;GAAY;EAC3B;EACZ,gBAAgB;EAChB,kBACE,0BAA0B,mBAAmB,KAAK,GAAG;EAErC;EACN;EACZ,oBAAoB,CAAC,QAAQ;GAC7B,CACD;;AAIP,iCAAe,KAAK,mBAAmB"}
|
|
1
|
+
{"version":3,"file":"UdpDataBrowserPage-DIq--ak3.js","names":["entityName","uuid"],"sources":["../src/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.jsx","../src/udp/pages/UdpDataBrowserPage/index.ts"],"sourcesContent":["import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';\nimport { EditIcon, DeleteIcon, UploadIcon } from '@fluentui/react-icons';\nimport { useTranslation } from 'react-i18next';\nimport { DataBrowserContainer } from '../../../dataBrowser/DataBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPrimaryKeyValues,\n getPathObject\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { useAuthedUser } from '../../../utilities/auth/useAuthedUser';\nimport { useAxiosGet } from '../../../utilities/useAxiosGet';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport { getEntityAttributes } from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { CardinalityTypeEnums } from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useApiCatalog } from '../../../hooks/useApiCatalog';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { useSearchFilterParamsMap } from '../../../hooks/useSearchFilterParamsMap';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { useQueryExecutors } from '../../../hooks/useQueryExecutors';\nimport { mapNodeObjValuesToSearchParameters } from '../../../utilities/tree/TreeUtilities';\nimport { ConfigService } from '../../../configService';\n\n// const FILTER_PARAMS = [\n// {\n// name: 'tenantName',\n// value: 'ABC Company',\n// type: 'string'\n// },\n// {\n// name: 'productId',\n// value: 'UDP_PRODUCT_ID',\n// type: 'keyword'\n// },\n// {\n// name: 'productId',\n// value: 0,\n// type: 'function'\n// }\n// ];\n\n// const FUNCTION_LIST = [() => 1, () => 2];\n\nexport const UdpDataBrowserPage = (props) => {\n const { queryId, params } = props;\n const user = useAuthedUser();\n const { t } = useTranslation();\n const [entityData, setEntityData] = useState([]);\n const [gridApi, setGridApi] = useState(null);\n const [alertWarnings, setAlertWarnings] = useState([]);\n\n const location = useLocation();\n const state = location.state;\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsQueryId = state?.queryId\n ? state.queryId\n : searchParams.has('queryId') === true\n ? toUpperFirstChar(searchParams.get('queryId'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const { getCleanData } = useQueryExecutors();\n\n const udpQueryId = useMemo(\n () => params?.queryId || queryId || searchParamsQueryId || '',\n [params, queryId, searchParamsQueryId]\n );\n\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n\n const [loading, setLoading] = useState(false);\n const [apiCatalogId, setApiCatalogId] = useState(null);\n const [entityName, setEntityName] = useState(null);\n const [enteredFromConfig, setEnteredFromConfig] = useState(false);\n\n const { data: catalog } = useApiCatalog(apiCatalogId);\n\n const { data: udpOjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n // TODO: Params will be either passed in or hard coded for now until we have a way of configuring/storing them.\n const { getQueryFilterElements } = useSearchFilterParamsMap();\n\n const [{ data: tpacb, loading: tpacbLoading, error: tpacbError }] =\n useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `tenantProductApiCatalogBase/tenant/${user?.currentTenantId}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {},\n !!!user,\n false\n );\n\n const [\n {\n data: apiMethodInstance,\n loading: apiMethodInstancebLoading,\n error: apiMethodInstanceError\n }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethodInstance/${udpQueryId}`,\n {},\n !!!udpQueryId,\n false\n );\n\n const [\n { data: apiMethod, loading: apiMethodLoading, error: apiMethodError }\n ] = useAxiosGet(\n ConfigService.integrationV1ApiUrl,\n `apiMethod/${apiMethodInstance?.apiMethodId}`,\n {},\n !!!apiMethodInstance?.apiMethodId,\n false\n );\n\n const udpCatalogKey = useMemo(() => apiMethod?.entityName || '', [apiMethod]);\n\n /*\n returns {\n entityName: Tenant,\n productId: 1,\n unityBaseGetAllMethod: {apiMethodId: 'f06f7853-5816-4950-a275-5085c3387d57', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseGetMethod: {apiMethodId: '06f49cfd-0f1e-475a-812b-73cd3efd9f0d', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseCreateMethod: {apiMethodId: '33310aad-8998-4661-800b-00649d280d31', pathParameters: [{name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseUpdateMethod: {apiMethodId: 'fe611db9-47ec-4a27-8840-871fe1323812', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n unityBaseDeleteMethod: {apiMethodId: 'dafb84b6-e424-43ff-9ef0-774a5795e420', pathParameters: [{name: \"id\", in: \"path\", parameterType: \"string\", fullReference: \"\"}, {name: \"version\", in: \"path\", parameterType: \"string\", fullReference: \"\"}]},\n }\n */\n const { data: promotedMethodEntities, loading: promotedMethodsLoading } =\n usePromotedMethodEntity(entityName);\n\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n // Configured columns data from data builder\n const queryColumnsData = useMemo(() => {\n if (!apiMethodInstance) return [];\n let catalogMods = [];\n try {\n const catalogModificationStr = apiMethodInstance.catalogModification;\n const catalogModification = JSON.parse(catalogModificationStr);\n catalogMods = catalogModification;\n } catch {\n console.warn('Error parsing apiMethodInstance catalogModification');\n }\n return catalogMods;\n }, [apiMethodInstance]);\n\n // Lookups map used for to map lookups to column entries\n const lookupsMap = useMemo(() => {\n // need to return null for Datasource to not render twice\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(\n (column) => !!column.extendedProperties?.lookup\n );\n lookupColumns.forEach((lc) => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupKeyName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false\n };\n });\n\n return map;\n }, [queryColumnsData]);\n\n const nodeFilterParams = useMemo(() => {\n let filterParams = [];\n if (params?.nodeObj && params?.queryParamMapping) {\n const mappedParameters = mapNodeObjValuesToSearchParameters(\n params.nodeObj,\n params.queryParamMapping\n );\n if (Object.keys(mappedParameters).length) {\n Object.keys(mappedParameters).forEach((key) => {\n filterParams.push({\n name: key,\n value: mappedParameters[key],\n type: 'string'\n });\n });\n }\n }\n return filterParams;\n }, [params]);\n\n // Additional filter elements\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (!enteredFromConfig && udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n\n const queryFilterElements = getQueryFilterElements(\n apiMethodInstance,\n nodeFilterParams\n );\n return filterElements.concat(queryFilterElements);\n }, [\n udpTagId,\n enteredFromConfig,\n getQueryFilterElements,\n apiMethodInstance,\n nodeFilterParams\n ]);\n\n const entityAttributes = useMemo(() => {\n return getEntityAttributes(catalog, entityName);\n }, [catalog, entityName]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: entityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n (attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many ||\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.One_To_Many) &&\n !attr.extendedProperties.childEntityAssoc.UdpType &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach(\n (value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n }\n );\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${apiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [apiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n warnings.push({\n id: uuid(),\n message: `${method.entity.entityName}'s Get-All method needs to be promoted`\n });\n }\n }\n\n setAlertWarnings(warnings);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.Name && fd.fieldName === p.fieldName\n )\n );\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n toLowerFirstChar(promiseDetail.associationLabel) || 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been created`)\n : t(`Entity has been created`)\n );\n gridApi?.refreshServerSideStore();\n return response;\n }\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n t,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n gridApi\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been updated`)\n : t(`Entity has been updated`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n value = getCleanData(value, lookupsMap);\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t(`${entityName} has been deleted`)\n : t(`Entity has been deleted`)\n );\n\n gridApi?.refreshServerSideStore();\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n t,\n gridApi,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n getCleanData,\n lookupsMap\n ]\n );\n\n const handleEntitySelect = useCallback((entityName) => {\n setAlertWarnings([]);\n setEntityName(entityName);\n setEnteredFromConfig(true);\n }, []);\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return;\n }\n\n const data = getCleanData(entityData, lookupsMap);\n\n const actions = [\n {\n id: 1, // Must be unique\n title: selectedEntity?.unityBaseUpdateMethod\n ? t('Edit')\n : t('Edit Method Not Accessible'),\n icon: EditIcon,\n onClick: null,\n opens: 'sideSheet',\n loading: !!!foreignKeyData,\n view: {\n component: CrudTableSidePanel,\n properties: {\n entityAttributes,\n foreignKeyData: foreignKeyData,\n crudTableEditionData: null,\n onUpdate: handleOnUpdate,\n valuePropName: 'crudTableEditionData',\n closeSideSheet: null,\n closeSideSheetPropName: 'closeSideSheet',\n pageId: selectedEntity?.unityBaseUpdateMethod?.pageId,\n isNewEntry: false,\n entityName,\n entityData: data\n }\n },\n disabled: !!!selectedEntity?.unityBaseUpdateMethod\n },\n {\n id: 2, // Must be unique\n title: selectedEntity?.unityBaseDeleteMethod\n ? t('Delete')\n : t('Delete Method Not Accessible'),\n icon: DeleteIcon,\n onClick: null,\n opens: 'dialog',\n loading: !!!foreignKeyData,\n view: {\n component: null,\n properties: {\n title: t('Delete'),\n message: t('Are you sure you want to delete this row?'),\n labelOne: t('Cancel'),\n actionTwo: handleOnDelete,\n labelTwo: t('Confirm')\n }\n },\n disabled: !!!selectedEntity?.unityBaseDeleteMethod\n }\n ];\n\n if (params?.loadInquiryNode && params?.displayLoadNodeButton) {\n actions.push({\n id: 5, // Must be unique\n title: t('Load to Tree'),\n icon: UploadIcon,\n onClick: (value) => {\n const obj = getCleanData(value, lookupsMap);\n params.loadInquiryNode(obj);\n },\n loading: !!!foreignKeyData,\n view: {}\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n entityAttributes,\n foreignKeyData,\n handleOnUpdate,\n handleOnDelete,\n entityName,\n entityData,\n getCleanData,\n lookupsMap,\n params\n ]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpOjectFieldInfo) {\n setUdpFieldSearchApiId(\n udpOjectFieldInfo?.unityBaseSearchMethod?.apiMethodId || '' // If falsy lets set to empty string\n );\n }\n }, [udpOjectFieldInfo]);\n\n useEffect(() => {\n setAlertWarnings([]);\n if (udpCatalogKey) {\n setEntityName(udpCatalogKey);\n }\n }, [udpCatalogKey]);\n\n useEffect(() => {\n if (tpacb) {\n setApiCatalogId(tpacb.apiCatalogId);\n }\n }, [tpacb]);\n\n // Set loading flag based on the API loading flags\n useEffect(() => {\n setLoading(tpacbLoading || promotedMethodsLoading);\n }, [tpacbLoading, promotedMethodsLoading]);\n\n if (tpacbError) {\n return (\n <Alert severity='error'>\n {t('There is no Api Catalog associated with your tenant and product')}\n </Alert>\n );\n }\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert onClose={() => removeWarning(warning.id)} severity='warning'>\n {warning.message || ''}\n </Alert>\n ))}\n <DataBrowserContainer\n entityData={entityData}\n actionList={actionList}\n onCreate={handleOnCreate}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n isLoading={loading}\n promotedEntity={selectedEntity}\n setEntityData={setEntityData}\n isServerSide={true}\n apiMethod={{ apiCatalogId, entityName }}\n setGridApi={setGridApi}\n filterElements={searchFilterElements}\n backToConfigPage={\n enteredFromConfig ? () => handleEntitySelect(null) : null\n }\n queryColumnsData={queryColumnsData}\n lookupsMap={lookupsMap}\n disableRowSelction={!params?.loadInquiryNode}\n />\n </>\n );\n};\n\nexport default memo(UdpDataBrowserPage);\n","export {default} from './UdpDataBrowserPage';\nexport * from './UdpDataBrowserPage';\n"],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ import { UdpFormsBuilder } from "udp-react-stencil-component-library";
|
|
|
8
8
|
|
|
9
9
|
//#region src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.jsx
|
|
10
10
|
const UdpFormsBuilderPage = () => {
|
|
11
|
-
useUser();
|
|
12
|
-
useTenant();
|
|
11
|
+
const user = useUser();
|
|
12
|
+
const tenant = useTenant();
|
|
13
13
|
const location = useLocation();
|
|
14
14
|
const history = useHistory();
|
|
15
15
|
const { enqueueSnackbar, closeSnackbar } = useSnackbar();
|
|
@@ -23,9 +23,11 @@ const UdpFormsBuilderPage = () => {
|
|
|
23
23
|
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(UdpFormsBuilder, {
|
|
24
24
|
formId,
|
|
25
25
|
version,
|
|
26
|
+
history,
|
|
27
|
+
getUserCallback: () => user,
|
|
28
|
+
getTenantCallback: () => tenant,
|
|
26
29
|
enqueueSnackbar,
|
|
27
|
-
closeSnackbar
|
|
28
|
-
history
|
|
30
|
+
closeSnackbar
|
|
29
31
|
}));
|
|
30
32
|
};
|
|
31
33
|
var UdpFormsBuilderPage_default = UdpFormsBuilderPage;
|
|
@@ -36,4 +38,4 @@ var UdpFormsBuilderPage_exports = /* @__PURE__ */ __export({ default: () => UdpF
|
|
|
36
38
|
|
|
37
39
|
//#endregion
|
|
38
40
|
export { UdpFormsBuilderPage_default as n, UdpFormsBuilderPage_exports as t };
|
|
39
|
-
//# sourceMappingURL=UdpFormsBuilderPage-
|
|
41
|
+
//# sourceMappingURL=UdpFormsBuilderPage-C1_7kI_t.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpFormsBuilderPage-
|
|
1
|
+
{"version":3,"file":"UdpFormsBuilderPage-C1_7kI_t.js","names":[],"sources":["../src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.jsx","../src/udp/pages/UdpFormsBuilderPage/index.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { UdpFormsBuilder } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useSnackbar } from 'notistack';\n\nconst UdpFormsBuilderPage = () => {\n const user = useUser();\n const tenant = useTenant();\n const location = useLocation(); // detects changes in the URL\n const history = useHistory();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Store search params in state so re-render happens when they change\n const [searchParams, setSearchParams] = useState(() => new URLSearchParams(location.search));\n\n // Recompute search params on location change\n useEffect(() => {\n setSearchParams(new URLSearchParams(location.search));\n }, [location.search]);\n\n // Extract values from searchParams\n const formId = searchParams.get('udpf_formId');\n const version = searchParams.get('udpf_version');\n const callbackUrl = searchParams.get('udpf_callback_url');\n\n return (\n <div>\n <UdpFormsBuilder\n formId={formId} // optional for loading exisiting forms\n version={version} // optional for loading specific version of existing forms\n history={history} // required\n getUserCallback={() => user} // required\n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n />\n </div>\n );\n};\n\nexport default UdpFormsBuilderPage;","export {default} from './UdpFormsBuilderPage';\nexport * from './UdpFormsBuilderPage';\n"],"mappings":";;;;;;;;;AAOA,MAAM,4BAA4B;CAChC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CAGxD,MAAM,CAAC,cAAc,mBAAmB,eAAe,IAAI,gBAAgB,SAAS,OAAO,CAAC;AAG5F,iBAAgB;AACd,kBAAgB,IAAI,gBAAgB,SAAS,OAAO,CAAC;IACpD,CAAC,SAAS,OAAO,CAAC;CAGrB,MAAM,SAAS,aAAa,IAAI,cAAc;CAC9C,MAAM,UAAU,aAAa,IAAI,eAAe;AAC5B,cAAa,IAAI,oBAAoB;AAEzD,QACE,oCAAC,aACC,oCAAC;EACS;EACC;EACA;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;GACf,CACE;;AAIV,kCAAe"}
|