udp-react-enterprise-component-library 25.18.1-beta.11 → 25.18.1-beta.13
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 +2 -2
- 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":"CrudForm-mWpBEuUw.js","names":["Field","useDefaultFormValues","schemaAttribute","sanitizedName","fkData","Form"],"sources":["../src/UI/forms/UdpCrudFormFields.jsx","../src/UI/forms/CrudForm.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useMemo, useEffect } from 'react';\nimport { Field } from '../../utilities/form';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useForm } from 'react-final-form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { TagEnums } from '../../enums/tagEnums';\nimport { ConfigService } from '../../configService';\n\nexport const UdpCrudFormFields = (props) => {\n const { entityName, formData, existingTagAssociation } = props;\n const form = useForm();\n const user = useUser();\n const sanitizedEntityName = getSanitizedName(entityName);\n const IS_FOR_LOOKUP =\n sanitizedEntityName?.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase();\n const IS_FOR_TAGS = ![\n TagEnums.TagAssociationSanitizedName.toLowerCase(),\n TagEnums.TagSanitizedName.toLowerCase(),\n TagEnums.TagTypeSanitizedName.toLowerCase()\n ].includes(sanitizedEntityName?.toLowerCase());\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n const { data: udpTagEntity } = usePromotedMethodEntity('udpTag', true);\n\n const [{ data: udpObjectInfoList }, fetchUdpObjectInfoList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpObjectInfoEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const [{ data: udpTagList }, fetchUdpTagList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpTagEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const initialTagValues = useMemo(() => {\n let existingTagIds = existingTagAssociation?.map((tag) => tag.id);\n let tagValues = udpTagList\n ? udpTagList.filter((tag) => existingTagIds.includes(tag.id))\n : [];\n return tagValues;\n }, [existingTagAssociation, udpTagList]);\n\n const initialDomainNameValue = useMemo(() => {\n let domainName = formData?.domainName;\n if (domainName && udpObjectInfoList) {\n domainName = getSanitizedName(domainName);\n return udpObjectInfoList.find(\n (updObjectInfo) => updObjectInfo.sanitizedName === domainName\n );\n }\n return '';\n }, [formData, udpObjectInfoList]);\n\n const lookupFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialDomainNameValue}\n label={'Domain Name'}\n name={'domainName'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpObjectInfoList || []}\n optionKey={'sanitizedName'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpObjectInfoList, initialDomainNameValue]);\n\n const tagFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialTagValues}\n isMultiple\n label={'Tags'}\n name={'udpTags'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpTagList || []}\n optionKey={'name'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpTagList, initialTagValues]);\n\n useEffect(() => {\n if (udpObjectInfoEntity?.unityBaseGetAllMethod && IS_FOR_LOOKUP) {\n fetchUdpObjectInfoList({ data: {} });\n }\n }, [udpObjectInfoEntity, fetchUdpObjectInfoList, IS_FOR_LOOKUP]);\n\n useEffect(() => {\n form.change('domainName', initialDomainNameValue);\n }, [form, initialDomainNameValue]);\n\n useEffect(() => {\n form.change('udpTags', initialTagValues);\n }, [form, initialTagValues]);\n\n useEffect(() => {\n if (udpTagEntity?.unityBaseGetAllMethod) {\n fetchUdpTagList({ data: {} });\n }\n }, [udpTagEntity, fetchUdpTagList]);\n\n return (\n <>\n {IS_FOR_LOOKUP ? lookupFields : null}\n {IS_FOR_TAGS ? tagFields : null}\n </>\n );\n};\n\nUdpCrudFormFields.propTypes = {\n /**\n * Entity name for promoted entity\n */\n entityName: PropTypes.string\n};\n","import { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { Form, FormButtons, SubmitButton } from '../../utilities/form';\nimport { useCrudActions } from '../../hooks/crudActions';\nimport { toLowerFirstChar } from '../../utilities/input/StringUtilities';\nimport useDefaultFormValues from '../../utilities/crud/useDefaultFormValues';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../enums/unitySystemEnums';\nimport { UdpCrudFormFields } from './UdpCrudFormFields';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryWithParameters } from '../../udp/utilities/methodUtils';\nimport { differenceWith } from 'lodash';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { TagEnums } from '../../enums/tagEnums';\n\nconst useStyles = makeStyles((theme) => ({\n actions: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n flexGrow: 1\n },\n subject: {\n marginLeft: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1\n },\n switchRoot: {\n marginLeft: theme.spacing(1)\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 13\n },\n labelRoot: {\n fontSize: 13\n }\n}));\n\nexport const CrudForm = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const { renderInputByFieldType } = useCrudActions();\n\n const [fkData, setFkData] = useState(\n foreignKeyData?.map((fkd) => ({ ...fkd }))\n );\n const { data: promotedEntity } = usePromotedMethodEntity(entityName);\n const { data: udpTagAssocPromotedEntity } = usePromotedMethodEntity(\n 'UdpTagAssociation',\n true\n );\n const { defaultFormValues } = useDefaultFormValues(entityAttributes);\n const [crudTableFormData, setCrudTableFormData] = useState(\n crudTableEditionData || defaultFormValues\n );\n const [existingTagAssociation, setExistingTagAssociation] = useState([]);\n const classes = useStyles();\n\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n const primaryKeyValues = useMemo(\n () => getPrimaryKeyValues(entityAttributes, crudTableEditionData),\n [entityAttributes, crudTableEditionData]\n );\n\n const getEntityFull = useCallback(async () => {\n if (\n !promotedEntity?.unityBaseGetFullMethod?.apiMethodId ||\n !promotedEntity?.unityBaseUpdateMethod?.pathParameters\n ) {\n return null;\n }\n\n const pathObject = getPathObject(\n promotedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n\n let data = { requestBody: {} };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: {} };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n promotedEntity.unityBaseGetFullMethod.apiMethodId\n ).catch((res) => {\n console.error(res);\n });\n\n if (response?.status === 200) {\n return response.data;\n } else {\n console.error(\n `Could not retrieve full data for ${promotedEntity?.entityName}`\n );\n }\n return null;\n }, [promotedEntity, primaryKeyValues]);\n\n // we'll need this to determine which property names are used as keys for many-to-many\n const manyToManyPropertyList = useMemo(() => {\n if (!entityAttributes?.length) return [];\n const mtmPropertyList = new Set();\n entityAttributes.forEach((attr) => {\n if (attr?.extendedProperties?.childEntity) {\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach((value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n mtmPropertyList.add(name.toLowerCase());\n }\n });\n }\n });\n return mtmPropertyList;\n }, [entityAttributes]);\n\n const getJoiningObj = (schemaAttribute, ceAttributes) => {\n return ceAttributes.find(\n (ceAttr) =>\n Object.keys(ceAttr?.extendedProperties?.childEntityAssoc || {})\n .length &&\n ceAttr.extendedProperties.childEntityAssoc.Keys.find((a) => {\n const fieldId = a.split(',')[0];\n return (\n (/^[A-Z]*$/.test(fieldId)\n ? fieldId.toLowerCase()\n : toLowerFirstChar(fieldId)) ===\n toLowerFirstChar(schemaAttribute.name)\n );\n })\n );\n };\n\n const renderAttribute = useCallback(\n (schemaAttribute, fieldInfo) => {\n let render = !fieldInfo?.isIdentity;\n\n if (\n schemaAttribute?.extendedProperties?.identifier &&\n fieldInfo?.dataType === 'Guid'\n ) {\n render = false;\n }\n entityAttributes.every((schemaAttribute, index) => {\n const ceAttributes = entityAttributes.filter(\n (ea) =>\n ea.extendedProperties.childEntity &&\n ea.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n ea.extendedProperties.childEntityAssoc.IsJoiningObject\n );\n\n if (getJoiningObj(schemaAttribute, ceAttributes)) {\n render = true;\n return false;\n }\n return true;\n });\n\n return render;\n },\n [entityAttributes]\n );\n\n // function that helps transform form data for entites like UdpLookup, UdpTagType, UdpShortcutContent\n const transformDataForUdpMaintenance = useCallback(\n (values) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n // Current entity to modify is a UdpLookup\n if (sanitizedName === UdpEnums.Udp_Lookup.toLowerCase()) {\n const attributeName = toLowerFirstChar(\n EntityAttributeEnums.Domain_Name\n );\n let domainName = values[attributeName];\n const modelNameSpaceStructure = domainName?.namespaceStructure?.model;\n const sanitizedName = domainName?.sanitizedName;\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ] = false;\n if (modelNameSpaceStructure) {\n values[\n attributeName\n ] = `${modelNameSpaceStructure}.Models.${sanitizedName}`;\n } else {\n values[attributeName] = '';\n }\n } else if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase()\n ) {\n values[toLowerFirstChar(EntityAttributeEnums.User_Defined)] = true;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase()\n ) {\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ] = false;\n }\n },\n [entityName]\n );\n\n const tagAssociationComparator = (ta1, ta2) => {\n return ta1?.id === ta2?.id;\n };\n\n // Callback to handle associating tags to business objects\n const handleTagAssociation = useCallback(\n async (values, businessObjectKey) => {\n // Get the tagAssociation objects to delete\n const tagAssociationToDelete = differenceWith(\n existingTagAssociation,\n values?.udpTags,\n tagAssociationComparator\n );\n\n // Get the tagAssociation objects to create\n const tagAssociationToCreate = differenceWith(\n values?.udpTags,\n existingTagAssociation,\n tagAssociationComparator\n );\n\n const deleteTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseDeleteMethod;\n const createTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseCreateMethod;\n\n if (businessObjectKey) {\n if (deleteTagAssociationApiMethod) {\n const deletedPromises = [];\n tagAssociationToDelete.forEach((tagAssocToDelete) => {\n const data = {};\n data['{tagId}'] = tagAssocToDelete.id;\n data['{entityBusinessKey}'] = businessObjectKey;\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteTagAssociationApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Tag Association deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Tag Association Method Not Promoted'\n );\n }\n\n if (createTagAssociationApiMethod) {\n const createdPromises = [];\n tagAssociationToCreate.forEach((tagAssoc) => {\n const data = {\n requestBody: {\n tagId: tagAssoc.id,\n entityBusinessKey: businessObjectKey\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createTagAssociationApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingTagAssociation = tagAssociationToCreate.find(\n (ta) => ta.value === entityBusinessKey\n );\n if (!matchingTagAssociation) {\n console.warn(\n `Tag Association not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingTagAssociation(values?.udpTags);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Tag Association Method Not Promoted'\n );\n }\n }\n },\n [\n handleErrorSnackbar,\n existingTagAssociation,\n setExistingTagAssociation,\n udpTagAssocPromotedEntity\n ]\n );\n\n const handleSubmit = useCallback(\n async (values) => {\n let newTableData = {\n ...crudTableFormData,\n ...values\n };\n\n transformDataForUdpMaintenance(newTableData);\n\n const isNewRow = !crudTableEditionData;\n\n if (!isNewEntry) {\n // remove identifiers from object\n entityAttributes\n .filter((ea) => {\n const joiningObject = getJoiningObj(ea, entityAttributes);\n const fieldInfo = udpFieldInfos?.find(\n (fi) => fi?.name.toLowerCase() === ea?.name?.toLowerCase()\n );\n return (\n ea?.extendedProperties?.identifier &&\n fieldInfo?.isIdentity &&\n fieldInfo?.dataType !== 'Guid' &&\n (!joiningObject || joiningObject.extendedProperties?.childEntity)\n );\n })\n .forEach((ea) => {\n delete newTableData[ea.name];\n });\n }\n\n // transform values by fkData before creating/updating\n foreignKeyData.forEach((fkd) => {\n Object.keys(newTableData).forEach((key) => {\n if (key === fkd.fieldName) {\n const fkData = fkd.data.find(\n (d) => d.id === newTableData[key]?.id\n )?.id;\n if (fkData !== null) {\n newTableData[key] = fkData;\n }\n }\n });\n });\n\n let businessObjectKey = '';\n if (isNewRow) {\n if (onCreate) {\n const createdResponse = await onCreate(newTableData);\n if (createdResponse?.status === 200) {\n businessObjectKey = createdResponse?.data?.businessObjectKey;\n }\n }\n } else {\n if (onUpdate) {\n await onUpdate(newTableData, primaryKeyValues);\n businessObjectKey = newTableData?.businessObjectKey;\n }\n }\n if (businessObjectKey && values?.udpTags) {\n handleTagAssociation(values, businessObjectKey);\n }\n closeSideSheet && closeSideSheet();\n },\n [\n crudTableFormData,\n transformDataForUdpMaintenance,\n crudTableEditionData,\n isNewEntry,\n foreignKeyData,\n closeSideSheet,\n entityAttributes,\n onCreate,\n onUpdate,\n primaryKeyValues,\n handleTagAssociation\n ]\n );\n\n const shouldAttributeRenderField = useCallback(\n (schemaAttribute) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.User_Defined)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Lookup.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ) {\n return false;\n }\n\n return true;\n },\n [entityName]\n );\n\n useEffect(() => {\n const getFullData = async () => {\n const fullEntityData = await getEntityFull();\n if (fullEntityData) {\n const filteredTags = fullEntityData.udpTags?.map(\n (tagAssoc) => tagAssoc.udpTagAssociationUdpTag\n );\n setExistingTagAssociation(filteredTags || []);\n }\n };\n if (promotedEntity && !isNewEntry) {\n getFullData();\n }\n }, [promotedEntity, getEntityFull, isNewEntry]);\n\n useEffect(() => {\n if (foreignKeyData) {\n setFkData(foreignKeyData?.map((fkd) => ({ ...fkd })));\n }\n }, [foreignKeyData]);\n\n return (\n <Form onSubmit={handleSubmit}>\n <div>\n {entityAttributes?.map((schemaAttribute, index) => {\n const fieldInfo = udpFieldInfos?.find(\n (fi) =>\n fi?.name.toLowerCase() === schemaAttribute?.name?.toLowerCase()\n );\n // If the field is an identity and is Updating form, we will make the field readOnly\n if (fieldInfo?.isPrimaryKey && !isNewEntry) {\n schemaAttribute.disabled = true;\n }\n if (fieldInfo?.isPrimaryKey && isNewEntry && !fieldInfo?.isIdentity) {\n schemaAttribute.disabled = false;\n }\n if (!shouldAttributeRenderField(schemaAttribute)) {\n return null;\n }\n return (\n renderAttribute(schemaAttribute, fieldInfo) && (\n <React.Fragment key={`${schemaAttribute.name}-${index}`}>\n <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n {schemaAttribute.friendlyName}\n </Typography>\n {renderInputByFieldType(\n schemaAttribute,\n index,\n entityAttributes,\n fieldInfo,\n fkData,\n setFkData,\n crudTableFormData,\n classes,\n isNewEntry,\n entityData,\n manyToManyPropertyList\n )}\n </React.Fragment>\n )\n );\n })}\n <UdpCrudFormFields\n entityName={entityName}\n formData={crudTableFormData}\n existingTagAssociation={existingTagAssociation}\n />\n </div>\n\n <FormButtons>\n <SubmitButton\n id='udpRecord-CrudForm-Submit'\n udprecordid='udpRecord-CrudForm-Submit'\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={false}\n style={{ marginTop: 15 }}\n >\n Save\n </SubmitButton>\n </FormButtons>\n </Form>\n );\n};\n\nCrudForm.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CrudForm-DzmNPfVa.js","names":["Field","useDefaultFormValues","schemaAttribute","sanitizedName","fkData","Form"],"sources":["../src/UI/forms/UdpCrudFormFields.jsx","../src/UI/forms/CrudForm.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useMemo, useEffect } from 'react';\nimport { Field } from '../../utilities/form';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { FluentTextFieldAutoComplete } from '../inputs/textField/FluentTextFieldAutoComplete';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { useAxiosMutate } from '../../utilities/useAxiosMutate';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { useForm } from 'react-final-form';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { TagEnums } from '../../enums/tagEnums';\nimport { ConfigService } from '../../configService';\n\nexport const UdpCrudFormFields = (props) => {\n const { entityName, formData, existingTagAssociation } = props;\n const form = useForm();\n const user = useUser();\n const sanitizedEntityName = getSanitizedName(entityName);\n const IS_FOR_LOOKUP =\n sanitizedEntityName?.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase();\n const IS_FOR_TAGS = ![\n TagEnums.TagAssociationSanitizedName.toLowerCase(),\n TagEnums.TagSanitizedName.toLowerCase(),\n TagEnums.TagTypeSanitizedName.toLowerCase()\n ].includes(sanitizedEntityName?.toLowerCase());\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n const { data: udpTagEntity } = usePromotedMethodEntity('udpTag', true);\n\n const [{ data: udpObjectInfoList }, fetchUdpObjectInfoList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpObjectInfoEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const [{ data: udpTagList }, fetchUdpTagList] = useAxiosMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${udpTagEntity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n }\n );\n\n const initialTagValues = useMemo(() => {\n let existingTagIds = existingTagAssociation?.map((tag) => tag.id);\n let tagValues = udpTagList\n ? udpTagList.filter((tag) => existingTagIds.includes(tag.id))\n : [];\n return tagValues;\n }, [existingTagAssociation, udpTagList]);\n\n const initialDomainNameValue = useMemo(() => {\n let domainName = formData?.domainName;\n if (domainName && udpObjectInfoList) {\n domainName = getSanitizedName(domainName);\n return udpObjectInfoList.find(\n (updObjectInfo) => updObjectInfo.sanitizedName === domainName\n );\n }\n return '';\n }, [formData, udpObjectInfoList]);\n\n const lookupFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialDomainNameValue}\n label={'Domain Name'}\n name={'domainName'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpObjectInfoList || []}\n optionKey={'sanitizedName'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpObjectInfoList, initialDomainNameValue]);\n\n const tagFields = useMemo(() => {\n return (\n <Field\n component={FluentTextFieldAutoComplete}\n initialValue={initialTagValues}\n isMultiple\n label={'Tags'}\n name={'udpTags'}\n fullWidth\n variant='outlined'\n margin='normal'\n options={udpTagList || []}\n optionKey={'name'}\n style={{ marginTop: 8 }}\n />\n );\n }, [udpTagList, initialTagValues]);\n\n useEffect(() => {\n if (udpObjectInfoEntity?.unityBaseGetAllMethod && IS_FOR_LOOKUP) {\n fetchUdpObjectInfoList({ data: {} });\n }\n }, [udpObjectInfoEntity, fetchUdpObjectInfoList, IS_FOR_LOOKUP]);\n\n useEffect(() => {\n form.change('domainName', initialDomainNameValue);\n }, [form, initialDomainNameValue]);\n\n useEffect(() => {\n form.change('udpTags', initialTagValues);\n }, [form, initialTagValues]);\n\n useEffect(() => {\n if (udpTagEntity?.unityBaseGetAllMethod) {\n fetchUdpTagList({ data: {} });\n }\n }, [udpTagEntity, fetchUdpTagList]);\n\n return (\n <>\n {IS_FOR_LOOKUP ? lookupFields : null}\n {IS_FOR_TAGS ? tagFields : null}\n </>\n );\n};\n\nUdpCrudFormFields.propTypes = {\n /**\n * Entity name for promoted entity\n */\n entityName: PropTypes.string\n};\n","import { makeStyles, Typography } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { Form, FormButtons, SubmitButton } from '../../utilities/form';\nimport { useCrudActions } from '../../hooks/crudActions';\nimport { toLowerFirstChar } from '../../utilities/input/StringUtilities';\nimport useDefaultFormValues from '../../utilities/crud/useDefaultFormValues';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../enums/unitySystemEnums';\nimport { UdpCrudFormFields } from './UdpCrudFormFields';\nimport { usePromotedMethodEntity } from '../../hooks/usePromotedMethodEntity';\nimport { executeQueryWithParameters } from '../../udp/utilities/methodUtils';\nimport { differenceWith } from 'lodash';\nimport { useHandleAxiosSnackbar } from '../../utilities/apiHelpers';\nimport { getSanitizedName } from '../../utilities/entities/entityUtilities';\nimport { TagEnums } from '../../enums/tagEnums';\n\nconst useStyles = makeStyles((theme) => ({\n actions: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'flex',\n flexDirection: 'row'\n },\n title: {\n flexGrow: 1\n },\n subject: {\n marginLeft: theme.spacing(1),\n display: 'flex',\n flexDirection: 'row',\n flexGrow: 1\n },\n switchRoot: {\n marginLeft: theme.spacing(1)\n },\n input: {\n height: 34,\n padding: 0\n },\n formTextInput: {\n fontSize: 13\n },\n labelRoot: {\n fontSize: 13\n }\n}));\n\nexport const CrudForm = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const { renderInputByFieldType } = useCrudActions();\n\n const [fkData, setFkData] = useState(\n foreignKeyData?.map((fkd) => ({ ...fkd }))\n );\n const { data: promotedEntity } = usePromotedMethodEntity(entityName);\n const { data: udpTagAssocPromotedEntity } = usePromotedMethodEntity(\n 'UdpTagAssociation',\n true\n );\n const { defaultFormValues } = useDefaultFormValues(entityAttributes);\n const [crudTableFormData, setCrudTableFormData] = useState(\n crudTableEditionData || defaultFormValues\n );\n const [existingTagAssociation, setExistingTagAssociation] = useState([]);\n const classes = useStyles();\n\n const { handleErrorSnackbar } = useHandleAxiosSnackbar();\n\n const primaryKeyValues = useMemo(\n () => getPrimaryKeyValues(entityAttributes, crudTableEditionData),\n [entityAttributes, crudTableEditionData]\n );\n\n const getEntityFull = useCallback(async () => {\n if (\n !promotedEntity?.unityBaseGetFullMethod?.apiMethodId ||\n !promotedEntity?.unityBaseUpdateMethod?.pathParameters\n ) {\n return null;\n }\n\n const pathObject = getPathObject(\n promotedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n\n let data = { requestBody: {} };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: {} };\n }\n\n const response = await executeQueryWithParameters(\n { data },\n promotedEntity.unityBaseGetFullMethod.apiMethodId\n ).catch((res) => {\n console.error(res);\n });\n\n if (response?.status === 200) {\n return response.data;\n } else {\n console.error(\n `Could not retrieve full data for ${promotedEntity?.entityName}`\n );\n }\n return null;\n }, [promotedEntity, primaryKeyValues]);\n\n // we'll need this to determine which property names are used as keys for many-to-many\n const manyToManyPropertyList = useMemo(() => {\n if (!entityAttributes?.length) return [];\n const mtmPropertyList = new Set();\n entityAttributes.forEach((attr) => {\n if (attr?.extendedProperties?.childEntity) {\n Object.keys(attr.extendedProperties.childEntityAssoc || {}).length &&\n attr.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n attr.extendedProperties.childEntityAssoc.Keys.forEach((value, i) => {\n const name = value.split(',')[0];\n if (name) {\n // check name string: if 1 word, lowercase. if 2 words, lower first char\n mtmPropertyList.add(name.toLowerCase());\n }\n });\n }\n });\n return mtmPropertyList;\n }, [entityAttributes]);\n\n const getJoiningObj = (schemaAttribute, ceAttributes) => {\n return ceAttributes.find(\n (ceAttr) =>\n Object.keys(ceAttr?.extendedProperties?.childEntityAssoc || {})\n .length &&\n ceAttr.extendedProperties.childEntityAssoc.Keys.find((a) => {\n const fieldId = a.split(',')[0];\n return (\n (/^[A-Z]*$/.test(fieldId)\n ? fieldId.toLowerCase()\n : toLowerFirstChar(fieldId)) ===\n toLowerFirstChar(schemaAttribute.name)\n );\n })\n );\n };\n\n const renderAttribute = useCallback(\n (schemaAttribute, fieldInfo) => {\n let render = !fieldInfo?.isIdentity;\n\n if (\n schemaAttribute?.extendedProperties?.identifier &&\n fieldInfo?.dataType === 'Guid'\n ) {\n render = false;\n }\n entityAttributes.every((schemaAttribute, index) => {\n const ceAttributes = entityAttributes.filter(\n (ea) =>\n ea.extendedProperties.childEntity &&\n ea.extendedProperties.childEntityAssoc.Cardinality ===\n CardinalityTypeEnums.Many_To_Many &&\n ea.extendedProperties.childEntityAssoc.IsJoiningObject\n );\n\n if (getJoiningObj(schemaAttribute, ceAttributes)) {\n render = true;\n return false;\n }\n return true;\n });\n\n return render;\n },\n [entityAttributes]\n );\n\n // function that helps transform form data for entites like UdpLookup, UdpTagType, UdpShortcutContent\n const transformDataForUdpMaintenance = useCallback(\n (values) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n // Current entity to modify is a UdpLookup\n if (sanitizedName === UdpEnums.Udp_Lookup.toLowerCase()) {\n const attributeName = toLowerFirstChar(\n EntityAttributeEnums.Domain_Name\n );\n let domainName = values[attributeName];\n const modelNameSpaceStructure = domainName?.namespaceStructure?.model;\n const sanitizedName = domainName?.sanitizedName;\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ] = false;\n if (modelNameSpaceStructure) {\n values[\n attributeName\n ] = `${modelNameSpaceStructure}.Models.${sanitizedName}`;\n } else {\n values[attributeName] = '';\n }\n } else if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase()\n ) {\n values[toLowerFirstChar(EntityAttributeEnums.User_Defined)] = true;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase()\n ) {\n values[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ] = false;\n }\n },\n [entityName]\n );\n\n const tagAssociationComparator = (ta1, ta2) => {\n return ta1?.id === ta2?.id;\n };\n\n // Callback to handle associating tags to business objects\n const handleTagAssociation = useCallback(\n async (values, businessObjectKey) => {\n // Get the tagAssociation objects to delete\n const tagAssociationToDelete = differenceWith(\n existingTagAssociation,\n values?.udpTags,\n tagAssociationComparator\n );\n\n // Get the tagAssociation objects to create\n const tagAssociationToCreate = differenceWith(\n values?.udpTags,\n existingTagAssociation,\n tagAssociationComparator\n );\n\n const deleteTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseDeleteMethod;\n const createTagAssociationApiMethod =\n udpTagAssocPromotedEntity?.unityBaseCreateMethod;\n\n if (businessObjectKey) {\n if (deleteTagAssociationApiMethod) {\n const deletedPromises = [];\n tagAssociationToDelete.forEach((tagAssocToDelete) => {\n const data = {};\n data['{tagId}'] = tagAssocToDelete.id;\n data['{entityBusinessKey}'] = businessObjectKey;\n deletedPromises.push(\n executeQueryWithParameters(\n { data },\n deleteTagAssociationApiMethod.apiMethodId\n )\n );\n });\n\n await Promise.all(deletedPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n if (responses.length !== deletedPromises.length) {\n console.warn(`Not all Tag Association deleted`);\n }\n }\n );\n } else {\n handleErrorSnackbar(\n null,\n 'Delete Tag Association Method Not Promoted'\n );\n }\n\n if (createTagAssociationApiMethod) {\n const createdPromises = [];\n tagAssociationToCreate.forEach((tagAssoc) => {\n const data = {\n requestBody: {\n tagId: tagAssoc.id,\n entityBusinessKey: businessObjectKey\n }\n };\n createdPromises.push(\n executeQueryWithParameters(\n { data },\n createTagAssociationApiMethod.apiMethodId\n )\n );\n });\n await Promise.all(createdPromises.map((p) => p.catch((e) => e))).then(\n (responses) => {\n responses.forEach((response) => {\n if (response.status === 200) {\n const entityBusinessKey = response.data.entityBusinessKey;\n const matchingTagAssociation = tagAssociationToCreate.find(\n (ta) => ta.value === entityBusinessKey\n );\n if (!matchingTagAssociation) {\n console.warn(\n `Tag Association not created for all file to entities`\n );\n }\n }\n });\n }\n );\n setExistingTagAssociation(values?.udpTags);\n } else {\n handleErrorSnackbar(\n null,\n 'Create Tag Association Method Not Promoted'\n );\n }\n }\n },\n [\n handleErrorSnackbar,\n existingTagAssociation,\n setExistingTagAssociation,\n udpTagAssocPromotedEntity\n ]\n );\n\n const handleSubmit = useCallback(\n async (values) => {\n let newTableData = {\n ...crudTableFormData,\n ...values\n };\n\n transformDataForUdpMaintenance(newTableData);\n\n const isNewRow = !crudTableEditionData;\n\n if (!isNewEntry) {\n // remove identifiers from object\n entityAttributes\n .filter((ea) => {\n const joiningObject = getJoiningObj(ea, entityAttributes);\n const fieldInfo = udpFieldInfos?.find(\n (fi) => fi?.name.toLowerCase() === ea?.name?.toLowerCase()\n );\n return (\n ea?.extendedProperties?.identifier &&\n fieldInfo?.isIdentity &&\n fieldInfo?.dataType !== 'Guid' &&\n (!joiningObject || joiningObject.extendedProperties?.childEntity)\n );\n })\n .forEach((ea) => {\n delete newTableData[ea.name];\n });\n }\n\n // transform values by fkData before creating/updating\n foreignKeyData.forEach((fkd) => {\n Object.keys(newTableData).forEach((key) => {\n if (key === fkd.fieldName) {\n const fkData = fkd.data.find(\n (d) => d.id === newTableData[key]?.id\n )?.id;\n if (fkData !== null) {\n newTableData[key] = fkData;\n }\n }\n });\n });\n\n let businessObjectKey = '';\n if (isNewRow) {\n if (onCreate) {\n const createdResponse = await onCreate(newTableData);\n if (createdResponse?.status === 200) {\n businessObjectKey = createdResponse?.data?.businessObjectKey;\n }\n }\n } else {\n if (onUpdate) {\n await onUpdate(newTableData, primaryKeyValues);\n businessObjectKey = newTableData?.businessObjectKey;\n }\n }\n if (businessObjectKey && values?.udpTags) {\n handleTagAssociation(values, businessObjectKey);\n }\n closeSideSheet && closeSideSheet();\n },\n [\n crudTableFormData,\n transformDataForUdpMaintenance,\n crudTableEditionData,\n isNewEntry,\n foreignKeyData,\n closeSideSheet,\n entityAttributes,\n onCreate,\n onUpdate,\n primaryKeyValues,\n handleTagAssociation\n ]\n );\n\n const shouldAttributeRenderField = useCallback(\n (schemaAttribute) => {\n const sanitizedName = getSanitizedName(entityName?.toLowerCase());\n if (\n sanitizedName === TagEnums.TagTypeSanitizedName.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.User_Defined)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Shortcut_Content.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ) {\n return false;\n } else if (\n sanitizedName === UdpEnums.Udp_Lookup.toLowerCase() &&\n schemaAttribute?.name ===\n toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)\n ) {\n return false;\n }\n\n return true;\n },\n [entityName]\n );\n\n useEffect(() => {\n const getFullData = async () => {\n const fullEntityData = await getEntityFull();\n if (fullEntityData) {\n const filteredTags = fullEntityData.udpTags?.map(\n (tagAssoc) => tagAssoc.udpTagAssociationUdpTag\n );\n setExistingTagAssociation(filteredTags || []);\n }\n };\n if (promotedEntity && !isNewEntry) {\n getFullData();\n }\n }, [promotedEntity, getEntityFull, isNewEntry]);\n\n useEffect(() => {\n if (foreignKeyData) {\n setFkData(foreignKeyData?.map((fkd) => ({ ...fkd })));\n }\n }, [foreignKeyData]);\n\n return (\n <Form onSubmit={handleSubmit}>\n <div>\n {entityAttributes?.map((schemaAttribute, index) => {\n const fieldInfo = udpFieldInfos?.find(\n (fi) =>\n fi?.name.toLowerCase() === schemaAttribute?.name?.toLowerCase()\n );\n // If the field is an identity and is Updating form, we will make the field readOnly\n if (fieldInfo?.isPrimaryKey && !isNewEntry) {\n schemaAttribute.disabled = true;\n }\n if (fieldInfo?.isPrimaryKey && isNewEntry && !fieldInfo?.isIdentity) {\n schemaAttribute.disabled = false;\n }\n if (!shouldAttributeRenderField(schemaAttribute)) {\n return null;\n }\n return (\n renderAttribute(schemaAttribute, fieldInfo) && (\n <React.Fragment key={`${schemaAttribute.name}-${index}`}>\n <Typography variant='subtitle2' style={{ marginTop: 8 }}>\n {schemaAttribute.friendlyName}\n </Typography>\n {renderInputByFieldType(\n schemaAttribute,\n index,\n entityAttributes,\n fieldInfo,\n fkData,\n setFkData,\n crudTableFormData,\n classes,\n isNewEntry,\n entityData,\n manyToManyPropertyList\n )}\n </React.Fragment>\n )\n );\n })}\n <UdpCrudFormFields\n entityName={entityName}\n formData={crudTableFormData}\n existingTagAssociation={existingTagAssociation}\n />\n </div>\n\n <FormButtons>\n <SubmitButton\n id='udpRecord-CrudForm-Submit'\n udprecordid='udpRecord-CrudForm-Submit'\n variant='contained'\n color='secondary'\n disablePristine={false}\n disabled={false}\n style={{ marginTop: 15 }}\n >\n Save\n </SubmitButton>\n </FormButtons>\n </Form>\n );\n};\n\nCrudForm.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { t as ConfigService } from "./configService-C4uoG3wj.js";
|
|
|
2
2
|
import { t as useUser } from "./useUser-wpHGo6jU.js";
|
|
3
3
|
import { N as UdpEnums } from "./unitySystemEnums-DQSkCr3D.js";
|
|
4
4
|
import { t as LayoutUnit } from "./LayoutUnit-D4jJvonh.js";
|
|
5
|
-
import { t as useAxiosGet } from "./useAxiosGet-
|
|
6
|
-
import { t as PageContainer } from "./PageContainer-
|
|
7
|
-
import { t as CrudForm } from "./CrudForm-
|
|
5
|
+
import { t as useAxiosGet } from "./useAxiosGet-vvPjwB4W.js";
|
|
6
|
+
import { t as PageContainer } from "./PageContainer-N4d5KO-T.js";
|
|
7
|
+
import { t as CrudForm } from "./CrudForm-DzmNPfVa.js";
|
|
8
8
|
import React, { useMemo } from "react";
|
|
9
9
|
import { Divider, makeStyles } from "@material-ui/core";
|
|
10
10
|
import PropTypes from "prop-types";
|
|
@@ -117,4 +117,4 @@ CrudTableSidePanel.propTypes = {
|
|
|
117
117
|
|
|
118
118
|
//#endregion
|
|
119
119
|
export { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE as n, CrudTableSidePanel as t };
|
|
120
|
-
//# sourceMappingURL=CrudTableSidePanel-
|
|
120
|
+
//# sourceMappingURL=CrudTableSidePanel-CXOSojmw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudTableSidePanel-
|
|
1
|
+
{"version":3,"file":"CrudTableSidePanel-CXOSojmw.js","names":[],"sources":["../src/maintenanceEngine/entityAttributeActions.js","../src/maintenanceEngine/crudBrowser/CrudTableSidePanel.jsx"],"sourcesContent":["export const UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE = [\n 'businessObjectKey',\n 'clusterId',\n 'data',\n 'domainName'\n];\n","import { Divider, makeStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { CrudForm } from '../../UI/forms/CrudForm';\nimport { useUser } from '../../utilities/auth/useUser';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { PageContainer } from '../../page/PageContainer';\nimport { useAxiosGet } from '../../utilities/useAxiosGet';\nimport { Skeleton } from '@material-ui/lab';\nimport { LayoutUnit } from '../../layout/LayoutUnit';\nimport { UdpEnums } from '../../enums/unitySystemEnums';\nimport { UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE } from '../entityAttributeActions';\nimport { ConfigService } from '../../configService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n divider: {\n marginTop: theme.spacing(2)\n }\n}));\n\nconst FIELD_NUMBER = 10;\n\nexport const CrudTableSidePanel = (props) => {\n const {\n entityAttributes,\n udpFieldInfos,\n foreignKeyData,\n crudTableEditionData,\n closeSideSheet,\n onCreate,\n onUpdate,\n pageId,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps,\n isNewEntry,\n entityData,\n entityName\n } = props;\n const user = useUser();\n const classes = useStyles();\n\n const [{ data: page, loading: loadingPage }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${pageId}`,\n {},\n !!!pageId,\n false\n );\n\n const skeleton = useMemo(() => {\n const skeletonArr = [];\n for (let i = 0; i < FIELD_NUMBER; i++) {\n skeletonArr.push(\n <>\n <Skeleton key={i} variant='rect' className={classes.skeleton} />\n <LayoutUnit unit='xxs' />\n </>\n );\n }\n return skeletonArr;\n }, [classes]);\n\n // LAA UNT-3026: Remove businessObjectKey field from the side panel crud form\n const filteredEntityAttributes = useMemo(() => {\n if (entityName?.toLowerCase().includes(UdpEnums.Udp_Lookup.toLowerCase())) {\n return entityAttributes.filter(\n (attr) => !UDP_LOOKUP_ENTITY_ATTRIBUTES_TO_HIDE.includes(attr.name)\n );\n }\n return entityAttributes.filter((attr) => attr.name !== 'businessObjectKey');\n }, [entityAttributes, entityName]);\n\n const sideSheetContent = useMemo(() => {\n if (page) {\n return (\n <DndProvider backend={HTML5Backend}>\n <PageContainer\n user={user}\n key={pageId}\n pageData={page}\n widgetParams={{\n pageId: page?.pageId,\n entityAttributes: filteredEntityAttributes,\n entityData: entityData,\n entityName: entityName,\n foreignKeyData: foreignKeyData,\n isNewEntry: isNewEntry,\n udpFieldInfos: udpFieldInfos,\n nodeObj: crudTableEditionData,\n setSideSheetWidth: setSideSheetWidth,\n setSideSheetButtonLabel: setSideSheetButtonLabel,\n setSideSheetOnSubmit: setSideSheetOnSubmit,\n closeSideSheet: closeSideSheet,\n setSideSheetProps: setSideSheetProps,\n onCreate: onCreate,\n onUpdate: onUpdate\n }}\n disableMargins={true}\n />\n </DndProvider>\n );\n } else {\n return (\n <>\n <CrudForm\n entityAttributes={filteredEntityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n crudTableEditionData={crudTableEditionData}\n closeSideSheet={closeSideSheet}\n onCreate={onCreate}\n onUpdate={onUpdate}\n isNewEntry={isNewEntry}\n entityData={entityData}\n entityName={entityName}\n />\n <div className={classes.divider}>\n <Divider />\n </div>\n </>\n );\n }\n }, [\n page,\n user,\n pageId,\n setSideSheetWidth,\n setSideSheetButtonLabel,\n setSideSheetOnSubmit,\n setSideSheetProps,\n closeSideSheet,\n onCreate,\n onUpdate,\n filteredEntityAttributes,\n foreignKeyData,\n isNewEntry,\n entityData,\n classes,\n entityName,\n udpFieldInfos,\n crudTableEditionData\n ]);\n\n return (\n <div>\n {loadingPage ? (\n <>\n {skeleton.map((sk) => sk)}\n <LayoutUnit unit='md' />\n <Skeleton variant='rect' className={classes.skeletonButton} />\n </>\n ) : (\n sideSheetContent\n )}\n </div>\n );\n};\n\nCrudTableSidePanel.propTypes = {\n /**\n * Entity attributes for selected entity within catalog\n */\n entityAttributes: PropTypes.array,\n /**\n * Foreign key data for selected entity within catalog\n */\n foreignKeyData: PropTypes.array,\n /**\n * Entity data\n */\n crudTableEditionData: PropTypes.array,\n /**\n * onClick event for closing sidesheet\n */\n closeSideSheet: PropTypes.func,\n /**\n * onClick event for creating\n */\n onCreate: PropTypes.func,\n /**\n * onClick event for updating\n */\n onUpdate: PropTypes.func\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAa,uCAAuC;CAClD;CACA;CACA;CACA;CACD;;;;ACUD,MAAM,YAAY,YAAY,WAAW;CACvC,MAAM,EAAE;CACR,SAAS,EACP,WAAW,MAAM,QAAQ,EAAE,EAC5B;CACF,EAAE;AAEH,MAAM,eAAe;AAErB,MAAa,sBAAsB,UAAU;CAC3C,MAAM,EACJ,kBACA,eACA,gBACA,sBACA,gBACA,UACA,UACA,QACA,mBACA,yBACA,sBACA,mBACA,YACA,YACA,eACE;CACJ,MAAM,OAAO,SAAS;CACtB,MAAM,UAAU,WAAW;CAE3B,MAAM,CAAC,EAAE,MAAM,MAAM,SAAS,iBAAiB,YAC7C,cAAc,gBACd,QAAQ,UACR,EAAE,EACF,CAAC,CAAC,CAAC,QACH,MACD;CAED,MAAM,WAAW,cAAc;EAC7B,MAAM,cAAc,EAAE;AACtB,OAAK,IAAI,IAAI,GAAG,IAAI,cAAc,IAChC,aAAY,KACV,0DACE,oCAAC;GAAS,KAAK;GAAG,SAAQ;GAAO,WAAW,QAAQ;IAAY,EAChE,oCAAC,cAAW,MAAK,QAAQ,CACxB,CACJ;AAEH,SAAO;IACN,CAAC,QAAQ,CAAC;CAGb,MAAM,2BAA2B,cAAc;AAC7C,MAAI,YAAY,aAAa,CAAC,SAAS,SAAS,WAAW,aAAa,CAAC,CACvE,QAAO,iBAAiB,QACrB,SAAS,CAAC,qCAAqC,SAAS,KAAK,KAAK,CACpE;AAEH,SAAO,iBAAiB,QAAQ,SAAS,KAAK,SAAS,oBAAoB;IAC1E,CAAC,kBAAkB,WAAW,CAAC;CAElC,MAAM,mBAAmB,cAAc;AACrC,MAAI,KACF,QACE,oCAAC,eAAY,SAAS,gBACpB,oCAAC;GACO;GACN,KAAK;GACL,UAAU;GACV,cAAc;IACZ,QAAQ,MAAM;IACd,kBAAkB;IACN;IACA;IACI;IACJ;IACG;IACf,SAAS;IACU;IACM;IACH;IACN;IACG;IACT;IACA;IACX;GACD,gBAAgB;IAChB,CACU;MAGhB,QACE,0DACE,oCAAC;GACC,kBAAkB;GACH;GACC;GACM;GACN;GACN;GACA;GACE;GACA;GACA;IACZ,EACF,oCAAC,SAAI,WAAW,QAAQ,WACtB,oCAAC,cAAU,CACP,CACL;IAGN;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,oCAAC,aACE,cACC,0DACG,SAAS,KAAK,OAAO,GAAG,EACzB,oCAAC,cAAW,MAAK,OAAO,EACxB,oCAAC;EAAS,SAAQ;EAAO,WAAW,QAAQ;GAAkB,CAC7D,GAEH,iBAEE;;AAIV,mBAAmB,YAAY;CAI7B,kBAAkB,UAAU;CAI5B,gBAAgB,UAAU;CAI1B,sBAAsB,UAAU;CAIhC,gBAAgB,UAAU;CAI1B,UAAU,UAAU;CAIpB,UAAU,UAAU;CACrB"}
|
|
@@ -6,15 +6,15 @@ import { r as getSanitizedName } from "./entityUtilities-_8w-Zjs3.js";
|
|
|
6
6
|
import { N as UdpEnums, p as LookupTypeIdEnums } from "./unitySystemEnums-DQSkCr3D.js";
|
|
7
7
|
import { a as SqlFilterOperators, r as getSearchObject } from "./SearchUtilities-Df1gkDw9.js";
|
|
8
8
|
import { n as SideSheet } from "./SideSheet-C-rILQqR.js";
|
|
9
|
-
import { i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-
|
|
9
|
+
import { i as executeQueryWithParameters, t as executeQueryAdHoc } from "./methodUtils-Cwo_kmVX.js";
|
|
10
10
|
import { n as useBuildEnvironment } from "./useBuildEnvironment-2gdqpmBX.js";
|
|
11
|
-
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-
|
|
12
|
-
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-
|
|
13
|
-
import { t as ActionsRenderer } from "./ActionsRenderer-
|
|
11
|
+
import { t as usePromotedMethodEntity } from "./usePromotedMethodEntity-Bi2neP26.js";
|
|
12
|
+
import { t as AmbientGridTemplate } from "./AmbientGridTemplate-BecuOnHe.js";
|
|
13
|
+
import { t as ActionsRenderer } from "./ActionsRenderer-B1ImXko3.js";
|
|
14
14
|
import { t as useLookupsStore } from "./lookupsStore-DPI8oD9R.js";
|
|
15
|
-
import { t as useQueryExecutors } from "./useQueryExecutors-
|
|
15
|
+
import { t as useQueryExecutors } from "./useQueryExecutors-UWa24-Mf.js";
|
|
16
16
|
import { t as SearchServiceDatasource } from "./SearchServiceDatasource-CFWLJElU.js";
|
|
17
|
-
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-
|
|
17
|
+
import { t as CrudTableSidePanel } from "./CrudTableSidePanel-CXOSojmw.js";
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
19
19
|
import { useHistory } from "react-router-dom";
|
|
20
20
|
import { AddIcon, ConfigurationSolidIcon, LookupEntitiesIcon } from "@fluentui/react-icons";
|
|
@@ -394,4 +394,4 @@ const DataBrowserContainer = (props) => {
|
|
|
394
394
|
|
|
395
395
|
//#endregion
|
|
396
396
|
export { DataBrowserColumnDefs as n, defaultColActionsDef as r, DataBrowserContainer as t };
|
|
397
|
-
//# sourceMappingURL=DataBrowserContainer-
|
|
397
|
+
//# sourceMappingURL=DataBrowserContainer-DHE9PS3L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataBrowserContainer-hkDvrMzs.js","names":["filterChipsArray"],"sources":["../src/dataBrowser/DataBrowserColumnDefs.js","../src/dataBrowser/DataBrowserContainer.jsx"],"sourcesContent":["import {\n toTitleCase,\n toLowerFirstChar\n} from '../utilities/input/StringUtilities';\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 80,\n autoHeight: false,\n sortable: false\n};\n\nexport const DataBrowserColumnDefs = (\n entityAttributes,\n actionList,\n isServerSide,\n queryColumnsData,\n columnName = 'Actions',\n crudTableActionRenderName = 'actionsRenderer',\n panelDirection = 'right'\n) => {\n const childEntityAttributes = entityAttributes?.reduce((defs, element) => {\n if (element?.extendedProperties?.childEntity) {\n defs.push(element);\n }\n return defs;\n }, []);\n\n let shownColumns = [];\n let hiddenColumns = [];\n\n entityAttributes?.forEach((element) => {\n if (!element?.extendedProperties?.childEntity) {\n let matchingColumn = null;\n const matchingColumnIndex = queryColumnsData.findIndex(\n (column) => column.name === element?.name\n );\n\n if (matchingColumnIndex >= 0) {\n matchingColumn = queryColumnsData[matchingColumnIndex];\n }\n\n // update column header if attribute has a child entity\n const childEntity = childEntityAttributes.find(\n (ea) =>\n Object.keys(ea?.extendedProperties?.childEntityAssoc || {}).length &&\n !ea?.extendedProperties?.childEntityAssoc?.UdpType &&\n ea?.name === element?.name &&\n ea?.extendedProperties?.childEntityAssoc.Keys.find((k) =>\n toLowerFirstChar(k).includes(element?.name)\n )\n );\n\n let columnHeaderName = toTitleCase(\n childEntity ? childEntity?.reference : element?.name\n );\n\n if (matchingColumn) {\n columnHeaderName = toTitleCase(\n childEntity\n ? childEntity?.reference\n : matchingColumn?.alias || matchingColumn?.name\n );\n }\n\n let def = {\n ...defaultGridColumn,\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n hide: !matchingColumn\n };\n\n if (element?.extendedProperties?.searchable && isServerSide) {\n def = {\n ...def,\n filter: 'agTextColumnFilter',\n filterParams: {\n suppressAndOrCondition: true,\n filterOptions: [\n 'equals',\n 'contains',\n 'notEqual',\n 'greaterThan',\n 'lessThan',\n 'greaterThanOrEqual',\n 'lessThanOrEqual'\n ]\n },\n enableRowGroup: true\n };\n }\n if (element?.extendedProperties?.orderable || !isServerSide) {\n def = {\n ...def,\n sortable: true\n };\n }\n\n if (matchingColumn) {\n shownColumns[matchingColumnIndex] = def;\n } else {\n hiddenColumns.push(def);\n }\n }\n });\n\n let columnDefs = shownColumns.concat(hiddenColumns);\n\n columnDefs.push({\n headerName:\n crudTableActionRenderName === 'actionsRenderer' ? 'Actions' : columnName,\n filter: false,\n pinned: panelDirection,\n width: 150,\n maxWidth: 180,\n cellRenderer: crudTableActionRenderName,\n cellRendererParams: {\n actionList\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n });\n\n return columnDefs;\n};\n\nexport const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: false,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { AmbientGridTemplate } from '../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../UI/surfaces/SideSheet';\nimport { ActionsRenderer } from '../UI/templates/ui/renderers/ActionsRenderer';\nimport { DataBrowserColumnDefs } from './DataBrowserColumnDefs';\nimport {\n AddIcon,\n LookupEntitiesIcon,\n ConfigurationSolidIcon\n} from '@fluentui/react-icons';\nimport { CrudTableSidePanel } from '../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport { format } from 'date-fns';\nimport { findTermByType } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../enums/unitySystemEnums';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { useAgGridApi } from '../utilities/aggrid/AgTable';\nimport { SearchServiceDatasource } from '../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useUser } from '../utilities/auth/useUser';\nimport {\n toTitleCase,\n toUpperFirstChar\n} from '../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../utilities/entities/entityUtilities';\nimport { useQueryExecutors } from '../hooks/useQueryExecutors';\nimport { useLookupsStore } from '../stores/lookupsStore';\nimport { SqlFilterOperators } from '../enums/aggridEnums';\nimport { useBuildEnvironment } from '../shell/ui/useBuildEnvironment';\nimport { usePromotedMethodEntity } from '../hooks/usePromotedMethodEntity';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const DataBrowserContainer = (props) => {\n const {\n entityData,\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n isLoading,\n promotedEntity,\n setEntityData,\n apiMethod,\n isServerSide = false,\n setGridApi,\n filterElements,\n backToConfigPage,\n queryColumnsData,\n lookupsMap = {},\n ...other\n } = props;\n const [isSheetOpen, setSheetOpen] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [otherSideSheetProps, setOtherSideSheetProps] = useState({});\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n const [filterChipsArray, setFilterChipsArray] = useState([]);\n const [searchFilterElements, setSearchFilterElements] =\n useState(filterElements);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const { t } = useTranslation();\n const history = useHistory();\n const user = useUser();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { executeQueryAdHocAndMapLookups, getCleanData } = useQueryExecutors();\n const lookupApiMethodId = useLookupsStore((state) => state.lookupApiMethodId);\n const buildEnv = useBuildEnvironment();\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const entityName = useMemo(() => {\n if (!promotedEntity) return '';\n return promotedEntity.entityName || '';\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName || !entityUdpObjectInfo) return '';\n return toTitleCase(\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n );\n }, [entityName, entityUdpObjectInfo]);\n\n const createApiMethodPageId = useMemo(() => {\n return promotedEntity?.unityBaseCreateMethod?.pageId;\n }, [promotedEntity]);\n\n const secondaryActionButtons = useMemo(() => {\n const actions = [];\n if (backToConfigPage) {\n actions.push({\n onClick: backToConfigPage,\n label: t('Back To Config'),\n icon: ConfigurationSolidIcon,\n tooltip: t('Back To Config'),\n background: 'transparent'\n });\n }\n // actions.push({\n // onClick: () => {},\n // label: t('Load to Tree'),\n // icon: UploadIcon,\n // tooltip: t('Load to Tree'),\n // background: 'transparent'\n // });\n return actions;\n }, [backToConfigPage, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, t, history, promotedEntity, foreignKeyData]);\n\n const jointActionList = useMemo(() => {\n if (!actionList) {\n return [];\n }\n // Check if it's a udp lookup entity\n if (entityName.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase()) {\n return [...actionList, ...virtualActions];\n }\n return actionList;\n }, [actionList, virtualActions, entityName]);\n\n const columnDefs = useMemo(() => {\n return DataBrowserColumnDefs(\n entityAttributes,\n jointActionList,\n true,\n queryColumnsData\n );\n }, [entityAttributes, jointActionList, queryColumnsData]);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n const SideOptionList = useMemo(\n () => (\n <SideSheet\n open={isSheetOpen}\n onClose={closeSheet}\n title={`Add New ${commonEntityName}`}\n width={sideSheetWidth}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n {...otherSideSheetProps}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n onCreate={onCreate}\n closeSideSheet={closeSheet}\n pageId={createApiMethodPageId}\n setSideSheetWidth={setSideSheetWidth}\n setSideSheetButtonLabel={setSideSheetButtonLabel}\n setSideSheetOnSubmit={setSideSheetOnSubmit}\n setSideSheetProps={setOtherSideSheetProps}\n isNewEntry={true}\n entityData={entityData}\n entityName={entityName}\n />\n </SideSheet>\n ),\n [\n isSheetOpen,\n closeSheet,\n entityName,\n sideSheetWidth,\n sideSheetButtonLabel,\n sideSheetOnSubmit,\n entityAttributes,\n foreignKeyData,\n onCreate,\n createApiMethodPageId,\n entityData,\n otherSideSheetProps,\n commonEntityName\n ]\n );\n\n const getLookupResults = useCallback(async () => {\n if (!lookupsMap || !lookupApiMethodId) return null;\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n const lookupId = lookupToFilterOn?.value || '';\n if (lookupId) {\n const lookupResult = await executeQueryWithParameters(\n { data: { id: lookupId } },\n lookupApiMethodId\n );\n return lookupResult;\n }\n return null;\n }, [lookupsMap, lookupApiMethodId]);\n\n const formattedData = useMemo(() => {\n if (entityData) {\n let formattedEntityData = cloneDeep(entityData);\n\n // get list of attributes that are datetime\n const datetimeFields = entityAttributes?.reduce((defs, element) => {\n if (\n !element?.extendedProperties?.childEntity &&\n findTermByType(element?.type, 'datetime')\n ) {\n defs.push(\n element?.name.charAt(0).toLowerCase() + element?.name.slice(1)\n );\n }\n return defs;\n }, []);\n\n if (datetimeFields?.length) {\n formattedEntityData.forEach((e) => {\n Object.keys(e).forEach((key) => {\n // format all datetime fields\n if (datetimeFields.find((field) => field === key)) {\n // LAA UNT-2977: add null check to prevent default date from being added when null\n if (e[key] === null) return;\n e[key] = format(new Date(e[key]), 'yyyy/MM/dd kk:mm:ss');\n }\n });\n });\n }\n\n return formattedEntityData;\n }\n return [];\n }, [entityAttributes, entityData]);\n\n const handleChipToggle = useCallback(\n (chip) => {\n if (isServerSide && chip && chip.filterValue && chip.keyName) {\n const updatedSearchFilterElements = [...searchFilterElements];\n const chipFilterElement = {\n searchValue: chip.filterValue,\n searchField: toUpperFirstChar(chip.keyName),\n searchOperator: SqlFilterOperators.EQUALS\n };\n updatedSearchFilterElements.push(chipFilterElement);\n setSearchFilterElements(updatedSearchFilterElements);\n } else {\n // TODO: handle client side filter chips\n }\n },\n [isServerSide, searchFilterElements]\n );\n\n const handleChipUntoggle = useCallback(() => {\n setSearchFilterElements(filterElements);\n }, [filterElements]);\n\n const setFilterChips = useCallback(async () => {\n let filterChipsArray = [];\n\n // A list of all the products (for product lookup)\n const lookup = await getLookupResults();\n const lookupResults = lookup?.data;\n\n if (!lookupResults) {\n setFilterChipsArray([]);\n return; // no lookup results\n }\n\n let keyName = lookupResults.keyName;\n const valueName = lookupResults.valueName;\n\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n\n let chipKey = keyName;\n const lookupMapKeys = Object.keys(lookupsMap);\n for (let i = 0; i < lookupMapKeys.length; i++) {\n const key = lookupMapKeys[i];\n if (lookupsMap[key].value === lookupToFilterOn?.value) {\n chipKey = key;\n break;\n }\n }\n\n // Add the chips\n for (let i = 0; i < lookupResults?.data.length; i++) {\n const lookupResult = lookupResults.data[i];\n\n const label = lookupResult[valueName];\n const numRows = formattedData?.filter(\n (obj) => obj[keyName] === label\n )?.length;\n\n let chipData = {\n label: `${label}`,\n value: !isServerSide ? numRows || '' : '',\n filterValue: lookupResult[keyName],\n id: i,\n keyName: chipKey\n };\n chipData.onToggle = () => handleChipToggle(chipData);\n chipData.onUntoggle = () => handleChipUntoggle();\n\n // Only add the chip if it has results and is not using server side\n if (!isServerSide && numRows > 0) {\n filterChipsArray.push(chipData);\n }\n if (isServerSide) {\n filterChipsArray.push(chipData);\n }\n }\n\n setFilterChipsArray(filterChipsArray);\n }, [\n getLookupResults,\n handleChipToggle,\n handleChipUntoggle,\n isServerSide,\n formattedData,\n lookupsMap\n ]);\n\n useEffect(() => {\n setFilterChips();\n }, [setFilterChips]);\n\n useEffect(() => {\n setSearchFilterElements(filterElements || []);\n }, [filterElements]);\n\n useEffect(() => {\n if (!gridApi) return;\n if (setGridApi) {\n setGridApi(gridApi);\n }\n if (promotedEntity && isServerSide && lookupsMap) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n searchFilterElements,\n 1,\n executeQueryAdHocAndMapLookups,\n setEntityData,\n lookupsMap,\n false,\n getCleanData\n );\n // eslint-disable-next-line no-unused-expressions\n gridApi?.setServerSideDatasource(datasource);\n }\n }, [\n gridApi,\n promotedEntity,\n setEntityData,\n setGridApi,\n isServerSide,\n searchFilterElements,\n executeQueryAdHocAndMapLookups,\n lookupsMap,\n getCleanData\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n return (\n <>\n <AmbientGridTemplate\n gridId={GRID_ID}\n user={user}\n useNewHeader\n api={gridApi}\n onGridReady={onGridReady}\n columnApi={gridColumnApi}\n apiMethod={apiMethod}\n title={commonEntityName}\n data={!isServerSide && formattedData}\n columnDefs={columnDefs}\n groupingData={groupData}\n onPrimaryActionClick={() => setSheetOpen && setSheetOpen(true)}\n primaryActionLabel={t('Add')}\n primaryActionIcon={AddIcon}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n hideSearchBar={isServerSide}\n loading={isLoading}\n suppressScrollOnNewData\n dynamicSizing={false}\n // rowSelection='multiple'\n // rowMultiSelectWithClick={true}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n secondaryActionButtons={secondaryActionButtons}\n filterChips={[...filterChipsArray]}\n {...other}\n />\n {SideOptionList}\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataBrowserContainer-DHE9PS3L.js","names":["filterChipsArray"],"sources":["../src/dataBrowser/DataBrowserColumnDefs.js","../src/dataBrowser/DataBrowserContainer.jsx"],"sourcesContent":["import {\n toTitleCase,\n toLowerFirstChar\n} from '../utilities/input/StringUtilities';\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 80,\n autoHeight: false,\n sortable: false\n};\n\nexport const DataBrowserColumnDefs = (\n entityAttributes,\n actionList,\n isServerSide,\n queryColumnsData,\n columnName = 'Actions',\n crudTableActionRenderName = 'actionsRenderer',\n panelDirection = 'right'\n) => {\n const childEntityAttributes = entityAttributes?.reduce((defs, element) => {\n if (element?.extendedProperties?.childEntity) {\n defs.push(element);\n }\n return defs;\n }, []);\n\n let shownColumns = [];\n let hiddenColumns = [];\n\n entityAttributes?.forEach((element) => {\n if (!element?.extendedProperties?.childEntity) {\n let matchingColumn = null;\n const matchingColumnIndex = queryColumnsData.findIndex(\n (column) => column.name === element?.name\n );\n\n if (matchingColumnIndex >= 0) {\n matchingColumn = queryColumnsData[matchingColumnIndex];\n }\n\n // update column header if attribute has a child entity\n const childEntity = childEntityAttributes.find(\n (ea) =>\n Object.keys(ea?.extendedProperties?.childEntityAssoc || {}).length &&\n !ea?.extendedProperties?.childEntityAssoc?.UdpType &&\n ea?.name === element?.name &&\n ea?.extendedProperties?.childEntityAssoc.Keys.find((k) =>\n toLowerFirstChar(k).includes(element?.name)\n )\n );\n\n let columnHeaderName = toTitleCase(\n childEntity ? childEntity?.reference : element?.name\n );\n\n if (matchingColumn) {\n columnHeaderName = toTitleCase(\n childEntity\n ? childEntity?.reference\n : matchingColumn?.alias || matchingColumn?.name\n );\n }\n\n let def = {\n ...defaultGridColumn,\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n hide: !matchingColumn\n };\n\n if (element?.extendedProperties?.searchable && isServerSide) {\n def = {\n ...def,\n filter: 'agTextColumnFilter',\n filterParams: {\n suppressAndOrCondition: true,\n filterOptions: [\n 'equals',\n 'contains',\n 'notEqual',\n 'greaterThan',\n 'lessThan',\n 'greaterThanOrEqual',\n 'lessThanOrEqual'\n ]\n },\n enableRowGroup: true\n };\n }\n if (element?.extendedProperties?.orderable || !isServerSide) {\n def = {\n ...def,\n sortable: true\n };\n }\n\n if (matchingColumn) {\n shownColumns[matchingColumnIndex] = def;\n } else {\n hiddenColumns.push(def);\n }\n }\n });\n\n let columnDefs = shownColumns.concat(hiddenColumns);\n\n columnDefs.push({\n headerName:\n crudTableActionRenderName === 'actionsRenderer' ? 'Actions' : columnName,\n filter: false,\n pinned: panelDirection,\n width: 150,\n maxWidth: 180,\n cellRenderer: crudTableActionRenderName,\n cellRendererParams: {\n actionList\n },\n valueGetter: (params) => params.data,\n suppressMenu: true,\n sortable: false,\n cellStyle: { display: 'flex', alignItems: 'center' }\n });\n\n return columnDefs;\n};\n\nexport const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: false,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n};\n","import React, { useMemo, useState, useCallback, useEffect } from 'react';\nimport { AmbientGridTemplate } from '../UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate';\nimport { SideSheet } from '../UI/surfaces/SideSheet';\nimport { ActionsRenderer } from '../UI/templates/ui/renderers/ActionsRenderer';\nimport { DataBrowserColumnDefs } from './DataBrowserColumnDefs';\nimport {\n AddIcon,\n LookupEntitiesIcon,\n ConfigurationSolidIcon\n} from '@fluentui/react-icons';\nimport { CrudTableSidePanel } from '../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport { format } from 'date-fns';\nimport { findTermByType } from '../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { cloneDeep } from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { LookupTypeIdEnums, UdpEnums } from '../enums/unitySystemEnums';\nimport {\n executeQueryAdHoc,\n executeQueryWithParameters\n} from '../udp/utilities/methodUtils';\nimport { useAgGridApi } from '../utilities/aggrid/AgTable';\nimport { SearchServiceDatasource } from '../utilities/aggrid/datasources/SearchServiceDatasource';\nimport { useUser } from '../utilities/auth/useUser';\nimport {\n toTitleCase,\n toUpperFirstChar\n} from '../utilities/input/StringUtilities';\nimport { getSanitizedName } from '../utilities/entities/entityUtilities';\nimport { useQueryExecutors } from '../hooks/useQueryExecutors';\nimport { useLookupsStore } from '../stores/lookupsStore';\nimport { SqlFilterOperators } from '../enums/aggridEnums';\nimport { useBuildEnvironment } from '../shell/ui/useBuildEnvironment';\nimport { usePromotedMethodEntity } from '../hooks/usePromotedMethodEntity';\nimport { getSearchObject } from '../utilities/search/SearchUtilities';\n\nconst GRID_ID = '4be3be45-1930-4ab9-b7b7-0c0fa3e30490';\n\nexport const DataBrowserContainer = (props) => {\n const {\n entityData,\n actionList,\n onCreate,\n entityAttributes,\n foreignKeyData,\n isLoading,\n promotedEntity,\n setEntityData,\n apiMethod,\n isServerSide = false,\n setGridApi,\n filterElements,\n backToConfigPage,\n queryColumnsData,\n lookupsMap = {},\n ...other\n } = props;\n const [isSheetOpen, setSheetOpen] = useState(false);\n const [sideSheetWidth, setSideSheetWidth] = useState(600);\n const [sideSheetButtonLabel, setSideSheetButtonLabel] = useState('');\n const [otherSideSheetProps, setOtherSideSheetProps] = useState({});\n const [sideSheetOnSubmit, setSideSheetOnSubmit] = useState(\n () => () => console.warn('onSubmit not set')\n );\n const [filterChipsArray, setFilterChipsArray] = useState([]);\n const [searchFilterElements, setSearchFilterElements] =\n useState(filterElements);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const { t } = useTranslation();\n const history = useHistory();\n const user = useUser();\n const { gridApi, gridColumnApi, onGridReady } = useAgGridApi();\n const { executeQueryAdHocAndMapLookups, getCleanData } = useQueryExecutors();\n const lookupApiMethodId = useLookupsStore((state) => state.lookupApiMethodId);\n const buildEnv = useBuildEnvironment();\n const closeSheet = useCallback(() => {\n setSheetOpen(false);\n }, []);\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const entityName = useMemo(() => {\n if (!promotedEntity) return '';\n return promotedEntity.entityName || '';\n }, [promotedEntity]);\n\n const commonEntityName = useMemo(() => {\n if (!entityName || !entityUdpObjectInfo) return '';\n return toTitleCase(\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n );\n }, [entityName, entityUdpObjectInfo]);\n\n const createApiMethodPageId = useMemo(() => {\n return promotedEntity?.unityBaseCreateMethod?.pageId;\n }, [promotedEntity]);\n\n const secondaryActionButtons = useMemo(() => {\n const actions = [];\n if (backToConfigPage) {\n actions.push({\n onClick: backToConfigPage,\n label: t('Back To Config'),\n icon: ConfigurationSolidIcon,\n tooltip: t('Back To Config'),\n background: 'transparent'\n });\n }\n // actions.push({\n // onClick: () => {},\n // label: t('Load to Tree'),\n // icon: UploadIcon,\n // tooltip: t('Load to Tree'),\n // background: 'transparent'\n // });\n return actions;\n }, [backToConfigPage, t]);\n\n const virtualActions = useMemo(() => {\n return [\n // Action for opening Virtual Configuration\n {\n id: 3,\n title: t('Open Virtual Table'),\n icon: LookupEntitiesIcon,\n loading: !!!foreignKeyData,\n onClick: (value) => {\n history.push({\n pathname: `/virtual/${value.id}`,\n search: `?entityName=${entityName}`,\n state: {\n value,\n promotedEntity,\n label: value.name\n }\n });\n },\n checkDisabled: (value) => value.typeId !== LookupTypeIdEnums.Lookup\n }\n ];\n }, [entityName, t, history, promotedEntity, foreignKeyData]);\n\n const jointActionList = useMemo(() => {\n if (!actionList) {\n return [];\n }\n // Check if it's a udp lookup entity\n if (entityName.toLowerCase() === UdpEnums.Udp_Lookup.toLowerCase()) {\n return [...actionList, ...virtualActions];\n }\n return actionList;\n }, [actionList, virtualActions, entityName]);\n\n const columnDefs = useMemo(() => {\n return DataBrowserColumnDefs(\n entityAttributes,\n jointActionList,\n true,\n queryColumnsData\n );\n }, [entityAttributes, jointActionList, queryColumnsData]);\n\n const groupData = useMemo(() => {\n return columnDefs?.map((item) => {\n return {\n groupItem: item.field,\n label: item.headerName,\n value: item.field\n };\n });\n }, [columnDefs]);\n\n const SideOptionList = useMemo(\n () => (\n <SideSheet\n open={isSheetOpen}\n onClose={closeSheet}\n title={`Add New ${commonEntityName}`}\n width={sideSheetWidth}\n buttonLabel={sideSheetButtonLabel}\n onSubmit={sideSheetOnSubmit}\n {...otherSideSheetProps}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n onCreate={onCreate}\n closeSideSheet={closeSheet}\n pageId={createApiMethodPageId}\n setSideSheetWidth={setSideSheetWidth}\n setSideSheetButtonLabel={setSideSheetButtonLabel}\n setSideSheetOnSubmit={setSideSheetOnSubmit}\n setSideSheetProps={setOtherSideSheetProps}\n isNewEntry={true}\n entityData={entityData}\n entityName={entityName}\n />\n </SideSheet>\n ),\n [\n isSheetOpen,\n closeSheet,\n entityName,\n sideSheetWidth,\n sideSheetButtonLabel,\n sideSheetOnSubmit,\n entityAttributes,\n foreignKeyData,\n onCreate,\n createApiMethodPageId,\n entityData,\n otherSideSheetProps,\n commonEntityName\n ]\n );\n\n const getLookupResults = useCallback(async () => {\n if (!lookupsMap || !lookupApiMethodId) return null;\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n const lookupId = lookupToFilterOn?.value || '';\n if (lookupId) {\n const lookupResult = await executeQueryWithParameters(\n { data: { id: lookupId } },\n lookupApiMethodId\n );\n return lookupResult;\n }\n return null;\n }, [lookupsMap, lookupApiMethodId]);\n\n const formattedData = useMemo(() => {\n if (entityData) {\n let formattedEntityData = cloneDeep(entityData);\n\n // get list of attributes that are datetime\n const datetimeFields = entityAttributes?.reduce((defs, element) => {\n if (\n !element?.extendedProperties?.childEntity &&\n findTermByType(element?.type, 'datetime')\n ) {\n defs.push(\n element?.name.charAt(0).toLowerCase() + element?.name.slice(1)\n );\n }\n return defs;\n }, []);\n\n if (datetimeFields?.length) {\n formattedEntityData.forEach((e) => {\n Object.keys(e).forEach((key) => {\n // format all datetime fields\n if (datetimeFields.find((field) => field === key)) {\n // LAA UNT-2977: add null check to prevent default date from being added when null\n if (e[key] === null) return;\n e[key] = format(new Date(e[key]), 'yyyy/MM/dd kk:mm:ss');\n }\n });\n });\n }\n\n return formattedEntityData;\n }\n return [];\n }, [entityAttributes, entityData]);\n\n const handleChipToggle = useCallback(\n (chip) => {\n if (isServerSide && chip && chip.filterValue && chip.keyName) {\n const updatedSearchFilterElements = [...searchFilterElements];\n const chipFilterElement = {\n searchValue: chip.filterValue,\n searchField: toUpperFirstChar(chip.keyName),\n searchOperator: SqlFilterOperators.EQUALS\n };\n updatedSearchFilterElements.push(chipFilterElement);\n setSearchFilterElements(updatedSearchFilterElements);\n } else {\n // TODO: handle client side filter chips\n }\n },\n [isServerSide, searchFilterElements]\n );\n\n const handleChipUntoggle = useCallback(() => {\n setSearchFilterElements(filterElements);\n }, [filterElements]);\n\n const setFilterChips = useCallback(async () => {\n let filterChipsArray = [];\n\n // A list of all the products (for product lookup)\n const lookup = await getLookupResults();\n const lookupResults = lookup?.data;\n\n if (!lookupResults) {\n setFilterChipsArray([]);\n return; // no lookup results\n }\n\n let keyName = lookupResults.keyName;\n const valueName = lookupResults.valueName;\n\n const lookupToFilterOn = Object.values(lookupsMap).find(\n (item) => item.filterOn\n );\n\n let chipKey = keyName;\n const lookupMapKeys = Object.keys(lookupsMap);\n for (let i = 0; i < lookupMapKeys.length; i++) {\n const key = lookupMapKeys[i];\n if (lookupsMap[key].value === lookupToFilterOn?.value) {\n chipKey = key;\n break;\n }\n }\n\n // Add the chips\n for (let i = 0; i < lookupResults?.data.length; i++) {\n const lookupResult = lookupResults.data[i];\n\n const label = lookupResult[valueName];\n const numRows = formattedData?.filter(\n (obj) => obj[keyName] === label\n )?.length;\n\n let chipData = {\n label: `${label}`,\n value: !isServerSide ? numRows || '' : '',\n filterValue: lookupResult[keyName],\n id: i,\n keyName: chipKey\n };\n chipData.onToggle = () => handleChipToggle(chipData);\n chipData.onUntoggle = () => handleChipUntoggle();\n\n // Only add the chip if it has results and is not using server side\n if (!isServerSide && numRows > 0) {\n filterChipsArray.push(chipData);\n }\n if (isServerSide) {\n filterChipsArray.push(chipData);\n }\n }\n\n setFilterChipsArray(filterChipsArray);\n }, [\n getLookupResults,\n handleChipToggle,\n handleChipUntoggle,\n isServerSide,\n formattedData,\n lookupsMap\n ]);\n\n useEffect(() => {\n setFilterChips();\n }, [setFilterChips]);\n\n useEffect(() => {\n setSearchFilterElements(filterElements || []);\n }, [filterElements]);\n\n useEffect(() => {\n if (!gridApi) return;\n if (setGridApi) {\n setGridApi(gridApi);\n }\n if (promotedEntity && isServerSide && lookupsMap) {\n let datasource = SearchServiceDatasource(\n null,\n promotedEntity?.unityBaseSearchMethod?.apiMethodId,\n searchFilterElements,\n 1,\n executeQueryAdHocAndMapLookups,\n setEntityData,\n lookupsMap,\n false,\n getCleanData\n );\n // eslint-disable-next-line no-unused-expressions\n gridApi?.setServerSideDatasource(datasource);\n }\n }, [\n gridApi,\n promotedEntity,\n setEntityData,\n setGridApi,\n isServerSide,\n searchFilterElements,\n executeQueryAdHocAndMapLookups,\n lookupsMap,\n getCleanData\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n return (\n <>\n <AmbientGridTemplate\n gridId={GRID_ID}\n user={user}\n useNewHeader\n api={gridApi}\n onGridReady={onGridReady}\n columnApi={gridColumnApi}\n apiMethod={apiMethod}\n title={commonEntityName}\n data={!isServerSide && formattedData}\n columnDefs={columnDefs}\n groupingData={groupData}\n onPrimaryActionClick={() => setSheetOpen && setSheetOpen(true)}\n primaryActionLabel={t('Add')}\n primaryActionIcon={AddIcon}\n frameworkComponents={{ actionsRenderer: ActionsRenderer }}\n height={`calc(100vh - ${buildEnv ? '139px' : '114px'})`}\n hideSearchBar={isServerSide}\n loading={isLoading}\n suppressScrollOnNewData\n dynamicSizing={false}\n // rowSelection='multiple'\n // rowMultiSelectWithClick={true}\n disableRowSelection={true}\n rowModelType={isServerSide ? 'serverSide' : null}\n serverSideStoreType={isServerSide ? 'partial' : null}\n cacheOverflowSize={isServerSide ? 2 : null}\n cacheBlockSize={isServerSide ? 20 : null}\n maxConcurrentDatasourceRequests={isServerSide ? 1 : null}\n secondaryActionButtons={secondaryActionButtons}\n filterChips={[...filterChipsArray]}\n {...other}\n />\n {SideOptionList}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as FluentIcon } from "./FluentIcon-DQ6nSDJg.js";
|
|
2
2
|
import { t as IconRenderer } from "./IconRenderer-B2FUVnhs.js";
|
|
3
|
-
import { n as AlertPill } from "./AggregateChip-
|
|
3
|
+
import { n as AlertPill } from "./AggregateChip-BDugg_kG.js";
|
|
4
4
|
import { t as ChipAlphabet } from "./ChipAlphabet-Co4gOUVP.js";
|
|
5
|
-
import { t as UdpAlertsContainer } from "./UdpAlertsContainer-
|
|
5
|
+
import { t as UdpAlertsContainer } from "./UdpAlertsContainer-DehnlBcE.js";
|
|
6
6
|
import React, { Children, cloneElement, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
7
7
|
import { Avatar, Divider, Link, Typography, alpha, darken, lighten, makeStyles } from "@material-ui/core";
|
|
8
8
|
import clsx from "clsx";
|
|
@@ -525,4 +525,4 @@ EntityHeader.propTypes = {
|
|
|
525
525
|
|
|
526
526
|
//#endregion
|
|
527
527
|
export { EntityHeader as t };
|
|
528
|
-
//# sourceMappingURL=EntityHeader-
|
|
528
|
+
//# sourceMappingURL=EntityHeader-y6CNHP0L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityHeader-Ddk4syVV.js","names":["useStyles","useStyles","useStyles","useStyles","useStyles","useStyles","useTheme","useStyles"],"sources":["../src/UI/dataDisplay/entityHeader/ui/EntityHeaderContainer.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderList.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderListItem.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderStatList.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderStatListItem.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderSection.jsx","../src/UI/dataDisplay/entityHeader/functions/useElementWidth.js","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderFlags.jsx","../src/UI/dataDisplay/entityHeader/EntityHeader.jsx"],"sourcesContent":["import React, { Children, cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles, Divider, darken, alpha } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: props => ({\n display: 'flex',\n flexDirection: props.direction === 'column' ? 'column' : 'row',\n }),\n rootBgDark: props => ({\n backgroundColor: darken(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main,\n 0.2\n ),\n color: theme.palette.getContrastText(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main\n ),\n }),\n rootBgSoft: props => ({\n backgroundColor: alpha(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main,\n 0.15\n ),\n }),\n rootBgCustom: props => ({\n backgroundColor: props.background,\n color: props.color,\n }),\n}));\n\nexport const EntityHeaderContainer = props => {\n const { children, showSeperator, background } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, // always applies\n [classes.rootBg]: background === 'light' || !background, // if background = 'light'\n [classes.rootBgDark]: background === 'dark', // if background = 'dark'\n [classes.rootBgSoft]: background === 'soft', // if background = 'soft'\n [classes.rootBgCustom]:\n background &&\n background !== 'light' &&\n background !== 'dark' &&\n background !== 'soft',\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && (\n <Divider orientation=\"vertical\" flexItem />\n )}\n </>\n );\n })}\n </div>\n );\n};\n\nEntityHeaderContainer.propTypes = {\n children: PropTypes.node.isRequired,\n showSeperator: PropTypes.bool,\n background: PropTypes.oneOf(['light', 'dark', 'soft']),\n direction: PropTypes.oneOf(['row', 'column']),\n color: PropTypes.oneOf(['primary', 'secondary']),\n};\n\nEntityHeaderContainer.defaultProps = {\n showSeperator: true,\n background: 'light',\n direction: 'row',\n color: 'primary',\n};\n","import React, { Children, cloneElement } from 'react';\nimport clsx from 'clsx';\nimport { makeStyles, Divider } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n // listStyle: 'none',\n },\n}));\n\nexport const EntityHeaderList = props => {\n const { children, showSeperator = false } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && <Divider />}\n </>\n );\n })}\n </div>\n );\n};\n","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Link, lighten, makeStyles, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex'\n },\n labelRoot: {\n color: 'inherit',\n marginRight: theme.spacing(0.5),\n opacity: 0.6\n },\n valueRoot: {\n color: 'inherit'\n // fontWeight: theme.typography.fontWeightMedium,\n },\n link: {\n color: 'inherit',\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n}));\n\nexport const EntityHeaderListItem = (props) => {\n const {\n label,\n value,\n link,\n hideLabelSeperator = false,\n disablePadding = false\n } = props;\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n [classes.rootPadding]: !disablePadding\n })}\n >\n {!!label && (\n <Typography variant={'body1'} className={classes.labelRoot}>\n {label}\n {!hideLabelSeperator && ':'}\n </Typography>\n )}\n {!!value && (\n <Typography\n variant={'body1'}\n className={clsx({\n [classes.valueRoot]: true,\n [classes.valueFontWeigth]: true\n })}\n >\n {link ? (\n <Link\n href={link}\n className={classes.link}\n target='_blank'\n >\n {value}\n </Link>\n ) : (\n value\n )}\n </Typography>\n )}\n </div>\n );\n};\n","import React, { Children, cloneElement, useState } from 'react';\nimport clsx from 'clsx';\nimport { makeStyles, Typography, Divider } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n marginLeft: 1,\n },\n },\n rootFlexGrow: {\n flexGrow: 1,\n },\n}));\n\nexport const EntityHeaderStatList = props => {\n const { children, showSeperator, flexGrow = false } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, //always applies\n [classes.rootFlexGrow]: flexGrow,\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && (\n <Divider orientation=\"vertical\" flexItem />\n )}\n </>\n );\n })}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { alpha, Avatar, makeStyles, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n // padding: theme.spacing(1),\n },\n rootFlexGrow: {\n flexGrow: 1,\n },\n rootBlock: props => ({\n justifyContent: 'center',\n padding: theme.spacing(1),\n }),\n rootBlockDefault: props => ({\n backgroundColor: alpha(\n theme.palette.type === 'dark'\n ? theme.palette.common.black\n : theme.palette.common.white,\n 0.25\n ),\n }),\n rootBlockError: props => ({\n backgroundColor: alpha(\n theme.palette.error.main,\n theme.palette.type === 'dark' ? 0.7 : 0.1\n ),\n }),\n rootBlockSuccess: props => ({\n backgroundColor: alpha(\n theme.palette.success.main,\n theme.palette.type === 'dark' ? 0.2 : 0.3\n ),\n }),\n labelRoot: {\n color: 'inherit',\n opacity: 0.6,\n },\n rootLabelError: (props) => ({\n color: theme.palette.error.main\n }),\n rootLabelSuccess: (props) => ({\n color: theme.palette.success.main\n }),\n valueRoot: {\n color: 'inherit',\n fontWeight: theme.typography.fontWeightMedium,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n beforeValue: {\n marginRight: theme.spacing(0.3),\n },\n afterValue: {},\n icon: {\n marginRight: theme.spacing(1),\n },\n iconAvatar: {\n backgroundColor: 'transparent',\n },\n content: props => ({\n display: 'flex',\n flexDirection: 'column',\n // alignItems: 'center',\n alignItems: props.icon ? 'left' : 'center',\n }),\n}));\n\nexport const EntityHeaderStatListItem = props => {\n const {\n label = 'Label',\n value = 'Value',\n beforeValue,\n afterValue,\n flexGrow = false,\n labelColor,\n icon,\n } = props;\n\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n [classes.rootFlexGrow]: flexGrow,\n [classes.rootBlock]: true,\n // [classes.rootBlockDefault]: !labelColor,\n // [classes.rootBlockError]: labelColor === 'error',\n // [classes.rootBlockSuccess]: labelColor === 'success',\n })}\n >\n {icon && (\n <div className={classes.icon}>\n <Avatar className={classes.iconAvatar}>{icon}</Avatar>\n </div>\n )}\n <div className={classes.content}>\n {!!value && (\n <div\n className={clsx({\n [classes.valueRoot]: true,\n })}\n >\n {beforeValue && (\n <Typography variant={'body1'} className={classes.beforeValue}>\n {beforeValue}\n </Typography>\n )}\n <Typography\n variant={'h5'}\n className={clsx({\n [classes.rootLabelError]: labelColor === 'error',\n [classes.rootLabelSuccess]: labelColor === 'success'\n })}\n >\n {value}\n </Typography>\n {afterValue && (\n <Typography variant={'body1'} className={classes.afterValue}>\n {afterValue}\n </Typography>\n )}\n </div>\n )}\n {!!label && (\n <Typography\n variant={'subtitle3'}\n className={classes.labelRoot}\n component=\"div\"\n >\n {label}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex'\n },\n rootFlexGrow: {\n flexGrow: 1\n },\n rootFlexAlignStart: {\n alignItems: 'flex-start'\n },\n rootFlexAlignCenter: {\n alignItems: 'center'\n },\n rootFlexAlignEnd: {\n alignItems: 'flex-end'\n },\n rootFlexAlignStretch: {\n alignItems: 'stretch'\n },\n rootGutter: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n rootPadding: {\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1)\n },\n rootFlexJustifyStart: {\n justifyContent: 'flex-start'\n },\n rootFlexJustifyEnd: {\n justifyContent: 'flex-end'\n }\n}));\n\nexport const EntityHeaderSection = (props) => {\n const {\n children,\n disableGutter,\n disablePadding,\n flexGrow,\n justifyContent,\n alignItems\n } = props;\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, //always applies\n [classes.rootGutter]: !disableGutter,\n [classes.rootPadding]: !disablePadding,\n [classes.rootFlexGrow]: flexGrow,\n [classes.rootFlexJustifyStart]: justifyContent === 'start',\n [classes.rootFlexJustifyEnd]: justifyContent === 'end',\n [classes.rootFlexAlignStart]: alignItems === 'start',\n [classes.rootFlexAlignCenter]: alignItems === 'center',\n [classes.rootFlexAlignEnd]: alignItems === 'end',\n [classes.rootFlexAlignStretch]: alignItems === 'stretch'\n })}\n >\n {children}\n </div>\n );\n};\n\nEntityHeaderSection.propTypes = {\n children: PropTypes.node.isRequired,\n disableGutter: PropTypes.bool,\n disablePadding: PropTypes.bool,\n flexGrow: PropTypes.bool,\n justifyContent: PropTypes.oneOf(['start', 'end']),\n alignItems: PropTypes.oneOf(['start', 'center', 'end', 'stretch'])\n};\n\nEntityHeaderSection.defaultProps = {\n disableGutter: false,\n disablePadding: false,\n flexGrow: false\n};\n","import { useTheme } from '@material-ui/core/styles';\nimport { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Custom hook that returns the current breakpoint of a provided element's width and helpers to compare against breakpoints.\n * @param {any} ref - The ref object whose current element will be observed for width changes.\n * @returns {{\n * currentBreakpoint: string | null,\n * isBreakpointUp: (breakpoint: string) => boolean,\n * isBreakpointDown: (breakpoint: string) => boolean,\n * }}\n */\nfunction useElementWidth(ref) {\n const theme = useTheme();\n const [width, setWidth] = useState(null);\n\n useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n if (entry.target === ref.current) {\n setWidth(entry.contentRect.width);\n }\n }\n });\n\n resizeObserver.observe(ref.current);\n\n return () => {\n resizeObserver.unobserve(ref.current);\n };\n }, [ref]);\n\n const currentBreakpoint =\n width !== null\n ? Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (width >= theme.breakpoints.values[breakpoint]) {\n return breakpoint;\n }\n return acc;\n }, null)\n : null;\n\n const isBreakpointUp = breakpoint => {\n const breakpoints = Object.keys(theme.breakpoints.values);\n const index = breakpoints.indexOf(breakpoint);\n const currentIndex = breakpoints.indexOf(currentBreakpoint);\n return index <= currentIndex;\n };\n\n const isBreakpointDown = breakpoint => {\n const breakpoints = Object.keys(theme.breakpoints.values);\n const index = breakpoints.indexOf(breakpoint);\n const currentIndex = breakpoints.indexOf(currentBreakpoint);\n return index >= currentIndex;\n };\n\n return {\n currentBreakpoint,\n isBreakpointUp,\n isBreakpointDown,\n };\n}\n\nexport { useElementWidth };\n\nuseElementWidth.propTypes = {\n ref: PropTypes.shape({\n current: PropTypes.instanceOf(Element),\n }),\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { ChipAlphabet } from '../../ChipAlphabet';\nimport { FluentIcon } from '../../../../utilities/iconLibrary/FluentIcon';\nimport { FlagIcon } from '@fluentui/react-icons';\n\nconst useStyles = makeStyles(theme => ({\n flagIcon: {\n marginRight: theme.spacing(2),\n },\n chipContainer: {\n marginBottom: theme.spacing(-1),\n '& > *': {\n marginRight: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n },\n}));\n\nfunction flagLetter(str) {\n return str.charAt(0).toUpperCase();\n}\n\nexport const EntityHeaderFlags = ({ data = [], color = 'primary' }) => {\n const classes = useStyles();\n\n if (!data && data.length === 0) {\n return;\n }\n\n return (\n <>\n <FluentIcon\n size=\"small\"\n component={FlagIcon}\n className={classes.flagIcon}\n />\n <div className={classes.chipContainer}>\n {data.map(item => {\n return (\n <ChipAlphabet\n avatar\n avatarCharacter={flagLetter(item.label)}\n label={item.label}\n handleClick={() => item.handleClick}\n />\n );\n })}\n </div>\n </>\n );\n};\n","import React, { useRef, useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { EntityHeaderContainer } from './ui/EntityHeaderContainer';\nimport { EntityHeaderList } from './ui/EntityHeaderList';\nimport { EntityHeaderListItem } from './ui/EntityHeaderListItem';\nimport { EntityHeaderStatList } from './ui/EntityHeaderStatList';\nimport { EntityHeaderStatListItem } from './ui/EntityHeaderStatListItem';\nimport { EntityHeaderSection } from './ui/EntityHeaderSection';\nimport { AlertPill } from './ui/AlertPill';\n\nimport { ChartIcon } from '@fluentui/react-icons';\nimport { useElementWidth } from './functions/useElementWidth';\nimport { IconRenderer } from '../../templates/ui/renderers/IconRenderer';\nimport { EntityHeaderFlags } from './ui/EntityHeaderFlags';\nimport PropTypes from 'prop-types';\nimport { UdpAlertsContainer } from '../../utilityDisplay/alerts/UdpAlertsContainer';\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}));\n// https://univerus.atlassian.net/wiki/spaces/UDP/pages/2398257255/Entity+Header\nexport const EntityHeader = (props) => {\n const {\n sectionProps,\n background,\n color,\n kpiProps,\n hiddenSections,\n chips,\n alerts,\n useUdpAlerts\n } = props;\n\n const classes = useStyles(props);\n const { section1, section2, section3, section4 } = sectionProps;\n const { kpi1, kpi2, kpi3, kpi4 } = kpiProps;\n\n const componentRef = useRef();\n const [compactSize, setCompactSize] = useState(true);\n\n const { isBreakpointUp } = useElementWidth(componentRef);\n\n useEffect(() => {\n if (isBreakpointUp('md')) {\n setCompactSize(false);\n // setDividedList(false);\n } else {\n setCompactSize(true);\n // setDividedList(true);\n }\n }, [isBreakpointUp]);\n\n return (\n <div ref={componentRef}>\n {/* Container used when compactSize is true */}\n {!!compactSize && (\n <EntityHeaderContainer\n direction='row'\n showSeperator\n background={background}\n color={color}\n >\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!section1?.hidden &&\n section1?.values?.length &&\n section1.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section2?.hidden &&\n section2?.values?.length &&\n section2.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section3?.hidden &&\n section3?.values?.length &&\n section3.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section4?.hidden &&\n section4?.values?.length &&\n section4.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n </EntityHeaderContainer>\n )}\n {/* */}\n <EntityHeaderContainer\n direction='row'\n showSeperator\n background={background}\n color={color}\n >\n {!compactSize && (\n <>\n {!section1?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section1?.values?.length &&\n section1.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section2?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section2?.values?.length &&\n section2.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section3?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section3?.values?.length &&\n section3.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section4?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section4?.values?.length &&\n section4.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n </>\n )}\n {!kpiProps.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderStatList flexGrow>\n {!kpi1?.hidden && (\n <EntityHeaderStatListItem\n value={kpi1?.value}\n label={kpi1?.label}\n labelColor={kpi1?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi1?.color },\n name: kpi1?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi2?.hidden && (\n <EntityHeaderStatListItem\n value={kpi2?.value}\n label={kpi2?.label}\n labelColor={kpi2?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi2?.color },\n name: kpi2?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi3?.hidden && (\n <EntityHeaderStatListItem\n value={kpi3?.value}\n label={kpi3?.label}\n labelColor={kpi3?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi3?.color },\n name: kpi3?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi4?.hidden && (\n <EntityHeaderStatListItem\n value={kpi4?.value}\n label={kpi4?.label}\n labelColor={kpi4?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi4?.color },\n name: kpi4?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n </EntityHeaderStatList>\n </EntityHeaderSection>\n )}\n </EntityHeaderContainer>\n {(!hiddenSections.chips || !hiddenSections.alert) && (\n <EntityHeaderContainer\n className={classes.root}\n background={background}\n color={color}\n >\n {!hiddenSections.chips && (\n <EntityHeaderSection flexGrow alignItems={'center'}>\n <EntityHeaderFlags\n data={chips?.map((chip) => ({ label: chip }))}\n />\n </EntityHeaderSection>\n )}\n {/* */}\n <EntityHeaderSection flexGrow />\n {!hiddenSections.alert && (\n <EntityHeaderSection>\n {/* <PehAlertPill\n alertPillProps={{ errorLabel: '5', warningLabel: '2' }}\n /> */}\n {useUdpAlerts ? (\n <UdpAlertsContainer />\n ) : (\n <AlertPill\n errorCount={alerts?.error}\n warningCount={alerts?.warning}\n />\n )}\n </EntityHeaderSection>\n )}\n </EntityHeaderContainer>\n )}\n </div>\n );\n};\n\nEntityHeader.propTypes = {\n sectionProps: PropTypes.shape({\n section1: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n }),\n section2: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n }),\n section3: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n })\n }).isRequired,\n background: PropTypes.string,\n color: PropTypes.string,\n kpiProps: PropTypes.shape({\n hidden: PropTypes.bool,\n kpi1: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi2: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi3: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi4: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n })\n }).isRequired,\n hiddenSections: PropTypes.shape({\n alert: PropTypes.bool,\n chips: PropTypes.bool\n }),\n chips: PropTypes.arrayOf(PropTypes.string),\n alerts: PropTypes.shape({\n warning: PropTypes.number,\n error: PropTypes.number\n })\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityHeader-y6CNHP0L.js","names":["useStyles","useStyles","useStyles","useStyles","useStyles","useStyles","useTheme","useStyles"],"sources":["../src/UI/dataDisplay/entityHeader/ui/EntityHeaderContainer.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderList.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderListItem.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderStatList.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderStatListItem.jsx","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderSection.jsx","../src/UI/dataDisplay/entityHeader/functions/useElementWidth.js","../src/UI/dataDisplay/entityHeader/ui/EntityHeaderFlags.jsx","../src/UI/dataDisplay/entityHeader/EntityHeader.jsx"],"sourcesContent":["import React, { Children, cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { makeStyles, Divider, darken, alpha } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: props => ({\n display: 'flex',\n flexDirection: props.direction === 'column' ? 'column' : 'row',\n }),\n rootBgDark: props => ({\n backgroundColor: darken(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main,\n 0.2\n ),\n color: theme.palette.getContrastText(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main\n ),\n }),\n rootBgSoft: props => ({\n backgroundColor: alpha(\n props.color === 'primary'\n ? theme.palette.primary.main\n : theme.palette.secondary.main,\n 0.15\n ),\n }),\n rootBgCustom: props => ({\n backgroundColor: props.background,\n color: props.color,\n }),\n}));\n\nexport const EntityHeaderContainer = props => {\n const { children, showSeperator, background } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, // always applies\n [classes.rootBg]: background === 'light' || !background, // if background = 'light'\n [classes.rootBgDark]: background === 'dark', // if background = 'dark'\n [classes.rootBgSoft]: background === 'soft', // if background = 'soft'\n [classes.rootBgCustom]:\n background &&\n background !== 'light' &&\n background !== 'dark' &&\n background !== 'soft',\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && (\n <Divider orientation=\"vertical\" flexItem />\n )}\n </>\n );\n })}\n </div>\n );\n};\n\nEntityHeaderContainer.propTypes = {\n children: PropTypes.node.isRequired,\n showSeperator: PropTypes.bool,\n background: PropTypes.oneOf(['light', 'dark', 'soft']),\n direction: PropTypes.oneOf(['row', 'column']),\n color: PropTypes.oneOf(['primary', 'secondary']),\n};\n\nEntityHeaderContainer.defaultProps = {\n showSeperator: true,\n background: 'light',\n direction: 'row',\n color: 'primary',\n};\n","import React, { Children, cloneElement } from 'react';\nimport clsx from 'clsx';\nimport { makeStyles, Divider } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n // listStyle: 'none',\n },\n}));\n\nexport const EntityHeaderList = props => {\n const { children, showSeperator = false } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && <Divider />}\n </>\n );\n })}\n </div>\n );\n};\n","import React, { useState } from 'react';\nimport clsx from 'clsx';\nimport { Link, lighten, makeStyles, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex'\n },\n labelRoot: {\n color: 'inherit',\n marginRight: theme.spacing(0.5),\n opacity: 0.6\n },\n valueRoot: {\n color: 'inherit'\n // fontWeight: theme.typography.fontWeightMedium,\n },\n link: {\n color: 'inherit',\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n}));\n\nexport const EntityHeaderListItem = (props) => {\n const {\n label,\n value,\n link,\n hideLabelSeperator = false,\n disablePadding = false\n } = props;\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n [classes.rootPadding]: !disablePadding\n })}\n >\n {!!label && (\n <Typography variant={'body1'} className={classes.labelRoot}>\n {label}\n {!hideLabelSeperator && ':'}\n </Typography>\n )}\n {!!value && (\n <Typography\n variant={'body1'}\n className={clsx({\n [classes.valueRoot]: true,\n [classes.valueFontWeigth]: true\n })}\n >\n {link ? (\n <Link\n href={link}\n className={classes.link}\n target='_blank'\n >\n {value}\n </Link>\n ) : (\n value\n )}\n </Typography>\n )}\n </div>\n );\n};\n","import React, { Children, cloneElement, useState } from 'react';\nimport clsx from 'clsx';\nimport { makeStyles, Typography, Divider } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n marginLeft: 1,\n },\n },\n rootFlexGrow: {\n flexGrow: 1,\n },\n}));\n\nexport const EntityHeaderStatList = props => {\n const { children, showSeperator, flexGrow = false } = props;\n const arrayChildren = Children.toArray(children);\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, //always applies\n [classes.rootFlexGrow]: flexGrow,\n })}\n >\n {Children.map(arrayChildren, (child, index) => {\n const isLast = index === arrayChildren.length - 1;\n return (\n <>\n {cloneElement(child, {\n isLast,\n })}\n {!isLast && showSeperator && (\n <Divider orientation=\"vertical\" flexItem />\n )}\n </>\n );\n })}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { alpha, Avatar, makeStyles, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n // padding: theme.spacing(1),\n },\n rootFlexGrow: {\n flexGrow: 1,\n },\n rootBlock: props => ({\n justifyContent: 'center',\n padding: theme.spacing(1),\n }),\n rootBlockDefault: props => ({\n backgroundColor: alpha(\n theme.palette.type === 'dark'\n ? theme.palette.common.black\n : theme.palette.common.white,\n 0.25\n ),\n }),\n rootBlockError: props => ({\n backgroundColor: alpha(\n theme.palette.error.main,\n theme.palette.type === 'dark' ? 0.7 : 0.1\n ),\n }),\n rootBlockSuccess: props => ({\n backgroundColor: alpha(\n theme.palette.success.main,\n theme.palette.type === 'dark' ? 0.2 : 0.3\n ),\n }),\n labelRoot: {\n color: 'inherit',\n opacity: 0.6,\n },\n rootLabelError: (props) => ({\n color: theme.palette.error.main\n }),\n rootLabelSuccess: (props) => ({\n color: theme.palette.success.main\n }),\n valueRoot: {\n color: 'inherit',\n fontWeight: theme.typography.fontWeightMedium,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n beforeValue: {\n marginRight: theme.spacing(0.3),\n },\n afterValue: {},\n icon: {\n marginRight: theme.spacing(1),\n },\n iconAvatar: {\n backgroundColor: 'transparent',\n },\n content: props => ({\n display: 'flex',\n flexDirection: 'column',\n // alignItems: 'center',\n alignItems: props.icon ? 'left' : 'center',\n }),\n}));\n\nexport const EntityHeaderStatListItem = props => {\n const {\n label = 'Label',\n value = 'Value',\n beforeValue,\n afterValue,\n flexGrow = false,\n labelColor,\n icon,\n } = props;\n\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true,\n [classes.rootFlexGrow]: flexGrow,\n [classes.rootBlock]: true,\n // [classes.rootBlockDefault]: !labelColor,\n // [classes.rootBlockError]: labelColor === 'error',\n // [classes.rootBlockSuccess]: labelColor === 'success',\n })}\n >\n {icon && (\n <div className={classes.icon}>\n <Avatar className={classes.iconAvatar}>{icon}</Avatar>\n </div>\n )}\n <div className={classes.content}>\n {!!value && (\n <div\n className={clsx({\n [classes.valueRoot]: true,\n })}\n >\n {beforeValue && (\n <Typography variant={'body1'} className={classes.beforeValue}>\n {beforeValue}\n </Typography>\n )}\n <Typography\n variant={'h5'}\n className={clsx({\n [classes.rootLabelError]: labelColor === 'error',\n [classes.rootLabelSuccess]: labelColor === 'success'\n })}\n >\n {value}\n </Typography>\n {afterValue && (\n <Typography variant={'body1'} className={classes.afterValue}>\n {afterValue}\n </Typography>\n )}\n </div>\n )}\n {!!label && (\n <Typography\n variant={'subtitle3'}\n className={classes.labelRoot}\n component=\"div\"\n >\n {label}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex'\n },\n rootFlexGrow: {\n flexGrow: 1\n },\n rootFlexAlignStart: {\n alignItems: 'flex-start'\n },\n rootFlexAlignCenter: {\n alignItems: 'center'\n },\n rootFlexAlignEnd: {\n alignItems: 'flex-end'\n },\n rootFlexAlignStretch: {\n alignItems: 'stretch'\n },\n rootGutter: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2)\n },\n rootPadding: {\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1)\n },\n rootFlexJustifyStart: {\n justifyContent: 'flex-start'\n },\n rootFlexJustifyEnd: {\n justifyContent: 'flex-end'\n }\n}));\n\nexport const EntityHeaderSection = (props) => {\n const {\n children,\n disableGutter,\n disablePadding,\n flexGrow,\n justifyContent,\n alignItems\n } = props;\n const classes = useStyles(props);\n\n return (\n <div\n className={clsx({\n [classes.root]: true, //always applies\n [classes.rootGutter]: !disableGutter,\n [classes.rootPadding]: !disablePadding,\n [classes.rootFlexGrow]: flexGrow,\n [classes.rootFlexJustifyStart]: justifyContent === 'start',\n [classes.rootFlexJustifyEnd]: justifyContent === 'end',\n [classes.rootFlexAlignStart]: alignItems === 'start',\n [classes.rootFlexAlignCenter]: alignItems === 'center',\n [classes.rootFlexAlignEnd]: alignItems === 'end',\n [classes.rootFlexAlignStretch]: alignItems === 'stretch'\n })}\n >\n {children}\n </div>\n );\n};\n\nEntityHeaderSection.propTypes = {\n children: PropTypes.node.isRequired,\n disableGutter: PropTypes.bool,\n disablePadding: PropTypes.bool,\n flexGrow: PropTypes.bool,\n justifyContent: PropTypes.oneOf(['start', 'end']),\n alignItems: PropTypes.oneOf(['start', 'center', 'end', 'stretch'])\n};\n\nEntityHeaderSection.defaultProps = {\n disableGutter: false,\n disablePadding: false,\n flexGrow: false\n};\n","import { useTheme } from '@material-ui/core/styles';\nimport { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Custom hook that returns the current breakpoint of a provided element's width and helpers to compare against breakpoints.\n * @param {any} ref - The ref object whose current element will be observed for width changes.\n * @returns {{\n * currentBreakpoint: string | null,\n * isBreakpointUp: (breakpoint: string) => boolean,\n * isBreakpointDown: (breakpoint: string) => boolean,\n * }}\n */\nfunction useElementWidth(ref) {\n const theme = useTheme();\n const [width, setWidth] = useState(null);\n\n useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver(entries => {\n for (let entry of entries) {\n if (entry.target === ref.current) {\n setWidth(entry.contentRect.width);\n }\n }\n });\n\n resizeObserver.observe(ref.current);\n\n return () => {\n resizeObserver.unobserve(ref.current);\n };\n }, [ref]);\n\n const currentBreakpoint =\n width !== null\n ? Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (width >= theme.breakpoints.values[breakpoint]) {\n return breakpoint;\n }\n return acc;\n }, null)\n : null;\n\n const isBreakpointUp = breakpoint => {\n const breakpoints = Object.keys(theme.breakpoints.values);\n const index = breakpoints.indexOf(breakpoint);\n const currentIndex = breakpoints.indexOf(currentBreakpoint);\n return index <= currentIndex;\n };\n\n const isBreakpointDown = breakpoint => {\n const breakpoints = Object.keys(theme.breakpoints.values);\n const index = breakpoints.indexOf(breakpoint);\n const currentIndex = breakpoints.indexOf(currentBreakpoint);\n return index >= currentIndex;\n };\n\n return {\n currentBreakpoint,\n isBreakpointUp,\n isBreakpointDown,\n };\n}\n\nexport { useElementWidth };\n\nuseElementWidth.propTypes = {\n ref: PropTypes.shape({\n current: PropTypes.instanceOf(Element),\n }),\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { ChipAlphabet } from '../../ChipAlphabet';\nimport { FluentIcon } from '../../../../utilities/iconLibrary/FluentIcon';\nimport { FlagIcon } from '@fluentui/react-icons';\n\nconst useStyles = makeStyles(theme => ({\n flagIcon: {\n marginRight: theme.spacing(2),\n },\n chipContainer: {\n marginBottom: theme.spacing(-1),\n '& > *': {\n marginRight: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n },\n}));\n\nfunction flagLetter(str) {\n return str.charAt(0).toUpperCase();\n}\n\nexport const EntityHeaderFlags = ({ data = [], color = 'primary' }) => {\n const classes = useStyles();\n\n if (!data && data.length === 0) {\n return;\n }\n\n return (\n <>\n <FluentIcon\n size=\"small\"\n component={FlagIcon}\n className={classes.flagIcon}\n />\n <div className={classes.chipContainer}>\n {data.map(item => {\n return (\n <ChipAlphabet\n avatar\n avatarCharacter={flagLetter(item.label)}\n label={item.label}\n handleClick={() => item.handleClick}\n />\n );\n })}\n </div>\n </>\n );\n};\n","import React, { useRef, useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { EntityHeaderContainer } from './ui/EntityHeaderContainer';\nimport { EntityHeaderList } from './ui/EntityHeaderList';\nimport { EntityHeaderListItem } from './ui/EntityHeaderListItem';\nimport { EntityHeaderStatList } from './ui/EntityHeaderStatList';\nimport { EntityHeaderStatListItem } from './ui/EntityHeaderStatListItem';\nimport { EntityHeaderSection } from './ui/EntityHeaderSection';\nimport { AlertPill } from './ui/AlertPill';\n\nimport { ChartIcon } from '@fluentui/react-icons';\nimport { useElementWidth } from './functions/useElementWidth';\nimport { IconRenderer } from '../../templates/ui/renderers/IconRenderer';\nimport { EntityHeaderFlags } from './ui/EntityHeaderFlags';\nimport PropTypes from 'prop-types';\nimport { UdpAlertsContainer } from '../../utilityDisplay/alerts/UdpAlertsContainer';\n\nconst useStyles = makeStyles((theme) => ({\n root: {}\n}));\n// https://univerus.atlassian.net/wiki/spaces/UDP/pages/2398257255/Entity+Header\nexport const EntityHeader = (props) => {\n const {\n sectionProps,\n background,\n color,\n kpiProps,\n hiddenSections,\n chips,\n alerts,\n useUdpAlerts\n } = props;\n\n const classes = useStyles(props);\n const { section1, section2, section3, section4 } = sectionProps;\n const { kpi1, kpi2, kpi3, kpi4 } = kpiProps;\n\n const componentRef = useRef();\n const [compactSize, setCompactSize] = useState(true);\n\n const { isBreakpointUp } = useElementWidth(componentRef);\n\n useEffect(() => {\n if (isBreakpointUp('md')) {\n setCompactSize(false);\n // setDividedList(false);\n } else {\n setCompactSize(true);\n // setDividedList(true);\n }\n }, [isBreakpointUp]);\n\n return (\n <div ref={componentRef}>\n {/* Container used when compactSize is true */}\n {!!compactSize && (\n <EntityHeaderContainer\n direction='row'\n showSeperator\n background={background}\n color={color}\n >\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!section1?.hidden &&\n section1?.values?.length &&\n section1.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section2?.hidden &&\n section2?.values?.length &&\n section2.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section3?.hidden &&\n section3?.values?.length &&\n section3.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n\n {!section4?.hidden &&\n section4?.values?.length &&\n section4.values?.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n </EntityHeaderContainer>\n )}\n {/* */}\n <EntityHeaderContainer\n direction='row'\n showSeperator\n background={background}\n color={color}\n >\n {!compactSize && (\n <>\n {!section1?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section1?.values?.length &&\n section1.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section2?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section2?.values?.length &&\n section2.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section3?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section3?.values?.length &&\n section3.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n {!section4?.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderList>\n {!!section4?.values?.length &&\n section4.values.map((item) => (\n <EntityHeaderListItem\n label={item?.label}\n value={item?.value}\n link={item?.link}\n />\n ))}\n </EntityHeaderList>\n </EntityHeaderSection>\n )}\n </>\n )}\n {!kpiProps.hidden && (\n <EntityHeaderSection flexGrow>\n <EntityHeaderStatList flexGrow>\n {!kpi1?.hidden && (\n <EntityHeaderStatListItem\n value={kpi1?.value}\n label={kpi1?.label}\n labelColor={kpi1?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi1?.color },\n name: kpi1?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi2?.hidden && (\n <EntityHeaderStatListItem\n value={kpi2?.value}\n label={kpi2?.label}\n labelColor={kpi2?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi2?.color },\n name: kpi2?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi3?.hidden && (\n <EntityHeaderStatListItem\n value={kpi3?.value}\n label={kpi3?.label}\n labelColor={kpi3?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi3?.color },\n name: kpi3?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n {!kpi4?.hidden && (\n <EntityHeaderStatListItem\n value={kpi4?.value}\n label={kpi4?.label}\n labelColor={kpi4?.labelColor}\n flexGrow\n icon={\n <IconRenderer\n noBorder={true}\n removeContainer={true}\n value={{\n color: { hex: '#' + kpi4?.color },\n name: kpi4?.icon || 'ChartIcon'\n }}\n />\n }\n />\n )}\n </EntityHeaderStatList>\n </EntityHeaderSection>\n )}\n </EntityHeaderContainer>\n {(!hiddenSections.chips || !hiddenSections.alert) && (\n <EntityHeaderContainer\n className={classes.root}\n background={background}\n color={color}\n >\n {!hiddenSections.chips && (\n <EntityHeaderSection flexGrow alignItems={'center'}>\n <EntityHeaderFlags\n data={chips?.map((chip) => ({ label: chip }))}\n />\n </EntityHeaderSection>\n )}\n {/* */}\n <EntityHeaderSection flexGrow />\n {!hiddenSections.alert && (\n <EntityHeaderSection>\n {/* <PehAlertPill\n alertPillProps={{ errorLabel: '5', warningLabel: '2' }}\n /> */}\n {useUdpAlerts ? (\n <UdpAlertsContainer />\n ) : (\n <AlertPill\n errorCount={alerts?.error}\n warningCount={alerts?.warning}\n />\n )}\n </EntityHeaderSection>\n )}\n </EntityHeaderContainer>\n )}\n </div>\n );\n};\n\nEntityHeader.propTypes = {\n sectionProps: PropTypes.shape({\n section1: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n }),\n section2: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n }),\n section3: PropTypes.shape({\n hidden: PropTypes.bool,\n values: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string\n })\n )\n })\n }).isRequired,\n background: PropTypes.string,\n color: PropTypes.string,\n kpiProps: PropTypes.shape({\n hidden: PropTypes.bool,\n kpi1: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi2: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi3: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n }),\n kpi4: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n icon: PropTypes.string,\n hidden: PropTypes.bool\n })\n }).isRequired,\n hiddenSections: PropTypes.shape({\n alert: PropTypes.bool,\n chips: PropTypes.bool\n }),\n chips: PropTypes.arrayOf(PropTypes.string),\n alerts: PropTypes.shape({\n warning: PropTypes.number,\n error: PropTypes.number\n })\n};\n"],"mappings":"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"}
|