@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
|
@@ -50,15 +50,13 @@ import SimpleForm from "sap/ui/layout/form/SimpleForm";
|
|
|
50
50
|
import { form } from "sap/ui/layout/library";
|
|
51
51
|
import Config from "sap/ushell/Config";
|
|
52
52
|
import Container from "sap/ushell/Container";
|
|
53
|
-
import MyHomeImport from "sap/ushell/components/pages/MyHomeImport";
|
|
54
|
-
import PageRuntime from "sap/ushell/components/pages/controller/PageRuntime.controller";
|
|
55
53
|
import Navigation from "sap/ushell/services/Navigation";
|
|
56
54
|
import Pages from "sap/ushell/services/Pages";
|
|
57
55
|
import { IExportData } from "./AdvancedSettingsPanel";
|
|
58
56
|
import App from "./App";
|
|
59
57
|
import AppsContainer from "./AppsContainer";
|
|
60
58
|
import { ActionsPopover } from "./BaseApp";
|
|
61
|
-
import BaseAppPanel from "./BaseAppPanel";
|
|
59
|
+
import BaseAppPanel, { BaseAppPanel$SupportedEvent } from "./BaseAppPanel";
|
|
62
60
|
import BaseAppPersPanel from "./BaseAppPersPanel";
|
|
63
61
|
import BaseContainer from "./BaseContainer";
|
|
64
62
|
import type { $BasePanelSettings } from "./BasePanel";
|
|
@@ -80,7 +78,7 @@ import { IMoveConfig } from "./utils/AppManager";
|
|
|
80
78
|
import { DEFAULT_BG_COLOR, END_USER_COLORS, MYAPPS_SECTION_ID, MYHOME_PAGE_ID } from "./utils/Constants";
|
|
81
79
|
import { getLeanURL, recycleId } from "./utils/DataFormatUtils";
|
|
82
80
|
import { DeviceType } from "./utils/Device";
|
|
83
|
-
import { addFESRId, addFESRSemanticStepName } from "./utils/FESRUtil";
|
|
81
|
+
import { addFESRId, addFESRNavigationSource, addFESRSemanticStepName, FESRNavigationSource } from "./utils/FESRUtil";
|
|
84
82
|
import { sortMenuItems } from "./utils/InsightsUtils";
|
|
85
83
|
const _showAddApps = () => {
|
|
86
84
|
return (Config.last("/core/shell/enablePersonalization") || Config.last("/core/catalog/enabled")) as boolean;
|
|
@@ -93,7 +91,7 @@ export enum favouritesMenuItems {
|
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
const tilesPanelName: string = "sap.cux.home.TilesPanel";
|
|
96
|
-
const
|
|
94
|
+
const tilesContainerName: string = "sap.cux.home.TilesContainer";
|
|
97
95
|
const sortedMenuItems: (favouritesMenuItems | string)[] = [
|
|
98
96
|
favouritesMenuItems.CREATE_GROUP,
|
|
99
97
|
favouritesMenuItems.ADD_APPS,
|
|
@@ -123,9 +121,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
123
121
|
private _currentItem!: App | Group;
|
|
124
122
|
private _cutApp: GenericTile | undefined;
|
|
125
123
|
private oEventBus!: EventBus;
|
|
126
|
-
private _importButton!: Button;
|
|
127
124
|
private _createGroupMenuItem!: MenuItem;
|
|
128
|
-
private _isInitialLoad = true;
|
|
129
125
|
|
|
130
126
|
static readonly metadata: MetadataOptions = {
|
|
131
127
|
library: "sap.cux.home",
|
|
@@ -159,7 +155,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
159
155
|
this.setProperty("title", this._i18nBundle.getText("favoritesTab"));
|
|
160
156
|
this.setProperty("tooltip", this._i18nBundle.getText("favAppsInfo"));
|
|
161
157
|
//Setup Action Buttons
|
|
162
|
-
|
|
158
|
+
this._createActionButtons();
|
|
163
159
|
//Setup Menu Items
|
|
164
160
|
this._createHeaderMenuItems();
|
|
165
161
|
//add drag and drop config
|
|
@@ -188,14 +184,6 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
188
184
|
},
|
|
189
185
|
this
|
|
190
186
|
);
|
|
191
|
-
this.oEventBus.subscribe(
|
|
192
|
-
"importChannel",
|
|
193
|
-
"resetImported",
|
|
194
|
-
async () => {
|
|
195
|
-
await this.setImportButtonVisibility(true);
|
|
196
|
-
},
|
|
197
|
-
this
|
|
198
|
-
);
|
|
199
187
|
this.attachPersistDialog(() => {
|
|
200
188
|
// if while navigating to different page, a group detail dialog was open, then while navigating back group detail dialog should be in open state.
|
|
201
189
|
if (this._selectedGroupId) {
|
|
@@ -205,6 +193,9 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
205
193
|
|
|
206
194
|
document.addEventListener("click", (event) => this._resetCutElement(event));
|
|
207
195
|
document.addEventListener("keydown", (event) => this._resetCutElement(event));
|
|
196
|
+
this.additionalInfo = {
|
|
197
|
+
fesrSource: FESRNavigationSource.Favorite
|
|
198
|
+
};
|
|
208
199
|
}
|
|
209
200
|
|
|
210
201
|
private _importdone() {
|
|
@@ -384,9 +375,9 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
384
375
|
const container = this.getParent() as BaseContainer;
|
|
385
376
|
container.toggleMenuListItem(this._createGroupMenuItem, this.getApps().length > 0);
|
|
386
377
|
if (!isPhone) {
|
|
387
|
-
|
|
378
|
+
this._switchToRecommendedIfNoFavApps(apps, groups);
|
|
388
379
|
}
|
|
389
|
-
if (checkPanelExists(container,
|
|
380
|
+
if (checkPanelExists(container, tilesContainerName, tilesPanelName)) {
|
|
390
381
|
this._createAddFromInsTilesMenuItem(favouritesMenuItems.ADD_FROM_INSIGHTS);
|
|
391
382
|
}
|
|
392
383
|
//updating header once the visibility for createGrp menu item is set according to the no. of apps
|
|
@@ -401,15 +392,20 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
401
392
|
* @param {App[]} apps - The list of favorite apps.
|
|
402
393
|
* @param {Group[]} groups - The list of favorite app groups.
|
|
403
394
|
*/
|
|
404
|
-
private
|
|
395
|
+
private _switchToRecommendedIfNoFavApps(apps: App[], groups: Group[]): void {
|
|
405
396
|
const container = this.getParent() as AppsContainer;
|
|
406
397
|
const panels = container.getContent() as BaseAppPanel[];
|
|
407
398
|
const recommendedPanel = panels ? panels.find((panel) => panel instanceof RecommendedAppPanel) : null;
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
399
|
+
|
|
400
|
+
if (recommendedPanel) {
|
|
401
|
+
recommendedPanel.attachEventOnce("supported", async (event: BaseAppPanel$SupportedEvent) => {
|
|
402
|
+
const isSupported = event.getParameter("isSupported") as boolean;
|
|
403
|
+
if ([...apps, ...groups].length === 0 && isSupported) {
|
|
404
|
+
container.setProperty?.("selectedKey", "recommendedApps");
|
|
405
|
+
await container.refreshPanel(recommendedPanel);
|
|
406
|
+
}
|
|
407
|
+
});
|
|
411
408
|
}
|
|
412
|
-
this._isInitialLoad = false;
|
|
413
409
|
}
|
|
414
410
|
|
|
415
411
|
/**
|
|
@@ -609,7 +605,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
609
605
|
* Creates actions buttons for panel.
|
|
610
606
|
* @private
|
|
611
607
|
*/
|
|
612
|
-
private
|
|
608
|
+
private _createActionButtons() {
|
|
613
609
|
if (!this._actionButtons) {
|
|
614
610
|
this._actionButtons = [];
|
|
615
611
|
if (_showAddApps()) {
|
|
@@ -628,29 +624,6 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
628
624
|
this._actionButtons.forEach((actionButton) => {
|
|
629
625
|
this.addAggregation("actionButtons", actionButton);
|
|
630
626
|
});
|
|
631
|
-
const isImportEnabled = await this._validateAppsMigration();
|
|
632
|
-
if (isImportEnabled) {
|
|
633
|
-
this._createImportButton();
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
private _createImportButton(): Button {
|
|
638
|
-
if (!this._importButton) {
|
|
639
|
-
this._importButton = new Button(`${this.getId()}-importAppsBtn`, {
|
|
640
|
-
tooltip: this._i18nBundle.getText("importAppsNow"),
|
|
641
|
-
text: this._i18nBundle.getText("importAppsNow"),
|
|
642
|
-
press: this._openImportAppsDialog.bind(this)
|
|
643
|
-
});
|
|
644
|
-
addFESRId(this._importButton, "importAppsDialog");
|
|
645
|
-
this._actionButtons.push(this._importButton);
|
|
646
|
-
this.insertAggregation("actionButtons", this._importButton, 0);
|
|
647
|
-
}
|
|
648
|
-
return this._importButton;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
private async setImportButtonVisibility(bVisible: boolean): Promise<void> {
|
|
652
|
-
await MyHomeImport.setImportEnabled(bVisible);
|
|
653
|
-
this._createImportButton().setVisible(bVisible);
|
|
654
627
|
}
|
|
655
628
|
|
|
656
629
|
/**
|
|
@@ -927,25 +900,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
927
900
|
shellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`
|
|
928
901
|
}
|
|
929
902
|
});
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
/**
|
|
933
|
-
* Validates if import apps is enabled
|
|
934
|
-
*
|
|
935
|
-
*@returns {Promise} - resolves to boolean value (import is enabled/disabled)
|
|
936
|
-
*/
|
|
937
|
-
private async _validateAppsMigration() {
|
|
938
|
-
try {
|
|
939
|
-
return await MyHomeImport.isImportEnabled();
|
|
940
|
-
} catch (error: unknown) {
|
|
941
|
-
Log.warning(error instanceof Error ? error.message : "Error while checking if import apps is enabled");
|
|
942
|
-
return false;
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
private _openImportAppsDialog() {
|
|
947
|
-
const pageRuntime = new PageRuntime();
|
|
948
|
-
pageRuntime.onImportDialogPress();
|
|
903
|
+
addFESRNavigationSource(FESRNavigationSource.AppFinder);
|
|
949
904
|
}
|
|
950
905
|
|
|
951
906
|
/**
|
|
@@ -1680,7 +1635,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
1680
1635
|
title: title,
|
|
1681
1636
|
actions: [actionText as string, MessageBox.Action.CANCEL],
|
|
1682
1637
|
emphasizedAction: actionText,
|
|
1683
|
-
onClose: async (action: string) => {
|
|
1638
|
+
onClose: async (action: string | null) => {
|
|
1684
1639
|
if (action === actionText) {
|
|
1685
1640
|
this._setBusy(true);
|
|
1686
1641
|
try {
|
|
@@ -1762,7 +1717,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
1762
1717
|
title: confirmationTitle,
|
|
1763
1718
|
actions: [confirmationTitle, MessageBox.Action.CANCEL],
|
|
1764
1719
|
emphasizedAction: confirmationTitle,
|
|
1765
|
-
onClose: (action: string) => {
|
|
1720
|
+
onClose: (action: string | null) => {
|
|
1766
1721
|
if (action === confirmationTitle) {
|
|
1767
1722
|
void this._moveAppAndHandleGroupChanges(app, sourceGroupId, targetGroupId);
|
|
1768
1723
|
}
|
|
@@ -1943,7 +1898,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
1943
1898
|
title: title,
|
|
1944
1899
|
actions: [actionText, MessageBox.Action.CANCEL],
|
|
1945
1900
|
emphasizedAction: actionText,
|
|
1946
|
-
onClose: (action: string) => {
|
|
1901
|
+
onClose: (action: string | null) => {
|
|
1947
1902
|
if (action === actionText) {
|
|
1948
1903
|
void this._ungroupApps(group.id!);
|
|
1949
1904
|
}
|
|
@@ -1968,7 +1923,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
|
|
|
1968
1923
|
title: title,
|
|
1969
1924
|
actions: [deleteAction, this._i18nBundle.getText("moveApps") as string, MessageBox.Action.CANCEL],
|
|
1970
1925
|
emphasizedAction: deleteAction,
|
|
1971
|
-
onClose: async (action: string) => {
|
|
1926
|
+
onClose: async (action: string | null) => {
|
|
1972
1927
|
if (action === deleteAction) {
|
|
1973
1928
|
this._setBusy(true);
|
|
1974
1929
|
await this._deleteGroup(group.getGroupId());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrequentAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/FrequentAppPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAO/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAM3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;IAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"FrequentAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/FrequentAppPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAO/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAM3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;IAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IAMjE;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,gBAAgB;QAC7D,OAAO,CAAC,SAAS,CAAY;QAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CASvC;QAEF;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;QAKtD,IAAI;QA0BX;;;WAGG;QACU,QAAQ;QAcrB;;;;WAIG;gBACW,0BAA0B;QAaxC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAgBnB;;;;;WAKG;QACH,SAAS,CAAC,0BAA0B;KAMpC;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/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "sap/ushell/EventHub", "./BaseAppPersPanel", "./MenuItem"], function (Log, EventBus, Container, EventHub, __BaseAppPersPanel, __MenuItem) {
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "sap/ushell/EventHub", "./BaseAppPersPanel", "./MenuItem", "./utils/FESRUtil"], function (Log, EventBus, Container, EventHub, __BaseAppPersPanel, __MenuItem, ___utils_FESRUtil) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -21,6 +21,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "
|
|
|
21
21
|
}
|
|
22
22
|
const BaseAppPersPanel = _interopRequireDefault(__BaseAppPersPanel);
|
|
23
23
|
const MenuItem = _interopRequireDefault(__MenuItem);
|
|
24
|
+
const FESRNavigationSource = ___utils_FESRUtil["FESRNavigationSource"];
|
|
24
25
|
/**
|
|
25
26
|
*
|
|
26
27
|
* Provides the class for managing frequent apps.
|
|
@@ -80,6 +81,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "
|
|
|
80
81
|
//update color of the app in most used apps
|
|
81
82
|
this._applyUngroupedTileColor(item, color);
|
|
82
83
|
}, this);
|
|
84
|
+
this.additionalInfo = {
|
|
85
|
+
fesrSource: FESRNavigationSource.FrequentlyUsed
|
|
86
|
+
};
|
|
83
87
|
},
|
|
84
88
|
/**
|
|
85
89
|
* Fetch frequent apps and set apps aggregation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrequentAppPanel.js","names":["sap","ui","define","Log","EventBus","Container","EventHub","__BaseAppPersPanel","__MenuItem","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BaseAppPersPanel","MenuItem","FrequentAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_attachUserActivityTracking","on","do","refresh","oEventBus","getInstance","subscribe","channelId","eventId","data","item","color","_applyUngroupedTileColor","loadApps","_loadApps","_this","Promise","resolve","_getFrequentVisualizations","frequentVisualizations","destroyAggregation","map","visualization","index","menuItems","_getActions","addedInFavorites","frequentApps","generateApps","setApps","reject","_this2","getServiceAsync","UserRecentsService","getFrequentActivity","frequentActivities","convertActivitiesToVisualizations","error","isAppAddedInFavorite","action","push","getKey","title","icon","press","event","_addAppToFavorites","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription"],"sources":["FrequentAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport UserRecents from \"sap/ushell/services/UserRecents\";\nimport App from \"./App\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group from \"./Group\";\nimport { IActivity } from \"./interface/AppsInterface\";\nimport MenuItem from \"./MenuItem\";\n\n/**\n *\n * Provides the class for managing frequent apps.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FrequentAppPanel\n */\n\nexport default class FrequentAppPanel extends BaseAppPersPanel {\n\tprivate oEventBus!: EventBus;\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 Frequent 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 frequent app 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\", \"frequentApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"frequentlyUsedTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"frequentlyUsedTabInfo\"));\n\t\tthis._attachUserActivityTracking();\n\t\tEventHub.on(\"userRecentsCleared\").do(() => {\n\t\t\tvoid this.refresh();\n\t\t});\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"appsChannel\",\n\t\t\t\"favAppColorChanged\",\n\t\t\t(channelId?: string, eventId?: string, data?) => {\n\t\t\t\tconst { item, color } = data as { item: App | Group; color: string };\n\t\t\t\t//update color of the app in most used apps\n\t\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\t/**\n\t * Fetch frequent apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tlet frequentVisualizations = await this._getFrequentVisualizations();\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tfrequentVisualizations = frequentVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(visualization.addedInFavorites, index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst frequentApps = this.generateApps(frequentVisualizations);\n\t\tthis.setApps(frequentApps);\n\t}\n\n\t/**\n\t * Returns list of frequent apps\n\t * @private\n\t * @returns {object[]} - Array of frequent apps.\n\t */\n\tprivate async _getFrequentVisualizations() {\n\t\ttry {\n\t\t\tconst UserRecentsService = await Container.getServiceAsync<UserRecents>(\"UserRecents\");\n\t\t\tconst frequentActivities: IActivity[] = (await UserRecentsService?.getFrequentActivity()) || [];\n\t\t\t//convert activity to apps\n\t\t\tconst frequentVisualizations = await this.convertActivitiesToVisualizations(frequentActivities);\n\t\t\treturn frequentVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @param {boolean} isAppAddedInFavorite - true if app is already present in favorite, false otherwise.\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(isAppAddedInFavorite: boolean = false, index?: number) {\n\t\tconst action = [];\n\t\tif (!isAppAddedInFavorite) {\n\t\t\taction.push(\n\t\t\t\tnew MenuItem(`${this.getKey()}--addToFavorites--${index}`, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn action;\n\t}\n\n\t/**\n\t * Generates illustrated message for frequent 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//override the default description\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFreqAppsDescription\"));\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FrequentAppPanel.js","names":["sap","ui","define","Log","EventBus","Container","EventHub","__BaseAppPersPanel","__MenuItem","___utils_FESRUtil","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BaseAppPersPanel","MenuItem","FESRNavigationSource","FrequentAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_attachUserActivityTracking","on","do","refresh","oEventBus","getInstance","subscribe","channelId","eventId","data","item","color","_applyUngroupedTileColor","additionalInfo","fesrSource","FrequentlyUsed","loadApps","_loadApps","_this","Promise","resolve","_getFrequentVisualizations","frequentVisualizations","destroyAggregation","map","visualization","index","menuItems","_getActions","addedInFavorites","frequentApps","generateApps","setApps","reject","_this2","getServiceAsync","UserRecentsService","getFrequentActivity","frequentActivities","convertActivitiesToVisualizations","error","isAppAddedInFavorite","action","push","getKey","title","icon","press","event","_addAppToFavorites","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription"],"sources":["FrequentAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport UserRecents from \"sap/ushell/services/UserRecents\";\nimport App from \"./App\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group from \"./Group\";\nimport { IActivity } from \"./interface/AppsInterface\";\nimport MenuItem from \"./MenuItem\";\nimport { FESRNavigationSource } from \"./utils/FESRUtil\";\n\n/**\n *\n * Provides the class for managing frequent apps.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FrequentAppPanel\n */\n\nexport default class FrequentAppPanel extends BaseAppPersPanel {\n\tprivate oEventBus!: EventBus;\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 Frequent 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 frequent app 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\", \"frequentApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"frequentlyUsedTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"frequentlyUsedTabInfo\"));\n\t\tthis._attachUserActivityTracking();\n\t\tEventHub.on(\"userRecentsCleared\").do(() => {\n\t\t\tvoid this.refresh();\n\t\t});\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"appsChannel\",\n\t\t\t\"favAppColorChanged\",\n\t\t\t(channelId?: string, eventId?: string, data?) => {\n\t\t\t\tconst { item, color } = data as { item: App | Group; color: string };\n\t\t\t\t//update color of the app in most used apps\n\t\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.additionalInfo = {\n\t\t\tfesrSource: FESRNavigationSource.FrequentlyUsed\n\t\t};\n\t}\n\n\t/**\n\t * Fetch frequent apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tlet frequentVisualizations = await this._getFrequentVisualizations();\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tfrequentVisualizations = frequentVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(visualization.addedInFavorites, index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst frequentApps = this.generateApps(frequentVisualizations);\n\t\tthis.setApps(frequentApps);\n\t}\n\n\t/**\n\t * Returns list of frequent apps\n\t * @private\n\t * @returns {object[]} - Array of frequent apps.\n\t */\n\tprivate async _getFrequentVisualizations() {\n\t\ttry {\n\t\t\tconst UserRecentsService = await Container.getServiceAsync<UserRecents>(\"UserRecents\");\n\t\t\tconst frequentActivities: IActivity[] = (await UserRecentsService?.getFrequentActivity()) || [];\n\t\t\t//convert activity to apps\n\t\t\tconst frequentVisualizations = await this.convertActivitiesToVisualizations(frequentActivities);\n\t\t\treturn frequentVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @param {boolean} isAppAddedInFavorite - true if app is already present in favorite, false otherwise.\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(isAppAddedInFavorite: boolean = false, index?: number) {\n\t\tconst action = [];\n\t\tif (!isAppAddedInFavorite) {\n\t\t\taction.push(\n\t\t\t\tnew MenuItem(`${this.getKey()}--addToFavorites--${index}`, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn action;\n\t}\n\n\t/**\n\t * Generates illustrated message for frequent 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//override the default description\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFreqAppsDescription\"));\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ import type { $BasePanelSettings } from "./BasePanel";
|
|
|
15
15
|
import Group from "./Group";
|
|
16
16
|
import { IActivity } from "./interface/AppsInterface";
|
|
17
17
|
import MenuItem from "./MenuItem";
|
|
18
|
+
import { FESRNavigationSource } from "./utils/FESRUtil";
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
*
|
|
@@ -77,6 +78,9 @@ export default class FrequentAppPanel extends BaseAppPersPanel {
|
|
|
77
78
|
},
|
|
78
79
|
this
|
|
79
80
|
);
|
|
81
|
+
this.additionalInfo = {
|
|
82
|
+
fesrSource: FESRNavigationSource.FrequentlyUsed
|
|
83
|
+
};
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
/**
|
|
@@ -51,12 +51,12 @@ declare module "sap/cux/home/InsightsAdditionPanel" {
|
|
|
51
51
|
*/
|
|
52
52
|
private _fetchAddCardDialogContent;
|
|
53
53
|
/**
|
|
54
|
-
* Retrieves the
|
|
54
|
+
* Retrieves the CardsContainer instance from the parent layout.
|
|
55
55
|
*
|
|
56
56
|
* @private
|
|
57
|
-
* @returns {
|
|
57
|
+
* @returns {CardsContainer | undefined} The CardsContainer instance or undefined if not found.
|
|
58
58
|
*/
|
|
59
|
-
private
|
|
59
|
+
private getCardsContainer;
|
|
60
60
|
/**
|
|
61
61
|
* Checks if the Insights Addition Panel is supported.
|
|
62
62
|
*
|
|
@@ -66,7 +66,7 @@ declare module "sap/cux/home/InsightsAdditionPanel" {
|
|
|
66
66
|
*/
|
|
67
67
|
isSupported(): Promise<boolean>;
|
|
68
68
|
/**
|
|
69
|
-
* Retrieves the `CardsPanel` instance from the `
|
|
69
|
+
* Retrieves the `CardsPanel` instance from the `CardsContainer`.
|
|
70
70
|
*
|
|
71
71
|
* @private
|
|
72
72
|
* @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightsAdditionPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/InsightsAdditionPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAgBpD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"InsightsAdditionPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/InsightsAdditionPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAgBpD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAW/D;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;QACnE,OAAO,CAAC,cAAc,CAAU;QAChC,OAAO,CAAC,kBAAkB,CAAuB;QACjD,OAAO,CAAC,gBAAgB,CAAW;QACnC,OAAO,CAAC,wBAAwB,CAAiB;QACjD;;;;;WAKG;QACI,IAAI;QAqBX;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;;;;;WASG;gBACW,aAAa;QAgB3B;;;;;;WAMG;gBACW,0BAA0B;QASxC;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAKzB;;;;;;WAMG;QACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;QAqB5C;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAMxB;;;;;;;;;;WAUG;gBACW,eAAe;QAyB7B;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;KAIhC;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/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m/library", "sap/m/MessageBox", "sap/m/MessageToast", "sap/m/VBox", "./BaseSettingsPanel", "./
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m/library", "sap/m/MessageBox", "sap/m/MessageToast", "sap/m/VBox", "./BaseSettingsPanel", "./CardsContainer", "./CardsPanel", "./utils/Constants", "./utils/DataFormatUtils", "./utils/FeatureUtils", "./utils/FESRUtil", "./utils/PXFeedback"], function (Log, CardHelper, Button, sap_m_library, MessageBox, MessageToast, VBox, __BaseSettingsPanel, __CardsContainer, __CardsPanel, ___utils_Constants, ___utils_DataFormatUtils, ___utils_FeatureUtils, ___utils_FESRUtil, ___utils_PXFeedback) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -33,14 +33,16 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
|
|
|
33
33
|
}
|
|
34
34
|
const ButtonType = sap_m_library["ButtonType"];
|
|
35
35
|
const BaseSettingsPanel = _interopRequireDefault(__BaseSettingsPanel);
|
|
36
|
+
const CardsContainer = _interopRequireDefault(__CardsContainer);
|
|
36
37
|
const CardsPanel = _interopRequireDefault(__CardsPanel);
|
|
37
|
-
const InsightsContainer = _interopRequireDefault(__InsightsContainer);
|
|
38
38
|
const CONTENT_ADDITION_PANEL_TYPES = ___utils_Constants["CONTENT_ADDITION_PANEL_TYPES"];
|
|
39
39
|
const FEATURE_TOGGLES = ___utils_Constants["FEATURE_TOGGLES"];
|
|
40
40
|
const FESR_IDS = ___utils_Constants["FESR_IDS"];
|
|
41
|
+
const recycleId = ___utils_DataFormatUtils["recycleId"];
|
|
41
42
|
const isNavigationSupportedForFeature = ___utils_FeatureUtils["isNavigationSupportedForFeature"];
|
|
42
43
|
const addFESRSemanticStepName = ___utils_FESRUtil["addFESRSemanticStepName"];
|
|
43
44
|
const FESR_EVENTS = ___utils_FESRUtil["FESR_EVENTS"];
|
|
45
|
+
const triggerPXIntegration = ___utils_PXFeedback["triggerPXIntegration"];
|
|
44
46
|
/**
|
|
45
47
|
*
|
|
46
48
|
* Class for Apps Addition Panel in MyHome.
|
|
@@ -69,7 +71,7 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
|
|
|
69
71
|
this.setProperty("title", this._i18nBundle.getText("insightsCards"));
|
|
70
72
|
|
|
71
73
|
//setup actions
|
|
72
|
-
this.addCardsButton = new Button(`${this.getId()}-add-cards-btn
|
|
74
|
+
this.addCardsButton = new Button(recycleId(`${this.getId()}-add-cards-btn`), {
|
|
73
75
|
text: this._i18nBundle.getText("addFromInsightsDialogBtn"),
|
|
74
76
|
type: ButtonType.Emphasized,
|
|
75
77
|
enabled: false,
|
|
@@ -144,14 +146,14 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
|
|
|
144
146
|
}
|
|
145
147
|
},
|
|
146
148
|
/**
|
|
147
|
-
* Retrieves the
|
|
149
|
+
* Retrieves the CardsContainer instance from the parent layout.
|
|
148
150
|
*
|
|
149
151
|
* @private
|
|
150
|
-
* @returns {
|
|
152
|
+
* @returns {CardsContainer | undefined} The CardsContainer instance or undefined if not found.
|
|
151
153
|
*/
|
|
152
|
-
|
|
154
|
+
getCardsContainer: function _getCardsContainer() {
|
|
153
155
|
const layout = this.getParent()?.getParent();
|
|
154
|
-
return layout.getContent().find(container => container instanceof
|
|
156
|
+
return layout.getContent().find(container => container instanceof CardsContainer);
|
|
155
157
|
},
|
|
156
158
|
/**
|
|
157
159
|
* Checks if the Insights Addition Panel is supported.
|
|
@@ -193,13 +195,13 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
|
|
|
193
195
|
}
|
|
194
196
|
},
|
|
195
197
|
/**
|
|
196
|
-
* Retrieves the `CardsPanel` instance from the `
|
|
198
|
+
* Retrieves the `CardsPanel` instance from the `CardsContainer`.
|
|
197
199
|
*
|
|
198
200
|
* @private
|
|
199
201
|
* @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.
|
|
200
202
|
*/
|
|
201
203
|
_fetchCardsPanel: function _fetchCardsPanel() {
|
|
202
|
-
return this.
|
|
204
|
+
return this.getCardsContainer()?.getContent().find(panel => panel instanceof CardsPanel);
|
|
203
205
|
},
|
|
204
206
|
/**
|
|
205
207
|
* Handles the logic for creating and adding a new insight card to cards Panel.
|
|
@@ -215,6 +217,7 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
|
|
|
215
217
|
onPressAddCards: function _onPressAddCards() {
|
|
216
218
|
try {
|
|
217
219
|
const _this4 = this;
|
|
220
|
+
triggerPXIntegration("addCardsButton");
|
|
218
221
|
const addContentDialog = _this4.getParent();
|
|
219
222
|
const _temp4 = _finallyRethrows(function () {
|
|
220
223
|
return _catch(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsightsAdditionPanel.js","names":["sap","ui","define","Log","CardHelper","Button","sap_m_library","MessageBox","MessageToast","VBox","__BaseSettingsPanel","__CardsPanel","__InsightsContainer","___utils_Constants","___utils_FeatureUtils","___utils_FESRUtil","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","ButtonType","BaseSettingsPanel","CardsPanel","InsightsContainer","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","FESR_IDS","isNavigationSupportedForFeature","addFESRSemanticStepName","FESR_EVENTS","InsightsAdditionPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","AI_INSIGHTS_CARDS","_i18nBundle","getText","addCardsButton","getId","text","type","Emphasized","enabled","press","onPressAddCards","PRESS","ADD_AI_CARD","addActionButton","_setupContent","attachEvent","resetAddCardInnerContent","enableAddButton","_enableAddButton","action","setEnabled","_this","_temp","Promise","resolve","_fetchAddCardDialogContent","dialogContent","wrapperVBox","items","backgroundDesign","Solid","height","addAggregation","error","message","reject","_this2","getServiceAsync","_getServiceAsync","cardHelperInstance","fetchAddCardInnerContent","event","_latestGeneratedManifest","getParameters","isValidManifest","Object","keys","length","getInsightsContainer","_getInsightsContainer","layout","getParent","getContent","find","container","isSupported","_isSupported","_this3","_temp3","isPanelSupported","removeActionButton","contentAdditionDialog","removePanel","updateActionButtons","insightsCardIntent","target","semanticObject","_temp2","undefined","AI_GENERATED_CARD","_isNavigationSupporte","_fetchCardsPanel","panel","_onPressAddCards","_this4","addContentDialog","_temp4","setBusy","_createCard","createdCardResponse","cardTitle","header","title","show","close","visible","information","styleClass","cardsPanel","refreshData","_wasThrown","_result","_resetAddCardInnerContent"],"sources":["InsightsAdditionPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport { BackgroundDesign, ButtonType } from \"sap/m/library\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport { Target } from \"sap/ushell/services/Navigation\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport CardsPanel from \"./CardsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport { ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from \"./utils/Constants\";\nimport { isNavigationSupportedForFeature } from \"./utils/FeatureUtils\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n * @private\n *\n * @alias sap.cux.home.InsightsAdditionPanel\n */\nexport default class InsightsAdditionPanel extends BaseSettingsPanel {\n\tprivate addCardsButton!: Button;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate isPanelSupported!: boolean;\n\tprivate _latestGeneratedManifest!: ICardManifest;\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_INSIGHTS_CARDS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"insightsCards\"));\n\n\t\t//setup actions\n\t\tthis.addCardsButton = new Button(`${this.getId()}-add-cards-btn`, {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tenabled: false,\n\t\t\tpress: this.onPressAddCards.bind(this)\n\t\t});\n\t\taddFESRSemanticStepName(this.addCardsButton, FESR_EVENTS.PRESS, FESR_IDS.ADD_AI_CARD);\n\t\tthis.addActionButton(this.addCardsButton);\n\t\t//setup content\n\t\tvoid this._setupContent();\n\t\tthis.attachEvent(\"onDialogClose\", this.resetAddCardInnerContent.bind(this));\n\t}\n\n\t/**\n\t * Enables or disables the \"Add Cards\" button.\n\t *\n\t * @param {boolean} action - If true, the button is enabled; if false, it is disabled.\n\t */\n\tprivate enableAddButton(action: boolean) {\n\t\tthis.addCardsButton.setEnabled(action);\n\t}\n\n\t/**\n\t * It sets up the content for the \"Insights card\" dialog.\n\t * It fetches the inner dialog content for adding a card.\n\t * Adds the VBox to the panel's content aggregation.\n\t *\n\t * This also enables the \"Add\" button once content is fetched.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when setup is complete.\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\ttry {\n\t\t\tconst dialogContent = await this._fetchAddCardDialogContent();\n\t\t\tif (dialogContent) {\n\t\t\t\tconst wrapperVBox = new VBox(`${this.getId()}-wrapperVBox`, {\n\t\t\t\t\titems: dialogContent,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid,\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t});\n\t\t\t\tthis.addAggregation(\"content\", wrapperVBox);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the dialog content for adding a new card and sets up the callback\n\t * to handle the card generation event, storing the generated manifest and enabling the add button.\n\t *\n\t * @private\n\t * @returns {Promise<Control[]>} A promise that resolves with an array of dialog content controls.\n\t */\n\tprivate async _fetchAddCardDialogContent(): Promise<Control[]> {\n\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\treturn this.cardHelperInstance.fetchAddCardInnerContent((event) => {\n\t\t\tthis._latestGeneratedManifest = event.getParameters();\n\t\t\tconst isValidManifest = Object.keys(this._latestGeneratedManifest).length > 1;\n\t\t\tthis.enableAddButton(isValidManifest);\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the InsightsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {InsightsContainer | undefined} The InsightsContainer instance or undefined if not found.\n\t */\n\tprivate getInsightsContainer(): InsightsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof InsightsContainer);\n\t}\n\n\t/**\n\t * Checks if the Insights Addition Panel is supported.\n\t *\n\t * @public\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to true if supported.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst insightsCardIntent: Target = {\n\t\t\ttarget: {\n\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\taction: \"personalize\"\n\t\t\t}\n\t\t};\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\t\t\tthis.isPanelSupported = await isNavigationSupportedForFeature(FEATURE_TOGGLES.AI_GENERATED_CARD, insightsCardIntent);\n\t\t}\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addCardsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Retrieves the `CardsPanel` instance from the `InsightsContainer`.\n\t *\n\t * @private\n\t * @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.\n\t */\n\tprivate _fetchCardsPanel(): CardsPanel | undefined {\n\t\treturn this.getInsightsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel): panel is CardsPanel => panel instanceof CardsPanel);\n\t}\n\n\t/**\n\t * Handles the logic for creating and adding a new insight card to cards Panel.\n\t *\n\t * - Sets the dialog to busy while the card creation is in progress.\n\t * - It adds a new card using the latest generated manifest.\n\t * - On success, shows a message toast and closes the dialog.\n\t * - Refreshes the insights cards panel data.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the card creation flow completes.\n\t */\n\tprivate async onPressAddCards() {\n\t\tconst addContentDialog = this.getParent() as ContentAdditionDialog;\n\t\ttry {\n\t\t\taddContentDialog.setBusy(true);\n\n\t\t\tconst createdCardResponse = await this.cardHelperInstance._createCard(this._latestGeneratedManifest);\n\t\t\tconst cardTitle = createdCardResponse[\"sap.card\"]?.header?.title;\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"Card_Created\", [cardTitle]) as string);\n\t\t\taddContentDialog.close();\n\t\t\tif (!createdCardResponse?.[\"sap.insights\"]?.visible) {\n\t\t\t\tMessageBox.information(this._i18nBundle.getText(\"INT_CARD_LIMIT_MESSAGEBOX\") as string, {\n\t\t\t\t\tstyleClass: \"msgBoxAlign\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst cardsPanel = this._fetchCardsPanel();\n\t\t\tawait cardsPanel?.refreshData();\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t} finally {\n\t\t\taddContentDialog.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal content related to card addition.\n\t * Disables the \"Add\" button.\n\t *\n\t * @private\n\t */\n\tprivate resetAddCardInnerContent() {\n\t\tthis.cardHelperInstance?.resetAddCardInnerContent();\n\t\tthis.enableAddButton(false);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"InsightsAdditionPanel.js","names":["sap","ui","define","Log","CardHelper","Button","sap_m_library","MessageBox","MessageToast","VBox","__BaseSettingsPanel","__CardsContainer","__CardsPanel","___utils_Constants","___utils_DataFormatUtils","___utils_FeatureUtils","___utils_FESRUtil","___utils_PXFeedback","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","ButtonType","BaseSettingsPanel","CardsContainer","CardsPanel","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","FESR_IDS","recycleId","isNavigationSupportedForFeature","addFESRSemanticStepName","FESR_EVENTS","triggerPXIntegration","InsightsAdditionPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","AI_INSIGHTS_CARDS","_i18nBundle","getText","addCardsButton","getId","text","type","Emphasized","enabled","press","onPressAddCards","PRESS","ADD_AI_CARD","addActionButton","_setupContent","attachEvent","resetAddCardInnerContent","enableAddButton","_enableAddButton","action","setEnabled","_this","_temp","Promise","resolve","_fetchAddCardDialogContent","dialogContent","wrapperVBox","items","backgroundDesign","Solid","height","addAggregation","error","message","reject","_this2","getServiceAsync","_getServiceAsync","cardHelperInstance","fetchAddCardInnerContent","event","_latestGeneratedManifest","getParameters","isValidManifest","Object","keys","length","getCardsContainer","_getCardsContainer","layout","getParent","getContent","find","container","isSupported","_isSupported","_this3","_temp3","isPanelSupported","removeActionButton","contentAdditionDialog","removePanel","updateActionButtons","insightsCardIntent","target","semanticObject","_temp2","undefined","AI_GENERATED_CARD","_isNavigationSupporte","_fetchCardsPanel","panel","_onPressAddCards","_this4","addContentDialog","_temp4","setBusy","_createCard","createdCardResponse","cardTitle","header","title","show","close","visible","information","styleClass","cardsPanel","refreshData","_wasThrown","_result","_resetAddCardInnerContent"],"sources":["InsightsAdditionPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport { BackgroundDesign, ButtonType } from \"sap/m/library\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport { Target } from \"sap/ushell/services/Navigation\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport CardsContainer from \"./CardsContainer\";\nimport CardsPanel from \"./CardsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport { ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { isNavigationSupportedForFeature } from \"./utils/FeatureUtils\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { triggerPXIntegration } from \"./utils/PXFeedback\";\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n * @private\n *\n * @alias sap.cux.home.InsightsAdditionPanel\n */\nexport default class InsightsAdditionPanel extends BaseSettingsPanel {\n\tprivate addCardsButton!: Button;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate isPanelSupported!: boolean;\n\tprivate _latestGeneratedManifest!: ICardManifest;\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_INSIGHTS_CARDS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"insightsCards\"));\n\n\t\t//setup actions\n\t\tthis.addCardsButton = new Button(recycleId(`${this.getId()}-add-cards-btn`), {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tenabled: false,\n\t\t\tpress: this.onPressAddCards.bind(this)\n\t\t});\n\t\taddFESRSemanticStepName(this.addCardsButton, FESR_EVENTS.PRESS, FESR_IDS.ADD_AI_CARD);\n\t\tthis.addActionButton(this.addCardsButton);\n\t\t//setup content\n\t\tvoid this._setupContent();\n\t\tthis.attachEvent(\"onDialogClose\", this.resetAddCardInnerContent.bind(this));\n\t}\n\n\t/**\n\t * Enables or disables the \"Add Cards\" button.\n\t *\n\t * @param {boolean} action - If true, the button is enabled; if false, it is disabled.\n\t */\n\tprivate enableAddButton(action: boolean) {\n\t\tthis.addCardsButton.setEnabled(action);\n\t}\n\n\t/**\n\t * It sets up the content for the \"Insights card\" dialog.\n\t * It fetches the inner dialog content for adding a card.\n\t * Adds the VBox to the panel's content aggregation.\n\t *\n\t * This also enables the \"Add\" button once content is fetched.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when setup is complete.\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\ttry {\n\t\t\tconst dialogContent = await this._fetchAddCardDialogContent();\n\t\t\tif (dialogContent) {\n\t\t\t\tconst wrapperVBox = new VBox(`${this.getId()}-wrapperVBox`, {\n\t\t\t\t\titems: dialogContent,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid,\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t});\n\t\t\t\tthis.addAggregation(\"content\", wrapperVBox);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the dialog content for adding a new card and sets up the callback\n\t * to handle the card generation event, storing the generated manifest and enabling the add button.\n\t *\n\t * @private\n\t * @returns {Promise<Control[]>} A promise that resolves with an array of dialog content controls.\n\t */\n\tprivate async _fetchAddCardDialogContent(): Promise<Control[]> {\n\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\treturn this.cardHelperInstance.fetchAddCardInnerContent((event) => {\n\t\t\tthis._latestGeneratedManifest = event.getParameters();\n\t\t\tconst isValidManifest = Object.keys(this._latestGeneratedManifest).length > 1;\n\t\t\tthis.enableAddButton(isValidManifest);\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the CardsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {CardsContainer | undefined} The CardsContainer instance or undefined if not found.\n\t */\n\tprivate getCardsContainer(): CardsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof CardsContainer);\n\t}\n\n\t/**\n\t * Checks if the Insights Addition Panel is supported.\n\t *\n\t * @public\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to true if supported.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst insightsCardIntent: Target = {\n\t\t\ttarget: {\n\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\taction: \"personalize\"\n\t\t\t}\n\t\t};\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\t\t\tthis.isPanelSupported = await isNavigationSupportedForFeature(FEATURE_TOGGLES.AI_GENERATED_CARD, insightsCardIntent);\n\t\t}\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addCardsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Retrieves the `CardsPanel` instance from the `CardsContainer`.\n\t *\n\t * @private\n\t * @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.\n\t */\n\tprivate _fetchCardsPanel(): CardsPanel | undefined {\n\t\treturn this.getCardsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel): panel is CardsPanel => panel instanceof CardsPanel);\n\t}\n\n\t/**\n\t * Handles the logic for creating and adding a new insight card to cards Panel.\n\t *\n\t * - Sets the dialog to busy while the card creation is in progress.\n\t * - It adds a new card using the latest generated manifest.\n\t * - On success, shows a message toast and closes the dialog.\n\t * - Refreshes the insights cards panel data.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the card creation flow completes.\n\t */\n\tprivate async onPressAddCards() {\n\t\ttriggerPXIntegration(\"addCardsButton\");\n\t\tconst addContentDialog = this.getParent() as ContentAdditionDialog;\n\t\ttry {\n\t\t\taddContentDialog.setBusy(true);\n\n\t\t\tconst createdCardResponse = await this.cardHelperInstance._createCard(this._latestGeneratedManifest);\n\t\t\tconst cardTitle = createdCardResponse[\"sap.card\"]?.header?.title;\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"Card_Created\", [cardTitle]) as string);\n\t\t\taddContentDialog.close();\n\t\t\tif (!createdCardResponse?.[\"sap.insights\"]?.visible) {\n\t\t\t\tMessageBox.information(this._i18nBundle.getText(\"INT_CARD_LIMIT_MESSAGEBOX\") as string, {\n\t\t\t\t\tstyleClass: \"msgBoxAlign\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst cardsPanel = this._fetchCardsPanel();\n\t\t\tawait cardsPanel?.refreshData();\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t} finally {\n\t\t\taddContentDialog.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal content related to card addition.\n\t * Disables the \"Add\" button.\n\t *\n\t * @private\n\t */\n\tprivate resetAddCardInnerContent() {\n\t\tthis.cardHelperInstance?.resetAddCardInnerContent();\n\t\tthis.enableAddButton(false);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,13 +14,15 @@ import Control from "sap/ui/core/Control";
|
|
|
14
14
|
import { Target } from "sap/ushell/services/Navigation";
|
|
15
15
|
import BaseLayout from "./BaseLayout";
|
|
16
16
|
import BaseSettingsPanel from "./BaseSettingsPanel";
|
|
17
|
+
import CardsContainer from "./CardsContainer";
|
|
17
18
|
import CardsPanel from "./CardsPanel";
|
|
18
19
|
import ContentAdditionDialog from "./ContentAdditionDialog";
|
|
19
|
-
import InsightsContainer from "./InsightsContainer";
|
|
20
20
|
import { ICardHelper, ICardHelperInstance, ICardManifest } from "./interface/CardsInterface";
|
|
21
21
|
import { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from "./utils/Constants";
|
|
22
|
+
import { recycleId } from "./utils/DataFormatUtils";
|
|
22
23
|
import { isNavigationSupportedForFeature } from "./utils/FeatureUtils";
|
|
23
24
|
import { addFESRSemanticStepName, FESR_EVENTS } from "./utils/FESRUtil";
|
|
25
|
+
import { triggerPXIntegration } from "./utils/PXFeedback";
|
|
24
26
|
|
|
25
27
|
/**
|
|
26
28
|
*
|
|
@@ -54,7 +56,7 @@ export default class InsightsAdditionPanel extends BaseSettingsPanel {
|
|
|
54
56
|
this.setProperty("title", this._i18nBundle.getText("insightsCards"));
|
|
55
57
|
|
|
56
58
|
//setup actions
|
|
57
|
-
this.addCardsButton = new Button(`${this.getId()}-add-cards-btn
|
|
59
|
+
this.addCardsButton = new Button(recycleId(`${this.getId()}-add-cards-btn`), {
|
|
58
60
|
text: this._i18nBundle.getText("addFromInsightsDialogBtn"),
|
|
59
61
|
type: ButtonType.Emphasized,
|
|
60
62
|
enabled: false,
|
|
@@ -119,14 +121,14 @@ export default class InsightsAdditionPanel extends BaseSettingsPanel {
|
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
/**
|
|
122
|
-
* Retrieves the
|
|
124
|
+
* Retrieves the CardsContainer instance from the parent layout.
|
|
123
125
|
*
|
|
124
126
|
* @private
|
|
125
|
-
* @returns {
|
|
127
|
+
* @returns {CardsContainer | undefined} The CardsContainer instance or undefined if not found.
|
|
126
128
|
*/
|
|
127
|
-
private
|
|
129
|
+
private getCardsContainer(): CardsContainer | undefined {
|
|
128
130
|
const layout = this.getParent()?.getParent() as BaseLayout;
|
|
129
|
-
return layout.getContent().find((container) => container instanceof
|
|
131
|
+
return layout.getContent().find((container) => container instanceof CardsContainer);
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
/**
|
|
@@ -158,13 +160,13 @@ export default class InsightsAdditionPanel extends BaseSettingsPanel {
|
|
|
158
160
|
}
|
|
159
161
|
|
|
160
162
|
/**
|
|
161
|
-
* Retrieves the `CardsPanel` instance from the `
|
|
163
|
+
* Retrieves the `CardsPanel` instance from the `CardsContainer`.
|
|
162
164
|
*
|
|
163
165
|
* @private
|
|
164
166
|
* @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.
|
|
165
167
|
*/
|
|
166
168
|
private _fetchCardsPanel(): CardsPanel | undefined {
|
|
167
|
-
return this.
|
|
169
|
+
return this.getCardsContainer()
|
|
168
170
|
?.getContent()
|
|
169
171
|
.find((panel): panel is CardsPanel => panel instanceof CardsPanel);
|
|
170
172
|
}
|
|
@@ -181,6 +183,7 @@ export default class InsightsAdditionPanel extends BaseSettingsPanel {
|
|
|
181
183
|
* @returns {Promise<void>} A promise that resolves when the card creation flow completes.
|
|
182
184
|
*/
|
|
183
185
|
private async onPressAddCards() {
|
|
186
|
+
triggerPXIntegration("addCardsButton");
|
|
184
187
|
const addContentDialog = this.getParent() as ContentAdditionDialog;
|
|
185
188
|
try {
|
|
186
189
|
addContentDialog.setBusy(true);
|
|
@@ -303,7 +303,7 @@ sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/Column", "sap/m/ColumnList
|
|
|
303
303
|
customTextOn: " ",
|
|
304
304
|
customTextOff: " ",
|
|
305
305
|
tooltip: insightsApp.visualization?.displayFormatHint === DisplayFormat.Standard ? this._i18nBundle.getText("ConvertToWideTile") : this._i18nBundle.getText("ConvertToTile")
|
|
306
|
-
})]
|
|
306
|
+
}).addStyleClass("sapUiTinyMarginBeginEnd")]
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
309
|
const deleteBtn = new Button({
|