@sapui5/sap.cux.home 1.139.0 → 1.141.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 +7 -0
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +116 -64
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +50 -15
- package/src/sap/cux/home/App.d.ts +2 -2
- package/src/sap/cux/home/App.js +2 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +2 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
- package/src/sap/cux/home/AppsContainer.d.ts +2 -2
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +16 -24
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +16 -23
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.js +2 -2
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +2 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +22 -2
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +16 -2
- package/src/sap/cux/home/BaseContainer.d.ts +10 -27
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
- package/src/sap/cux/home/BaseContainer.js +39 -71
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +33 -77
- package/src/sap/cux/home/BaseContainerRenderer.d.ts +2 -0
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +31 -3
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +39 -2
- package/src/sap/cux/home/BaseLayout.d.ts +2 -2
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +5 -4
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +5 -4
- package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
- package/src/sap/cux/home/BaseNewsItem.js +2 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +2 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +14 -3
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +11 -5
- package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.js +10 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +6 -2
- package/src/sap/cux/home/BasePanel.d.ts +2 -21
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
- package/src/sap/cux/home/BasePanel.js +15 -31
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +11 -34
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
- package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +11 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +15 -2
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +17 -2
- package/src/sap/cux/home/CardsPanel.d.ts +2 -2
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +15 -7
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +11 -7
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +0 -1
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +0 -1
- package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.js +15 -5
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +11 -5
- package/src/sap/cux/home/FavAppPanel.d.ts +6 -2
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +196 -154
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +59 -37
- package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
- package/src/sap/cux/home/FrequentAppPanel.js +2 -2
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.js +2 -2
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +2 -2
- package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +2 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +3 -1
- package/src/sap/cux/home/InsightsContainer.d.ts +4 -4
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +8 -13
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +7 -12
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +2 -2
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -4
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +6 -4
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
- package/src/sap/cux/home/Layout.d.ts +2 -3
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +35 -42
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +15 -19
- package/src/sap/cux/home/MenuItem.d.ts +2 -2
- package/src/sap/cux/home/MenuItem.js +2 -2
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +2 -2
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +11 -7
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +22 -26
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +26 -32
- package/src/sap/cux/home/NewsPanel.d.ts +10 -2
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +23 -16
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +24 -18
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +2 -2
- package/src/sap/cux/home/NoDataContainer.d.ts +2 -2
- package/src/sap/cux/home/NoDataContainer.js +3 -3
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +3 -3
- package/src/sap/cux/home/PagePanel.d.ts +11 -3
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +21 -7
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +22 -8
- package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
- package/src/sap/cux/home/RecentAppPanel.js +2 -2
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
- package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +13 -6
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +14 -6
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.js +84 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +88 -0
- package/src/sap/cux/home/SituationPanel.d.ts +2 -2
- package/src/sap/cux/home/SituationPanel.js +2 -2
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +2 -2
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +11 -3
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +7 -3
- package/src/sap/cux/home/SpacePanel.d.ts +2 -2
- package/src/sap/cux/home/SpacePanel.js +2 -2
- package/src/sap/cux/home/SpacePanel.js.map +1 -1
- package/src/sap/cux/home/SpacePanel.ts +2 -2
- package/src/sap/cux/home/TaskPanel.d.ts +2 -2
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +5 -3
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +4 -3
- package/src/sap/cux/home/TilesPanel.d.ts +2 -3
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +89 -59
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +93 -70
- package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +13 -3
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +9 -3
- package/src/sap/cux/home/ToDosContainer.d.ts +2 -3
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +3 -8
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +2 -9
- package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
- package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
- package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -3
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
- package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
- package/src/sap/cux/home/i18n/messagebundle.properties +6 -9
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_da.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_de.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -14
- package/src/sap/cux/home/i18n/messagebundle_en.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +5 -7
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +5 -7
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_es.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_et.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +14 -10
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_id.properties +16 -12
- package/src/sap/cux/home/i18n/messagebundle_it.properties +13 -9
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_no.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +22 -18
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_th.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +12 -8
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +12 -8
- package/src/sap/cux/home/library.d.ts +10 -6
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +11 -6
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +11 -6
- package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
- package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +0 -4
- package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +9 -10
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -2
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -126
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","Dialog","IllustratedMessageSize","IllustratedMessageType","sap_m_library","Link","MessageStrip","MessageToast","ScrollContainer","Text","Title","VBox","Element","EventBus","__BaseAppPersPanel","__MenuItem","___utils_Constants","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BackgroundDesign","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseAppPersPanel","_catch","recover","MenuItem","_finallyRethrows","finalizer","REPO_BASE_URL","SETTINGS_PANELS_KEYS","DeviceType","addFESRId","HttpHelper","CONSTANTS","USER_PREFERENCE_SRVC_URL","KEY","RecommendedAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","eventBus","getInstance","subscribe","channelId","eventId","data","showRecommendation","fireSupported","isSupported","_createAddToFavouritesMenuItem","addToFavouritesMenuItem","getId","title","icon","press","_openAddRecommendedDialog","visible","insertAggregation","dialogId","dialog","_generateAddRecommendedDialog","open","_controlMap","get","_createAddRecommendedDialogControls","appsWrapper","_generateAppsScrollContainer","getContent","destroyAggregation","getApps","tiles","map","app","_createAppTile","_setAggregation","_updateSelectedAppCount","set","text","level","addButton","Promise","resolve","_addSelectedApps","_closeAddRecommendedDialog","enabled","cancelButton","mainTitleText","content","items","justifyContent","alignItems","addStyleClass","contentHeight","contentWidth","buttons","escapeHandler","appCopy","clone","appTile","getParent","_getAppTile","_onPress","_highlightApp","layout","columnSize","gap","vertical","height","_updateAddButtonState","getElementById","setEnabled","toggleAppTileHighlight","close","_resetAddRecommendedDialog","_toggleAppTileHighlight","isAppSelected","appsScrollContainer","getItems","forEach","oTile","hasStyleClass","removeStyleClass","_this2","setBusy","_temp3","_refreshAllPanels","message","show","_temp2","vizId","getVizId","_temp","appManagerInstance","addVisualization","error","_wasThrown","_result","event","selectedApp","getSource","bIsSelected","splice","findIndex","oApp","getUrl","toggleStyleClass","selectedAppsTitle","selectedAppsCount","setText","_generateWrapper","wrapperId","_generateMessageStrip","BaseAppPersPanel.prototype._generateWrapper.call","backgroundDesign","Transparent","loadApps","_loadApps","_this3","getDeviceType","Mobile","getRecommendedVisualizations","recommendedVisualizations","visualization","index","menuItems","_getActions","recommendedApps","generateApps","setApps","setVisible","messageStripId","showIcon","showCloseButton","link","_getLayout","openSettingsDialog","ADVANCED","addToFavoritesItem","getKey","_addAppToFavorites","notRelevantItem","_rejectRecommendation","actions","_this4","_temp5","source","getTitle","find","viz","url","fioriId","_temp4","rejectPayload","AppId","Decision","Post","refresh","_wasThrown2","_result2","_isRecommendationEnabled","_this5","getPersonalization","personalisation","_enableRecommendationTab","_this6","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setIllustrationSize","Small","setIllustrationType","NoData","setTitle","setDescription","addAdditionalContent","tooltip"],"sources":["RecommendedAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Link from \"sap/m/Link\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport MenuItem, { MenuItem$PressEvent } from \"./MenuItem\";\nimport { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\nconst CONSTANTS = {\n\tUSER_PREFERENCE_SRVC_URL: `${REPO_BASE_URL}UserPreference`,\n\tKEY: \"recommendedApps\"\n};\n\n/**\n *\n * Provides the RecommendedAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.128.0\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.RecommendedAppPanel\n */\nexport default class RecommendedAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Recommended apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new Recommended Apps Panel.\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?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", CONSTANTS.KEY);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\t//subscribe to recommendation setting change event\n\t\tconst eventBus = EventBus.getInstance();\n\t\teventBus.subscribe(\"importChannel\", \"recommendationSettingChanged\", (channelId?: string, eventId?: string, data?: object) => {\n\t\t\tconst showRecommendation = (data as { showRecommendation: boolean }).showRecommendation;\n\t\t\tthis.fireSupported({ isSupported: showRecommendation });\n\t\t});\n\t\tthis._createAddToFavouritesMenuItem();\n\t}\n\n\t/**\n\t * Creates and inserts the \"Add to Favourites\" menu item.\n\t * @private\n\t */\n\tprivate _createAddToFavouritesMenuItem(): void {\n\t\tconst addToFavouritesMenuItem = new MenuItem(`${this.getId()}-addtofavouritesmenuitem`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavoritesRecommended\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: this._openAddRecommendedDialog.bind(this),\n\t\t\tvisible: false\n\t\t});\n\t\taddFESRId(addToFavouritesMenuItem, \"addToFavouritesMenuItem\");\n\t\tthis.insertAggregation(\"menuItems\", addToFavouritesMenuItem, 0);\n\t}\n\n\t/**\n\t * Opens the dialog for adding recommended apps.\n\t * @private\n\t */\n\tprivate _openAddRecommendedDialog(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst dialog = this._generateAddRecommendedDialog(dialogId);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Creates and returns the dialog for adding recommended apps.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t * @returns {sap.m.Dialog} - The generated dialog control.\n\t */\n\tprivate _generateAddRecommendedDialog(dialogId: string): Dialog {\n\t\tif (!this._controlMap.get(dialogId)) {\n\t\t\tthis._createAddRecommendedDialogControls(dialogId);\n\t\t}\n\t\tconst appsWrapper = this._generateAppsScrollContainer()?.getContent()?.[0] as GridContainer;\n\t\tappsWrapper.destroyAggregation(\"items\");\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tconst tiles = this._selectedApps.map((app) => this._createAppTile(app));\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tthis._updateSelectedAppCount();\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\treturn dialog;\n\t}\n\n\t/**\n\t * Creates the controls for the dialog, including the title, subtitle, and buttons.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t */\n\tprivate _createAddRecommendedDialogControls(dialogId: string): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-mainTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-mainTitle`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addToFavoritesRecommended\")\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-headerContainer-count`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-headerContainer-count`\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-selectedAppsTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-selectedAppsTitle`,\n\t\t\t\ttext: `${this._i18nBundle.getText(\"recommendedAppsTab\")} (0 ${this._i18nBundle.getText(\"selected\")})`,\n\t\t\t\tlevel: \"H3\"\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-subtitleText`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-subtitleText`,\n\t\t\t\ttext: this._i18nBundle.getText(\"selectAtLeastOneApp\")\n\t\t\t})\n\t\t);\n\t\tconst addButton = new Button({\n\t\t\tid: `${dialogId}-addBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"addButton\"),\n\t\t\ttype: \"Emphasized\",\n\t\t\tpress: async () => {\n\t\t\t\tawait this._addSelectedApps();\n\t\t\t\tthis._closeAddRecommendedDialog(dialogId);\n\t\t\t},\n\t\t\tenabled: this._selectedApps.length > 0\n\t\t});\n\t\tconst cancelButton = new Button({\n\t\t\tid: `${dialogId}-cancelBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\tpress: () => this._closeAddRecommendedDialog(dialogId)\n\t\t});\n\t\tconst mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();\n\t\tthis._controlMap.set(\n\t\t\tdialogId,\n\t\t\tnew Dialog(dialogId, {\n\t\t\t\ttitle: mainTitleText,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew VBox({\n\t\t\t\t\t\tid: `${dialogId}-headerContainer`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-subtitleText`) as Text\n\t\t\t\t\t\t],\n\t\t\t\t\t\tjustifyContent: \"Start\",\n\t\t\t\t\t\talignItems: \"Start\"\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\tthis._generateAppsScrollContainer()\n\t\t\t\t],\n\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\tbuttons: [addButton, cancelButton],\n\t\t\t\tescapeHandler: () => this._closeAddRecommendedDialog(dialogId)\n\t\t\t}).addStyleClass(\"sapCuxRecommendedAppsDialog sapContrastPlus\")\n\t\t);\n\t}\n\n\t/**\n\t * Creates and returns an app tile for the given app.\n\t * @private\n\t * @param {App} app - The app to create a tile for.\n\t * @returns {sap.m.GenericTile} - The created app tile.\n\t */\n\tprivate _createAppTile(app: App): GenericTile {\n\t\tconst appCopy = app.clone();\n\t\tconst appTile = (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\tappTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy);\n\t\treturn appTile;\n\t}\n\n\t/**\n\t * Generates and returns the scroll container for the dialog's apps list.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} - The scroll container for the apps.\n\t */\n\tprivate _generateAppsScrollContainer(): ScrollContainer {\n\t\tconst id = `${this.getId()}-addRecommendedDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}-apps-containerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"20rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd sapUiTinyMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Updates the state of the \"Add\" button in the dialog based on the selected apps.\n\t * @private\n\t */\n\tprivate _updateAddButtonState() {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst addButton = Element.getElementById(`${dialogId}-addBtn`) as Button;\n\t\tif (addButton) {\n\t\t\taddButton.setEnabled(this._selectedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Closes the dialog and resets the selected apps state.\n\t * @private\n\t * @param {string} dialogId - The unique ID of the dialog to close.\n\t */\n\tprivate _closeAddRecommendedDialog(dialogId: string): void {\n\t\tthis.toggleAppTileHighlight(true);\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\tif (dialog) {\n\t\t\tdialog.close();\n\t\t}\n\t\tthis._resetAddRecommendedDialog();\n\t}\n\n\t/**\n\t * Toggles the highlight style for app tiles based on the selection state.\n\t * @private\n\t * @param {boolean} isAppSelected - Flag indicating whether to add or remove the style class.\n\t */\n\tprivate toggleAppTileHighlight(isAppSelected: boolean): void {\n\t\tconst appsScrollContainer = this._generateAppsScrollContainer();\n\t\tconst appsWrapper = appsScrollContainer.getContent()[0] as GridContainer;\n\t\tif (appsWrapper) {\n\t\t\tappsWrapper.getItems().forEach((oTile) => {\n\t\t\t\tif (oTile) {\n\t\t\t\t\tif (isAppSelected) {\n\t\t\t\t\t\toTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (oTile.hasStyleClass(\"sapCuxHighlightApp\")) {\n\t\t\t\t\t\t\toTile.removeStyleClass(\"sapCuxHighlightApp\");\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\t}\n\n\t/**\n\t * Resets the selected apps and updates the UI.\n\t * @private\n\t */\n\tprivate _resetAddRecommendedDialog(): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Adds the selected apps to the user's favorites.\n\t * @private\n\t * @returns {Promise<void>} - A promise that resolves when the apps have been added.\n\t */\n\tprivate async _addSelectedApps(): Promise<void> {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tfor (const app of this._selectedApps) {\n\t\t\t\tconst vizId = app.getVizId?.();\n\t\t\t\tif (vizId) {\n\t\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\tconst message = this._i18nBundle.getText(\"moveRecommendedMessage\") as string;\n\t\t\tMessageToast.show(message);\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t\tthis._selectedApps = [];\n\t\t\tthis._closeAddRecommendedDialog(`${this.getId()}-addRecommendedDialog-appsPage`);\n\t\t}\n\t}\n\n\t/**\n\t * Highlights or un-highlights the selected app based on the user's action.\n\t * @private\n\t * @param {Event} event - The event triggered by the user's action.\n\t * @param {App} selectedApp - The selected app to highlight or un-highlight.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App): void {\n\t\tconst oTile = event.getSource<GenericTile>();\n\t\tconst bIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\");\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Updates the count of selected apps displayed in the dialog.\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst selectedAppsTitle = this._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title;\n\t\tconst selectedAppsCount = this._selectedApps.length;\n\t\tselectedAppsTitle.setText(\n\t\t\t`${this._i18nBundle.getText(\"recommendedAppsTab\")} (${selectedAppsCount} ${this._i18nBundle.getText(\"selected\")})`\n\t\t);\n\t}\n\n\t/**\n\t * Overrides the wrapper for the apps panel to add message strip.\n\t *\n\t * @private\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tconst wrapperId = `${this.getId()}-recommendedPanelWrapper`;\n\t\tif (!this._controlMap.get(wrapperId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\twrapperId,\n\t\t\t\tnew VBox(wrapperId, {\n\t\t\t\t\titems: [this._generateMessageStrip(), super._generateWrapper()],\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(wrapperId) as VBox;\n\t}\n\n\t/**\n\t * Fetch recommended apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn; // Do not load recommended apps on mobile devices\n\t\t}\n\t\tlet recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations(true);\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\trecommendedVisualizations = recommendedVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst recommendedApps = this.generateApps(recommendedVisualizations);\n\t\tthis.setApps(recommendedApps);\n\t\tconst addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;\n\t\tif (addToFavouritesMenuItem) {\n\t\t\taddToFavouritesMenuItem.setVisible(recommendedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Returns message strip for recommended tab\n\t * @private\n\t * @returns {sap.cux.home.MessageStrip} - Message strip control.\n\t */\n\tprivate _generateMessageStrip() {\n\t\tconst messageStripId = `${this.getId()}-messageStrip`;\n\t\tif (!this._controlMap.get(messageStripId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tmessageStripId,\n\t\t\t\tnew MessageStrip(messageStripId, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationMessageStrip\"),\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tlink: new Link(`${messageStripId}-settings`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED)\n\t\t\t\t\t}).addStyleClass(\"sapUiNoMargin\")\n\t\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(messageStripId) as MessageStrip;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(index?: number): MenuItem[] {\n\t\tconst addToFavoritesItem = new MenuItem(`${this.getKey()}--addToFavoritesItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(addToFavoritesItem, \"acceptRecommendation\");\n\t\tconst notRelevantItem = new MenuItem(`${this.getKey()}--notRelevantItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"notRelevantRecommendation\"),\n\t\t\ticon: \"sap-icon://decline\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._rejectRecommendation(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(notRelevantItem, \"rejectRecommendation\");\n\t\tconst actions = [addToFavoritesItem, notRelevantItem];\n\t\treturn actions;\n\t}\n\n\t/**\n\t * Rejects the selected app as recommendation\n\t * @private\n\t * @param {sap.ui.base.MenuItem$PressEvent} event - Event object.\n\t */\n\tprivate async _rejectRecommendation(event: MenuItem$PressEvent) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst title = app.getTitle();\n\t\t\tconst recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations();\n\t\t\tconst visualization = recommendedVisualizations.find((viz) => viz.url === app.getUrl());\n\t\t\tconst fioriId = visualization?.fioriId;\n\t\t\tif (fioriId) {\n\t\t\t\tconst rejectPayload = {\n\t\t\t\t\tAppId: fioriId,\n\t\t\t\t\tDecision: 1\n\t\t\t\t};\n\t\t\t\tawait HttpHelper.Post(CONSTANTS.USER_PREFERENCE_SRVC_URL, rejectPayload);\n\t\t\t\tawait this.refresh();\n\t\t\t\tconst message = this._i18nBundle.getText(\"rejectRecommendationMsg\", [title]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if recommendation is enabled based on recommendation feature toggle and user personalization.\n\t * @private\n\t * @returns {Boolean} - Returns true if recommendation is enabled otherwise false.\n\t */\n\tprivate async _isRecommendationEnabled() {\n\t\tconst personalisation = await this.getPersonalization();\n\t\treturn personalisation?.showRecommendation ?? true;\n\t}\n\n\t/**\n\t * Show recommendation tab if recommendation is enabled\n\t * @private\n\t */\n\tpublic async _enableRecommendationTab() {\n\t\tconst isSupported = await this._isRecommendationEnabled();\n\t\tthis.setSupported(isSupported);\n\t\tthis.fireSupported({ isSupported });\n\t}\n\n\t/**\n\t * Generates illustrated message for recommended apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default illustrated message, title, description and add additional content\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.Small);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.NoData);\n\t\tillustratedMessage.setTitle(this._i18nBundle.getText(\"noRecommendationsTitle\"));\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noRecommendationsDescription\"));\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button({\n\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"settings\"),\n\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED),\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RecommendedAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","Dialog","IllustratedMessageSize","IllustratedMessageType","sap_m_library","Link","MessageStrip","MessageToast","ScrollContainer","Text","Title","VBox","Element","EventBus","__BaseAppPersPanel","__MenuItem","___utils_Constants","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BackgroundDesign","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseAppPersPanel","_catch","recover","MenuItem","_finallyRethrows","finalizer","REPO_BASE_URL","SETTINGS_PANELS_KEYS","DeviceType","addFESRId","HttpHelper","CONSTANTS","USER_PREFERENCE_SRVC_URL","KEY","RecommendedAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","eventBus","getInstance","subscribe","channelId","eventId","data","showRecommendation","fireSupported","isSupported","_createAddToFavouritesMenuItem","addToFavouritesMenuItem","getId","title","icon","press","_openAddRecommendedDialog","visible","insertAggregation","dialogId","dialog","_generateAddRecommendedDialog","open","_controlMap","get","_createAddRecommendedDialogControls","appsWrapper","_generateAppsScrollContainer","getContent","destroyAggregation","getApps","tiles","map","app","_createAppTile","_setAggregation","_updateSelectedAppCount","set","text","level","addButton","Promise","resolve","_addSelectedApps","_closeAddRecommendedDialog","enabled","cancelButton","mainTitleText","content","items","justifyContent","alignItems","addStyleClass","contentHeight","contentWidth","buttons","escapeHandler","appCopy","clone","appTile","getParent","_getAppTile","_onPress","_highlightApp","layout","columnSize","gap","vertical","height","_updateAddButtonState","getElementById","setEnabled","toggleAppTileHighlight","close","_resetAddRecommendedDialog","_toggleAppTileHighlight","isAppSelected","appsScrollContainer","getItems","forEach","oTile","hasStyleClass","removeStyleClass","_this2","setBusy","_temp3","_refreshAllPanels","message","show","_temp2","vizId","getVizId","_temp","appManagerInstance","addVisualization","error","_wasThrown","_result","event","selectedApp","getSource","bIsSelected","splice","findIndex","oApp","getUrl","toggleStyleClass","selectedAppsTitle","selectedAppsCount","setText","_generateWrapper","wrapperId","_generateMessageStrip","BaseAppPersPanel.prototype._generateWrapper.call","backgroundDesign","Transparent","loadApps","_loadApps","_this3","getDeviceType","Mobile","getRecommendedVisualizations","recommendedVisualizations","visualization","index","menuItems","_getActions","generateApps","fetchTileVisualization","prepareAppsBeforeLoad","setApps","setVisible","messageStripId","showIcon","showCloseButton","link","_getLayout","openSettingsDialog","ADVANCED","addToFavoritesItem","getKey","_addAppToFavorites","notRelevantItem","_rejectRecommendation","actions","_this4","_temp5","source","getTitle","find","viz","url","fioriId","_temp4","rejectPayload","AppId","Decision","Post","refresh","_wasThrown2","_result2","_isRecommendationEnabled","_this5","getPersonalization","personalisation","_enableRecommendationTab","_this6","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setIllustrationSize","ExtraSmall","setIllustrationType","NoData","setTitle","setDescription","addAdditionalContent","tooltip"],"sources":["RecommendedAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Link from \"sap/m/Link\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport MenuItem, { MenuItem$PressEvent } from \"./MenuItem\";\nimport { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\nconst CONSTANTS = {\n\tUSER_PREFERENCE_SRVC_URL: `${REPO_BASE_URL}UserPreference`,\n\tKEY: \"recommendedApps\"\n};\n\n/**\n *\n * Provides the RecommendedAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.128.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.RecommendedAppPanel\n */\nexport default class RecommendedAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Recommended apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new Recommended Apps Panel.\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?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", CONSTANTS.KEY);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\t//subscribe to recommendation setting change event\n\t\tconst eventBus = EventBus.getInstance();\n\t\teventBus.subscribe(\"importChannel\", \"recommendationSettingChanged\", (channelId?: string, eventId?: string, data?: object) => {\n\t\t\tconst showRecommendation = (data as { showRecommendation: boolean }).showRecommendation;\n\t\t\tthis.fireSupported({ isSupported: showRecommendation });\n\t\t});\n\t\tthis._createAddToFavouritesMenuItem();\n\t}\n\n\t/**\n\t * Creates and inserts the \"Add to Favourites\" menu item.\n\t * @private\n\t */\n\tprivate _createAddToFavouritesMenuItem(): void {\n\t\tconst addToFavouritesMenuItem = new MenuItem(`${this.getId()}-addtofavouritesmenuitem`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavoritesRecommended\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: this._openAddRecommendedDialog.bind(this),\n\t\t\tvisible: false\n\t\t});\n\t\taddFESRId(addToFavouritesMenuItem, \"addToFavouritesMenuItem\");\n\t\tthis.insertAggregation(\"menuItems\", addToFavouritesMenuItem, 0);\n\t}\n\n\t/**\n\t * Opens the dialog for adding recommended apps.\n\t * @private\n\t */\n\tprivate _openAddRecommendedDialog(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst dialog = this._generateAddRecommendedDialog(dialogId);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Creates and returns the dialog for adding recommended apps.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t * @returns {sap.m.Dialog} - The generated dialog control.\n\t */\n\tprivate _generateAddRecommendedDialog(dialogId: string): Dialog {\n\t\tif (!this._controlMap.get(dialogId)) {\n\t\t\tthis._createAddRecommendedDialogControls(dialogId);\n\t\t}\n\t\tconst appsWrapper = this._generateAppsScrollContainer()?.getContent()?.[0] as GridContainer;\n\t\tappsWrapper.destroyAggregation(\"items\");\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tconst tiles = this._selectedApps.map((app) => this._createAppTile(app));\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tthis._updateSelectedAppCount();\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\treturn dialog;\n\t}\n\n\t/**\n\t * Creates the controls for the dialog, including the title, subtitle, and buttons.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t */\n\tprivate _createAddRecommendedDialogControls(dialogId: string): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-mainTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-mainTitle`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addToFavoritesRecommended\")\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-headerContainer-count`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-headerContainer-count`\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-selectedAppsTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-selectedAppsTitle`,\n\t\t\t\ttext: `${this._i18nBundle.getText(\"recommendedAppsTab\")} (0 ${this._i18nBundle.getText(\"selected\")})`,\n\t\t\t\tlevel: \"H3\"\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-subtitleText`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-subtitleText`,\n\t\t\t\ttext: this._i18nBundle.getText(\"selectAtLeastOneApp\")\n\t\t\t})\n\t\t);\n\t\tconst addButton = new Button({\n\t\t\tid: `${dialogId}-addBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"addButton\"),\n\t\t\ttype: \"Emphasized\",\n\t\t\tpress: async () => {\n\t\t\t\tawait this._addSelectedApps();\n\t\t\t\tthis._closeAddRecommendedDialog(dialogId);\n\t\t\t},\n\t\t\tenabled: this._selectedApps.length > 0\n\t\t});\n\t\tconst cancelButton = new Button({\n\t\t\tid: `${dialogId}-cancelBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\tpress: () => this._closeAddRecommendedDialog(dialogId)\n\t\t});\n\t\tconst mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();\n\t\tthis._controlMap.set(\n\t\t\tdialogId,\n\t\t\tnew Dialog(dialogId, {\n\t\t\t\ttitle: mainTitleText,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew VBox({\n\t\t\t\t\t\tid: `${dialogId}-headerContainer`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-subtitleText`) as Text\n\t\t\t\t\t\t],\n\t\t\t\t\t\tjustifyContent: \"Start\",\n\t\t\t\t\t\talignItems: \"Start\"\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\tthis._generateAppsScrollContainer()\n\t\t\t\t],\n\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\tbuttons: [addButton, cancelButton],\n\t\t\t\tescapeHandler: () => this._closeAddRecommendedDialog(dialogId)\n\t\t\t}).addStyleClass(\"sapCuxRecommendedAppsDialog sapContrastPlus\")\n\t\t);\n\t}\n\n\t/**\n\t * Creates and returns an app tile for the given app.\n\t * @private\n\t * @param {App} app - The app to create a tile for.\n\t * @returns {sap.m.GenericTile} - The created app tile.\n\t */\n\tprivate _createAppTile(app: App): GenericTile {\n\t\tconst appCopy = app.clone();\n\t\tconst appTile = (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\tappTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy);\n\t\treturn appTile;\n\t}\n\n\t/**\n\t * Generates and returns the scroll container for the dialog's apps list.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} - The scroll container for the apps.\n\t */\n\tprivate _generateAppsScrollContainer(): ScrollContainer {\n\t\tconst id = `${this.getId()}-addRecommendedDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}-apps-containerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"20rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd sapUiTinyMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Updates the state of the \"Add\" button in the dialog based on the selected apps.\n\t * @private\n\t */\n\tprivate _updateAddButtonState() {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst addButton = Element.getElementById(`${dialogId}-addBtn`) as Button;\n\t\tif (addButton) {\n\t\t\taddButton.setEnabled(this._selectedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Closes the dialog and resets the selected apps state.\n\t * @private\n\t * @param {string} dialogId - The unique ID of the dialog to close.\n\t */\n\tprivate _closeAddRecommendedDialog(dialogId: string): void {\n\t\tthis.toggleAppTileHighlight(true);\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\tif (dialog) {\n\t\t\tdialog.close();\n\t\t}\n\t\tthis._resetAddRecommendedDialog();\n\t}\n\n\t/**\n\t * Toggles the highlight style for app tiles based on the selection state.\n\t * @private\n\t * @param {boolean} isAppSelected - Flag indicating whether to add or remove the style class.\n\t */\n\tprivate toggleAppTileHighlight(isAppSelected: boolean): void {\n\t\tconst appsScrollContainer = this._generateAppsScrollContainer();\n\t\tconst appsWrapper = appsScrollContainer.getContent()[0] as GridContainer;\n\t\tif (appsWrapper) {\n\t\t\tappsWrapper.getItems().forEach((oTile) => {\n\t\t\t\tif (oTile) {\n\t\t\t\t\tif (isAppSelected) {\n\t\t\t\t\t\toTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (oTile.hasStyleClass(\"sapCuxHighlightApp\")) {\n\t\t\t\t\t\t\toTile.removeStyleClass(\"sapCuxHighlightApp\");\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\t}\n\n\t/**\n\t * Resets the selected apps and updates the UI.\n\t * @private\n\t */\n\tprivate _resetAddRecommendedDialog(): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Adds the selected apps to the user's favorites.\n\t * @private\n\t * @returns {Promise<void>} - A promise that resolves when the apps have been added.\n\t */\n\tprivate async _addSelectedApps(): Promise<void> {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tfor (const app of this._selectedApps) {\n\t\t\t\tconst vizId = app.getVizId?.();\n\t\t\t\tif (vizId) {\n\t\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\tconst message = this._i18nBundle.getText(\"moveRecommendedMessage\") as string;\n\t\t\tMessageToast.show(message);\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t\tthis._selectedApps = [];\n\t\t\tthis._closeAddRecommendedDialog(`${this.getId()}-addRecommendedDialog-appsPage`);\n\t\t}\n\t}\n\n\t/**\n\t * Highlights or un-highlights the selected app based on the user's action.\n\t * @private\n\t * @param {Event} event - The event triggered by the user's action.\n\t * @param {App} selectedApp - The selected app to highlight or un-highlight.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App): void {\n\t\tconst oTile = event.getSource<GenericTile>();\n\t\tconst bIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\");\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Updates the count of selected apps displayed in the dialog.\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst selectedAppsTitle = this._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title;\n\t\tconst selectedAppsCount = this._selectedApps.length;\n\t\tselectedAppsTitle.setText(\n\t\t\t`${this._i18nBundle.getText(\"recommendedAppsTab\")} (${selectedAppsCount} ${this._i18nBundle.getText(\"selected\")})`\n\t\t);\n\t}\n\n\t/**\n\t * Overrides the wrapper for the apps panel to add message strip.\n\t *\n\t * @private\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tconst wrapperId = `${this.getId()}-recommendedPanelWrapper`;\n\t\tif (!this._controlMap.get(wrapperId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\twrapperId,\n\t\t\t\tnew VBox(wrapperId, {\n\t\t\t\t\titems: [this._generateMessageStrip(), super._generateWrapper()],\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(wrapperId) as VBox;\n\t}\n\n\t/**\n\t * Fetch recommended apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn; // Do not load recommended apps on mobile devices\n\t\t}\n\t\tlet recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations(true);\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\trecommendedVisualizations = recommendedVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst apps = this.generateApps(recommendedVisualizations);\n\t\tlet tiles: GenericTile[] = [];\n\t\ttiles = this.fetchTileVisualization(tiles);\n\t\t// calling prepareAppsBeforeLoad fn to filter out the recommended apps from deprecated ones.\n\t\tawait this.prepareAppsBeforeLoad(apps, tiles);\n\t\tthis.setApps(apps);\n\t\tconst addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;\n\t\tif (addToFavouritesMenuItem) {\n\t\t\taddToFavouritesMenuItem.setVisible(apps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Returns message strip for recommended tab\n\t * @private\n\t * @returns {sap.cux.home.MessageStrip} - Message strip control.\n\t */\n\tprivate _generateMessageStrip() {\n\t\tconst messageStripId = `${this.getId()}-messageStrip`;\n\t\tif (!this._controlMap.get(messageStripId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tmessageStripId,\n\t\t\t\tnew MessageStrip(messageStripId, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationMessageStrip\"),\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tlink: new Link(`${messageStripId}-settings`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED)\n\t\t\t\t\t}).addStyleClass(\"sapUiNoMargin\")\n\t\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(messageStripId) as MessageStrip;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(index?: number): MenuItem[] {\n\t\tconst addToFavoritesItem = new MenuItem(`${this.getKey()}--addToFavoritesItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(addToFavoritesItem, \"acceptRecommendation\");\n\t\tconst notRelevantItem = new MenuItem(`${this.getKey()}--notRelevantItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"notRelevantRecommendation\"),\n\t\t\ticon: \"sap-icon://decline\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._rejectRecommendation(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(notRelevantItem, \"rejectRecommendation\");\n\t\tconst actions = [addToFavoritesItem, notRelevantItem];\n\t\treturn actions;\n\t}\n\n\t/**\n\t * Rejects the selected app as recommendation\n\t * @private\n\t * @param {sap.ui.base.MenuItem$PressEvent} event - Event object.\n\t */\n\tprivate async _rejectRecommendation(event: MenuItem$PressEvent) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst title = app.getTitle();\n\t\t\tconst recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations();\n\t\t\tconst visualization = recommendedVisualizations.find((viz) => viz.url === app.getUrl());\n\t\t\tconst fioriId = visualization?.fioriId;\n\t\t\tif (fioriId) {\n\t\t\t\tconst rejectPayload = {\n\t\t\t\t\tAppId: fioriId,\n\t\t\t\t\tDecision: 1\n\t\t\t\t};\n\t\t\t\tawait HttpHelper.Post(CONSTANTS.USER_PREFERENCE_SRVC_URL, rejectPayload);\n\t\t\t\tawait this.refresh();\n\t\t\t\tconst message = this._i18nBundle.getText(\"rejectRecommendationMsg\", [title]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if recommendation is enabled based on recommendation feature toggle and user personalization.\n\t * @private\n\t * @returns {Boolean} - Returns true if recommendation is enabled otherwise false.\n\t */\n\tprivate async _isRecommendationEnabled() {\n\t\tconst personalisation = await this.getPersonalization();\n\t\treturn personalisation?.showRecommendation ?? true;\n\t}\n\n\t/**\n\t * Show recommendation tab if recommendation is enabled\n\t * @private\n\t */\n\tpublic async _enableRecommendationTab() {\n\t\tconst isSupported = await this._isRecommendationEnabled();\n\t\tthis.setSupported(isSupported);\n\t\tthis.fireSupported({ isSupported });\n\t}\n\n\t/**\n\t * Generates illustrated message for recommended apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default illustrated message, title, description and add additional content\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.NoData);\n\t\tillustratedMessage.setTitle(this._i18nBundle.getText(\"noRecommendationsTitle\"));\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noRecommendationsDescription\"));\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button({\n\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"settings\"),\n\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED),\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\tillustratedMessage.addStyleClass(\"sapUiTinyMarginTop\");\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,8 +48,8 @@ const CONSTANTS = {
|
|
|
48
48
|
* @version 0.0.1
|
|
49
49
|
* @since 1.128.0
|
|
50
50
|
*
|
|
51
|
-
* @
|
|
52
|
-
* @
|
|
51
|
+
* @private
|
|
52
|
+
* @ui5-restricted ux.eng.s4producthomes1
|
|
53
53
|
*
|
|
54
54
|
* @alias sap.cux.home.RecommendedAppPanel
|
|
55
55
|
*/
|
|
@@ -416,11 +416,15 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
|
|
|
416
416
|
};
|
|
417
417
|
});
|
|
418
418
|
//convert apps objects array to apps instances
|
|
419
|
-
const
|
|
420
|
-
|
|
419
|
+
const apps = this.generateApps(recommendedVisualizations);
|
|
420
|
+
let tiles: GenericTile[] = [];
|
|
421
|
+
tiles = this.fetchTileVisualization(tiles);
|
|
422
|
+
// calling prepareAppsBeforeLoad fn to filter out the recommended apps from deprecated ones.
|
|
423
|
+
await this.prepareAppsBeforeLoad(apps, tiles);
|
|
424
|
+
this.setApps(apps);
|
|
421
425
|
const addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;
|
|
422
426
|
if (addToFavouritesMenuItem) {
|
|
423
|
-
addToFavouritesMenuItem.setVisible(
|
|
427
|
+
addToFavouritesMenuItem.setVisible(apps.length > 0);
|
|
424
428
|
}
|
|
425
429
|
}
|
|
426
430
|
|
|
@@ -534,7 +538,7 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
|
|
|
534
538
|
protected generateIllustratedMessage() {
|
|
535
539
|
const illustratedMessage = super.generateIllustratedMessage();
|
|
536
540
|
//overrride the default illustrated message, title, description and add additional content
|
|
537
|
-
illustratedMessage.setIllustrationSize(IllustratedMessageSize.
|
|
541
|
+
illustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);
|
|
538
542
|
illustratedMessage.setIllustrationType(IllustratedMessageType.NoData);
|
|
539
543
|
illustratedMessage.setTitle(this._i18nBundle.getText("noRecommendationsTitle"));
|
|
540
544
|
illustratedMessage.setDescription(this._i18nBundle.getText("noRecommendationsDescription"));
|
|
@@ -546,6 +550,7 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
|
|
|
546
550
|
type: "Emphasized"
|
|
547
551
|
})
|
|
548
552
|
);
|
|
553
|
+
illustratedMessage.addStyleClass("sapUiTinyMarginTop");
|
|
549
554
|
return illustratedMessage;
|
|
550
555
|
}
|
|
551
556
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;
|
|
1
|
+
{"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;QACjC,OAAO,CAAC,cAAc,CAAuB;QAE7C,MAAM,CAAC,QAAQ;;UAEb;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QA4BnB;;;;;WAKG;QAEH,OAAO,CAAC,oBAAoB;QAa5B;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAkBxB;;;;;;WAMG;QACH,OAAO,CAAC,iBAAiB;QAkBzB;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QA0BrC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAmBvB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA8B7B;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAK7B;;;;;;WAMG;QACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAelD;;;;;;;WAOG;gBACW,gBAAgB;QAmB9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KAsBtB;CAEA"}
|
|
@@ -69,6 +69,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
69
69
|
Device.resize.attachHandler(() => {
|
|
70
70
|
const deviceType = calculateDeviceType();
|
|
71
71
|
this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
|
|
72
|
+
this._showHamburger = undefined;
|
|
72
73
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
73
74
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
74
75
|
});
|
|
@@ -104,13 +105,16 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
104
105
|
_toggleMasterPage: function _toggleMasterPage() {
|
|
105
106
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
106
107
|
const deviceType = this._deviceType || calculateDeviceType();
|
|
107
|
-
if (deviceType
|
|
108
|
+
if (deviceType === DeviceType.Mobile) {
|
|
108
109
|
this._splitApp.toMaster(this._masterPage.getId(), "slide");
|
|
110
|
+
this._splitApp.showMaster();
|
|
109
111
|
} else {
|
|
110
112
|
if (isMasterShown) {
|
|
111
113
|
this._splitApp.hideMaster();
|
|
114
|
+
this._showHamburger = true;
|
|
112
115
|
} else {
|
|
113
116
|
this._splitApp.showMaster();
|
|
117
|
+
this._showHamburger = false;
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
120
|
this._updateHeaderButtonVisibility(!isMasterShown);
|
|
@@ -130,17 +134,20 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
130
134
|
if (Device.orientation?.portrait) {
|
|
131
135
|
// Show menu button in portrait mode with a tooltip
|
|
132
136
|
const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
|
|
133
|
-
this._menuBtn.setVisible(true);
|
|
134
137
|
if (tooltipText) {
|
|
135
138
|
// Only set the tooltip if a valid string is available
|
|
136
139
|
this._menuBtn.setTooltip(tooltipText);
|
|
137
140
|
}
|
|
138
|
-
} else {
|
|
139
|
-
// Hide or show the menu button in other orientations
|
|
140
|
-
this._menuBtn.setVisible(isMasterShown);
|
|
141
141
|
}
|
|
142
|
+
this._menuBtn.setVisible(true);
|
|
142
143
|
} else {
|
|
143
|
-
|
|
144
|
+
let visibility = true;
|
|
145
|
+
if (this._showHamburger === undefined) {
|
|
146
|
+
if (this._splitApp.isMasterShown()) {
|
|
147
|
+
visibility = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
this._menuBtn.setVisible(visibility);
|
|
144
151
|
}
|
|
145
152
|
},
|
|
146
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Tablet","toMaster","_masterPage","hideMaster","showMaster","Mobile","setVisible","orientation","portrait","tooltipText","setTooltip","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType !== DeviceType.Tablet) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tthis._menuBtn.setVisible(true);\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Hide or show the menu button in other orientations\n\t\t\t\tthis._menuBtn.setVisible(isMasterShown);\n\t\t\t}\n\t\t} else {\n\t\t\tthis._menuBtn.setVisible(false);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oOAAAC,GAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,QAAA,EAAAC,gBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,oBAAA,EAAAC,eAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAAA,MAQSG,YAAY,GAAAd,aAAA;EAAA,MAUde,kBAAkB,GAAAL,sBAAA,CAAAF,oBAAA;EAAA,MAEhBQ,mBAAmB,GAAAP,eAAA;EAAA,MAAEQ,UAAU,GAAAR,eAAA;EAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqBS,cAAc,GAASH,kBAAkB,CAAAI,MAAA;IAQtDC,QAAQ,EAAG;MACjBC,UAAU,EAAE;IACb,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQC,IAAI,WAAAC,MAAA,EAAS;MACnBC,sCAAA;MACA,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;;MAE5B;MACA,IAAI,CAACC,eAAe,CAAC,OAAO,CAAC;MAC7B,IAAI,CAACC,UAAU,CAAC,KAAK,CAAC;MACtB,IAAI,CAACC,eAAe,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC;;MAE7C;MACA,IAAI,CAACC,SAAS,CACb,IAAIhC,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,YAAY,EAAE;QACvCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC;QAC5CC,IAAI,EAAE,aAAa;QACnBC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,KAAK,CAAC;MACzB,CAAC,CACF,CAAC;;MAED;MACA,IAAI,CAACC,UAAU,CACd,IAAIrC,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,eAAe,EAAE;QACxCQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,IAAI,CAACC,eAAe,CAAC;MAC/B,CAAC,CACF,CAAC;MACD,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC5B,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IAESA,oBAAoB,WAAAA,qBAAA,EAAS;MACpCrC,MAAM,CAACsC,MAAM,CAACC,aAAa,CAAC,MAAM;QACjC,MAAMC,UAAU,GAAG/B,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAACgC,SAAS,CAACC,OAAO,CACrBF,UAAU,KAAK9B,UAAU,CAACiC,OAAO,IAAIH,UAAU,KAAK9B,UAAU,CAACkC,YAAY,IAAIJ,UAAU,KAAK9B,UAAU,CAACmC,aAAa,GACnH,cAAc,GACd,UACJ,CAAC;QACD,MAAMC,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;QACpD,IAAI,CAACC,6BAA6B,CAACD,aAAa,CAAC;MAClD,CAAC,CAAC;IACH,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IACSvB,gBAAgB,WAAAA,iBAAA,EAAQ;MAC/B,IAAI,CAACyB,QAAQ,GAAG,IAAIxD,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,WAAW,EAAE;QACtDwB,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,IAAI,CAACvB,WAAW,CAACC,OAAO,CAAC,UAAU,CAAC;QAC7CE,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACqB,iBAAiB,CAAC,CAAC;QACrCC,OAAO,EAAE;MACV,CAAC,CAAC;MACF,OAAO,IAAI7D,GAAG,CAAC,GAAG,IAAI,CAACkC,KAAK,CAAC,CAAC,SAAS,EAAE;QACxC4B,WAAW,EAAE,CAAC,IAAI,CAACL,QAAQ,CAAC;QAC5BM,aAAa,EAAE,CACd,IAAIxD,KAAK,CAAC,GAAG,IAAI,CAAC2B,KAAK,CAAC,CAAC,eAAe,EAAE;UACzCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;UAChD2B,KAAK,EAAE;QACR,CAAC,CAAC;MAEJ,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSJ,iBAAiB,WAAAA,kBAAA,EAAS;MACjC,MAAML,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;MACpD,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QACrC,IAAI,CAAChB,SAAS,CAACiB,QAAQ,CAAC,IAAI,CAACC,WAAW,CAAClC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MAC3D,CAAC,MAAM;QACN,IAAIqB,aAAa,EAAE;UAClB,IAAI,CAACL,SAAS,CAACmB,UAAU,CAAC,CAAC;QAC5B,CAAC,MAAM;UACN,IAAI,CAACnB,SAAS,CAACoB,UAAU,CAAC,CAAC;QAC5B;MACD;MACA,IAAI,CAACd,6BAA6B,CAAC,CAACD,aAAa,CAAC;IACnD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSC,6BAA6B,WAAAA,8BAACD,aAAsB,EAAQ;MACnE,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAACoD,MAAM,EAAE;QACrC;QACA,IAAI,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACjB,aAAa,CAAC;MACzC,CAAC,MAAM,IAAIN,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QAC5C,IAAIzD,MAAM,CAACgE,WAAW,EAAEC,QAAQ,EAAE;UACjC;UACA,MAAMC,WAAW,GAAG,IAAI,CAACvC,WAAW,CAACC,OAAO,CAACkB,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;UACrG,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,IAAI,CAAC;UAC9B,IAAIG,WAAW,EAAE;YAChB;YACA,IAAI,CAAClB,QAAQ,CAACmB,UAAU,CAACD,WAAW,CAAC;UACtC;QACD,CAAC,MAAM;UACN;UACA,IAAI,CAAClB,QAAQ,CAACe,UAAU,CAACjB,aAAa,CAAC;QACxC;MACD,CAAC,MAAM;QACN,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,KAAK,CAAC;MAChC;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS3B,eAAe,WAAAA,gBAAA,EAAa;MACnC,IAAI,CAACgC,SAAS,GAAG,IAAI1E,IAAI,CAAC,GAAG,IAAI,CAAC+B,KAAK,CAAC,CAAC,oBAAoB,EAAE;QAC9D4C,IAAI,EAAE,oBAAoB;QAC1BC,SAAS,EAAGC,KAAY,IAAK,IAAI,CAACC,qBAAqB,CAACD,KAAK;MAC9D,CAAC,CAAC,CAACE,aAAa,CAAC,sBAAsB,CAAC;MACxC,IAAI,CAACd,WAAW,GAAG,IAAIhE,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC1DQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,CAAC,IAAI,CAACiC,SAAS;MACzB,CAAC,CAAC;MACF,IAAI,CAAC3B,SAAS,GAAG,IAAI7C,QAAQ,CAAC,GAAG,IAAI,CAAC6B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC5D4C,IAAI,EAAE,cAAc;QACpBK,WAAW,EAAE,CAAC,IAAI,CAACf,WAAW,CAAC;QAC/BgB,YAAY,EAAGJ,KAAY,IAAK,IAAI,CAACK,qBAAqB,CAACL,KAAK;MACjE,CAAC,CAAC;MAEF,OAAO,IAAI,CAAC9B,SAAS;IACtB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS+B,qBAAqB,WAAAA,sBAACD,KAAsD,EAAEM,OAAgB,EAAQ;MAC7G;MACA,MAAMC,QAAQ,GAAG,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACQ,YAAY,GAAG,UAAU,CAAC;MACrF,MAAMC,UAAU,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MACtC,MAAMC,WAAW,GAAKJ,QAAQ,EAAuBK,IAAI,GAAG,KAAK,CAAC,IAAIZ,KAAK,IAAIS,UAAU,EAAEI,WAAW,CAAC,KAAK,CAAY;MACxH,IAAI,CAACC,WAAW,CAAC,aAAa,EAAEH,WAAW,EAAE,IAAI,CAAC;;MAElD;MACA,MAAMI,UAAU,GAAGvF,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,cAAc,CAAS;MAC/E,IAAI,CAACzC,SAAS,CAAC+C,QAAQ,CAACF,UAAU,CAAC7D,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MACpD,IAAI,CAACgB,SAAS,CAACmB,UAAU,CAAC,CAAC;MAC3B,IAAI,IAAI,CAACnB,SAAS,CAACgD,OAAO,CAAC,CAAC,KAAKlF,YAAY,CAACmF,YAAY,EAAE;QAC3D,IAAI,CAAC3C,6BAA6B,CAAC,KAAK,CAAC;MAC1C;;MAEA;MACA,MAAM4C,aAAa,GAAG,IAAI,CAACV,SAAS,CAAC,CAAC,CAACW,IAAI,CACzCC,KAAwB,IAAKA,KAAK,CAACT,WAAW,CAAC,KAAK,CAAC,KAAKF,WAC5D,CAAsB;MACtBS,aAAa,EAAEG,kBAAkB,CAAC;QAAEjB;MAAQ,CAAC,CAAC;;MAE9C;MACA,IAAI,CAACT,SAAS,CAAC2B,gBAAgB,CAAC,IAAI,CAAC;MACrC,MAAMC,QAAQ,GAAGjG,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,YAAY,CAAqB;MACvFe,UAAU,CAAC,MAAM;QAChB,IAAI,CAAC7B,SAAS,CAAC8B,eAAe,CAACF,QAAQ,CAAC;QACxCA,QAAQ,CAACG,KAAK,CAAC,CAAC;MACjB,CAAC,EAAE,CAAC,CAAC;IACN,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSvB,qBAAqB,WAAAA,sBAACL,KAAY,EAAQ;MACjD,MAAM6B,gBAAgB,GAAGrG,OAAO,CAACwF,cAAc,CAAC,GAAGhB,KAAK,CAAC8B,SAAS,CAAW,CAAC,CAAC5E,KAAK,CAAC,CAAC,YAAY,CAAW;MAC7G2E,gBAAgB,EAAEE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQC,iBAAiB,WAAAC,mBAACjC,KAAkB,EAAQ;MAClDkC,mDAAA,OAAwBlC,KAAK;;MAE7B;MACA,IAAI,CAACU,SAAS,CAAC,CAAC,CAACyB,OAAO,CAAEb,KAAwB,IAAK;QACtD,KAAK,IAAI,CAACc,gBAAgB,CAACd,KAAK,CAAC,CAACe,IAAI,CAAEC,IAAI,IAAK,IAAI,CAACzC,SAAS,CAAC0C,OAAO,CAACD,IAAI,CAAC,CAAC;QAC9E,IAAI,CAACpE,SAAS,CAACsE,aAAa,CAAC,IAAI,CAACC,cAAc,CAACnB,KAAK,CAAC,CAAC;MACzD,CAAC,CAAC;;MAEF;MACA,MAAMX,WAAW,GAAG,IAAI,CAACE,WAAW,CAAC,aAAa,CAAW;MAC7D,MAAMP,OAAO,GAAG,IAAI,CAACO,WAAW,CAAC,SAAS,CAAW;MACrD,IAAI,CAACZ,qBAAqB,CAACU,WAAW,EAAEL,OAAO,CAAC;IACjD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACe8B,gBAAgB,WAAAA,iBAACM,aAAgC;MAAA,IAA6B;QAAA,MAAAC,KAAA,GAE5E,IAAI;QADnB,MAAMC,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,YAAY;QAC1D,IAAIN,QAAQ,GAAGoC,KAAA,CAAKhG,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAqB;QAE3D,IAAI,CAACrC,QAAQ,EAAE;UACdA,QAAQ,GAAG,IAAIjF,gBAAgB,CAACsH,EAAE,EAAE;YACnClF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;YACnDnC,IAAI,EAAEgE,aAAa,CAAC7B,WAAW,CAAC,MAAM,CAAW;YACjDvD,IAAI,EAAE,YAAY;YAClBwF,gBAAgB,EAAE;UACnB,CAAC,CAAC;UACFvC,QAAQ,CAACK,IAAI,CAAC,KAAK,EAAE8B,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,CAAC;UACtD8B,KAAA,CAAKhG,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAErC,QAAQ,CAAC;QACnC;QAAC,MAAAyC,SAAA,GAEDzC,QAAQ;UAAA0C,WAAA,GAARD,SAAA,CAASxD,UAAU;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CAAOT,aAAa,CAACU,WAAW,CAAC,CAAC,EAAAf,IAAA,WAAAgB,qBAAA;UAArDJ,WAAA,CAAAK,IAAA,CAAAN,SAAA,EAAAK,qBAAA;UACA,OAAO9C,QAAQ;QAAC;MACjB,CAAC,QAAAgD,CAAA;QAAA,OAAAL,OAAA,CAAAM,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSd,cAAc,WAAAA,eAACC,aAAgC,EAAQ;MAC9D,MAAME,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,cAAc;MAC5D,IAAI,CAAC,IAAI,CAAClE,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,EAAE;QAC9B,MAAMa,IAAI,GAAG,IAAIrI,IAAI,CAACwH,EAAE,EAAE;UACzBlF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;UACnD6C,gBAAgB,EAAE,MAAM;UACxB/F,UAAU,EAAE+E,aAAa,CAAC7B,WAAW,CAAC,YAAY;QACnD,CAAC,CAAC;;QAEF;QACA6B,aAAa,CAACiB,gBAAgB,CAAC,CAAC,CAACxB,OAAO,CAAEyB,YAAY,IAAK;UAC1DH,IAAI,CAACI,gBAAgB,CAACD,YAAY,CAAC;QACpC,CAAC,CAAC;QAEF,IAAI,CAACjH,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAEa,IAAI,CAAC;MAC/B;;MAEA;MACCf,aAAa,CAACoB,cAAc,CAAC,SAAS,CAAC,CAAe3B,OAAO,CAAEvE,OAAO,IAAM,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,CAAUnF,UAAU,CAACG,OAAO,CAAC,CAAC;MAEnI,OAAO,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC;IAChC;EAAC;EAAA,OAjSmBxG,cAAc;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\tprivate _showHamburger!: boolean | undefined;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tthis._showHamburger = undefined;\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t\tthis._splitApp.showMaster();\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t\tthis._showHamburger = true;\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t\tthis._showHamburger = false;\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(true);\n\t\t} else {\n\t\t\tlet visibility = true;\n\t\t\tif (this._showHamburger === undefined) {\n\t\t\t\tif (this._splitApp.isMasterShown()) {\n\t\t\t\t\tvisibility = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(visibility);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
40
40
|
private _masterPage!: Page;
|
|
41
41
|
private _splitApp!: SplitApp;
|
|
42
42
|
private _deviceType!: DeviceType;
|
|
43
|
+
private _showHamburger!: boolean | undefined;
|
|
43
44
|
|
|
44
45
|
static renderer = {
|
|
45
46
|
apiVersion: 2
|
|
@@ -94,6 +95,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
94
95
|
? "ShowHideMode"
|
|
95
96
|
: "HideMode"
|
|
96
97
|
);
|
|
98
|
+
this._showHamburger = undefined;
|
|
97
99
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
98
100
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
99
101
|
});
|
|
@@ -132,13 +134,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
132
134
|
private _toggleMasterPage(): void {
|
|
133
135
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
134
136
|
const deviceType = this._deviceType || calculateDeviceType();
|
|
135
|
-
if (deviceType
|
|
137
|
+
if (deviceType === DeviceType.Mobile) {
|
|
136
138
|
this._splitApp.toMaster(this._masterPage.getId(), "slide");
|
|
139
|
+
this._splitApp.showMaster();
|
|
137
140
|
} else {
|
|
138
141
|
if (isMasterShown) {
|
|
139
142
|
this._splitApp.hideMaster();
|
|
143
|
+
this._showHamburger = true;
|
|
140
144
|
} else {
|
|
141
145
|
this._splitApp.showMaster();
|
|
146
|
+
this._showHamburger = false;
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
149
|
this._updateHeaderButtonVisibility(!isMasterShown);
|
|
@@ -159,17 +164,20 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
159
164
|
if (Device.orientation?.portrait) {
|
|
160
165
|
// Show menu button in portrait mode with a tooltip
|
|
161
166
|
const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
|
|
162
|
-
this._menuBtn.setVisible(true);
|
|
163
167
|
if (tooltipText) {
|
|
164
168
|
// Only set the tooltip if a valid string is available
|
|
165
169
|
this._menuBtn.setTooltip(tooltipText);
|
|
166
170
|
}
|
|
167
|
-
} else {
|
|
168
|
-
// Hide or show the menu button in other orientations
|
|
169
|
-
this._menuBtn.setVisible(isMasterShown);
|
|
170
171
|
}
|
|
172
|
+
this._menuBtn.setVisible(true);
|
|
171
173
|
} else {
|
|
172
|
-
|
|
174
|
+
let visibility = true;
|
|
175
|
+
if (this._showHamburger === undefined) {
|
|
176
|
+
if (this._splitApp.isMasterShown()) {
|
|
177
|
+
visibility = false;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
this._menuBtn.setVisible(visibility);
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
declare module "sap/cux/home/SideBySideIconTabFilter" {
|
|
2
|
+
/*!
|
|
3
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
4
|
+
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
5
|
+
*/
|
|
6
|
+
import IconTabFilter from "sap/m/IconTabFilter";
|
|
7
|
+
import { MetadataOptions } from "sap/ui/base/ManagedObject";
|
|
8
|
+
import Control from "sap/ui/core/Control";
|
|
9
|
+
import { $SideBySideIconTabFilterSettings } from "sap/cux/home/SideBySideIconTabFilter";
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* Custom IconTabFilter for SideBySide orientation in the BaseContainer.
|
|
13
|
+
*
|
|
14
|
+
* @extends sap.m.IconTabFilter
|
|
15
|
+
*
|
|
16
|
+
* @author SAP SE
|
|
17
|
+
* @version 0.0.1
|
|
18
|
+
* @since 1.139.0
|
|
19
|
+
*
|
|
20
|
+
* @private
|
|
21
|
+
*
|
|
22
|
+
* @alias sap.cux.home.SideBySideIconTabFilter
|
|
23
|
+
*/
|
|
24
|
+
export default class SideBySideIconTabFilter extends IconTabFilter {
|
|
25
|
+
constructor(id?: string | $SideBySideIconTabFilterSettings);
|
|
26
|
+
constructor(id?: string, settings?: $SideBySideIconTabFilterSettings);
|
|
27
|
+
static readonly renderer = "sap.m.IconTabFilterRenderer";
|
|
28
|
+
static readonly metadata: MetadataOptions;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the content controls from the associated panel.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
* @override
|
|
34
|
+
* @returns {Control[]} An array of controls contained in the associated panel, or an empty array if no panel is associated.
|
|
35
|
+
*/
|
|
36
|
+
getContent(): Control[];
|
|
37
|
+
/**
|
|
38
|
+
* Adds a control to the content aggregation of the associated panel.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @override
|
|
42
|
+
* @param {Control} content - The control to add to the panel's content.
|
|
43
|
+
* @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.
|
|
44
|
+
*/
|
|
45
|
+
addContent(content: Control): this;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=SideBySideIconTabFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;IAExF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;oBACrD,EAAE,CAAC,EAAE,MAAM,GAAG,gCAAgC;oBAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gCAAgC;QAWpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,iCAAiC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAiBF;;;;;;WAMG;QACI,UAAU,IAAI,OAAO,EAAE;QAK9B;;;;;;;WAOG;QACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;KAKzC;CAEA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare module "sap/cux/home/SideBySideIconTabFilter" {
|
|
2
|
+
/*!
|
|
3
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
4
|
+
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
5
|
+
*/
|
|
6
|
+
import BasePanel from "sap/cux/home/BasePanel";
|
|
7
|
+
import { $IconTabFilterSettings } from "sap/m/IconTabFilter";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Interface defining the settings object used in constructor calls
|
|
11
|
+
*/
|
|
12
|
+
interface $SideBySideIconTabFilterSettings extends $IconTabFilterSettings {
|
|
13
|
+
panel?: BasePanel | string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default interface SideBySideIconTabFilter {
|
|
17
|
+
|
|
18
|
+
// association: panel
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* ID of the element which is the current target of the association "panel", or "null".
|
|
22
|
+
*/
|
|
23
|
+
getPanel(): string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Sets the associated panel.
|
|
27
|
+
*
|
|
28
|
+
* @param panel ID of an element which becomes the new target of this "panel" association; alternatively, an element instance may be given
|
|
29
|
+
* @returns Reference to "this" in order to allow method chaining
|
|
30
|
+
*/
|
|
31
|
+
setPanel(panel?: string | BasePanel): this;
|
|
32
|
+
}
|
|
33
|
+
}
|