@sapui5/sap.cux.home 1.141.0 → 1.143.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 +4 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +6 -6
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -6
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +9 -1
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +10 -1
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +75 -34
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +378 -179
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +399 -175
- package/src/sap/cux/home/AppsContainer.d.ts +5 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +32 -17
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +31 -15
- package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +2 -1
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +4 -2
- package/src/sap/cux/home/BaseContainer.d.ts +8 -0
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +35 -5
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +32 -5
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
- package/src/sap/cux/home/BasePanel.d.ts +7 -0
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +23 -2
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +18 -1
- package/src/sap/cux/home/CardsContainer.d.ts +108 -0
- package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/CardsContainer.js +207 -0
- package/src/sap/cux/home/CardsContainer.js.map +1 -0
- package/src/sap/cux/home/CardsContainer.ts +202 -0
- package/src/sap/cux/home/CardsPanel.d.ts +32 -59
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +270 -249
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +169 -181
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +17 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +18 -6
- package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
- package/src/sap/cux/home/ErrorPanel.js +11 -16
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +7 -19
- package/src/sap/cux/home/FavAppPanel.d.ts +1 -12
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +354 -414
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +25 -70
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +5 -1
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +12 -9
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +11 -8
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +3 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/Layout.d.ts +3 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +45 -8
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +55 -8
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
- package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -18
- package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
- package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
- package/src/sap/cux/home/NewsContainer.js.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +31 -120
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -1
- package/src/sap/cux/home/NewsPanel.d.ts +17 -0
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +90 -57
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +51 -23
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +216 -81
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.js +4 -1
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +2 -0
- package/src/sap/cux/home/PagePanel.d.ts +1 -1
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +19 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +26 -20
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +6 -3
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
- package/src/sap/cux/home/PagesContainer.d.ts +72 -0
- package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
- package/src/sap/cux/home/PagesContainer.js +333 -0
- package/src/sap/cux/home/PagesContainer.js.map +1 -0
- package/src/sap/cux/home/PagesContainer.ts +179 -0
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +6 -0
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +5 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +7 -0
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +18 -10
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +20 -13
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +7 -2
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +2 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +17 -12
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +19 -16
- package/src/sap/cux/home/TilesContainer.d.ts +111 -0
- package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/TilesContainer.js +218 -0
- package/src/sap/cux/home/TilesContainer.js.map +1 -0
- package/src/sap/cux/home/TilesContainer.ts +216 -0
- package/src/sap/cux/home/TilesPanel.d.ts +22 -52
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +194 -168
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +167 -157
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +59 -66
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +46 -34
- package/src/sap/cux/home/ToDosContainer.js +3 -3
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +40 -14
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_da.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_de.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_el.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_en.properties +9 -5
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +14 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +14 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_es.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_et.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_id.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_it.properties +10 -6
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_no.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +9 -5
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_th.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +8 -4
- package/src/sap/cux/home/interface/AppsInterface.d.ts +6 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +7 -0
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
- package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
- package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +7 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +10 -5
- package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
- package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +22 -0
- package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +4 -45
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
- package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
- package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
- package/src/sap/cux/home/themes/base/library.source.less +2 -1
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +2 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +2 -2
- package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
- package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +36 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.js +28 -0
- package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +6 -6
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +6 -5
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +155 -151
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
- package/ui5.yaml +1 -0
- package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
- package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
- package/src/sap/cux/home/InsightsContainer.js +0 -459
- package/src/sap/cux/home/InsightsContainer.js.map +0 -1
- package/src/sap/cux/home/InsightsContainer.ts +0 -489
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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":[]}
|
|
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","addFESRSemanticStepName","FESRNavigationSource","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","additionalInfo","fesrSource","Recommended","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, addFESRSemanticStepName, FESRNavigationSource } 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\tthis.additionalInfo = {\n\t\t\tfesrSource: FESRNavigationSource.Recommended\n\t\t};\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\taddFESRSemanticStepName(addButton, \"press\", \"acceptRecommended\");\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\taddFESRSemanticStepName(cancelButton, \"press\", \"cancelRecommended\");\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":[]}
|
|
@@ -30,7 +30,7 @@ import type { $BasePanelSettings } from "./BasePanel";
|
|
|
30
30
|
import MenuItem, { MenuItem$PressEvent } from "./MenuItem";
|
|
31
31
|
import { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from "./utils/Constants";
|
|
32
32
|
import { DeviceType } from "./utils/Device";
|
|
33
|
-
import { addFESRId } from "./utils/FESRUtil";
|
|
33
|
+
import { addFESRId, addFESRSemanticStepName, FESRNavigationSource } from "./utils/FESRUtil";
|
|
34
34
|
import HttpHelper from "./utils/HttpHelper";
|
|
35
35
|
|
|
36
36
|
const CONSTANTS = {
|
|
@@ -89,6 +89,9 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
|
|
|
89
89
|
this.fireSupported({ isSupported: showRecommendation });
|
|
90
90
|
});
|
|
91
91
|
this._createAddToFavouritesMenuItem();
|
|
92
|
+
this.additionalInfo = {
|
|
93
|
+
fesrSource: FESRNavigationSource.Recommended
|
|
94
|
+
};
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
/**
|
|
@@ -181,11 +184,13 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
|
|
|
181
184
|
},
|
|
182
185
|
enabled: this._selectedApps.length > 0
|
|
183
186
|
});
|
|
187
|
+
addFESRSemanticStepName(addButton, "press", "acceptRecommended");
|
|
184
188
|
const cancelButton = new Button({
|
|
185
189
|
id: `${dialogId}-cancelBtn`,
|
|
186
190
|
text: this._i18nBundle.getText("cancelBtn"),
|
|
187
191
|
press: () => this._closeAddRecommendedDialog(dialogId)
|
|
188
192
|
});
|
|
193
|
+
addFESRSemanticStepName(cancelButton, "press", "cancelRecommended");
|
|
189
194
|
const mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();
|
|
190
195
|
this._controlMap.set(
|
|
191
196
|
dialogId,
|
|
@@ -72,6 +72,13 @@ declare module "sap/cux/home/SettingsDialog" {
|
|
|
72
72
|
* @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.
|
|
73
73
|
*/
|
|
74
74
|
private _getPageContent;
|
|
75
|
+
/**
|
|
76
|
+
* Determines the split app mode based on the current device type.
|
|
77
|
+
*
|
|
78
|
+
* @private
|
|
79
|
+
* @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
|
|
80
|
+
*/
|
|
81
|
+
private _getSplitAppMode;
|
|
75
82
|
/**
|
|
76
83
|
* Navigates to the detail page associated with the selected item in the master page list.
|
|
77
84
|
*
|
|
@@ -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;
|
|
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;IAKjE;;;;;;;;;;;;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;QAQ5B;;;;;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,gBAAgB;QAOxB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA4B7B;;;;;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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/m/Page", "sap/m/SplitApp", "sap/m/StandardListItem", "sap/m/Title", "sap/ui/core/Element", "sap/ui/Device", "./BaseSettingsDialog", "./utils/Device"], function (Bar, Button, sap_m_library, List, Page, SplitApp, StandardListItem, Title, Element, Device, __BaseSettingsDialog, ___utils_Device) {
|
|
5
|
+
sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/m/Page", "sap/m/SplitApp", "sap/m/StandardListItem", "sap/m/Title", "sap/ui/core/Element", "sap/ui/Device", "./BaseSettingsDialog", "./utils/DataFormatUtils", "./utils/Device"], function (Bar, Button, sap_m_library, List, Page, SplitApp, StandardListItem, Title, Element, Device, __BaseSettingsDialog, ___utils_DataFormatUtils, ___utils_Device) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -10,6 +10,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
10
10
|
}
|
|
11
11
|
const SplitAppMode = sap_m_library["SplitAppMode"];
|
|
12
12
|
const BaseSettingsDialog = _interopRequireDefault(__BaseSettingsDialog);
|
|
13
|
+
const recycleId = ___utils_DataFormatUtils["recycleId"];
|
|
13
14
|
const calculateDeviceType = ___utils_Device["calculateDeviceType"];
|
|
14
15
|
const DeviceType = ___utils_Device["DeviceType"];
|
|
15
16
|
/**
|
|
@@ -67,8 +68,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
67
68
|
*/
|
|
68
69
|
_attachResizeHandler: function _attachResizeHandler() {
|
|
69
70
|
Device.resize.attachHandler(() => {
|
|
70
|
-
|
|
71
|
-
this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
|
|
71
|
+
this._splitApp.setMode(this._getSplitAppMode());
|
|
72
72
|
this._showHamburger = undefined;
|
|
73
73
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
74
74
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
@@ -81,15 +81,15 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
81
81
|
* @returns {Bar} The custom header bar for the SettingsDialog.
|
|
82
82
|
*/
|
|
83
83
|
_setCustomHeader: function _setCustomHeader() {
|
|
84
|
-
this._menuBtn = new Button(`${this.getId()}-menu-btn
|
|
84
|
+
this._menuBtn = new Button(recycleId(`${this.getId()}-menu-btn`), {
|
|
85
85
|
icon: "sap-icon://menu2",
|
|
86
86
|
tooltip: this._i18nBundle.getText("showMenu"),
|
|
87
87
|
press: () => this._toggleMasterPage(),
|
|
88
88
|
visible: false
|
|
89
89
|
});
|
|
90
|
-
return new Bar(`${this.getId()}-header
|
|
90
|
+
return new Bar(recycleId(`${this.getId()}-header`), {
|
|
91
91
|
contentLeft: [this._menuBtn],
|
|
92
|
-
contentMiddle: [new Title(`${this.getId()}-dialog-title
|
|
92
|
+
contentMiddle: [new Title(recycleId(`${this.getId()}-dialog-title`), {
|
|
93
93
|
text: this._i18nBundle.getText("myHomeSettings"),
|
|
94
94
|
level: "H1"
|
|
95
95
|
})]
|
|
@@ -167,12 +167,22 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
167
167
|
content: [this._menuList]
|
|
168
168
|
});
|
|
169
169
|
this._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {
|
|
170
|
-
mode:
|
|
170
|
+
mode: this._getSplitAppMode(),
|
|
171
171
|
masterPages: [this._masterPage],
|
|
172
172
|
masterButton: event => this._hideNavigationButton(event)
|
|
173
173
|
});
|
|
174
174
|
return this._splitApp;
|
|
175
175
|
},
|
|
176
|
+
/**
|
|
177
|
+
* Determines the split app mode based on the current device type.
|
|
178
|
+
*
|
|
179
|
+
* @private
|
|
180
|
+
* @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
|
|
181
|
+
*/
|
|
182
|
+
_getSplitAppMode: function _getSplitAppMode() {
|
|
183
|
+
const deviceType = calculateDeviceType();
|
|
184
|
+
return deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? SplitAppMode.ShowHideMode : SplitAppMode.HideMode;
|
|
185
|
+
},
|
|
176
186
|
/**
|
|
177
187
|
* Navigates to the detail page associated with the selected item in the master page list.
|
|
178
188
|
*
|
|
@@ -190,9 +200,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
|
|
|
190
200
|
const detailPage = Element.getElementById(`${selectedKey}-detail-page`);
|
|
191
201
|
this._splitApp.toDetail(detailPage.getId(), "slide");
|
|
192
202
|
this._splitApp.hideMaster();
|
|
193
|
-
|
|
194
|
-
this._updateHeaderButtonVisibility(false);
|
|
195
|
-
}
|
|
203
|
+
this._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);
|
|
196
204
|
|
|
197
205
|
//fire panel navigated event
|
|
198
206
|
const selectedPanel = this.getPanels().find(panel => panel.getProperty("key") === selectedKey);
|
|
@@ -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","_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":[]}
|
|
1
|
+
{"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","recycleId","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","_splitApp","setMode","_getSplitAppMode","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","deviceType","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","Desktop","LargeDesktop","XLargeDesktop","ShowHideMode","HideMode","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","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 { recycleId } from \"./utils/DataFormatUtils\";\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\tthis._splitApp.setMode(this._getSplitAppMode());\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(recycleId(`${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(recycleId(`${this.getId()}-header`), {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(recycleId(`${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: this._getSplitAppMode(),\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 * Determines the split app mode based on the current device type.\n\t *\n\t * @private\n\t * @returns {\"ShowHideMode\" | \"HideMode\"} The appropriate split app mode string.\n\t */\n\tprivate _getSplitAppMode(): SplitAppMode {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t? SplitAppMode.ShowHideMode\n\t\t\t: SplitAppMode.HideMode;\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\tthis._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);\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":[]}
|
|
@@ -18,6 +18,7 @@ import Element from "sap/ui/core/Element";
|
|
|
18
18
|
import Device from "sap/ui/Device";
|
|
19
19
|
import BaseSettingsDialog from "./BaseSettingsDialog";
|
|
20
20
|
import BaseSettingsPanel from "./BaseSettingsPanel";
|
|
21
|
+
import { recycleId } from "./utils/DataFormatUtils";
|
|
21
22
|
import { calculateDeviceType, DeviceType } from "./utils/Device";
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -89,12 +90,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
89
90
|
|
|
90
91
|
private _attachResizeHandler(): void {
|
|
91
92
|
Device.resize.attachHandler(() => {
|
|
92
|
-
|
|
93
|
-
this._splitApp.setMode(
|
|
94
|
-
deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop
|
|
95
|
-
? "ShowHideMode"
|
|
96
|
-
: "HideMode"
|
|
97
|
-
);
|
|
93
|
+
this._splitApp.setMode(this._getSplitAppMode());
|
|
98
94
|
this._showHamburger = undefined;
|
|
99
95
|
const isMasterShown = this._splitApp.isMasterShown();
|
|
100
96
|
this._updateHeaderButtonVisibility(isMasterShown);
|
|
@@ -107,16 +103,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
107
103
|
* @returns {Bar} The custom header bar for the SettingsDialog.
|
|
108
104
|
*/
|
|
109
105
|
private _setCustomHeader(): Bar {
|
|
110
|
-
this._menuBtn = new Button(`${this.getId()}-menu-btn
|
|
106
|
+
this._menuBtn = new Button(recycleId(`${this.getId()}-menu-btn`), {
|
|
111
107
|
icon: "sap-icon://menu2",
|
|
112
108
|
tooltip: this._i18nBundle.getText("showMenu"),
|
|
113
109
|
press: () => this._toggleMasterPage(),
|
|
114
110
|
visible: false
|
|
115
111
|
});
|
|
116
|
-
return new Bar(`${this.getId()}-header
|
|
112
|
+
return new Bar(recycleId(`${this.getId()}-header`), {
|
|
117
113
|
contentLeft: [this._menuBtn],
|
|
118
114
|
contentMiddle: [
|
|
119
|
-
new Title(`${this.getId()}-dialog-title
|
|
115
|
+
new Title(recycleId(`${this.getId()}-dialog-title`), {
|
|
120
116
|
text: this._i18nBundle.getText("myHomeSettings"),
|
|
121
117
|
level: "H1"
|
|
122
118
|
})
|
|
@@ -198,7 +194,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
198
194
|
content: [this._menuList]
|
|
199
195
|
});
|
|
200
196
|
this._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {
|
|
201
|
-
mode:
|
|
197
|
+
mode: this._getSplitAppMode(),
|
|
202
198
|
masterPages: [this._masterPage],
|
|
203
199
|
masterButton: (event: Event) => this._hideNavigationButton(event)
|
|
204
200
|
});
|
|
@@ -206,6 +202,19 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
206
202
|
return this._splitApp;
|
|
207
203
|
}
|
|
208
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Determines the split app mode based on the current device type.
|
|
207
|
+
*
|
|
208
|
+
* @private
|
|
209
|
+
* @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
|
|
210
|
+
*/
|
|
211
|
+
private _getSplitAppMode(): SplitAppMode {
|
|
212
|
+
const deviceType = calculateDeviceType();
|
|
213
|
+
return deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop
|
|
214
|
+
? SplitAppMode.ShowHideMode
|
|
215
|
+
: SplitAppMode.HideMode;
|
|
216
|
+
}
|
|
217
|
+
|
|
209
218
|
/**
|
|
210
219
|
* Navigates to the detail page associated with the selected item in the master page list.
|
|
211
220
|
*
|
|
@@ -223,9 +232,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
|
|
|
223
232
|
const detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;
|
|
224
233
|
this._splitApp.toDetail(detailPage.getId(), "slide");
|
|
225
234
|
this._splitApp.hideMaster();
|
|
226
|
-
|
|
227
|
-
this._updateHeaderButtonVisibility(false);
|
|
228
|
-
}
|
|
235
|
+
this._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);
|
|
229
236
|
|
|
230
237
|
//fire panel navigated event
|
|
231
238
|
const selectedPanel = this.getPanels().find(
|
|
@@ -43,6 +43,16 @@ declare module "sap/cux/home/SideBySideIconTabFilter" {
|
|
|
43
43
|
* @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.
|
|
44
44
|
*/
|
|
45
45
|
addContent(content: Control): this;
|
|
46
|
+
/**
|
|
47
|
+
* Hides the badge on the tab filter.
|
|
48
|
+
*
|
|
49
|
+
* Overridden to prevent hiding the badge in Side-by-Side mode automatically.
|
|
50
|
+
* Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.
|
|
51
|
+
*
|
|
52
|
+
* @private
|
|
53
|
+
* @override
|
|
54
|
+
*/
|
|
55
|
+
_hideBadge(): void;
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
58
|
//# sourceMappingURL=SideBySideIconTabFilter.d.ts.map
|
|
@@ -1 +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;
|
|
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;QAMzC;;;;;;;;WAQG;QACI,UAAU,IAAI,IAAI;KACzB;CAEA"}
|