@sapui5/sap.cux.home 1.136.1 → 1.138.0
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 +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +33 -30
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
- package/src/sap/cux/home/App.d.ts +1 -2
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +7 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +8 -3
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +28 -23
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +18 -5
- package/src/sap/cux/home/AppsContainer.d.ts +0 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +22 -25
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +4 -4
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
- package/src/sap/cux/home/BaseApp.js +10 -3
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +11 -4
- package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +7 -12
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +2 -4
- package/src/sap/cux/home/BaseAppPersPanel.d.ts +3 -3
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +17 -13
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +18 -11
- package/src/sap/cux/home/BaseContainer.d.ts +0 -1
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +16 -13
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +10 -5
- package/src/sap/cux/home/BaseLayout.d.ts +0 -1
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +6 -13
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +7 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +8 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +7 -2
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
- package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
- package/src/sap/cux/home/BasePagePanel.js +16 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +17 -3
- package/src/sap/cux/home/BasePanel.d.ts +0 -1
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -3
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +1 -2
- package/src/sap/cux/home/CardsPanel.d.ts +0 -1
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +103 -104
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +4 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +3 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +3 -7
- package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
- package/src/sap/cux/home/ErrorPanel.js +16 -2
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +17 -3
- package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +286 -291
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +23 -18
- package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +1 -4
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.d.ts.map +1 -1
- package/src/sap/cux/home/Group.gen.d.ts +47 -1
- package/src/sap/cux/home/Group.js +30 -3
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +26 -6
- package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
- package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +1 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +1 -7
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +1 -8
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
- package/src/sap/cux/home/InsightsContainer.d.ts +1 -1
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +19 -3
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +17 -4
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +22 -13
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +22 -17
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -4
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -4
- package/src/sap/cux/home/Layout.d.ts +0 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +7 -10
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +3 -4
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/MenuItem.d.ts +0 -1
- package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
- package/src/sap/cux/home/MenuItem.js +0 -1
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +0 -1
- package/src/sap/cux/home/NewsGroup.d.ts +0 -3
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +1 -4
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -4
- package/src/sap/cux/home/NewsItem.d.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/NewsItem.js +0 -3
- package/src/sap/cux/home/NewsItem.js.map +1 -1
- package/src/sap/cux/home/NewsItem.ts +0 -3
- package/src/sap/cux/home/NewsPanel.d.ts +0 -1
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +84 -96
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +32 -35
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +6 -3
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +18 -4
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +16 -4
- package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +0 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +0 -1
- package/src/sap/cux/home/Page.d.ts +0 -3
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.gen.d.ts +0 -12
- package/src/sap/cux/home/Page.js +0 -7
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +0 -7
- package/src/sap/cux/home/PagePanel.d.ts +0 -4
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +5 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +4 -9
- package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +3 -5
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
- package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +2 -6
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +25 -23
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +9 -16
- package/src/sap/cux/home/SituationPanel.d.ts +0 -1
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +0 -1
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +0 -1
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js +786 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.ts +628 -0
- package/src/sap/cux/home/SpacePanel.d.ts +117 -0
- package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
- package/src/sap/cux/home/SpacePanel.js +599 -0
- package/src/sap/cux/home/SpacePanel.js.map +1 -0
- package/src/sap/cux/home/SpacePanel.ts +461 -0
- package/src/sap/cux/home/TaskPanel.d.ts +0 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +14 -24
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +6 -11
- package/src/sap/cux/home/TilesPanel.d.ts +0 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +4 -5
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +3 -3
- package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +67 -17
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +70 -13
- package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +0 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +0 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +8 -6
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +59 -13
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_da.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_de.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_el.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +46 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_es.properties +62 -16
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_et.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +54 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_id.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_it.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +58 -12
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_no.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_th.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +57 -11
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +56 -10
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
- package/src/sap/cux/home/library.d.ts +3 -4
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +3 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +3 -4
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -1
- package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
- package/src/sap/cux/home/utils/Accessibility.js +3 -4
- package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
- package/src/sap/cux/home/utils/Accessibility.ts +2 -2
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +12 -7
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +172 -172
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +42 -23
- package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +5 -10
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
- package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
- package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js +23 -2
- package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.ts +25 -1
- package/src/sap/cux/home/utils/Constants.d.ts +4 -5
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +5 -5
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +4 -5
- package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
- package/src/sap/cux/home/utils/Device.js +1 -2
- package/src/sap/cux/home/utils/Device.js.map +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.d.ts +20 -13
- package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js +38 -33
- package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.ts +39 -32
- package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
- package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js +43 -3
- package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +33 -13
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -2
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +8 -14
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -5
- package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
- package/src/sap/cux/home/utils/SituationUtils.js +1 -2
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/TaskUtils.js +1 -2
- package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +16 -17
- package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
- package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
- package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,4BAA4B,CAAC;IAC5C;;;OAGG;IAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAC1D,OAAO,MAAM,MAAM,cAAc,CAAC;IAClC,OAAO,OAAO,MAAM,eAAe,CAAC;IACpC,OAAO,IAAI,MAAM,YAAY,CAAC;IAC9B,OAAO,UAAU,EAAE,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;IAQtE,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAK3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;IACpE,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;IACvE,OAAO,UAAU,MAAM,yBAAyB,CAAC;IACjD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;IAI7C,OAAO,EAAuB,UAAU,EAAE,MAAM,2BAA2B,CAAC;IAI5E,KAAK,yBAAyB,GAAG;QAChC,mBAAmB,EAAE,OAAO,CAAC;QAC7B,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAC;KACjC,CAAC;IAEF
|
|
1
|
+
{"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,6 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
37
37
|
*
|
|
38
38
|
* @abstract
|
|
39
39
|
* @internal
|
|
40
|
-
* @experimental Since 1.121
|
|
41
40
|
* @public
|
|
42
41
|
*
|
|
43
42
|
* @ui5-metamodel
|
|
@@ -311,7 +310,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
311
310
|
_createHeader: function _createHeader(control) {
|
|
312
311
|
const controlId = control.getId();
|
|
313
312
|
const id = `${controlId}-header`;
|
|
314
|
-
const isPanel = control
|
|
313
|
+
const isPanel = control instanceof BasePanel;
|
|
315
314
|
const hasContainerTitle = this.getProperty("title")?.trim().length > 0;
|
|
316
315
|
if (!this._controlMap.get(id)) {
|
|
317
316
|
//create header elements
|
|
@@ -451,7 +450,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
451
450
|
this._addAllPanelContent();
|
|
452
451
|
|
|
453
452
|
//load content if lazy loading is disabled
|
|
454
|
-
if (this.getProperty("enableLazyLoad") === false && !this.getProperty("loaded")) {
|
|
453
|
+
if (this.getProperty("enableLazyLoad") === false && !this.getProperty("loaded") && this.getVisible()) {
|
|
455
454
|
this._loadContent();
|
|
456
455
|
}
|
|
457
456
|
|
|
@@ -571,7 +570,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
571
570
|
*/
|
|
572
571
|
_updateContainerHeader: function _updateContainerHeader(control) {
|
|
573
572
|
const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
|
|
574
|
-
const isContainer = control
|
|
573
|
+
const isContainer = control instanceof BaseContainer;
|
|
575
574
|
const targetControl = !isContainer && isSideBySideLayout ? this : control;
|
|
576
575
|
|
|
577
576
|
//clear container header elements
|
|
@@ -589,12 +588,18 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
589
588
|
*/
|
|
590
589
|
_updateHeader: function _updateHeader(control) {
|
|
591
590
|
const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
|
|
592
|
-
const isContainer = control
|
|
591
|
+
const isContainer = control instanceof BaseContainer;
|
|
592
|
+
|
|
593
593
|
//Update Title
|
|
594
594
|
const headerTitle = this._controlMap.get(control.getId() + "-header-title");
|
|
595
595
|
headerTitle?.setText(control.getProperty("title"));
|
|
596
596
|
headerTitle?.setVisible(control.getProperty("title")?.trim().length > 0);
|
|
597
597
|
|
|
598
|
+
//Update Panel Header, if applicable
|
|
599
|
+
if (!isContainer && isSideBySideLayout) {
|
|
600
|
+
this._getIconTabFilter(control)?.setText(control.getProperty("title"));
|
|
601
|
+
}
|
|
602
|
+
|
|
598
603
|
//Add common header elements
|
|
599
604
|
if (this._getLayout()) {
|
|
600
605
|
this._addLayoutHeaderElements();
|
|
@@ -634,12 +639,11 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
634
639
|
aggregation: "actionButtons",
|
|
635
640
|
headerElement: this._getFullScreenButton(control)
|
|
636
641
|
}];
|
|
637
|
-
elements.forEach(
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
} = _ref;
|
|
642
|
+
elements.forEach(({
|
|
643
|
+
property,
|
|
644
|
+
aggregation,
|
|
645
|
+
headerElement
|
|
646
|
+
}) => {
|
|
643
647
|
const currentPropertyValue = control.getProperty(property);
|
|
644
648
|
const previousPropertyValue = this._commonHeaderElementStates.get(`${headerElement.getId()}-${property}`);
|
|
645
649
|
|
|
@@ -885,8 +889,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
|
|
|
885
889
|
*
|
|
886
890
|
* @returns {T[]} An array of elements that are visible.
|
|
887
891
|
*/
|
|
888
|
-
_filterVisibleHeaderElements: function _filterVisibleHeaderElements() {
|
|
889
|
-
let elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
892
|
+
_filterVisibleHeaderElements: function _filterVisibleHeaderElements(elements = []) {
|
|
890
893
|
return elements.filter(element => element.getVisible());
|
|
891
894
|
},
|
|
892
895
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseContainer.js","names":["sap","ui","define","Button","FlexBox","HBox","IconTabBar","IconTabFilter","List","Popover","StandardListItem","Title","sap_m_library","Control","CustomData","UI5Element","HTML","Lib","__BaseContainerRenderer","__BasePanel","__MenuItem","___library","___utils_Accessibility","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_PerformanceUtils","_interopRequireDefault","obj","__esModule","default","BackgroundDesign","ButtonType","PlacementType","BaseContainerRenderer","BasePanel","MenuItem","OrientationType","getInvisibleText","recycleId","calculateDeviceType","DeviceType","addFESRId","addFESRSemanticStepName","FESR_EVENTS","getFESRId","recordElementLoadEnd","recordElementLoadStart","BaseContainer","extend","renderer","metadata","library","properties","title","type","group","defaultValue","visibility","orientation","SideBySide","selectedKey","width","height","blocked","busy","busyIndicatorDelay","busyIndicatorSize","fieldGroupIds","visible","enableSettings","enableFullScreen","fullScreenName","enableLazyLoad","loaded","defaultAggregation","aggregations","content","singularName","multiple","actionButtons","menuItems","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","getCustomSettings","_getCustomSettings","data","addCustomSetting","_addCustomSetting","control","controlId","isPanel","isA","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","_addToPanel","addContent","addItem","iconTabFilter","text","tooltip","writeToDom","SELECT","_getContent","forEach","onBeforeRendering","_onBeforeRendering","defaultKey","getContent","_createInnerControl","_addAllPanelContent","_loadContent","_markPerformanceMetrics","onAfterRendering","_onAfterRendering","_attachResizeHandler","_observeContainer","getDomRef","_resizeObserver","disconnect","ResizeObserver","entries","_resizeTimeout","clearTimeout","window","setTimeout","getVisible","_setDeviceType","observe","_detachResizeHandler","target","_containerObserver","IntersectionObserver","entry","isIntersecting","rootMargin","threshold","Horizontal","Vertical","setDirection","expandable","backgroundDesign","Transparent","headerMode","headerBackgroundDesign","select","isSideBySideLayout","isContainer","targetControl","removeAllItems","_updateHeader","headerTitle","setText","setVisible","_getLayout","_addLayoutHeaderElements","currentControl","_getSelectedPanel","_filterVisibleHeaderElements","getMenuItems","_addMenuItems","getAggregation","actionButton","_getHeaderButton","attachHeaderElements","elements","property","aggregation","headerElement","_getFullScreenMenuItem","_getHomeSettingsMenuItem","_getFullScreenButton","_ref","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","push","find","setSelectedKey","_getPanelContentWrapper","direction","_updatePanelHeader","header","isTitleVisible","toggleStyleClass","getActionButtons","arguments","undefined","filter","element","_setTitle","list","itemPress","getSource","getParent","close","invisiblePopoverText","menuPopover","placement","VerticalPreferredBottom","showHeader","ariaLabelledBy","containerTitleId","menuButton","openBy","item","_getMenuListItem","headerButton","firePress","PRESS","button","setTooltip","getTooltip","setIcon","getIcon","setEnabled","getEnabled","getElementById","getAssociation","getTitle","menuListItem","setTitle","toggleMenuListItem","_toggleMenuListItem","show","toggleActionButton","_toggleActionButton","actionButtonControl","removeContent","_removeContent","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","getGenericPlaceholder","_getGenericPlaceholder","getGenericPlaceholderContent","_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 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 { 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 * @internal\n * @experimental Since 1.121\n * @public\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: \"\", visibility: \"hidden\" },\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\tvisibility: \"hidden\"\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},\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\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.isA(\"sap.cux.home.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 * Adds corresponding control to panel. The control would be added to the\n\t * corresponding target inner control based on the layout.\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel to which control must be added\n\t * @param {Control} control - control to be added\n\t */\n\tpublic _addToPanel(panel: BasePanel, control: Control): void {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._getIconTabFilter(panel)?.addContent(control);\n\t\t} else {\n\t\t\t(this._controlMap.get(`${panel.getId()}-wrapper`) as FlexBox)?.addItem(control);\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\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst iconTabFilter = new IconTabFilter(id, {\n\t\t\t\tkey: panel.getProperty(\"key\") as string,\n\t\t\t\ttext: panel.getProperty(\"title\") as string,\n\t\t\t\ttooltip: panel.getProperty(\"tooltip\") as string\n\t\t\t});\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\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//Add panel content to the created filter\n\t\tpanel._getContent()?.forEach((content) => (this._controlMap.get(id) as IconTabFilter).addContent(content));\n\n\t\treturn this._controlMap.get(id) as 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\")) {\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\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.isA(\"sap.cux.home.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.isA(\"sap.cux.home.BaseContainer\");\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//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} else {\n\t\t\tthis._wrapper.removeAllItems();\n\t\t\tpanels.forEach((panel) => this._wrapper.addItem(this._getPanelContentWrapper(panel)));\n\t\t}\n\t}\n\n\t/**\n\t * Creates and returns a wrapper for containing the specified panel\n\t * content in case of Horizontal and Vertical layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel for which wrapper has to created\n\t * @returns {FlexBox} wrapper container for the given panel\n\t */\n\tprotected _getPanelContentWrapper(panel: BasePanel): FlexBox {\n\t\tconst id = `${panel.getId()}-contentWrapper`;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew FlexBox(id, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdirection: \"Column\",\n\t\t\t\t\trenderType: \"Bare\"\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\t//Add header as the first item in case of Horizontal and Vertical layout\n\t\t(this._controlMap.get(id) as FlexBox).addItem(this._updatePanelHeader(panel));\n\t\tpanel._getContent()?.forEach((content) => (this._controlMap.get(id) as FlexBox).addItem(content));\n\n\t\treturn this._controlMap.get(id) as FlexBox;\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\tprivate _updatePanelHeader(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 * Returns a UI5 `HTML` control that contains the generic placeholder content.\n\t *\n\t * @returns {Control} A `sap.ui.core.HTML` control displaying the placeholder content.\n\t */\n\tpublic getGenericPlaceholder(): Control | undefined {\n\t\tconst content = this.getGenericPlaceholderContent();\n\t\tif (!content) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn new HTML({ content });\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","Button","FlexBox","HBox","IconTabBar","IconTabFilter","List","Popover","StandardListItem","Title","sap_m_library","Control","CustomData","UI5Element","HTML","Lib","__BaseContainerRenderer","__BasePanel","__MenuItem","___library","___utils_Accessibility","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_PerformanceUtils","_interopRequireDefault","obj","__esModule","default","BackgroundDesign","ButtonType","PlacementType","BaseContainerRenderer","BasePanel","MenuItem","OrientationType","getInvisibleText","recycleId","calculateDeviceType","DeviceType","addFESRId","addFESRSemanticStepName","FESR_EVENTS","getFESRId","recordElementLoadEnd","recordElementLoadStart","BaseContainer","extend","renderer","metadata","library","properties","title","type","group","defaultValue","visibility","orientation","SideBySide","selectedKey","width","height","blocked","busy","busyIndicatorDelay","busyIndicatorSize","fieldGroupIds","visible","enableSettings","enableFullScreen","fullScreenName","enableLazyLoad","loaded","defaultAggregation","aggregations","content","singularName","multiple","actionButtons","menuItems","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","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","_addToPanel","addContent","addItem","iconTabFilter","text","tooltip","writeToDom","SELECT","_getContent","forEach","onBeforeRendering","_onBeforeRendering","defaultKey","getContent","_createInnerControl","_addAllPanelContent","getVisible","_loadContent","_markPerformanceMetrics","onAfterRendering","_onAfterRendering","_attachResizeHandler","_observeContainer","getDomRef","_resizeObserver","disconnect","ResizeObserver","entries","_resizeTimeout","clearTimeout","window","setTimeout","_setDeviceType","observe","_detachResizeHandler","target","_containerObserver","IntersectionObserver","entry","isIntersecting","rootMargin","threshold","Horizontal","Vertical","setDirection","expandable","backgroundDesign","Transparent","headerMode","headerBackgroundDesign","select","isSideBySideLayout","isContainer","targetControl","removeAllItems","_updateHeader","headerTitle","setText","setVisible","_getLayout","_addLayoutHeaderElements","currentControl","_getSelectedPanel","_filterVisibleHeaderElements","getMenuItems","_addMenuItems","getAggregation","actionButton","_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","push","find","setSelectedKey","_getPanelContentWrapper","direction","_updatePanelHeader","header","isTitleVisible","toggleStyleClass","getActionButtons","filter","element","_setTitle","list","itemPress","getSource","getParent","close","invisiblePopoverText","menuPopover","placement","VerticalPreferredBottom","showHeader","ariaLabelledBy","containerTitleId","menuButton","openBy","item","_getMenuListItem","headerButton","firePress","PRESS","button","setTooltip","getTooltip","setIcon","getIcon","setEnabled","getEnabled","getElementById","getAssociation","getTitle","menuListItem","setTitle","toggleMenuListItem","_toggleMenuListItem","show","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","getGenericPlaceholder","_getGenericPlaceholder","getGenericPlaceholderContent","_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 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 { 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 * @internal\n * @public\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: \"\", visibility: \"hidden\" },\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\tvisibility: \"hidden\"\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},\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\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 * Adds corresponding control to panel. The control would be added to the\n\t * corresponding target inner control based on the layout.\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel to which control must be added\n\t * @param {Control} control - control to be added\n\t */\n\tpublic _addToPanel(panel: BasePanel, control: Control): void {\n\t\tif (this.getProperty(\"orientation\") === OrientationType.SideBySide) {\n\t\t\tthis._getIconTabFilter(panel)?.addContent(control);\n\t\t} else {\n\t\t\t(this._controlMap.get(`${panel.getId()}-wrapper`) as FlexBox)?.addItem(control);\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\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst iconTabFilter = new IconTabFilter(id, {\n\t\t\t\tkey: panel.getProperty(\"key\") as string,\n\t\t\t\ttext: panel.getProperty(\"title\") as string,\n\t\t\t\ttooltip: panel.getProperty(\"tooltip\") as string\n\t\t\t});\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\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//Add panel content to the created filter\n\t\tpanel._getContent()?.forEach((content) => (this._controlMap.get(id) as IconTabFilter).addContent(content));\n\n\t\treturn this._controlMap.get(id) as 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\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} else {\n\t\t\tthis._wrapper.removeAllItems();\n\t\t\tpanels.forEach((panel) => this._wrapper.addItem(this._getPanelContentWrapper(panel)));\n\t\t}\n\t}\n\n\t/**\n\t * Creates and returns a wrapper for containing the specified panel\n\t * content in case of Horizontal and Vertical layout\n\t *\n\t * @private\n\t * @param {BasePanel} panel - panel for which wrapper has to created\n\t * @returns {FlexBox} wrapper container for the given panel\n\t */\n\tprotected _getPanelContentWrapper(panel: BasePanel): FlexBox {\n\t\tconst id = `${panel.getId()}-contentWrapper`;\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew FlexBox(id, {\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdirection: \"Column\",\n\t\t\t\t\trenderType: \"Bare\"\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\t//Add header as the first item in case of Horizontal and Vertical layout\n\t\t(this._controlMap.get(id) as FlexBox).addItem(this._updatePanelHeader(panel));\n\t\tpanel._getContent()?.forEach((content) => (this._controlMap.get(id) as FlexBox).addItem(content));\n\n\t\treturn this._controlMap.get(id) as FlexBox;\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\tprivate _updatePanelHeader(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 * Returns a UI5 `HTML` control that contains the generic placeholder content.\n\t *\n\t * @returns {Control} A `sap.ui.core.HTML` control displaying the placeholder content.\n\t */\n\tpublic getGenericPlaceholder(): Control | undefined {\n\t\tconst content = this.getGenericPlaceholderContent();\n\t\tif (!content) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn new HTML({ content });\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":[]}
|
|
@@ -53,7 +53,6 @@ type FullScreenElementRelation = {
|
|
|
53
53
|
*
|
|
54
54
|
* @abstract
|
|
55
55
|
* @internal
|
|
56
|
-
* @experimental Since 1.121
|
|
57
56
|
* @public
|
|
58
57
|
*
|
|
59
58
|
* @ui5-metamodel
|
|
@@ -247,7 +246,7 @@ export default abstract class BaseContainer extends Control {
|
|
|
247
246
|
private _createHeader(control: BaseContainer | BasePanel): HBox {
|
|
248
247
|
const controlId = control.getId();
|
|
249
248
|
const id = `${controlId}-header`;
|
|
250
|
-
const isPanel = control
|
|
249
|
+
const isPanel = control instanceof BasePanel;
|
|
251
250
|
const hasContainerTitle = (this.getProperty("title") as string)?.trim().length > 0;
|
|
252
251
|
|
|
253
252
|
if (!this._controlMap.get(id)) {
|
|
@@ -415,7 +414,7 @@ export default abstract class BaseContainer extends Control {
|
|
|
415
414
|
this._addAllPanelContent();
|
|
416
415
|
|
|
417
416
|
//load content if lazy loading is disabled
|
|
418
|
-
if (this.getProperty("enableLazyLoad") === false && !this.getProperty("loaded")) {
|
|
417
|
+
if (this.getProperty("enableLazyLoad") === false && !this.getProperty("loaded") && this.getVisible()) {
|
|
419
418
|
this._loadContent();
|
|
420
419
|
}
|
|
421
420
|
|
|
@@ -544,7 +543,7 @@ export default abstract class BaseContainer extends Control {
|
|
|
544
543
|
*/
|
|
545
544
|
public _updateContainerHeader(control: BaseContainer | BasePanel): void {
|
|
546
545
|
const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
|
|
547
|
-
const isContainer = control
|
|
546
|
+
const isContainer = control instanceof BaseContainer;
|
|
548
547
|
const targetControl = !isContainer && isSideBySideLayout ? this : control;
|
|
549
548
|
|
|
550
549
|
//clear container header elements
|
|
@@ -563,12 +562,18 @@ export default abstract class BaseContainer extends Control {
|
|
|
563
562
|
*/
|
|
564
563
|
private _updateHeader(control: BaseContainer | BasePanel): void {
|
|
565
564
|
const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
|
|
566
|
-
const isContainer = control
|
|
565
|
+
const isContainer = control instanceof BaseContainer;
|
|
566
|
+
|
|
567
567
|
//Update Title
|
|
568
568
|
const headerTitle = this._controlMap.get(control.getId() + "-header-title") as Title;
|
|
569
569
|
headerTitle?.setText(control.getProperty("title") as string);
|
|
570
570
|
headerTitle?.setVisible((control.getProperty("title") as string)?.trim().length > 0);
|
|
571
571
|
|
|
572
|
+
//Update Panel Header, if applicable
|
|
573
|
+
if (!isContainer && isSideBySideLayout) {
|
|
574
|
+
this._getIconTabFilter(control)?.setText(control.getProperty("title") as string);
|
|
575
|
+
}
|
|
576
|
+
|
|
572
577
|
//Add common header elements
|
|
573
578
|
if (this._getLayout()) {
|
|
574
579
|
this._addLayoutHeaderElements();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseLayout.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseLayout.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IACzC;;;OAGG;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;IAC/B,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAO1D,OAAO,IAAI,MAAM,YAAY,CAAC;IAE9B,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAIlE,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAC9D,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IACjE,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAM/D,UAAU,uBAAuB;QAChC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QAC/C,eAAe,EAAE,aAAa,CAAC;KAC/B;IAED
|
|
1
|
+
{"version":3,"file":"BaseLayout.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseLayout.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IACzC;;;OAGG;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;IAC/B,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAO1D,OAAO,IAAI,MAAM,YAAY,CAAC;IAE9B,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAIlE,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAC9D,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IACjE,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAM/D,UAAU,uBAAuB;QAChC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;QAC/C,eAAe,EAAE,aAAa,CAAC;KAC/B;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAW,SAAQ,IAAI;QACpD,SAAS,CAAC,WAAW,EAAG,cAAc,CAAC;QACvC,OAAO,CAAC,eAAe,CAAuB;QAC9C,OAAO,CAAC,YAAY,CAAQ;QAC5B,OAAO,CAAC,mBAAmB,CAAkB;QAC7C,OAAO,CAAC,eAAe,CAAU;QACjC,OAAO,CAAC,oBAAoB,CAAQ;QACpC,OAAO,CAAC,uBAAuB,CAAU;QACzC,OAAO,CAAC,aAAa,CAAW;QAChC,OAAO,CAAC,YAAY,CAAe;QACnC,OAAO,CAAC,uBAAuB,CAAuC;QACtE,OAAO,CAAC,wBAAwB,CAAuC;QACvE,OAAO,CAAC,eAAe,CAAwC;QAC/D,OAAO,CAAC,mBAAmB,CAAW;oBAE1B,EAAE,CAAC,EAAE,MAAM,GAAG,mBAAmB;oBACjC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB;QAWvD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAsGvC;QAEF,MAAM,CAAC,QAAQ,EAAE,OAAO,kBAAkB,CAAsB;QAEhE;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAenB;;;;;WAKG;QACI,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;QAiB5C;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;QAwB5B;;;WAGG;QACH,OAAO,CAAC,uBAAuB;QAM/B;;;;WAIG;QACI,gBAAgB,IAAI,IAAI;QAuB/B;;;;;;;WAOG;QACI,UAAU,IAAI,OAAO,EAAE;QAI9B;;;;;;WAMG;QACH,OAAO,CAAC,aAAa;QAKrB;;;;;;WAMG;QACH,OAAO,CAAC,uBAAuB;QAiC/B;;;;;;WAMG;QACH,OAAO,CAAC,2BAA2B;QAInC;;;;;;WAMG;QACI,kBAAkB,CAAC,WAAW,GAAE,MAAW,EAAE,OAAO,GAAE,MAAW,GAAG,IAAI;QAO/E;;;;WAIG;QACI,yBAAyB,CAAC,WAAW,GAAE,MAAW,GAAG,IAAI;QA0BhE;;;;;;WAMG;QACI,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;QAUtH;;;;;;WAMG;QACI,kBAAkB,IAAI,iBAAiB,EAAE;QAIhD;;;;;;WAMG;QACH,OAAO,CAAC,qBAAqB;QAiB7B;;;;;;WAMG;QACI,yBAAyB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;QAgB1E;;;;;;WAMG;QACI,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;QAO5E;;;;;;;;WAQG;QACI,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI;QAU1H;;;;;;;;WAQG;QACH,OAAO,CAAC,YAAY;QAMpB;;;;;;;WAOG;QACH,OAAO,CAAC,eAAe;QAMvB;;;;;;WAMG;QACI,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;QA6F/F;;;;;;WAMG;QACH,OAAO,CAAC,gBAAgB;QAgBxB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAahC;;;;;WAKG;QACH,OAAO,CAAC,wCAAwC;QAsBhD;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;QAW5B;;;;;;;;WAQG;QACH,OAAO,CAAC,2BAA2B;QAMnC;;;;;;WAMG;QACH,OAAO,CAAC,2BAA2B;QAuBnC;;;;;WAKG;QACH,OAAO,CAAC,sBAAsB;QAM9B;;;;;;WAMG;QACH,OAAO,CAAC,oBAAoB;QAI5B;;;;;;WAMG;QACH,OAAO,CAAC,sBAAsB;QAI9B;;;;;WAKG;QACI,uBAAuB,IAAI,IAAI;QAItC;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;QAKtB;;;;;;;WAOG;QACH,OAAO,CAAC,mBAAmB;QAuB3B;;;;;WAKG;QACI,8BAA8B,IAAI,MAAM,GAAG,SAAS;QAI3D;;;;;WAKG;QACI,0BAA0B,IAAI,uBAAuB,GAAG,SAAS;KAMxE;CAEA"}
|