@sapui5/sap.cux.home 1.142.0 → 1.142.2
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/package.json +1 -1
- package/src/sap/cux/home/.library +4 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +7 -6
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +7 -6
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.gen.d.ts +1 -1
- package/src/sap/cux/home/App.js +6 -3
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +6 -3
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +47 -34
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +334 -238
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +345 -231
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.gen.d.ts +1 -1
- package/src/sap/cux/home/AppsContainer.js +4 -3
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +4 -3
- package/src/sap/cux/home/BaseApp.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseApp.js +1 -1
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +1 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts +9 -0
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +21 -2
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +23 -2
- package/src/sap/cux/home/BaseAppPersPanel.d.ts +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +1 -1
- package/src/sap/cux/home/BaseContainer.d.ts +2 -2
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseContainer.js +11 -3
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +8 -4
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +7 -1
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
- package/src/sap/cux/home/BaseLayout.d.ts +1 -1
- package/src/sap/cux/home/BaseLayout.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseLayout.js +1 -1
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +1 -1
- package/src/sap/cux/home/BaseLayoutRenderer.js +1 -1
- package/src/sap/cux/home/BaseLayoutRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseLayoutRenderer.ts +1 -1
- package/src/sap/cux/home/BaseNewsItem.d.ts +1 -1
- package/src/sap/cux/home/BaseNewsItem.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +1 -1
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +1 -1
- package/src/sap/cux/home/BaseNewsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +3 -3
- package/src/sap/cux/home/BasePagePanel.d.ts +1 -1
- package/src/sap/cux/home/BasePagePanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BasePagePanel.js +1 -1
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +1 -1
- package/src/sap/cux/home/BasePanel.d.ts +1 -1
- package/src/sap/cux/home/BasePanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -1
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +1 -1
- package/src/sap/cux/home/CardsContainer.d.ts +108 -0
- package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/CardsContainer.js +207 -0
- package/src/sap/cux/home/CardsContainer.js.map +1 -0
- package/src/sap/cux/home/CardsContainer.ts +202 -0
- package/src/sap/cux/home/CardsPanel.d.ts +43 -62
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/CardsPanel.js +346 -286
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +212 -201
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +3 -1
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +13 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +14 -6
- package/src/sap/cux/home/CustomFlexBox.gen.d.ts +1 -1
- package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +32 -1
- package/src/sap/cux/home/ErrorPanel.js +12 -17
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +8 -20
- package/src/sap/cux/home/FavAppPanel.d.ts +1 -2
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +297 -302
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +15 -11
- package/src/sap/cux/home/FrequentAppPanel.js +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +1 -1
- package/src/sap/cux/home/Group.d.ts +1 -1
- package/src/sap/cux/home/Group.gen.d.ts +1 -1
- package/src/sap/cux/home/Group.js +1 -1
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +1 -1
- package/src/sap/cux/home/IToDoPanel.d.ts +1 -1
- package/src/sap/cux/home/IToDoPanel.js +1 -1
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +9 -9
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +8 -8
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +8 -0
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +16 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +12 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +2 -2
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +253 -40
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +12 -11
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +13 -11
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +3 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +8 -8
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +3 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -1
- package/src/sap/cux/home/Layout.d.ts +4 -2
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +50 -9
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +60 -9
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +342 -57
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
- package/src/sap/cux/home/MenuItem.d.ts +1 -1
- package/src/sap/cux/home/MenuItem.gen.d.ts +1 -1
- package/src/sap/cux/home/MenuItem.js +1 -1
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +1 -1
- package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -14
- package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +4 -4
- package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +27 -114
- package/src/sap/cux/home/NewsContainer.js.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +30 -119
- package/src/sap/cux/home/NewsGroup.gen.d.ts +1 -1
- package/src/sap/cux/home/NewsGroup.js +1 -1
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +2 -2
- package/src/sap/cux/home/NewsItem.gen.d.ts +1 -1
- package/src/sap/cux/home/NewsItem.js +1 -1
- package/src/sap/cux/home/NewsItem.js.map +1 -1
- package/src/sap/cux/home/NewsItem.ts +1 -1
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/NewsPanel.js +13 -15
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +14 -17
- package/src/sap/cux/home/NewsSettingsPanel.js +5 -5
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +6 -6
- package/src/sap/cux/home/NoDataContainer.js +1 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +1 -1
- package/src/sap/cux/home/Page.d.ts +1 -1
- package/src/sap/cux/home/Page.gen.d.ts +1 -1
- package/src/sap/cux/home/Page.js +1 -1
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +1 -1
- package/src/sap/cux/home/PagePanel.d.ts +1 -1
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +19 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +26 -16
- package/src/sap/cux/home/PageSettingsPanel.js +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +1 -1
- package/src/sap/cux/home/PagesContainer.d.ts +72 -0
- package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
- package/src/sap/cux/home/PagesContainer.js +333 -0
- package/src/sap/cux/home/PagesContainer.js.map +1 -0
- package/src/sap/cux/home/PagesContainer.ts +179 -0
- package/src/sap/cux/home/RecentAppPanel.d.ts +18 -0
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +30 -1
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +33 -2
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +6 -5
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +5 -4
- package/src/sap/cux/home/SettingsDialog.d.ts +8 -1
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +185 -15
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +15 -5
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +1 -1
- package/src/sap/cux/home/SituationPanel.js +1 -1
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
- package/src/sap/cux/home/SpacePanel.gen.d.ts +1 -1
- package/src/sap/cux/home/SpacePanel.js +1 -1
- package/src/sap/cux/home/SpacePanel.js.map +1 -1
- package/src/sap/cux/home/SpacePanel.ts +1 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/TaskPanel.js +17 -2
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +16 -2
- package/src/sap/cux/home/TilesContainer.d.ts +111 -0
- package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/TilesContainer.js +218 -0
- package/src/sap/cux/home/TilesContainer.js.map +1 -0
- package/src/sap/cux/home/TilesContainer.ts +216 -0
- package/src/sap/cux/home/TilesPanel.d.ts +22 -52
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/TilesPanel.js +185 -166
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +161 -155
- package/src/sap/cux/home/ToDoPanel.d.ts +1 -0
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.gen.d.ts +1 -1
- package/src/sap/cux/home/ToDoPanel.js +39 -64
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +33 -32
- package/src/sap/cux/home/ToDosContainer.js +1 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.js +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.ts +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +3 -3
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +2 -2
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +5 -5
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +3 -3
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +2 -2
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +5 -5
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +3 -3
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +3 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +5 -5
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +6 -6
- package/src/sap/cux/home/designtime/Layout.designtime.js +1 -1
- package/src/sap/cux/home/designtime/Layout.designtime.js.map +1 -1
- package/src/sap/cux/home/designtime/Layout.designtime.ts +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +31 -4
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +24 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +79 -3
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +82 -2
- package/src/sap/cux/home/i18n/messagebundle.properties +27 -13
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +20 -4
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +21 -9
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +26 -14
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_da.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_de.properties +22 -10
- package/src/sap/cux/home/i18n/messagebundle_el.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_en.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_es.properties +21 -8
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_et.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_id.properties +33 -21
- package/src/sap/cux/home/i18n/messagebundle_it.properties +25 -13
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_no.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +26 -14
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +21 -9
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +26 -14
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_th.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +24 -12
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +20 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +20 -8
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -1
- package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -1
- package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.ts +1 -2
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts +28 -5
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.ts +24 -5
- package/src/sap/cux/home/interface/LayoutInterface.d.ts +8 -1
- package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.ts +8 -1
- package/src/sap/cux/home/interface/PageSpaceInterface.d.ts +1 -1
- package/src/sap/cux/home/interface/PageSpaceInterface.js.map +1 -1
- package/src/sap/cux/home/interface/PageSpaceInterface.ts +1 -1
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +8 -5
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +11 -6
- package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
- package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +0 -45
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
- package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
- package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
- package/src/sap/cux/home/themes/base/library.source.less +2 -1
- package/src/sap/cux/home/utils/Accessibility.d.ts +1 -1
- package/src/sap/cux/home/utils/Accessibility.js +1 -1
- package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
- package/src/sap/cux/home/utils/Accessibility.ts +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +1 -1
- package/src/sap/cux/home/utils/BatchHelper.d.ts +2 -1
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +8 -3
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +9 -2
- package/src/sap/cux/home/utils/ColorUtils.d.ts +1 -1
- package/src/sap/cux/home/utils/ColorUtils.js +1 -1
- package/src/sap/cux/home/utils/ColorUtils.js.map +1 -1
- package/src/sap/cux/home/utils/ColorUtils.ts +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.ts +1 -1
- package/src/sap/cux/home/utils/Constants.js +1 -1
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +1 -1
- package/src/sap/cux/home/utils/DataFormatUtils.d.ts +1 -1
- package/src/sap/cux/home/utils/DataFormatUtils.js +1 -1
- package/src/sap/cux/home/utils/DataFormatUtils.js.map +1 -1
- package/src/sap/cux/home/utils/DataFormatUtils.ts +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.ts +1 -1
- package/src/sap/cux/home/utils/Device.js +1 -1
- package/src/sap/cux/home/utils/Device.js.map +1 -1
- package/src/sap/cux/home/utils/Device.ts +1 -1
- package/src/sap/cux/home/utils/DragDropUtils.d.ts +1 -1
- package/src/sap/cux/home/utils/DragDropUtils.js +1 -1
- package/src/sap/cux/home/utils/DragDropUtils.js.map +1 -1
- package/src/sap/cux/home/utils/DragDropUtils.ts +1 -1
- package/src/sap/cux/home/utils/FESRUtil.d.ts +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.ts +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
- package/src/sap/cux/home/utils/IconList.d.ts +1 -1
- package/src/sap/cux/home/utils/IconList.js +1 -1
- package/src/sap/cux/home/utils/IconList.js.map +1 -1
- package/src/sap/cux/home/utils/IconList.ts +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.d.ts +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.ts +1 -1
- package/src/sap/cux/home/utils/PXFeedback.js +1 -1
- package/src/sap/cux/home/utils/PXFeedback.js.map +1 -1
- package/src/sap/cux/home/utils/PXFeedback.ts +1 -1
- package/src/sap/cux/home/utils/PageManager.js +1 -1
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +1 -1
- package/src/sap/cux/home/utils/PagesIconsConstants.d.ts +1 -1
- package/src/sap/cux/home/utils/PagesIconsConstants.js +1 -1
- package/src/sap/cux/home/utils/PagesIconsConstants.js.map +1 -1
- package/src/sap/cux/home/utils/PagesIconsConstants.ts +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +5 -3
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.ts +1 -1
- package/src/sap/cux/home/utils/RecommendedCardUtil.js +1 -1
- package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -1
- package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
- package/src/sap/cux/home/utils/TaskUtils.js +1 -1
- package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
- package/src/sap/cux/home/utils/TaskUtils.ts +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
- package/src/sap/cux/home/utils/extension/CardExtension.js +1 -1
- package/src/sap/cux/home/utils/extension/CardExtension.js.map +1 -1
- package/src/sap/cux/home/utils/extension/CardExtension.ts +1 -1
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +151 -152
- package/src/sap/cux/home/utils/fragment/showDecisionDialog.fragment.xml +1 -1
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts +1 -1
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js +1 -1
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -1
- package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.ts +1 -1
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +4 -78
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +2 -76
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +4 -24
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +2 -22
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts +1 -1
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js +1 -1
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -1
- package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.ts +1 -1
- package/ui5.yaml +1 -0
- package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
- package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
- package/src/sap/cux/home/InsightsContainer.js +0 -459
- package/src/sap/cux/home/InsightsContainer.js.map +0 -1
- package/src/sap/cux/home/InsightsContainer.ts +0 -489
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseContainer.js","names":["sap","ui","define","BadgeCustomData","Button","FlexBox","HBox","IconTabBar","List","Popover","StandardListItem","Title","sap_m_library","Control","CustomData","UI5Element","HTML","Lib","__BaseContainerRenderer","__BasePanel","__MenuItem","__SideBySideIconTabFilter","___library","___utils_Accessibility","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_PerformanceUtils","_interopRequireDefault","obj","__esModule","default","BackgroundDesign","ButtonType","PlacementType","BaseContainerRenderer","BasePanel","MenuItem","SideBySideIconTabFilter","OrientationType","getInvisibleText","recycleId","calculateDeviceType","DeviceType","addFESRId","addFESRSemanticStepName","FESR_EVENTS","getFESRId","recordElementLoadEnd","recordElementLoadStart","BaseContainer","extend","renderer","metadata","library","properties","title","type","group","defaultValue","orientation","SideBySide","selectedKey","visibility","width","height","blocked","busy","busyIndicatorDelay","busyIndicatorSize","fieldGroupIds","visible","enableSettings","enableFullScreen","fullScreenName","enableLazyLoad","loaded","defaultAggregation","aggregations","content","singularName","multiple","actionButtons","menuItems","_placeholder","associations","layout","fullScreenButton","fullScreenMenuItem","events","onExpand","designtime","adjustLayout","_adjustLayout","load","_load","constructor","_constructor","id","settings","Control.prototype.constructor.call","_exemptedActions","init","_init","_controlMap","Map","_commonHeaderElementStates","_i18nBundle","getResourceBundleFor","_createHeader","containerCustomSettings","getId","key","value","addCustomData","placeholderContent","getGenericPlaceholderContent","setAggregation","getCustomSettings","_getCustomSettings","data","addCustomSetting","_addCustomSetting","control","controlId","isPanel","hasContainerTitle","getProperty","trim","length","get","set","renderType","addStyleClass","justifyContent","items","alignItems","addDependent","setTitleStyle","_getHeader","_getInnerControl","_iconTabBar","_wrapper","_onPanelSelect","event","setProperty","getParameter","_updateContainerHeader","_setPanelCount","panel","count","_getIconTabFilter","setCount","_setPanelBadge","show","getCustomData","setVisible","iconTabFilter","writeToDom","SELECT","onBeforeRendering","_onBeforeRendering","defaultKey","getContent","_createInnerControl","_addAllPanelContent","getVisible","_loadContent","_markPerformanceMetrics","onAfterRendering","_onAfterRendering","_attachResizeHandler","_observeContainer","_hidePanelHeaderIfSinglePanel","isSideBySideLayout","hasOnlyOnePanel","toggleStyleClass","getDomRef","_resizeObserver","disconnect","ResizeObserver","entries","_resizeTimeout","clearTimeout","window","setTimeout","_setDeviceType","observe","_detachResizeHandler","target","_containerObserver","IntersectionObserver","forEach","entry","isIntersecting","rootMargin","threshold","Horizontal","Vertical","setDirection","expandable","backgroundDesign","Transparent","headerMode","headerBackgroundDesign","select","isContainer","targetControl","removeAllItems","_updateHeader","headerTitle","setText","_getLayout","_addLayoutHeaderElements","currentControl","_getSelectedPanel","_filterVisibleHeaderElements","getMenuItems","_addMenuItems","getAggregation","actionButton","addItem","_getHeaderButton","attachHeaderElements","elements","property","aggregation","headerElement","_getFullScreenMenuItem","_getHomeSettingsMenuItem","_getFullScreenButton","currentPropertyValue","previousPropertyValue","addAggregation","removeAggregation","setFullScreenElementRelations","isFullScreenEnabled","panels","_setupFullScreenElements","setupFullScreenElement","registerFullScreenElement","deregisterFullScreenElement","updateFullScreenElement","index","indexOfItem","_setFullScreenElementRelations","relation","targetAggregation","setAssociation","removeAssociation","menuItem","getText","icon","press","openSettingsDialog","toggleFullScreen","text","push","find","setSelectedKey","getPanelHeader","_getPanelHeader","header","isTitleVisible","getActionButtons","filter","element","_setTitle","list","itemPress","getSource","getParent","close","invisiblePopoverText","menuPopover","placement","VerticalPreferredBottom","showHeader","ariaLabelledBy","containerTitleId","menuButton","tooltip","openBy","item","_getMenuListItem","headerButton","firePress","PRESS","button","setTooltip","getTooltip","setIcon","getIcon","setEnabled","getEnabled","getElementById","getAssociation","getTitle","menuListItem","setTitle","toggleMenuListItem","_toggleMenuListItem","toggleActionButton","_toggleActionButton","actionButtonControl","removeContent","_removeContent","undefined","getWidth","_getWidth","toggleActionButtons","_toggleActionButtons","visibilityChanged","currentVisibility","includes","toggleFullScreenElements","_toggleFullScreenElements","fullScreenMenuButton","isPhone","getDeviceType","Mobile","parent","elementVisibilityChanged","fullScreenElement","elementKey","getKey","parentLayout","parentNode","clientWidth","deviceType","_deviceType","_getDeviceType","elementName","getMetadata","getName","attachEventOnce","exit","_exit","destroy","_getGenericPlaceholderContent"],"sources":["BaseContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport BadgeCustomData from \"sap/m/BadgeCustomData\";\nimport Button from \"sap/m/Button\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport HBox from \"sap/m/HBox\";\nimport IconTabBar, { IconTabBar$SelectEvent } from \"sap/m/IconTabBar\";\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport List from \"sap/m/List\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport { BackgroundDesign, ButtonType, PlacementType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport HTML from \"sap/ui/core/HTML\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { CSSSize } from \"sap/ui/core/library\";\nimport { $BaseContainerSettings } from \"./BaseContainer\";\nimport BaseContainerRenderer from \"./BaseContainerRenderer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BasePanel from \"./BasePanel\";\nimport MenuItem from \"./MenuItem\";\nimport SideBySideIconTabFilter from \"./SideBySideIconTabFilter\";\nimport { OrientationType } from \"./library\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS, getFESRId } from \"./utils/FESRUtil\";\nimport { recordElementLoadEnd, recordElementLoadStart, UIElements } from \"./utils/PerformanceUtils\";\n\ntype FullScreenElementRelation = {\n\tisFullScreenEnabled: boolean;\n\tcontrol: BaseContainer | BasePanel;\n\taggregation: string;\n\theaderElement: MenuItem | Button;\n};\n\n/**\n *\n * Abstract base class for all container controls in the Home Page Layout.\n *\n * @extends sap.ui.core.Control\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @abstract\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @ui5-metamodel\n * @alias sap.cux.home.BaseContainer\n */\nexport default abstract class BaseContainer extends Control {\n\tprotected _i18nBundle!: ResourceBundle;\n\tprivate _controlMap!: Map<string, Control | UI5Element>;\n\tprivate _wrapper!: FlexBox;\n\tprivate _iconTabBar!: IconTabBar;\n\tprivate _commonHeaderElementStates!: Map<string, boolean>;\n\tprivate _resizeObserver!: ResizeObserver;\n\tprivate _deviceType!: DeviceType;\n\tprivate _containerObserver!: IntersectionObserver;\n\tprivate _exemptedActions: string[] = [];\n\tpublic adjustLayout() {}\n\tprotected load() {}\n\tprivate _resizeTimeout!: number;\n\n\tconstructor(id?: string | $BaseContainerSettings);\n\tconstructor(id?: string, settings?: $BaseContainerSettings);\n\t/**\n\t * Constructor for a new Base Container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title of the container.\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Data\", defaultValue: \"\" },\n\t\t\t/**\n\t\t\t * Orientation of the container.\n\t\t\t */\n\t\t\torientation: {\n\t\t\t\ttype: \"sap.cux.home.OrientationType\",\n\t\t\t\tgroup: \"Data\",\n\t\t\t\tdefaultValue: OrientationType.SideBySide\n\t\t\t},\n\t\t\t/**\n\t\t\t * Key of the selected panel of the container.\n\t\t\t */\n\t\t\tselectedKey: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Width to be set for the container.\n\t\t\t * @public\n\t\t\t */\n\t\t\twidth: { type: \"sap.ui.core.CSSSize\", group: \"Appearance\", defaultValue: \"100%\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Height to be set for the container.\n\t\t\t * @public\n\t\t\t */\n\t\t\theight: { type: \"sap.ui.core.CSSSize\", group: \"Appearance\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Whether the control is currently in blocked state.\n\t\t\t */\n\t\t\tblocked: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Whether the layout is currently in busy state.\n\t\t\t */\n\t\t\tbusy: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The delay in milliseconds, after which the busy indicator will show up for this control.\n\t\t\t */\n\t\t\tbusyIndicatorDelay: { type: \"int\", defaultValue: 1000, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The size of the BusyIndicator.\n\t\t\t */\n\t\t\tbusyIndicatorSize: { type: \"sap.ui.core.BusyIndicatorSize\", defaultValue: \"Medium\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The IDs of a logical field group that this control belongs to.\n\t\t\t */\n\t\t\tfieldGroupIds: { type: \"string[]\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The visible property of the container.\n\t\t\t */\n\t\t\tvisible: { type: \"boolean\", group: \"Appearance\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether home settings are enabled for this control.\n\t\t\t */\n\t\t\tenableSettings: { type: \"boolean\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether full screen is enabled for this control.\n\t\t\t */\n\t\t\tenableFullScreen: { type: \"boolean\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The name of the URL parameter used to expand the container into full-screen mode.\n\t\t\t * This property specifies the parameter key expected in the URL query string\n\t\t\t * to identify the container to be expanded.\n\t\t\t */\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether lazy loading is enabled for this control.\n\t\t\t */\n\t\t\tenableLazyLoad: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates if the container is loaded.\n\t\t\t */\n\t\t\tloaded: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"content\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * The container content aggregation which should be of type BasePanel.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcontent: { type: \"sap.cux.home.BasePanel\", singularName: \"content\", multiple: true, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * This aggregation contains the actions that should be displayed within the container.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tactionButtons: { type: \"sap.m.Button\", multiple: true, singularName: \"actionButton\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * This aggregation holds the items that should be shown within the dropdown menu of the container.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tmenuItems: { type: \"sap.cux.home.MenuItem\", multiple: true, singularName: \"menuItem\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Hidden aggregation for placeholder.\n\t\t\t */\n\t\t\t_placeholder: { type: \"sap.ui.core.HTML\", multiple: false, singularName: \"placeholder\", visibility: \"hidden\" }\n\t\t},\n\t\tassociations: {\n\t\t\tlayout: { type: \"sap.cux.home.BaseLayout\", multiple: false, singularName: \"layout\", visibility: \"hidden\" },\n\t\t\tfullScreenButton: { type: \"sap.m.Button\", multiple: false, singularName: \"fullScreenButton\", visibility: \"hidden\" },\n\t\t\tfullScreenMenuItem: { type: \"sap.cux.home.MenuItem\", multiple: false, singularName: \"fullScreenMenuItem\", visibility: \"hidden\" }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Event is fired before the container is expanded.\n\t\t\t */\n\t\t\tonExpand: {}\n\t\t},\n\t\tdesigntime: true\n\t};\n\n\tstatic renderer: typeof BaseContainerRenderer = BaseContainerRenderer;\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tthis._controlMap = new Map();\n\t\tthis._commonHeaderElementStates = new Map();\n\t\tthis._i18nBundle = Lib.getResourceBundleFor(\"sap.cux.home.i18n\") as ResourceBundle;\n\t\tthis._createHeader(this);\n\n\t\t//create custom settings data\n\t\tconst containerCustomSettings = new CustomData(`${this.getId()}-custom-settings`, {\n\t\t\tkey: \"custom-settings\",\n\t\t\tvalue: {}\n\t\t});\n\t\tthis.addCustomData(containerCustomSettings);\n\n\t\t//create placeholder\n\t\tconst placeholderContent = this.getGenericPlaceholderContent();\n\t\tif (placeholderContent) {\n\t\t\tthis.setAggregation(\"_placeholder\", new HTML({ content: placeholderContent }), true);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the custom settings data associated with the container\n\t * @private\n\t */\n\tpublic getCustomSettings() {\n\t\treturn (this.data(\"custom-settings\") || {}) as Record<string, string>;\n\t}\n\n\t/**\n\t * Adds the Custom setting data for the Section\n\t * @private\n\t * @param {string} key - The key of the Custom setting data\n\t * @param {string} value - The value to set for the specified key\n\t */\n\tprotected addCustomSetting(key: string, value: string) {\n\t\t(this.data(\"custom-settings\") as Record<string, string>)[key] = value;\n\t}\n\n\t/**\n\t * Creates and returns header for both container as well as panels\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - can be a container or a panel\n\t * @returns {HBox} header for the given container or panel\n\t */\n\tprivate _createHeader(control: BaseContainer | BasePanel): HBox {\n\t\tconst controlId = control.getId();\n\t\tconst id = `${controlId}-header`;\n\t\tconst isPanel = control instanceof BasePanel;\n\t\tconst hasContainerTitle = (this.getProperty(\"title\") as string)?.trim().length > 0;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//create header elements\n\t\t\tthis._controlMap.set(`${controlId}-header-title`, new Title(`${controlId}-title`));\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-contentLeft`,\n\t\t\t\tnew HBox(`${controlId}-contentLeft`, { renderType: \"Bare\" }).addStyleClass(\"sapCuxSectionContentArea\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-contentRight`,\n\t\t\t\tnew HBox(`${controlId}-contentRight`, { renderType: \"Bare\" }).addStyleClass(\"sapCuxSectionContentArea\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-content`,\n\t\t\t\tnew HBox(`${controlId}-header-content`, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\titems: [\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-contentLeft`) as Control,\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-contentRight`) as Control\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin\")\n\t\t\t);\n\n\t\t\t//create header container\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew HBox(`${controlId}-header`, {\n\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\titems: [\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-title`) as Control,\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-content`) as Control\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis.addDependent(this._controlMap.get(id) as Control);\n\t\t}\n\n\t\t//add control-specific styling\n\t\t(this._controlMap.get(id) as HBox)?.addStyleClass(isPanel && hasContainerTitle ? \"sapCuxPanelHeader\" : \"sapUiContainerHeader\");\n\t\t(this._controlMap.get(`${controlId}-header-title`) as Title).setTitleStyle(isPanel && hasContainerTitle ? \"H6\" : \"H4\");\n\n\t\treturn this._controlMap.get(id) as HBox;\n\t}\n\n\t/**\n\t * Returns container header\n\t *\n\t * @private\n\t * @returns {Object} container header\n\t */\n\tpublic _getHeader(): HBox {\n\t\treturn this._controlMap.get(`${this.getId()}-header`) as HBox;\n\t}\n\n\t/**\n\t * Returns inner control corresponding to the specified layout\n\t *\n\t * @private\n\t * @returns {IconTabBar | FlexBox} inner control based on the layout\n\t */\n\tpublic _getInnerControl(): IconTabBar | FlexBox {\n\t\treturn this.getProperty(\"orientation\") === OrientationType.SideBySide ? this._iconTabBar : this._wrapper;\n\t}\n\n\t/**\n\t * Handler for selection of panel in SideBySide layout\n\t *\n\t * @private\n\t * @param {Event} event - event object\n\t */\n\tprotected _onPanelSelect(event: IconTabBar$SelectEvent) {\n\t\t//suppress invalidation to prevent container re-rendering. render the specific header element instead\n\t\tthis.setProperty(\"selectedKey\", event.getParameter(\"selectedKey\"), true);\n\t\tthis._updateContainerHeader(this);\n\t}\n\n\t/**\n\t * Updates the count information of IconTabFilter of IconTabBar inner control\n\t * in case of SideBySide layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - associated panel\n\t * @param {string} count - updated count\n\t */\n\tpublic _setPanelCount(panel: BasePanel, count?: string) {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._getIconTabFilter(panel).setCount(count);\n\t\t}\n\t}\n\n\t/**\n\t * Shows or hides the badge on the IconTabFilter of IconTabBar inner control\n\t *\n\t * @private\n\t * @param panel - associated panel\n\t * @param show - whether to show the badge\n\t */\n\tpublic _setPanelBadge(panel: BasePanel, show?: boolean) {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\t(this._getIconTabFilter(panel).getCustomData()[1] as BadgeCustomData)?.setVisible(show);\n\t\t}\n\t}\n\n\t/**\n\t * Creates and returns IconTabBarFilter for the specified panel to be placed\n\t * in the IconTabBar inner control in case of SideBySide layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel whose icon tab filter must be fetched\n\t * @returns {IconTabFilter} IconTabFilter for the specified panel\n\t */\n\tprivate _getIconTabFilter(panel: BasePanel): IconTabFilter {\n\t\tconst id = `${panel.getId()}-tabFilter`;\n\t\tlet iconTabFilter: IconTabFilter;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\ticonTabFilter = new SideBySideIconTabFilter(id, { panel });\n\t\t\ticonTabFilter.addCustomData(\n\t\t\t\tnew CustomData(`${panel.getId()}--customFilter`, {\n\t\t\t\t\tkey: \"sap-ui-fastnavgroup\",\n\t\t\t\t\tvalue: \"true\",\n\t\t\t\t\twriteToDom: true\n\t\t\t\t})\n\t\t\t);\n\n\t\t\t// add badge custom data\n\t\t\ticonTabFilter.addCustomData(new BadgeCustomData(`${panel.getId()}--badge`, { visible: true }));\n\n\t\t\tthis._controlMap.set(id, iconTabFilter);\n\t\t\taddFESRSemanticStepName(iconTabFilter, FESR_EVENTS.SELECT, panel.getProperty(\"key\") as string);\n\t\t}\n\n\t\t// update badge visibility\n\t\ticonTabFilter = this._controlMap.get(id) as IconTabFilter;\n\t\t(iconTabFilter.getCustomData()[1] as BadgeCustomData).setVisible(panel.getProperty(\"showBadge\") as boolean);\n\n\t\treturn iconTabFilter;\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic onBeforeRendering(): void {\n\t\t// set selected key to the first panel key if not set\n\t\tif (this.getProperty(\"selectedKey\") === \"\") {\n\t\t\tconst defaultKey = this.getContent()?.[0]?.getProperty(\"key\") as string;\n\t\t\tthis.setProperty(\"selectedKey\", defaultKey, true);\n\t\t}\n\n\t\t//create layout-specific inner control\n\t\tthis._createInnerControl();\n\n\t\t//fetch and update container header\n\t\tthis._updateContainerHeader(this);\n\n\t\t//add content from all panels to inner control\n\t\tthis._addAllPanelContent();\n\n\t\t//load content if lazy loading is disabled\n\t\tif (this.getProperty(\"enableLazyLoad\") === false && !this.getProperty(\"loaded\") && this.getVisible()) {\n\t\t\tthis._loadContent();\n\t\t}\n\n\t\t// mark performance metrics\n\t\tthis._markPerformanceMetrics();\n\t}\n\n\t/**\n\t * onAfterRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic onAfterRendering(): void {\n\t\tthis._attachResizeHandler();\n\n\t\t//observe container for lazy loading if enabled\n\t\tif (this.getProperty(\"enableLazyLoad\") as boolean) {\n\t\t\tthis._observeContainer();\n\t\t}\n\n\t\tthis._hidePanelHeaderIfSinglePanel();\n\t}\n\n\t/**\n\t * Hides the panel header if there is only one panel in the container,\n\t * in case of side-by-side orientation.\n\t *\n\t * @private\n\t */\n\tprivate _hidePanelHeaderIfSinglePanel(): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst hasOnlyOnePanel = this.getContent()?.length === 1;\n\t\tthis.toggleStyleClass(\"sapUiITBHide\", isSideBySideLayout && hasOnlyOnePanel);\n\t}\n\n\t/**\n\t * Loads the content for the container.\n\t *\n\t * @private\n\t */\n\tprivate _loadContent() {\n\t\tthis.setProperty(\"loaded\", true);\n\t\tthis.load?.();\n\t}\n\n\t/**\n\t * Attaches a resize handler to the container to adjust\n\t * the layout based on device size changes.\n\t *\n\t * @private\n\t */\n\tpublic _attachResizeHandler() {\n\t\tif (this.getDomRef() && this.getProperty(\"loaded\")) {\n\t\t\tthis._resizeObserver?.disconnect();\n\t\t\tthis._resizeObserver = new ResizeObserver((entries) => {\n\t\t\t\tif (this._resizeTimeout) {\n\t\t\t\t\tclearTimeout(this._resizeTimeout);\n\t\t\t\t}\n\n\t\t\t\t//debounce resize event to prevent multiple calls\n\t\t\t\tthis._resizeTimeout = window.setTimeout(() => {\n\t\t\t\t\tif (this.getVisible()) {\n\t\t\t\t\t\tthis._setDeviceType(entries);\n\t\t\t\t\t\tthis.adjustLayout();\n\t\t\t\t\t}\n\t\t\t\t}, 10) as unknown as number;\n\t\t\t});\n\t\t\tthis._resizeObserver?.observe(this.getDomRef() as Element);\n\t\t}\n\t}\n\n\t/**\n\t * Detaches the resize handler from the container.\n\t *\n\t * @private\n\t */\n\tpublic _detachResizeHandler() {\n\t\tthis._resizeObserver?.disconnect();\n\t}\n\n\t/**\n\t * Adds intersection observer for lazy loading of container\n\t *\n\t * @private\n\t */\n\tprivate _observeContainer(): void {\n\t\tconst target = this.getDomRef();\n\t\tif (!this._containerObserver) {\n\t\t\tthis._containerObserver = new IntersectionObserver(\n\t\t\t\t(entries) =>\n\t\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\t\tif (!this.getProperty(\"loaded\") && this.getVisible() && entry.isIntersecting) {\n\t\t\t\t\t\t\tthis._loadContent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t{ rootMargin: \"0px\", threshold: 0.1 }\n\t\t\t);\n\t\t}\n\t\tthis._containerObserver?.disconnect();\n\t\t//observe container\n\t\tif (target) {\n\t\t\tthis._containerObserver.observe(target);\n\t\t}\n\t}\n\n\t/**\n\t * Create inner control for storing content from panel\n\t *\n\t * @private\n\t */\n\tprivate _createInnerControl(): void {\n\t\tconst layout = this.getProperty(\"orientation\") as OrientationType;\n\n\t\tif (layout === OrientationType.Horizontal || layout === OrientationType.Vertical) {\n\t\t\tif (!this._wrapper) {\n\t\t\t\tthis._wrapper = new FlexBox(`${this.getId()}-wrapper`, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\trenderType: \"Bare\"\n\t\t\t\t}).addStyleClass(\"sapCuxBaseWrapper\");\n\t\t\t\tthis.addDependent(this._wrapper);\n\t\t\t}\n\t\t\tthis._wrapper.setDirection(layout === OrientationType.Horizontal ? \"Row\" : \"Column\");\n\t\t} else if (!this._iconTabBar) {\n\t\t\tthis._iconTabBar = new IconTabBar(`${this.getId()}-iconTabBar`, {\n\t\t\t\texpandable: true,\n\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent,\n\t\t\t\theaderMode: \"Inline\",\n\t\t\t\theaderBackgroundDesign: BackgroundDesign.Transparent,\n\t\t\t\tselect: (event: Event) => this._onPanelSelect(event)\n\t\t\t});\n\t\t\tthis.addDependent(this._iconTabBar);\n\t\t}\n\t}\n\n\t/**\n\t * Update container header information\n\t *\n\t * @private\n\t */\n\tpublic _updateContainerHeader(control: BaseContainer | BasePanel): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isContainer = control instanceof BaseContainer;\n\t\tconst targetControl = !isContainer && isSideBySideLayout ? this : control;\n\n\t\t//clear container header elements\n\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentLeft\") as HBox)?.removeAllItems();\n\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentRight\") as HBox)?.removeAllItems();\n\n\t\t//update container header elements\n\t\tthis._updateHeader(control);\n\t}\n\n\t/**\n\t * Updates header information of a specified container or a panel\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - can be container or panel\n\t */\n\tprivate _updateHeader(control: BaseContainer | BasePanel): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isContainer = control instanceof BaseContainer;\n\n\t\t//Update Title\n\t\tconst headerTitle = this._controlMap.get(control.getId() + \"-header-title\") as Title;\n\t\theaderTitle?.setText(control.getProperty(\"title\") as string);\n\t\theaderTitle?.setVisible((control.getProperty(\"title\") as string)?.trim().length > 0);\n\n\t\t//Update Panel Header, if applicable\n\t\tif (!isContainer && isSideBySideLayout) {\n\t\t\tthis._getIconTabFilter(control)?.setText(control.getProperty(\"title\") as string);\n\t\t}\n\n\t\t//Add common header elements\n\t\tif (this._getLayout()) {\n\t\t\tthis._addLayoutHeaderElements();\n\t\t}\n\n\t\tconst currentControl = isContainer && isSideBySideLayout ? this._getSelectedPanel() : control;\n\t\tconst targetControl = !isContainer && isSideBySideLayout ? this : control;\n\n\t\t//Update Menu Items\n\t\tconst menuItems = this._filterVisibleHeaderElements(currentControl?.getMenuItems());\n\t\tif (menuItems.length > 0) {\n\t\t\tthis._addMenuItems(targetControl, menuItems);\n\t\t}\n\n\t\t//Update Action Buttons\n\t\t(currentControl?.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton: Button) => {\n\t\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentRight\") as HBox)?.addItem(this._getHeaderButton(actionButton));\n\t\t});\n\t}\n\n\t/**\n\t * Attaches layout header elements like settings menu and full screen action to each\n\t * panel in the container, if enabled.\n\t *\n\t * @private\n\t */\n\tprivate _addLayoutHeaderElements(): void {\n\t\tconst attachHeaderElements = (control: BaseContainer | BasePanel) => {\n\t\t\tconst elements = [\n\t\t\t\t{ property: \"enableFullScreen\", aggregation: \"menuItems\", headerElement: this._getFullScreenMenuItem(control) },\n\t\t\t\t{ property: \"enableSettings\", aggregation: \"menuItems\", headerElement: this._getHomeSettingsMenuItem(control) },\n\t\t\t\t{ property: \"enableFullScreen\", aggregation: \"actionButtons\", headerElement: this._getFullScreenButton(control) }\n\t\t\t];\n\n\t\t\telements.forEach(({ property, aggregation, headerElement }) => {\n\t\t\t\tconst currentPropertyValue = control.getProperty(property) as boolean;\n\t\t\t\tconst previousPropertyValue = this._commonHeaderElementStates.get(`${headerElement.getId()}-${property}`);\n\n\t\t\t\t//update common header elements only if there's a change in property value\n\t\t\t\tif (currentPropertyValue !== previousPropertyValue) {\n\t\t\t\t\tthis._commonHeaderElementStates.set(`${headerElement.getId()}-${property}`, currentPropertyValue);\n\n\t\t\t\t\tif (currentPropertyValue) {\n\t\t\t\t\t\tcontrol.addAggregation(aggregation, headerElement);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontrol.removeAggregation(aggregation, headerElement);\n\t\t\t\t\t}\n\n\t\t\t\t\t// set full screen element relations\n\t\t\t\t\tif (property === \"enableFullScreen\") {\n\t\t\t\t\t\tthis.setFullScreenElementRelations({\n\t\t\t\t\t\t\tisFullScreenEnabled: currentPropertyValue,\n\t\t\t\t\t\t\tcontrol,\n\t\t\t\t\t\t\taggregation,\n\t\t\t\t\t\t\theaderElement\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// Add common header elements for container\n\t\tattachHeaderElements(this);\n\n\t\t// Add common header elements for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(attachHeaderElements);\n\n\t\t// setup full screen elements if required\n\t\tthis._setupFullScreenElements();\n\t}\n\n\t/**\n\t * Register/Degister elements for full screen, if enabled.\n\t *\n\t * @private\n\t */\n\tprivate _setupFullScreenElements() {\n\t\tconst layout = this._getLayout();\n\t\tconst setupFullScreenElement = (control: BaseContainer | BasePanel) => {\n\t\t\tconst currentPropertyValue = control.getProperty(\"enableFullScreen\") as boolean;\n\t\t\tconst previousPropertyValue = this._commonHeaderElementStates.get(`${control.getId()}-enableFullScreen`);\n\n\t\t\tif (currentPropertyValue !== previousPropertyValue) {\n\t\t\t\tthis._commonHeaderElementStates.set(`${control.getId()}-enableFullScreen`, currentPropertyValue);\n\n\t\t\t\tif (currentPropertyValue) {\n\t\t\t\t\tlayout?.registerFullScreenElement(control);\n\t\t\t\t} else {\n\t\t\t\t\tlayout?.deregisterFullScreenElement(control);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// update index of full screen element\n\t\t\tif (currentPropertyValue) {\n\t\t\t\tlayout?.updateFullScreenElement(control, {\n\t\t\t\t\tindex: layout?.indexOfItem(this)\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t// Register full screen elements for container\n\t\tsetupFullScreenElement(this);\n\n\t\t// Register full screen elements for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(setupFullScreenElement);\n\t}\n\n\t/**\n\t * Sets or removes the full screen element relations based on the provided configuration.\n\t *\n\t * @private\n\t * @param {FullScreenElementRelation} relation - The configuration object containing the full screen element relation details.\n\t * @param {boolean} relation.isFullScreenEnabled - Indicates whether full screen is enabled.\n\t * @param {Control} relation.control - The control to set or remove the association.\n\t * @param {string} relation.aggregation - The aggregation type (e.g., \"actionButtons\").\n\t * @param {Element} relation.headerElement - The header element to associate or disassociate.\n\t *\n\t * @returns {void}\n\t */\n\tprivate setFullScreenElementRelations(relation: FullScreenElementRelation): void {\n\t\tconst { isFullScreenEnabled, control, aggregation, headerElement } = relation;\n\t\tconst targetAggregation = aggregation === \"actionButtons\" ? \"fullScreenButton\" : \"fullScreenMenuItem\";\n\n\t\tif (isFullScreenEnabled) {\n\t\t\tcontrol.setAssociation(targetAggregation, headerElement, true);\n\t\t} else {\n\t\t\tcontrol.removeAssociation(targetAggregation, headerElement, true);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the my home settings menu item for a given panel.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} panel - The panel for which to retrieve the home settings menu item.\n\t * @returns {MenuItem} The settings menu item for the given panel.\n\t */\n\tprivate _getHomeSettingsMenuItem(panel: BaseContainer | BasePanel): MenuItem {\n\t\tconst id = `${panel.getId()}-settings`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst menuItem = new MenuItem(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\ticon: \"sap-icon://user-settings\",\n\t\t\t\tpress: () => {\n\t\t\t\t\t//open settings dialog\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.openSettingsDialog();\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(menuItem, \"myHomeSettings\");\n\t\t\tthis._controlMap.set(id, menuItem);\n\t\t}\n\n\t\treturn this._controlMap.get(id) as MenuItem;\n\t}\n\n\t/**\n\t * Retrieves the full screen menu item for a given panel.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} panel - The panel for which to retrieve the home settings menu item.\n\t * @returns {MenuItem} The settings menu item for the given panel.\n\t */\n\tprivate _getFullScreenMenuItem(panel: BaseContainer | BasePanel): MenuItem {\n\t\tconst id = `${panel.getId()}-showMore`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst fullScreenMenuItem = new MenuItem(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"expand\"),\n\t\t\t\ticon: \"sap-icon://display-more\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.toggleFullScreen(panel);\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(fullScreenMenuItem, \"toggleFullScreen\");\n\t\t\tthis._controlMap.set(id, fullScreenMenuItem);\n\t\t}\n\t\treturn this._controlMap.get(id) as MenuItem;\n\t}\n\n\t/**\n\t * Generates a full screen action button for a given control, which can be a panel or a container.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - The control for which the full screen button is generated.\n\t * @returns {Button} A Button instance configured to toggle full screen mode for the specified control.\n\t */\n\tprivate _getFullScreenButton(control: BaseContainer | BasePanel): Button {\n\t\tconst id = `${control.getId()}-fullScreen`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst fullScreenButton = new Button(id, {\n\t\t\t\ttext: this._i18nBundle.getText(\"expand\"),\n\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\tpress: () => {\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.toggleFullScreen(control);\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(fullScreenButton, \"toggleFullScreen\");\n\t\t\tthis._controlMap.set(id, fullScreenButton);\n\t\t\tthis._exemptedActions.push(id);\n\t\t}\n\n\t\treturn this._controlMap.get(id) as Button;\n\t}\n\n\t/**\n\t * Returns the selected panel in the IconTabBar inner control in\n\t * case of SideBySide layout\n\t *\n\t * @private\n\t * @returns {BasePanel} selected panel\n\t */\n\tpublic _getSelectedPanel(): BasePanel {\n\t\tconst panel =\n\t\t\tthis.getContent()?.find((panel) => panel.getProperty(\"key\") === this.getProperty(\"selectedKey\")) || this.getContent()?.[0];\n\t\tthis.setProperty(\"selectedKey\", panel?.getProperty(\"key\"), true);\n\n\t\treturn panel;\n\t}\n\n\t/**\n\t * Add content from all panels to the layout-specific inner control\n\t *\n\t * @private\n\t */\n\tprivate _addAllPanelContent(): void {\n\t\tconst panels = this.getContent() || [];\n\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._iconTabBar.removeAllItems();\n\t\t\tpanels.forEach((panel) => this._iconTabBar.addItem(this._getIconTabFilter(panel)));\n\t\t\tthis._iconTabBar.setSelectedKey(this.getProperty(\"selectedKey\") as string);\n\t\t}\n\t}\n\n\t/**\n\t * Returns header of the specified panel after updating it\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel to be updated\n\t * @returns {HBox} header associated with the panel\n\t */\n\tpublic getPanelHeader(panel: BasePanel): HBox {\n\t\tconst header = this._createHeader(panel);\n\t\tconst isTitleVisible = (panel.getProperty(\"title\") as string)?.trim().length > 0;\n\t\tconst hasContainerTitle = (this.getProperty(\"title\") as string)?.trim().length > 0;\n\n\t\t//update panel header elements\n\t\tthis._updateContainerHeader(panel);\n\n\t\t//add header styling only if any of the header elements are visible\n\t\theader.toggleStyleClass(\n\t\t\t\"sapCuxPanelHeader\",\n\t\t\thasContainerTitle &&\n\t\t\t\t(isTitleVisible ||\n\t\t\t\t\tthis._filterVisibleHeaderElements(panel.getMenuItems()).length > 0 ||\n\t\t\t\t\tthis._filterVisibleHeaderElements(panel.getActionButtons()).length > 0)\n\t\t);\n\n\t\treturn header;\n\t}\n\n\t/**\n\t * Filters the provided array of header elements to include only those that are visible.\n\t *\n\t * @private\n\t * @template T - The type of elements in the array, which can be either MenuItem or Button.\n\t * @param {T[]} [elements=[]] - The array of elements to filter. Defaults to an empty array if not provided.\n\t *\n\t * @returns {T[]} An array of elements that are visible.\n\t */\n\tprivate _filterVisibleHeaderElements<T extends MenuItem | Button>(elements: T[] = []): T[] {\n\t\treturn elements.filter((element) => element.getVisible());\n\t}\n\n\t/**\n\t * Setter for container title\n\t *\n\t * @private\n\t * @param {string} title - updated title\n\t * @returns {BaseContainer} BaseContainer instance for chaining\n\t */\n\tpublic _setTitle(title: string): BaseContainer {\n\t\t//suppress invalidate to prevent container re-rendering. re-render only the concerned element\n\t\tthis.setProperty(\"title\", title, true);\n\t\t(this._controlMap.get(`${this.getId()}-header-title`) as Title).setText(title);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds menu items to a control and sets up a menu button to display them.\n\t * If the menu for the control doesn't exist, it creates a new one.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - The control to which the menu items will be added.\n\t * @param {MenuItem[]} menuItems - An array of menu items to be added to the menu.\n\t */\n\tprivate _addMenuItems(control: BaseContainer | BasePanel, menuItems: MenuItem[]): void {\n\t\tif (!this._controlMap.get(`${control.getId()}-menu`)) {\n\t\t\t//create menu list\n\t\t\tconst list = new List(`${control.getId()}-list`, {\n\t\t\t\titemPress: (event) => (event.getSource<List>().getParent() as Popover).close()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${control.getId()}-menu`, list);\n\t\t\tconst invisiblePopoverText = getInvisibleText(\n\t\t\t\trecycleId(`${control.getId()}-popoverTitle`),\n\t\t\t\tthis._i18nBundle.getText(\"actions\")\n\t\t\t);\n\t\t\t//create menu popover\n\t\t\tconst menuPopover = new Popover(recycleId(`${control.getId()}-popover`), {\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom,\n\t\t\t\tshowHeader: false,\n\t\t\t\tariaLabelledBy: [invisiblePopoverText ? invisiblePopoverText?.getId() : \"\"],\n\t\t\t\tcontent: [list, invisiblePopoverText]\n\t\t\t});\n\n\t\t\tconst controlId = control.getId();\n\t\t\tconst containerTitleId = `${controlId}-header`;\n\n\t\t\t//create menu button\n\t\t\tconst menuButton = new Button(`${control.getId()}-menu-btn`, {\n\t\t\t\ticon: \"sap-icon://slim-arrow-down\",\n\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\ttooltip: this._i18nBundle.getText(\"more\"),\n\t\t\t\tariaLabelledBy: [containerTitleId],\n\t\t\t\tpress: (event) => menuPopover.openBy(event.getSource<Button>())\n\t\t\t});\n\t\t\tthis._controlMap.set(`${control.getId()}-menu-btn`, menuButton);\n\t\t}\n\n\t\t//add menu button to header\n\t\t(this._controlMap.get(control.getId() + \"-header-contentLeft\") as HBox)?.addItem(\n\t\t\tthis._controlMap.get(`${control.getId()}-menu-btn`) as Button\n\t\t);\n\n\t\t//Clear existing menu items and add new ones\n\t\t(this._controlMap.get(`${control.getId()}-menu`) as List).removeAllItems();\n\t\tmenuItems.forEach((item) => (this._controlMap.get(`${control.getId()}-menu`) as List).addItem(this._getMenuListItem(item)));\n\t}\n\n\t/**\n\t * Creates and returns a button for the corresponding header ActionButton\n\t *\n\t * @private\n\t * @param {Button} headerButton - ActionButton element\n\t * @returns {Button} Button instance created for the header element\n\t */\n\tprivate _getHeaderButton(headerButton: Button): Button {\n\t\tconst id = `${headerButton.getId()}-btn`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Button(id, {\n\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\tpress: () => headerButton.firePress()\n\t\t\t\t})\n\t\t\t);\n\t\t\taddFESRSemanticStepName(this._controlMap.get(id) as Button, FESR_EVENTS.PRESS, getFESRId(headerButton));\n\t\t}\n\n\t\t//Update button details\n\t\tconst button = this._controlMap.get(id) as Button;\n\t\tbutton.setText(headerButton.getText());\n\t\tbutton.setTooltip(headerButton.getTooltip() as string);\n\t\tbutton.setIcon(headerButton.getIcon());\n\t\tbutton.setVisible(headerButton.getVisible());\n\t\tbutton.setEnabled(headerButton.getEnabled());\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Retrieves the layout associated with the container, if available.\n\t *\n\t * @private\n\t * @returns {BaseLayout} The layout associated with the BaseContainer.\n\t */\n\tpublic _getLayout(): BaseLayout {\n\t\treturn UI5Element.getElementById(this.getAssociation(\"layout\", null) as string) as BaseLayout;\n\t}\n\n\t/**\n\t * Retrieves or creates a menu list item for a given menu item.\n\t *\n\t * @private\n\t * @param {MenuItem} menuItem - The menu item for which to retrieve or create a list item.\n\t * @returns {StandardListItem} The menu list item associated with the provided menu item.\n\t */\n\tprivate _getMenuListItem(menuItem: MenuItem): StandardListItem {\n\t\tif (!this._controlMap.get(`${menuItem.getId()}-listItem`)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${menuItem.getId()}-listItem`,\n\t\t\t\tnew StandardListItem(`${menuItem.getId()}-listItem`, {\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\ticon: menuItem.getIcon(),\n\t\t\t\t\ttitle: menuItem.getTitle(),\n\t\t\t\t\tpress: (event) => menuItem.firePress({ button: event.getSource<Button>() })\n\t\t\t\t})\n\t\t\t);\n\t\t\taddFESRSemanticStepName(\n\t\t\t\tthis._controlMap.get(`${menuItem.getId()}-listItem`) as StandardListItem,\n\t\t\t\tFESR_EVENTS.PRESS,\n\t\t\t\tgetFESRId(menuItem)\n\t\t\t);\n\t\t}\n\t\t//Update list item details\n\t\tconst menuListItem = this._controlMap.get(`${menuItem.getId()}-listItem`) as StandardListItem;\n\t\tmenuListItem.setIcon(menuItem.getIcon());\n\t\tmenuListItem.setTitle(menuItem.getTitle());\n\t\tmenuListItem.setVisible(menuItem.getVisible());\n\t\treturn menuListItem;\n\t}\n\n\t/**\n\t * Toggles the visibility of menu Item.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the menu item.\n\t * @returns {void}\n\t */\n\tpublic toggleMenuListItem(menuItem: MenuItem, show: boolean): void {\n\t\tif (menuItem) {\n\t\t\tconst menuListItem = this._getMenuListItem(menuItem);\n\t\t\tmenuListItem?.setVisible(show);\n\t\t\tmenuItem.setProperty(\"visible\", show, true);\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the visibility of action button.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the action button.\n\t * @returns {void}\n\t */\n\tpublic toggleActionButton(actionButton: Button, show: boolean): void {\n\t\tif (actionButton) {\n\t\t\tconst actionButtonControl = this._getHeaderButton(actionButton);\n\t\t\tactionButtonControl?.setVisible(show);\n\t\t\tactionButton.setProperty(\"visible\", show, true);\n\t\t}\n\t}\n\n\tpublic removeContent(panel: BasePanel) {\n\t\tif (this.getProperty(\"selectedKey\") && this.getProperty(\"selectedKey\") === panel?.getProperty?.(\"key\")) {\n\t\t\tthis.setProperty(\"selectedKey\", undefined, true);\n\t\t}\n\t\tthis.removeAggregation(\"content\", panel);\n\t}\n\n\t/**\n\t * Gets current value of property \"width\".\n\t *\n\t * Default value is: \"100%\"\n\t * @returns {CSSSize} Value of property \"width\"\n\t */\n\tpublic getWidth(): CSSSize {\n\t\treturn this.getProperty(\"width\") as CSSSize;\n\t}\n\n\t/**\n\t * Toggles the visibility of action buttons within the container and/or its inner panels.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the action buttons.\n\t * @returns {void}\n\t */\n\tpublic toggleActionButtons(show: boolean): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tlet visibilityChanged = false;\n\t\tconst toggleActionButtons = (control: BaseContainer | BasePanel) => {\n\t\t\tcontrol.getActionButtons()?.forEach((actionButton) => {\n\t\t\t\tconst currentVisibility = actionButton.getVisible();\n\t\t\t\tif (currentVisibility !== show && !this._exemptedActions.includes(actionButton.getId())) {\n\t\t\t\t\tactionButton.setProperty(\"visible\", show, true);\n\t\t\t\t\tvisibilityChanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!isSideBySideLayout && visibilityChanged) {\n\t\t\t\tthis._updateContainerHeader(control);\n\t\t\t}\n\t\t};\n\n\t\t// Toggle action buttons for container\n\t\ttoggleActionButtons(this);\n\n\t\t// Toggle action buttons for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(toggleActionButtons);\n\n\t\t// Update Header Container if required\n\t\tif (isSideBySideLayout && visibilityChanged) {\n\t\t\tthis._updateContainerHeader(this);\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the visibility of the full screen button for the specified element.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} element - The element for which to toggle the full screen button.\n\t * @param {boolean} show - Indicates whether to show or hide the full screen button.\n\t */\n\tpublic toggleFullScreenElements(element: BaseContainer | BasePanel, show: boolean): void {\n\t\tconst fullScreenButton = UI5Element.getElementById(element.getAssociation(\"fullScreenButton\", null) as string) as Button;\n\t\tconst fullScreenMenuButton = UI5Element.getElementById(element.getAssociation(\"fullScreenMenuItem\", null) as string) as MenuItem;\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isPhone = this.getDeviceType() === DeviceType.Mobile;\n\t\tconst parent = element.getParent() as BaseContainer;\n\t\tlet elementVisibilityChanged = false;\n\t\tshow = !isPhone ? show : false;\n\t\t[fullScreenButton, fullScreenMenuButton].forEach((fullScreenElement: Button | MenuItem) => {\n\t\t\tif (fullScreenElement && show !== fullScreenElement.getVisible()) {\n\t\t\t\telementVisibilityChanged = true;\n\t\t\t\tfullScreenElement.setProperty(\"visible\", show, true);\n\t\t\t}\n\t\t});\n\t\tconst elementKey = element instanceof BasePanel && element.getKey();\n\t\tif (elementVisibilityChanged && (!isSideBySideLayout || (isSideBySideLayout && this.getProperty(\"selectedKey\") === elementKey))) {\n\t\t\tthis._updateContainerHeader(\n\t\t\t\tparent.getContent().length === 1 && !isSideBySideLayout ? (element.getParent() as BaseContainer) : element\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the device type based on the width of the container element.\n\t *\n\t * @private\n\t * @param {ResizeObserverEntry[]} entries - The entries returned by the ResizeObserver.\n\t * @returns {void}\n\t */\n\tprivate _setDeviceType(entries: ResizeObserverEntry[]): void {\n\t\tconst [entry] = entries;\n\t\tconst parentLayout = entry.target.parentNode as Element;\n\t\tconst width = parentLayout.clientWidth;\n\t\tconst deviceType = calculateDeviceType(width);\n\n\t\t//when width is zero, dom is not rendered hence setting device type can cause wrong calculation\n\t\tif (this._deviceType !== deviceType && width > 0) {\n\t\t\tthis._deviceType = deviceType;\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the device type for the current instance.\n\t *\n\t * @private\n\t * @returns {DeviceType} - The device type. If the device type is not set, it calculates\n\t * and returns the device type based on the current device width.\n\t */\n\tpublic getDeviceType(): DeviceType {\n\t\treturn this._deviceType || calculateDeviceType();\n\t}\n\n\t/**\n\t * Records the performance metrics for the container.\n\t * This is applicable only if the container is part of a layout.\n\t *\n\t * @private\n\t */\n\tprivate _markPerformanceMetrics() {\n\t\tconst elementName = this.getMetadata().getName() as keyof typeof UIElements;\n\t\trecordElementLoadStart(elementName);\n\n\t\tthis.getContent()?.forEach((panel) => {\n\t\t\tpanel.attachEventOnce(\"loaded\", () => {\n\t\t\t\trecordElementLoadEnd(elementName);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Exit lifecycle method, to clean up resources.\n\t *\n\t * @private\n\t * @override\n\t */\n\texit(): void | undefined {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t\tthis._detachResizeHandler();\n\t}\n\n\t/**\n\t * Default implementation: returns undefined.\n\t */\n\tprotected getGenericPlaceholderContent(): string | undefined {\n\t\treturn undefined;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BaseContainer.js","names":["sap","ui","define","BadgeCustomData","Button","FlexBox","HBox","IconTabBar","List","Popover","StandardListItem","Title","sap_m_library","Control","CustomData","UI5Element","HTML","Lib","__BaseContainerRenderer","__BasePanel","__MenuItem","__SideBySideIconTabFilter","___library","___utils_Accessibility","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_PerformanceUtils","_interopRequireDefault","obj","__esModule","default","BackgroundDesign","ButtonType","PlacementType","BaseContainerRenderer","BasePanel","MenuItem","SideBySideIconTabFilter","OrientationType","getInvisibleText","recycleId","calculateDeviceType","DeviceType","addFESRId","addFESRSemanticStepName","FESR_EVENTS","getFESRId","recordElementLoadEnd","recordElementLoadStart","BaseContainer","extend","renderer","metadata","library","properties","title","type","group","defaultValue","orientation","SideBySide","selectedKey","visibility","width","height","blocked","busy","busyIndicatorDelay","busyIndicatorSize","fieldGroupIds","visible","enableSettings","enableFullScreen","fullScreenName","enableLazyLoad","loaded","compositeId","defaultAggregation","aggregations","content","singularName","multiple","actionButtons","menuItems","_placeholder","associations","layout","fullScreenButton","fullScreenMenuItem","events","onExpand","designtime","adjustLayout","_adjustLayout","load","_load","constructor","_constructor","id","settings","Control.prototype.constructor.call","_exemptedActions","init","_init","_controlMap","Map","_commonHeaderElementStates","_i18nBundle","getResourceBundleFor","_createHeader","containerCustomSettings","getId","key","value","addCustomData","placeholderContent","getGenericPlaceholderContent","setAggregation","getCustomSettings","_getCustomSettings","data","addCustomSetting","_addCustomSetting","control","controlId","isPanel","hasContainerTitle","getProperty","trim","length","get","set","renderType","addStyleClass","justifyContent","items","alignItems","addDependent","setTitleStyle","_getHeader","_getInnerControl","_iconTabBar","_wrapper","_onPanelSelect","event","setProperty","getParameter","_updateContainerHeader","_setPanelCount","panel","count","_getIconTabFilter","setCount","_setPanelBadge","show","getCustomData","setVisible","iconTabFilter","writeToDom","SELECT","onBeforeRendering","_onBeforeRendering","defaultKey","getContent","_createInnerControl","_addAllPanelContent","getVisible","_loadContent","_markPerformanceMetrics","onAfterRendering","_onAfterRendering","_attachResizeHandler","_observeContainer","_hidePanelHeaderIfSinglePanel","isSideBySideLayout","hasOnlyOnePanel","toggleStyleClass","getDomRef","_resizeObserver","disconnect","ResizeObserver","entries","_resizeTimeout","clearTimeout","window","setTimeout","_setDeviceType","observe","_detachResizeHandler","target","_containerObserver","IntersectionObserver","forEach","entry","isIntersecting","rootMargin","threshold","Horizontal","Vertical","setDirection","expandable","backgroundDesign","Transparent","headerMode","headerBackgroundDesign","select","isContainer","targetControl","removeAllItems","_updateHeader","headerTitle","setText","_getLayout","_addLayoutHeaderElements","currentControl","_getSelectedPanel","_filterVisibleHeaderElements","getMenuItems","_addMenuItems","getAggregation","actionButton","addItem","_getHeaderButton","attachHeaderElements","elements","property","aggregation","headerElement","_getFullScreenMenuItem","_getHomeSettingsMenuItem","_getFullScreenButton","currentPropertyValue","previousPropertyValue","addAggregation","removeAggregation","setFullScreenElementRelations","isFullScreenEnabled","panels","_setupFullScreenElements","setupFullScreenElement","registerFullScreenElement","deregisterFullScreenElement","updateFullScreenElement","index","indexOfItem","_setFullScreenElementRelations","relation","targetAggregation","setAssociation","removeAssociation","menuItem","getText","icon","press","openSettingsDialog","toggleFullScreen","text","push","find","setSelectedKey","getPanelHeader","_getPanelHeader","header","isTitleVisible","getActionButtons","filter","element","_setContainerTitle","list","itemPress","getSource","getParent","close","invisiblePopoverText","menuPopover","placement","VerticalPreferredBottom","showHeader","ariaLabelledBy","containerTitleId","menuButton","tooltip","openBy","item","_getMenuListItem","headerButton","firePress","PRESS","button","setTooltip","getTooltip","setIcon","getIcon","setEnabled","getEnabled","getElementById","getAssociation","getTitle","menuListItem","setTitle","toggleMenuListItem","_toggleMenuListItem","toggleActionButton","_toggleActionButton","actionButtonControl","removeContent","_removeContent","undefined","getWidth","_getWidth","toggleActionButtons","_toggleActionButtons","visibilityChanged","currentVisibility","includes","toggleFullScreenElements","_toggleFullScreenElements","fullScreenMenuButton","isPhone","getDeviceType","Mobile","parent","elementVisibilityChanged","fullScreenElement","elementKey","getKey","parentLayout","parentNode","clientWidth","deviceType","_deviceType","_getDeviceType","elementName","getMetadata","getName","attachEventOnce","exit","_exit","destroy","_getGenericPlaceholderContent"],"sources":["BaseContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2026 SAP SE. All rights reserved\n */\n\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport BadgeCustomData from \"sap/m/BadgeCustomData\";\nimport Button from \"sap/m/Button\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport HBox from \"sap/m/HBox\";\nimport IconTabBar, { IconTabBar$SelectEvent } from \"sap/m/IconTabBar\";\nimport IconTabFilter from \"sap/m/IconTabFilter\";\nimport List from \"sap/m/List\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport { BackgroundDesign, ButtonType, PlacementType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport HTML from \"sap/ui/core/HTML\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { CSSSize } from \"sap/ui/core/library\";\nimport { $BaseContainerSettings } from \"./BaseContainer\";\nimport BaseContainerRenderer from \"./BaseContainerRenderer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BasePanel from \"./BasePanel\";\nimport MenuItem from \"./MenuItem\";\nimport SideBySideIconTabFilter from \"./SideBySideIconTabFilter\";\nimport { OrientationType } from \"./library\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS, getFESRId } from \"./utils/FESRUtil\";\nimport { recordElementLoadEnd, recordElementLoadStart, UIElements } from \"./utils/PerformanceUtils\";\n\ntype FullScreenElementRelation = {\n\tisFullScreenEnabled: boolean;\n\tcontrol: BaseContainer | BasePanel;\n\taggregation: string;\n\theaderElement: MenuItem | Button;\n};\n\n/**\n *\n * Abstract base class for all container controls in the Home Page Layout.\n *\n * @extends sap.ui.core.Control\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @abstract\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @ui5-metamodel\n * @alias sap.cux.home.BaseContainer\n */\nexport default abstract class BaseContainer extends Control {\n\tprotected _i18nBundle!: ResourceBundle;\n\tprivate _controlMap!: Map<string, Control | UI5Element>;\n\tprivate _wrapper!: FlexBox;\n\tprivate _iconTabBar!: IconTabBar;\n\tprivate _commonHeaderElementStates!: Map<string, boolean>;\n\tprivate _resizeObserver!: ResizeObserver;\n\tprivate _deviceType!: DeviceType;\n\tprivate _containerObserver!: IntersectionObserver;\n\tprivate _exemptedActions: string[] = [];\n\tpublic adjustLayout() {}\n\tprotected load() {}\n\tprivate _resizeTimeout!: number;\n\n\tconstructor(id?: string | $BaseContainerSettings);\n\tconstructor(id?: string, settings?: $BaseContainerSettings);\n\t/**\n\t * Constructor for a new Base Container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title of the container.\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Data\", defaultValue: \"\" },\n\t\t\t/**\n\t\t\t * Orientation of the container.\n\t\t\t */\n\t\t\torientation: {\n\t\t\t\ttype: \"sap.cux.home.OrientationType\",\n\t\t\t\tgroup: \"Data\",\n\t\t\t\tdefaultValue: OrientationType.SideBySide\n\t\t\t},\n\t\t\t/**\n\t\t\t * Key of the selected panel of the container.\n\t\t\t */\n\t\t\tselectedKey: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Width to be set for the container.\n\t\t\t * @public\n\t\t\t */\n\t\t\twidth: { type: \"sap.ui.core.CSSSize\", group: \"Appearance\", defaultValue: \"100%\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Height to be set for the container.\n\t\t\t * @public\n\t\t\t */\n\t\t\theight: { type: \"sap.ui.core.CSSSize\", group: \"Appearance\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Whether the control is currently in blocked state.\n\t\t\t */\n\t\t\tblocked: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Whether the layout is currently in busy state.\n\t\t\t */\n\t\t\tbusy: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The delay in milliseconds, after which the busy indicator will show up for this control.\n\t\t\t */\n\t\t\tbusyIndicatorDelay: { type: \"int\", defaultValue: 1000, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The size of the BusyIndicator.\n\t\t\t */\n\t\t\tbusyIndicatorSize: { type: \"sap.ui.core.BusyIndicatorSize\", defaultValue: \"Medium\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The IDs of a logical field group that this control belongs to.\n\t\t\t */\n\t\t\tfieldGroupIds: { type: \"string[]\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The visible property of the container.\n\t\t\t */\n\t\t\tvisible: { type: \"boolean\", group: \"Appearance\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether home settings are enabled for this control.\n\t\t\t */\n\t\t\tenableSettings: { type: \"boolean\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether full screen is enabled for this control.\n\t\t\t */\n\t\t\tenableFullScreen: { type: \"boolean\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The name of the URL parameter used to expand the container into full-screen mode.\n\t\t\t * This property specifies the parameter key expected in the URL query string\n\t\t\t * to identify the container to be expanded.\n\t\t\t */\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates whether lazy loading is enabled for this control.\n\t\t\t */\n\t\t\tenableLazyLoad: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Indicates if the container is loaded.\n\t\t\t */\n\t\t\tloaded: { type: \"boolean\", group: \"Appearance\", defaultValue: false, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * To check if container is composite or not\n\t\t\t */\n\t\t\tcompositeId: { type: \"string\", group: \"Misc\", visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"content\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * The container content aggregation which should be of type BasePanel.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcontent: { type: \"sap.cux.home.BasePanel\", singularName: \"content\", multiple: true, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * This aggregation contains the actions that should be displayed within the container.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tactionButtons: { type: \"sap.m.Button\", multiple: true, singularName: \"actionButton\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * This aggregation holds the items that should be shown within the dropdown menu of the container.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tmenuItems: { type: \"sap.cux.home.MenuItem\", multiple: true, singularName: \"menuItem\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Hidden aggregation for placeholder.\n\t\t\t */\n\t\t\t_placeholder: { type: \"sap.ui.core.HTML\", multiple: false, singularName: \"placeholder\", visibility: \"hidden\" }\n\t\t},\n\t\tassociations: {\n\t\t\tlayout: { type: \"sap.cux.home.BaseLayout\", multiple: false, singularName: \"layout\", visibility: \"hidden\" },\n\t\t\tfullScreenButton: { type: \"sap.m.Button\", multiple: false, singularName: \"fullScreenButton\", visibility: \"hidden\" },\n\t\t\tfullScreenMenuItem: { type: \"sap.cux.home.MenuItem\", multiple: false, singularName: \"fullScreenMenuItem\", visibility: \"hidden\" }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Event is fired before the container is expanded.\n\t\t\t */\n\t\t\tonExpand: {}\n\t\t},\n\t\tdesigntime: true\n\t};\n\n\tstatic renderer: typeof BaseContainerRenderer = BaseContainerRenderer;\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tthis._controlMap = new Map();\n\t\tthis._commonHeaderElementStates = new Map();\n\t\tthis._i18nBundle = Lib.getResourceBundleFor(\"sap.cux.home.i18n\") as ResourceBundle;\n\t\tthis._createHeader(this);\n\n\t\t//create custom settings data\n\t\tconst containerCustomSettings = new CustomData(`${this.getId()}-custom-settings`, {\n\t\t\tkey: \"custom-settings\",\n\t\t\tvalue: {}\n\t\t});\n\t\tthis.addCustomData(containerCustomSettings);\n\n\t\t//create placeholder\n\t\tconst placeholderContent = this.getGenericPlaceholderContent();\n\t\tif (placeholderContent) {\n\t\t\tthis.setAggregation(\"_placeholder\", new HTML({ content: placeholderContent }), true);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the custom settings data associated with the container\n\t * @private\n\t */\n\tpublic getCustomSettings() {\n\t\treturn (this.data(\"custom-settings\") || {}) as Record<string, string>;\n\t}\n\n\t/**\n\t * Adds the Custom setting data for the Section\n\t * @private\n\t * @param {string} key - The key of the Custom setting data\n\t * @param {string} value - The value to set for the specified key\n\t */\n\tprotected addCustomSetting(key: string, value: string) {\n\t\t(this.data(\"custom-settings\") as Record<string, string>)[key] = value;\n\t}\n\n\t/**\n\t * Creates and returns header for both container as well as panels\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - can be a container or a panel\n\t * @returns {HBox} header for the given container or panel\n\t */\n\tprivate _createHeader(control: BaseContainer | BasePanel): HBox {\n\t\tconst controlId = control.getId();\n\t\tconst id = `${controlId}-header`;\n\t\tconst isPanel = control instanceof BasePanel;\n\t\tconst hasContainerTitle = (this.getProperty(\"title\") as string)?.trim().length > 0;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//create header elements\n\t\t\tthis._controlMap.set(`${controlId}-header-title`, new Title(`${controlId}-title`));\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-contentLeft`,\n\t\t\t\tnew HBox(`${controlId}-contentLeft`, { renderType: \"Bare\" }).addStyleClass(\"sapCuxSectionContentArea\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-contentRight`,\n\t\t\t\tnew HBox(`${controlId}-contentRight`, { renderType: \"Bare\" }).addStyleClass(\"sapCuxSectionContentArea\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${controlId}-header-content`,\n\t\t\t\tnew HBox(`${controlId}-header-content`, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\titems: [\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-contentLeft`) as Control,\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-contentRight`) as Control\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin\")\n\t\t\t);\n\n\t\t\t//create header container\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew HBox(`${controlId}-header`, {\n\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\titems: [\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-title`) as Control,\n\t\t\t\t\t\tthis._controlMap.get(`${controlId}-header-content`) as Control\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis.addDependent(this._controlMap.get(id) as Control);\n\t\t}\n\n\t\t//add control-specific styling\n\t\t(this._controlMap.get(id) as HBox)?.addStyleClass(isPanel && hasContainerTitle ? \"sapCuxPanelHeader\" : \"sapUiBaseContainerHeader\");\n\t\t(this._controlMap.get(`${controlId}-header-title`) as Title).setTitleStyle(isPanel && hasContainerTitle ? \"H6\" : \"H4\");\n\n\t\treturn this._controlMap.get(id) as HBox;\n\t}\n\n\t/**\n\t * Returns container header\n\t *\n\t * @private\n\t * @returns {Object} container header\n\t */\n\tpublic _getHeader(): HBox {\n\t\treturn this._controlMap.get(`${this.getId()}-header`) as HBox;\n\t}\n\n\t/**\n\t * Returns inner control corresponding to the specified layout\n\t *\n\t * @private\n\t * @returns {IconTabBar | FlexBox} inner control based on the layout\n\t */\n\tpublic _getInnerControl(): IconTabBar | FlexBox {\n\t\treturn this.getProperty(\"orientation\") === OrientationType.SideBySide ? this._iconTabBar : this._wrapper;\n\t}\n\n\t/**\n\t * Handler for selection of panel in SideBySide layout\n\t *\n\t * @private\n\t * @param {Event} event - event object\n\t */\n\tprotected _onPanelSelect(event: IconTabBar$SelectEvent) {\n\t\t//suppress invalidation to prevent container re-rendering. render the specific header element instead\n\t\tthis.setProperty(\"selectedKey\", event.getParameter(\"selectedKey\"), true);\n\t\tthis._updateContainerHeader(this);\n\t}\n\n\t/**\n\t * Updates the count information of IconTabFilter of IconTabBar inner control\n\t * in case of SideBySide layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - associated panel\n\t * @param {string} count - updated count\n\t */\n\tpublic _setPanelCount(panel: BasePanel, count?: string) {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._getIconTabFilter(panel).setCount(count);\n\t\t}\n\t}\n\n\t/**\n\t * Shows or hides the badge on the IconTabFilter of IconTabBar inner control\n\t *\n\t * @private\n\t * @param panel - associated panel\n\t * @param show - whether to show the badge\n\t */\n\tpublic _setPanelBadge(panel: BasePanel, show?: boolean) {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\t(this._getIconTabFilter(panel).getCustomData()[1] as BadgeCustomData)?.setVisible(show);\n\t\t}\n\t}\n\n\t/**\n\t * Creates and returns IconTabBarFilter for the specified panel to be placed\n\t * in the IconTabBar inner control in case of SideBySide layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel whose icon tab filter must be fetched\n\t * @returns {IconTabFilter} IconTabFilter for the specified panel\n\t */\n\tprivate _getIconTabFilter(panel: BasePanel): IconTabFilter {\n\t\tconst id = `${panel.getId()}-tabFilter`;\n\t\tlet iconTabFilter: IconTabFilter;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\ticonTabFilter = new SideBySideIconTabFilter(id, { panel });\n\t\t\ticonTabFilter.addCustomData(\n\t\t\t\tnew CustomData(`${panel.getId()}--customFilter`, {\n\t\t\t\t\tkey: \"sap-ui-fastnavgroup\",\n\t\t\t\t\tvalue: \"true\",\n\t\t\t\t\twriteToDom: true\n\t\t\t\t})\n\t\t\t);\n\n\t\t\t// add badge custom data\n\t\t\ticonTabFilter.addCustomData(new BadgeCustomData(`${panel.getId()}--badge`, { visible: true }));\n\n\t\t\tthis._controlMap.set(id, iconTabFilter);\n\t\t\taddFESRSemanticStepName(iconTabFilter, FESR_EVENTS.SELECT, panel.getProperty(\"key\") as string);\n\t\t}\n\n\t\t// update badge visibility\n\t\ticonTabFilter = this._controlMap.get(id) as IconTabFilter;\n\t\t(iconTabFilter.getCustomData()[1] as BadgeCustomData).setVisible(panel.getProperty(\"showBadge\") as boolean);\n\n\t\treturn iconTabFilter;\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic onBeforeRendering(): void {\n\t\t// set selected key to the first panel key if not set\n\t\tif (this.getProperty(\"selectedKey\") === \"\") {\n\t\t\tconst defaultKey = this.getContent()?.[0]?.getProperty(\"key\") as string;\n\t\t\tthis.setProperty(\"selectedKey\", defaultKey, true);\n\t\t}\n\n\t\t//create layout-specific inner control\n\t\tthis._createInnerControl();\n\n\t\t//fetch and update container header\n\t\tthis._updateContainerHeader(this);\n\n\t\t//add content from all panels to inner control\n\t\tthis._addAllPanelContent();\n\n\t\t//load content if lazy loading is disabled\n\t\tif (this.getProperty(\"enableLazyLoad\") === false && !this.getProperty(\"loaded\") && this.getVisible()) {\n\t\t\tthis._loadContent();\n\t\t}\n\n\t\t// mark performance metrics\n\t\tthis._markPerformanceMetrics();\n\t}\n\n\t/**\n\t * onAfterRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic onAfterRendering(): void {\n\t\tthis._attachResizeHandler();\n\n\t\t//observe container for lazy loading if enabled\n\t\tif (this.getProperty(\"enableLazyLoad\") as boolean) {\n\t\t\tthis._observeContainer();\n\t\t}\n\n\t\tthis._hidePanelHeaderIfSinglePanel();\n\t}\n\n\t/**\n\t * Hides the panel header if there is only one panel in the container,\n\t * in case of side-by-side orientation.\n\t *\n\t * @private\n\t */\n\tprivate _hidePanelHeaderIfSinglePanel(): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst hasOnlyOnePanel = this.getContent()?.length === 1;\n\t\tthis.toggleStyleClass(\"sapUiITBHide\", isSideBySideLayout && hasOnlyOnePanel);\n\t}\n\n\t/**\n\t * Loads the content for the container.\n\t *\n\t * @private\n\t */\n\tprivate _loadContent() {\n\t\tthis.setProperty(\"loaded\", true);\n\t\tthis.load?.();\n\t}\n\n\t/**\n\t * Attaches a resize handler to the container to adjust\n\t * the layout based on device size changes.\n\t *\n\t * @private\n\t */\n\tpublic _attachResizeHandler() {\n\t\tif (this.getDomRef() && this.getProperty(\"loaded\")) {\n\t\t\tthis._resizeObserver?.disconnect();\n\t\t\tthis._resizeObserver = new ResizeObserver((entries) => {\n\t\t\t\tif (this._resizeTimeout) {\n\t\t\t\t\tclearTimeout(this._resizeTimeout);\n\t\t\t\t}\n\n\t\t\t\t//debounce resize event to prevent multiple calls\n\t\t\t\tthis._resizeTimeout = window.setTimeout(() => {\n\t\t\t\t\tif (this.getVisible()) {\n\t\t\t\t\t\tthis._setDeviceType(entries);\n\t\t\t\t\t\tthis.adjustLayout();\n\t\t\t\t\t}\n\t\t\t\t}, 10) as unknown as number;\n\t\t\t});\n\t\t\tthis._resizeObserver?.observe(this.getDomRef() as Element);\n\t\t}\n\t}\n\n\t/**\n\t * Detaches the resize handler from the container.\n\t *\n\t * @private\n\t */\n\tpublic _detachResizeHandler() {\n\t\tthis._resizeObserver?.disconnect();\n\t}\n\n\t/**\n\t * Adds intersection observer for lazy loading of container\n\t *\n\t * @private\n\t */\n\tprivate _observeContainer(): void {\n\t\tconst target = this.getDomRef();\n\t\tif (!this._containerObserver) {\n\t\t\tthis._containerObserver = new IntersectionObserver(\n\t\t\t\t(entries) =>\n\t\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\t\tif (!this.getProperty(\"loaded\") && this.getVisible() && entry.isIntersecting) {\n\t\t\t\t\t\t\tthis._loadContent();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t{ rootMargin: \"0px\", threshold: 0.1 }\n\t\t\t);\n\t\t}\n\t\tthis._containerObserver?.disconnect();\n\t\t//observe container\n\t\tif (target) {\n\t\t\tthis._containerObserver.observe(target);\n\t\t}\n\t}\n\n\t/**\n\t * Create inner control for storing content from panel\n\t *\n\t * @private\n\t */\n\tprivate _createInnerControl(): void {\n\t\tconst layout = this.getProperty(\"orientation\") as OrientationType;\n\n\t\tif (layout === OrientationType.Horizontal || layout === OrientationType.Vertical) {\n\t\t\tif (!this._wrapper) {\n\t\t\t\tthis._wrapper = new FlexBox(`${this.getId()}-wrapper`, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\trenderType: \"Bare\"\n\t\t\t\t}).addStyleClass(\"sapCuxBaseWrapper\");\n\t\t\t\tthis.addDependent(this._wrapper);\n\t\t\t}\n\t\t\tthis._wrapper.setDirection(layout === OrientationType.Horizontal ? \"Row\" : \"Column\");\n\t\t} else if (!this._iconTabBar) {\n\t\t\tthis._iconTabBar = new IconTabBar(`${this.getId()}-iconTabBar`, {\n\t\t\t\texpandable: true,\n\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent,\n\t\t\t\theaderMode: \"Inline\",\n\t\t\t\theaderBackgroundDesign: BackgroundDesign.Transparent,\n\t\t\t\tselect: (event: Event) => this._onPanelSelect(event)\n\t\t\t});\n\t\t\tthis.addDependent(this._iconTabBar);\n\t\t}\n\t}\n\n\t/**\n\t * Update container header information\n\t *\n\t * @private\n\t */\n\tpublic _updateContainerHeader(control: BaseContainer | BasePanel): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isContainer = control instanceof BaseContainer;\n\t\tconst targetControl = !isContainer && isSideBySideLayout ? this : control;\n\n\t\t//clear container header elements\n\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentLeft\") as HBox)?.removeAllItems();\n\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentRight\") as HBox)?.removeAllItems();\n\n\t\t//update container header elements\n\t\tthis._updateHeader(control);\n\t}\n\n\t/**\n\t * Updates header information of a specified container or a panel\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - can be container or panel\n\t */\n\tprivate _updateHeader(control: BaseContainer | BasePanel): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isContainer = control instanceof BaseContainer;\n\n\t\t//Update Title\n\t\tconst headerTitle = this._controlMap.get(control.getId() + \"-header-title\") as Title;\n\t\theaderTitle?.setText(control.getProperty(\"title\") as string);\n\t\theaderTitle?.setVisible((control.getProperty(\"title\") as string)?.trim().length > 0);\n\n\t\t//Update Panel Header, if applicable\n\t\tif (!isContainer && isSideBySideLayout) {\n\t\t\tthis._getIconTabFilter(control)?.setText(control.getProperty(\"title\") as string);\n\t\t}\n\n\t\t//Add common header elements\n\t\tif (this._getLayout()) {\n\t\t\tthis._addLayoutHeaderElements();\n\t\t}\n\n\t\tconst currentControl = isContainer && isSideBySideLayout ? this._getSelectedPanel() : control;\n\t\tconst targetControl = !isContainer && isSideBySideLayout ? this : control;\n\n\t\t//Update Menu Items\n\t\tconst menuItems = this._filterVisibleHeaderElements(currentControl?.getMenuItems());\n\t\tif (menuItems.length > 0) {\n\t\t\tthis._addMenuItems(targetControl, menuItems);\n\t\t}\n\n\t\t//Update Action Buttons\n\t\t(currentControl?.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton: Button) => {\n\t\t\t(this._controlMap.get(targetControl.getId() + \"-header-contentRight\") as HBox)?.addItem(this._getHeaderButton(actionButton));\n\t\t});\n\t}\n\n\t/**\n\t * Attaches layout header elements like settings menu and full screen action to each\n\t * panel in the container, if enabled.\n\t *\n\t * @private\n\t */\n\tprivate _addLayoutHeaderElements(): void {\n\t\tconst attachHeaderElements = (control: BaseContainer | BasePanel) => {\n\t\t\tconst elements = [\n\t\t\t\t{ property: \"enableFullScreen\", aggregation: \"menuItems\", headerElement: this._getFullScreenMenuItem(control) },\n\t\t\t\t{ property: \"enableSettings\", aggregation: \"menuItems\", headerElement: this._getHomeSettingsMenuItem(control) },\n\t\t\t\t{ property: \"enableFullScreen\", aggregation: \"actionButtons\", headerElement: this._getFullScreenButton(control) }\n\t\t\t];\n\n\t\t\telements.forEach(({ property, aggregation, headerElement }) => {\n\t\t\t\tconst currentPropertyValue = control.getProperty(property) as boolean;\n\t\t\t\tconst previousPropertyValue = this._commonHeaderElementStates.get(`${headerElement.getId()}-${property}`);\n\n\t\t\t\t//update common header elements only if there's a change in property value\n\t\t\t\tif (currentPropertyValue !== previousPropertyValue) {\n\t\t\t\t\tthis._commonHeaderElementStates.set(`${headerElement.getId()}-${property}`, currentPropertyValue);\n\n\t\t\t\t\tif (currentPropertyValue) {\n\t\t\t\t\t\tcontrol.addAggregation(aggregation, headerElement);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontrol.removeAggregation(aggregation, headerElement);\n\t\t\t\t\t}\n\n\t\t\t\t\t// set full screen element relations\n\t\t\t\t\tif (property === \"enableFullScreen\") {\n\t\t\t\t\t\tthis.setFullScreenElementRelations({\n\t\t\t\t\t\t\tisFullScreenEnabled: currentPropertyValue,\n\t\t\t\t\t\t\tcontrol,\n\t\t\t\t\t\t\taggregation,\n\t\t\t\t\t\t\theaderElement\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// Add common header elements for container\n\t\tattachHeaderElements(this);\n\n\t\t// Add common header elements for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(attachHeaderElements);\n\n\t\t// setup full screen elements if required\n\t\tthis._setupFullScreenElements();\n\t}\n\n\t/**\n\t * Register/Degister elements for full screen, if enabled.\n\t *\n\t * @private\n\t */\n\tprivate _setupFullScreenElements() {\n\t\tconst layout = this._getLayout();\n\t\tconst setupFullScreenElement = (control: BaseContainer | BasePanel) => {\n\t\t\tconst currentPropertyValue = control.getProperty(\"enableFullScreen\") as boolean;\n\t\t\tconst previousPropertyValue = this._commonHeaderElementStates.get(`${control.getId()}-enableFullScreen`);\n\n\t\t\tif (currentPropertyValue !== previousPropertyValue) {\n\t\t\t\tthis._commonHeaderElementStates.set(`${control.getId()}-enableFullScreen`, currentPropertyValue);\n\n\t\t\t\tif (currentPropertyValue) {\n\t\t\t\t\tlayout?.registerFullScreenElement(control);\n\t\t\t\t} else {\n\t\t\t\t\tlayout?.deregisterFullScreenElement(control);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// update index of full screen element\n\t\t\tif (currentPropertyValue) {\n\t\t\t\tlayout?.updateFullScreenElement(control, {\n\t\t\t\t\tindex: layout?.indexOfItem(this)\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t// Register full screen elements for container\n\t\tsetupFullScreenElement(this);\n\n\t\t// Register full screen elements for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(setupFullScreenElement);\n\t}\n\n\t/**\n\t * Sets or removes the full screen element relations based on the provided configuration.\n\t *\n\t * @private\n\t * @param {FullScreenElementRelation} relation - The configuration object containing the full screen element relation details.\n\t * @param {boolean} relation.isFullScreenEnabled - Indicates whether full screen is enabled.\n\t * @param {Control} relation.control - The control to set or remove the association.\n\t * @param {string} relation.aggregation - The aggregation type (e.g., \"actionButtons\").\n\t * @param {Element} relation.headerElement - The header element to associate or disassociate.\n\t *\n\t * @returns {void}\n\t */\n\tprivate setFullScreenElementRelations(relation: FullScreenElementRelation): void {\n\t\tconst { isFullScreenEnabled, control, aggregation, headerElement } = relation;\n\t\tconst targetAggregation = aggregation === \"actionButtons\" ? \"fullScreenButton\" : \"fullScreenMenuItem\";\n\n\t\tif (isFullScreenEnabled) {\n\t\t\tcontrol.setAssociation(targetAggregation, headerElement, true);\n\t\t} else {\n\t\t\tcontrol.removeAssociation(targetAggregation, headerElement, true);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the my home settings menu item for a given panel.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} panel - The panel for which to retrieve the home settings menu item.\n\t * @returns {MenuItem} The settings menu item for the given panel.\n\t */\n\tprivate _getHomeSettingsMenuItem(panel: BaseContainer | BasePanel): MenuItem {\n\t\tconst id = `${panel.getId()}-settings`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst menuItem = new MenuItem(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\ticon: \"sap-icon://user-settings\",\n\t\t\t\tpress: () => {\n\t\t\t\t\t//open settings dialog\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.openSettingsDialog();\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(menuItem, \"myHomeSettings\");\n\t\t\tthis._controlMap.set(id, menuItem);\n\t\t}\n\n\t\treturn this._controlMap.get(id) as MenuItem;\n\t}\n\n\t/**\n\t * Retrieves the full screen menu item for a given panel.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} panel - The panel for which to retrieve the home settings menu item.\n\t * @returns {MenuItem} The settings menu item for the given panel.\n\t */\n\tprivate _getFullScreenMenuItem(panel: BaseContainer | BasePanel): MenuItem {\n\t\tconst id = `${panel.getId()}-showMore`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst fullScreenMenuItem = new MenuItem(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"expand\"),\n\t\t\t\ticon: \"sap-icon://display-more\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.toggleFullScreen(panel);\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(fullScreenMenuItem, \"toggleFullScreen\");\n\t\t\tthis._controlMap.set(id, fullScreenMenuItem);\n\t\t}\n\t\treturn this._controlMap.get(id) as MenuItem;\n\t}\n\n\t/**\n\t * Generates a full screen action button for a given control, which can be a panel or a container.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - The control for which the full screen button is generated.\n\t * @returns {Button} A Button instance configured to toggle full screen mode for the specified control.\n\t */\n\tprivate _getFullScreenButton(control: BaseContainer | BasePanel): Button {\n\t\tconst id = `${control.getId()}-fullScreen`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst fullScreenButton = new Button(id, {\n\t\t\t\ttext: this._i18nBundle.getText(\"expand\"),\n\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\tpress: () => {\n\t\t\t\t\tconst layout = this._getLayout();\n\t\t\t\t\tlayout?.toggleFullScreen(control);\n\t\t\t\t}\n\t\t\t});\n\t\t\taddFESRId(fullScreenButton, \"toggleFullScreen\");\n\t\t\tthis._controlMap.set(id, fullScreenButton);\n\t\t\tthis._exemptedActions.push(id);\n\t\t}\n\n\t\treturn this._controlMap.get(id) as Button;\n\t}\n\n\t/**\n\t * Returns the selected panel in the IconTabBar inner control in\n\t * case of SideBySide layout\n\t *\n\t * @private\n\t * @returns {BasePanel} selected panel\n\t */\n\tpublic _getSelectedPanel(): BasePanel {\n\t\tconst panel =\n\t\t\tthis.getContent()?.find((panel) => panel.getProperty(\"key\") === this.getProperty(\"selectedKey\")) || this.getContent()?.[0];\n\t\tthis.setProperty(\"selectedKey\", panel?.getProperty(\"key\"), true);\n\n\t\treturn panel;\n\t}\n\n\t/**\n\t * Add content from all panels to the layout-specific inner control\n\t *\n\t * @private\n\t */\n\tprivate _addAllPanelContent(): void {\n\t\tconst panels = this.getContent() || [];\n\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._iconTabBar.removeAllItems();\n\t\t\tpanels.forEach((panel) => this._iconTabBar.addItem(this._getIconTabFilter(panel)));\n\t\t\tthis._iconTabBar.setSelectedKey(this.getProperty(\"selectedKey\") as string);\n\t\t}\n\t}\n\n\t/**\n\t * Returns header of the specified panel after updating it\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel to be updated\n\t * @returns {HBox} header associated with the panel\n\t */\n\tpublic getPanelHeader(panel: BasePanel): HBox {\n\t\tconst header = this._createHeader(panel);\n\t\tconst isTitleVisible = (panel.getProperty(\"title\") as string)?.trim().length > 0;\n\t\tconst hasContainerTitle = (this.getProperty(\"title\") as string)?.trim().length > 0;\n\n\t\t//update panel header elements\n\t\tthis._updateContainerHeader(panel);\n\n\t\t//add header styling only if any of the header elements are visible\n\t\theader.toggleStyleClass(\n\t\t\t\"sapCuxPanelHeader\",\n\t\t\thasContainerTitle &&\n\t\t\t\t(isTitleVisible ||\n\t\t\t\t\tthis._filterVisibleHeaderElements(panel.getMenuItems()).length > 0 ||\n\t\t\t\t\tthis._filterVisibleHeaderElements(panel.getActionButtons()).length > 0)\n\t\t);\n\n\t\treturn header;\n\t}\n\n\t/**\n\t * Filters the provided array of header elements to include only those that are visible.\n\t *\n\t * @private\n\t * @template T - The type of elements in the array, which can be either MenuItem or Button.\n\t * @param {T[]} [elements=[]] - The array of elements to filter. Defaults to an empty array if not provided.\n\t *\n\t * @returns {T[]} An array of elements that are visible.\n\t */\n\tprivate _filterVisibleHeaderElements<T extends MenuItem | Button>(elements: T[] = []): T[] {\n\t\treturn elements.filter((element) => element.getVisible());\n\t}\n\n\t/**\n\t * Setter for container title\n\t *\n\t * @private\n\t * @param {string} title - updated title\n\t * @returns {BaseContainer} BaseContainer instance for chaining\n\t */\n\tpublic _setContainerTitle(title: string): BaseContainer {\n\t\t//suppress invalidate to prevent container re-rendering. re-render only the concerned element\n\t\tthis.setProperty(\"title\", title, true);\n\t\t(this._controlMap.get(`${this.getId()}-header-title`) as Title).setText(title);\n\t\treturn this;\n\t}\n\n\t/**\n\t * Adds menu items to a control and sets up a menu button to display them.\n\t * If the menu for the control doesn't exist, it creates a new one.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} control - The control to which the menu items will be added.\n\t * @param {MenuItem[]} menuItems - An array of menu items to be added to the menu.\n\t */\n\tprivate _addMenuItems(control: BaseContainer | BasePanel, menuItems: MenuItem[]): void {\n\t\tif (!this._controlMap.get(`${control.getId()}-menu`)) {\n\t\t\t//create menu list\n\t\t\tconst list = new List(`${control.getId()}-list`, {\n\t\t\t\titemPress: (event) => (event.getSource<List>().getParent() as Popover).close()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${control.getId()}-menu`, list);\n\t\t\tconst invisiblePopoverText = getInvisibleText(\n\t\t\t\trecycleId(`${control.getId()}-popoverTitle`),\n\t\t\t\tthis._i18nBundle.getText(\"actions\")\n\t\t\t);\n\t\t\t//create menu popover\n\t\t\tconst menuPopover = new Popover(recycleId(`${control.getId()}-popover`), {\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom,\n\t\t\t\tshowHeader: false,\n\t\t\t\tariaLabelledBy: [invisiblePopoverText ? invisiblePopoverText?.getId() : \"\"],\n\t\t\t\tcontent: [list, invisiblePopoverText]\n\t\t\t});\n\n\t\t\tconst controlId = control.getId();\n\t\t\tconst containerTitleId = `${controlId}-header`;\n\n\t\t\t//create menu button\n\t\t\tconst menuButton = new Button(`${control.getId()}-menu-btn`, {\n\t\t\t\ticon: \"sap-icon://slim-arrow-down\",\n\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\ttooltip: this._i18nBundle.getText(\"more\"),\n\t\t\t\tariaLabelledBy: [containerTitleId],\n\t\t\t\tpress: (event) => menuPopover.openBy(event.getSource<Button>())\n\t\t\t});\n\t\t\tthis._controlMap.set(`${control.getId()}-menu-btn`, menuButton);\n\t\t}\n\n\t\t//add menu button to header\n\t\t(this._controlMap.get(control.getId() + \"-header-contentLeft\") as HBox)?.addItem(\n\t\t\tthis._controlMap.get(`${control.getId()}-menu-btn`) as Button\n\t\t);\n\n\t\t//Clear existing menu items and add new ones\n\t\t(this._controlMap.get(`${control.getId()}-menu`) as List).removeAllItems();\n\t\tmenuItems.forEach((item) => (this._controlMap.get(`${control.getId()}-menu`) as List).addItem(this._getMenuListItem(item)));\n\t}\n\n\t/**\n\t * Creates and returns a button for the corresponding header ActionButton\n\t *\n\t * @private\n\t * @param {Button} headerButton - ActionButton element\n\t * @returns {Button} Button instance created for the header element\n\t */\n\tprivate _getHeaderButton(headerButton: Button): Button {\n\t\tconst id = `${headerButton.getId()}-btn`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Button(id, {\n\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\tpress: () => headerButton.firePress()\n\t\t\t\t})\n\t\t\t);\n\t\t\taddFESRSemanticStepName(this._controlMap.get(id) as Button, FESR_EVENTS.PRESS, getFESRId(headerButton));\n\t\t}\n\n\t\t//Update button details\n\t\tconst button = this._controlMap.get(id) as Button;\n\t\tbutton.setText(headerButton.getText());\n\t\tbutton.setTooltip(headerButton.getTooltip() as string);\n\t\tbutton.setIcon(headerButton.getIcon());\n\t\tbutton.setVisible(headerButton.getVisible());\n\t\tbutton.setEnabled(headerButton.getEnabled());\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Retrieves the layout associated with the container, if available.\n\t *\n\t * @private\n\t * @returns {BaseLayout} The layout associated with the BaseContainer.\n\t */\n\tpublic _getLayout(): BaseLayout {\n\t\treturn UI5Element.getElementById(this.getAssociation(\"layout\", null) as string) as BaseLayout;\n\t}\n\n\t/**\n\t * Retrieves or creates a menu list item for a given menu item.\n\t *\n\t * @private\n\t * @param {MenuItem} menuItem - The menu item for which to retrieve or create a list item.\n\t * @returns {StandardListItem} The menu list item associated with the provided menu item.\n\t */\n\tprivate _getMenuListItem(menuItem: MenuItem): StandardListItem {\n\t\tif (!this._controlMap.get(`${menuItem.getId()}-listItem`)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${menuItem.getId()}-listItem`,\n\t\t\t\tnew StandardListItem(`${menuItem.getId()}-listItem`, {\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\ticon: menuItem.getIcon(),\n\t\t\t\t\ttitle: menuItem.getTitle(),\n\t\t\t\t\tpress: (event) => menuItem.firePress({ button: event.getSource<Button>() })\n\t\t\t\t})\n\t\t\t);\n\t\t\taddFESRSemanticStepName(\n\t\t\t\tthis._controlMap.get(`${menuItem.getId()}-listItem`) as StandardListItem,\n\t\t\t\tFESR_EVENTS.PRESS,\n\t\t\t\tgetFESRId(menuItem)\n\t\t\t);\n\t\t}\n\t\t//Update list item details\n\t\tconst menuListItem = this._controlMap.get(`${menuItem.getId()}-listItem`) as StandardListItem;\n\t\tmenuListItem.setIcon(menuItem.getIcon());\n\t\tmenuListItem.setTitle(menuItem.getTitle());\n\t\tmenuListItem.setVisible(menuItem.getVisible());\n\t\treturn menuListItem;\n\t}\n\n\t/**\n\t * Toggles the visibility of menu Item.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the menu item.\n\t * @returns {void}\n\t */\n\tpublic toggleMenuListItem(menuItem: MenuItem, show: boolean): void {\n\t\tif (menuItem) {\n\t\t\tconst menuListItem = this._getMenuListItem(menuItem);\n\t\t\tmenuListItem?.setVisible(show);\n\t\t\tmenuItem.setProperty(\"visible\", show, true);\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the visibility of action button.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the action button.\n\t * @returns {void}\n\t */\n\tpublic toggleActionButton(actionButton: Button, show: boolean): void {\n\t\tif (actionButton) {\n\t\t\tconst actionButtonControl = this._getHeaderButton(actionButton);\n\t\t\tactionButtonControl?.setVisible(show);\n\t\t\tactionButton.setProperty(\"visible\", show, true);\n\t\t}\n\t}\n\n\tpublic removeContent(panel: BasePanel) {\n\t\tif (this.getProperty(\"selectedKey\") && this.getProperty(\"selectedKey\") === panel?.getProperty?.(\"key\")) {\n\t\t\tthis.setProperty(\"selectedKey\", undefined, true);\n\t\t}\n\t\tthis.removeAggregation(\"content\", panel);\n\t}\n\n\t/**\n\t * Gets current value of property \"width\".\n\t *\n\t * Default value is: \"100%\"\n\t * @returns {CSSSize} Value of property \"width\"\n\t */\n\tpublic getWidth(): CSSSize {\n\t\treturn this.getProperty(\"width\") as CSSSize;\n\t}\n\n\t/**\n\t * Toggles the visibility of action buttons within the container and/or its inner panels.\n\t *\n\t * @private\n\t * @param {boolean} show - Indicates whether to show or hide the action buttons.\n\t * @returns {void}\n\t */\n\tpublic toggleActionButtons(show: boolean): void {\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tlet visibilityChanged = false;\n\t\tconst toggleActionButtons = (control: BaseContainer | BasePanel) => {\n\t\t\tcontrol.getActionButtons()?.forEach((actionButton) => {\n\t\t\t\tconst currentVisibility = actionButton.getVisible();\n\t\t\t\tif (currentVisibility !== show && !this._exemptedActions.includes(actionButton.getId())) {\n\t\t\t\t\tactionButton.setProperty(\"visible\", show, true);\n\t\t\t\t\tvisibilityChanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!isSideBySideLayout && visibilityChanged) {\n\t\t\t\tthis._updateContainerHeader(control);\n\t\t\t}\n\t\t};\n\n\t\t// Toggle action buttons for container\n\t\ttoggleActionButtons(this);\n\n\t\t// Toggle action buttons for inner panels\n\t\tconst panels = this.getContent() || [];\n\t\tpanels.forEach(toggleActionButtons);\n\n\t\t// Update Header Container if required\n\t\tif (isSideBySideLayout && visibilityChanged) {\n\t\t\tthis._updateContainerHeader(this);\n\t\t}\n\t}\n\n\t/**\n\t * Toggles the visibility of the full screen button for the specified element.\n\t *\n\t * @private\n\t * @param {BaseContainer | BasePanel} element - The element for which to toggle the full screen button.\n\t * @param {boolean} show - Indicates whether to show or hide the full screen button.\n\t */\n\tpublic toggleFullScreenElements(element: BaseContainer | BasePanel, show: boolean): void {\n\t\tconst fullScreenButton = UI5Element.getElementById(element.getAssociation(\"fullScreenButton\", null) as string) as Button;\n\t\tconst fullScreenMenuButton = UI5Element.getElementById(element.getAssociation(\"fullScreenMenuItem\", null) as string) as MenuItem;\n\t\tconst isSideBySideLayout = this.getProperty(\"orientation\") === OrientationType.SideBySide;\n\t\tconst isPhone = this.getDeviceType() === DeviceType.Mobile;\n\t\tconst parent = element.getParent() as BaseContainer;\n\t\tlet elementVisibilityChanged = false;\n\t\tshow = !isPhone ? show : false;\n\t\t[fullScreenButton, fullScreenMenuButton].forEach((fullScreenElement: Button | MenuItem) => {\n\t\t\tif (fullScreenElement && show !== fullScreenElement.getVisible()) {\n\t\t\t\telementVisibilityChanged = true;\n\t\t\t\tfullScreenElement.setProperty(\"visible\", show, true);\n\t\t\t}\n\t\t});\n\t\tconst elementKey = element instanceof BasePanel && element.getKey();\n\t\tif (elementVisibilityChanged && (!isSideBySideLayout || (isSideBySideLayout && this.getProperty(\"selectedKey\") === elementKey))) {\n\t\t\tthis._updateContainerHeader(\n\t\t\t\tparent.getContent().length === 1 && !isSideBySideLayout ? (element.getParent() as BaseContainer) : element\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the device type based on the width of the container element.\n\t *\n\t * @private\n\t * @param {ResizeObserverEntry[]} entries - The entries returned by the ResizeObserver.\n\t * @returns {void}\n\t */\n\tprivate _setDeviceType(entries: ResizeObserverEntry[]): void {\n\t\tconst [entry] = entries;\n\t\tconst parentLayout = entry.target.parentNode as Element;\n\t\tconst width = parentLayout.clientWidth;\n\t\tconst deviceType = calculateDeviceType(width);\n\n\t\t//when width is zero, dom is not rendered hence setting device type can cause wrong calculation\n\t\tif (this._deviceType !== deviceType && width > 0) {\n\t\t\tthis._deviceType = deviceType;\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the device type for the current instance.\n\t *\n\t * @private\n\t * @returns {DeviceType} - The device type. If the device type is not set, it calculates\n\t * and returns the device type based on the current device width.\n\t */\n\tpublic getDeviceType(): DeviceType {\n\t\treturn this._deviceType || calculateDeviceType();\n\t}\n\n\t/**\n\t * Records the performance metrics for the container.\n\t * This is applicable only if the container is part of a layout.\n\t *\n\t * @private\n\t */\n\tprivate _markPerformanceMetrics() {\n\t\tconst elementName = this.getMetadata().getName() as keyof typeof UIElements;\n\t\trecordElementLoadStart(elementName);\n\n\t\tthis.getContent()?.forEach((panel) => {\n\t\t\tpanel.attachEventOnce(\"loaded\", () => {\n\t\t\t\trecordElementLoadEnd(elementName);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Exit lifecycle method, to clean up resources.\n\t *\n\t * @private\n\t * @override\n\t */\n\texit(): void | undefined {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t\tthis._detachResizeHandler();\n\t}\n\n\t/**\n\t * Default implementation: returns undefined.\n\t */\n\tprotected getGenericPlaceholderContent(): string | undefined {\n\t\treturn undefined;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* * (c) Copyright 2009-
|
|
3
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
@@ -160,7 +160,11 @@ export default abstract class BaseContainer extends Control {
|
|
|
160
160
|
/**
|
|
161
161
|
* Indicates if the container is loaded.
|
|
162
162
|
*/
|
|
163
|
-
loaded: { type: "boolean", group: "Appearance", defaultValue: false, visibility: "hidden" }
|
|
163
|
+
loaded: { type: "boolean", group: "Appearance", defaultValue: false, visibility: "hidden" },
|
|
164
|
+
/**
|
|
165
|
+
* To check if container is composite or not
|
|
166
|
+
*/
|
|
167
|
+
compositeId: { type: "string", group: "Misc", visibility: "hidden" }
|
|
164
168
|
},
|
|
165
169
|
defaultAggregation: "content",
|
|
166
170
|
aggregations: {
|
|
@@ -300,7 +304,7 @@ export default abstract class BaseContainer extends Control {
|
|
|
300
304
|
}
|
|
301
305
|
|
|
302
306
|
//add control-specific styling
|
|
303
|
-
(this._controlMap.get(id) as HBox)?.addStyleClass(isPanel && hasContainerTitle ? "sapCuxPanelHeader" : "
|
|
307
|
+
(this._controlMap.get(id) as HBox)?.addStyleClass(isPanel && hasContainerTitle ? "sapCuxPanelHeader" : "sapUiBaseContainerHeader");
|
|
304
308
|
(this._controlMap.get(`${controlId}-header-title`) as Title).setTitleStyle(isPanel && hasContainerTitle ? "H6" : "H4");
|
|
305
309
|
|
|
306
310
|
return this._controlMap.get(id) as HBox;
|
|
@@ -883,7 +887,7 @@ export default abstract class BaseContainer extends Control {
|
|
|
883
887
|
* @param {string} title - updated title
|
|
884
888
|
* @returns {BaseContainer} BaseContainer instance for chaining
|
|
885
889
|
*/
|
|
886
|
-
public
|
|
890
|
+
public _setContainerTitle(title: string): BaseContainer {
|
|
887
891
|
//suppress invalidate to prevent container re-rendering. re-render only the concerned element
|
|
888
892
|
this.setProperty("title", title, true);
|
|
889
893
|
(this._controlMap.get(`${this.getId()}-header-title`) as Title).setText(title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseContainerRenderer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IASpD,OAAO,aAAa,MAAM,2BAA2B,CAAC;IACtD,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAG/C,MAAM,WAAW,GAAI,IAAI,aAAa,EAAE,SAAS,aAAa,EAAE,OAAO,SAAS,SAqB/E,CAAC;IAEF;;OAEG;IACH,MAAM,uBAAuB,GAAI,IAAI,aAAa,EAAE,SAAS,aAAa,SAczE,CAAC;;;QAKD;;;;;;;WAOG;qBACmB,aAAa,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"BaseContainerRenderer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainerRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IASpD,OAAO,aAAa,MAAM,2BAA2B,CAAC;IACtD,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAG/C,MAAM,WAAW,GAAI,IAAI,aAAa,EAAE,SAAS,aAAa,EAAE,OAAO,SAAS,SAqB/E,CAAC;IAEF;;OAEG;IACH,MAAM,uBAAuB,GAAI,IAAI,aAAa,EAAE,SAAS,aAAa,SAczE,CAAC;;;QAKD;;;;;;;WAOG;qBACmB,aAAa,WAAW,aAAa;QAkC3D;;;;;;WAMG;4BAC0B,aAAa,WAAW,aAAa;;IApDnE,wBAgFE;CAED"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* * (c) Copyright 2009-
|
|
3
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/base/Log", "./library"], function (Log, ___library) {
|
|
6
6
|
"use strict";
|
|
@@ -62,6 +62,12 @@ sap.ui.define(["sap/base/Log", "./library"], function (Log, ___library) {
|
|
|
62
62
|
rm.class("sapCuxVertical");
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
// Apply composite class name if available
|
|
66
|
+
const compositeClassName = control.getProperty("compositeId");
|
|
67
|
+
if (compositeClassName) {
|
|
68
|
+
rm.class(compositeClassName);
|
|
69
|
+
}
|
|
70
|
+
|
|
65
71
|
//update width and height
|
|
66
72
|
rm.style("width", control.getWidth());
|
|
67
73
|
rm.style("height", control.getHeight());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseContainerRenderer.js","names":["sap","ui","define","Log","___library","OrientationType","renderPanel","rm","control","panel","getVisible","orientation","getProperty","isSideBySide","SideBySide","openStart","getId","class","openEnd","renderControl","getPanelHeader","getContent","forEach","content","close","renderCustomPlaceholder","placeholder","getAggregation","error","__exports","apiVersion","render","Horizontal","style","getWidth","getHeight","isLazyLoadEnabled","renderContent","length","_getHeader","_getInnerControl"],"sources":["BaseContainerRenderer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-
|
|
1
|
+
{"version":3,"file":"BaseContainerRenderer.js","names":["sap","ui","define","Log","___library","OrientationType","renderPanel","rm","control","panel","getVisible","orientation","getProperty","isSideBySide","SideBySide","openStart","getId","class","openEnd","renderControl","getPanelHeader","getContent","forEach","content","close","renderCustomPlaceholder","placeholder","getAggregation","error","__exports","apiVersion","render","Horizontal","compositeClassName","style","getWidth","getHeight","isLazyLoadEnabled","renderContent","length","_getHeader","_getInnerControl"],"sources":["BaseContainerRenderer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2026 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport Control from \"sap/ui/core/Control\";\nimport HTML from \"sap/ui/core/HTML\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport { OrientationType } from \"./library\";\n\nconst renderPanel = (rm: RenderManager, control: BaseContainer, panel: BasePanel) => {\n\tif (!panel.getVisible()) {\n\t\treturn;\n\t}\n\n\tconst orientation = control.getProperty(\"orientation\") as OrientationType;\n\tconst isSideBySide = orientation === OrientationType.SideBySide;\n\n\trm.openStart(\"div\", panel.getId()).class(\"sapUiBasePanel\").openEnd();\n\n\tif (!isSideBySide) {\n\t\t// render panel header\n\t\trm.renderControl(control.getPanelHeader(panel));\n\t}\n\n\t//render panel content\n\tpanel.getContent().forEach((content: Control) => {\n\t\trm.renderControl(content);\n\t});\n\n\trm.close(\"div\");\n};\n\n/**\n * Renders custom loader based on container type.\n */\nconst renderCustomPlaceholder = (rm: RenderManager, control: BaseContainer) => {\n\ttry {\n\t\tconst placeholder = control.getAggregation(\"_placeholder\") as HTML;\n\t\tif (!placeholder) {\n\t\t\trm.openStart(\"div\", control.getId() + \"-placeholder\")\n\t\t\t\t.class(\"sapUiBaseContainerPlaceholder\")\n\t\t\t\t.openEnd()\n\t\t\t\t.close(\"div\");\n\t\t\treturn;\n\t\t}\n\t\trm.renderControl(placeholder);\n\t} catch (error) {\n\t\tLog.error(\"Failed to render placeholder:\", error as string);\n\t}\n};\n\nexport default {\n\tapiVersion: 2,\n\n\t/**\n\t * Renders the control.\n\t *\n\t * @public\n\t * @override\n\t * @param {RenderManager} rm - The RenderManager object.\n\t * @param {BaseContainer} control - The BaseContainer control to be rendered.\n\t */\n\trender: function (rm: RenderManager, control: BaseContainer) {\n\t\trm.openStart(\"div\", control).class(\"sapCuxBaseContainer\");\n\n\t\t//Apply Layout based style classes\n\t\tif (control.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\trm.class(\"sapCuxSideBySide\");\n\t\t} else if (control.getProperty(\"orientation\") === OrientationType.Horizontal) {\n\t\t\trm.class(\"sapCuxHorizontal\");\n\t\t} else {\n\t\t\trm.class(\"sapCuxVertical\");\n\t\t}\n\n\t\t// Apply composite class name if available\n\t\tconst compositeClassName = control.getProperty(\"compositeId\") as string;\n\t\tif (compositeClassName) {\n\t\t\trm.class(compositeClassName);\n\t\t}\n\n\t\t//update width and height\n\t\trm.style(\"width\", control.getWidth());\n\t\trm.style(\"height\", control.getHeight());\n\t\trm.openEnd();\n\n\t\t//render content only if it is loaded, render placeholder otherwise\n\t\tconst isLazyLoadEnabled = control.getProperty(\"enableLazyLoad\") as boolean;\n\t\tif (!isLazyLoadEnabled || control.getProperty(\"loaded\")) {\n\t\t\tthis.renderContent(rm, control);\n\t\t} else {\n\t\t\trenderCustomPlaceholder(rm, control);\n\t\t}\n\n\t\trm.close(\"div\");\n\t},\n\n\t/**\n\t * Renders the content of the control.\n\t *\n\t * @private\n\t * @param {RenderManager} rm - The RenderManager object.\n\t * @param {BaseContainer} control - The BaseContainer control.\n\t */\n\trenderContent: function (rm: RenderManager, control: BaseContainer) {\n\t\tif (control.getContent()?.length > 0) {\n\t\t\t//render header\n\t\t\trm.openStart(\"div\", control.getId() + \"-header\")\n\t\t\t\t.class(\"sapUiBaseContainerHeader\")\n\t\t\t\t.openEnd();\n\t\t\trm.renderControl(control._getHeader());\n\t\t\trm.close(\"div\");\n\n\t\t\t//render inner control only if orientation is SideBySide\n\t\t\tconst orientation = control.getProperty(\"orientation\") as OrientationType;\n\t\t\tconst isSideBySide = orientation === OrientationType.SideBySide;\n\n\t\t\t//render content\n\t\t\trm.openStart(\"div\", control.getId() + \"-content\")\n\t\t\t\t.class(\"sapUiBaseContainerContent\")\n\t\t\t\t.class(`sapUiOrientation${orientation}`)\n\t\t\t\t.openEnd();\n\t\t\tif (isSideBySide) {\n\t\t\t\trm.renderControl(control._getInnerControl());\n\t\t\t} else {\n\t\t\t\t//render individual panels\n\t\t\t\tcontrol.getContent().forEach((panel: BasePanel) => renderPanel(rm, control, panel));\n\t\t\t}\n\n\t\t\trm.close(\"div\");\n\t\t}\n\t}\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* * (c) Copyright 2009-
|
|
3
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import Log from "sap/base/Log";
|
|
@@ -76,6 +76,12 @@ export default {
|
|
|
76
76
|
rm.class("sapCuxVertical");
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
// Apply composite class name if available
|
|
80
|
+
const compositeClassName = control.getProperty("compositeId") as string;
|
|
81
|
+
if (compositeClassName) {
|
|
82
|
+
rm.class(compositeClassName);
|
|
83
|
+
}
|
|
84
|
+
|
|
79
85
|
//update width and height
|
|
80
86
|
rm.style("width", control.getWidth());
|
|
81
87
|
rm.style("height", control.getHeight());
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare module "sap/cux/home/BaseLayout" {
|
|
2
2
|
/*!
|
|
3
3
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
4
|
-
* * (c) Copyright 2009-
|
|
4
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
5
5
|
*/
|
|
6
6
|
import { Event } from "jquery";
|
|
7
7
|
import ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare module "sap/cux/home/BaseLayout" {
|
|
2
2
|
/*!
|
|
3
3
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
4
|
-
* * (c) Copyright 2009-
|
|
4
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
5
5
|
*/
|
|
6
6
|
import Event from "sap/ui/base/Event";
|
|
7
7
|
import BaseContainer from "sap/cux/home/BaseContainer";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* * (c) Copyright 2009-
|
|
3
|
+
* * (c) Copyright 2009-2026 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["sap/base/Log", "sap/base/util/deepEqual", "sap/m/library", "sap/m/Page", "sap/ui/core/Element", "sap/ui/core/Lib", "sap/ui/core/routing/HashChanger", "sap/ushell/api/S4MyHome", "./BaseLayoutRenderer", "./BasePanel", "./library", "./utils/Device"], function (Log, deepEqual, sap_m_library, Page, UI5Element, Lib, HashChanger, S4MyHome, __BaseLayoutRenderer, __BasePanel, ___library, ___utils_Device) {
|
|
6
6
|
"use strict";
|