@sapui5/sap.cux.home 1.136.2 → 1.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/.library +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +33 -30
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
- package/src/sap/cux/home/App.d.ts +1 -2
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +7 -2
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +8 -3
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +28 -23
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +18 -5
- package/src/sap/cux/home/AppsContainer.d.ts +0 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +3 -3
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +1 -2
- package/src/sap/cux/home/BaseApp.d.ts +2 -2
- package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
- package/src/sap/cux/home/BaseApp.js +10 -3
- package/src/sap/cux/home/BaseApp.js.map +1 -1
- package/src/sap/cux/home/BaseApp.ts +11 -4
- package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +7 -12
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +2 -4
- package/src/sap/cux/home/BaseAppPersPanel.d.ts +0 -2
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +9 -12
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +9 -7
- package/src/sap/cux/home/BaseContainer.d.ts +0 -1
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +15 -12
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +9 -4
- package/src/sap/cux/home/BaseLayout.d.ts +0 -1
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +6 -13
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +7 -2
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +8 -3
- package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +7 -2
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
- package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
- package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
- package/src/sap/cux/home/BasePagePanel.js +16 -2
- package/src/sap/cux/home/BasePagePanel.js.map +1 -1
- package/src/sap/cux/home/BasePagePanel.ts +17 -3
- package/src/sap/cux/home/BasePanel.d.ts +0 -1
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -3
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -2
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js +0 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +1 -2
- package/src/sap/cux/home/CardsPanel.d.ts +0 -1
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +102 -105
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +1 -2
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +3 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +3 -7
- package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
- package/src/sap/cux/home/ErrorPanel.js +16 -2
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +17 -3
- package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +283 -288
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +20 -15
- package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +1 -4
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
- package/src/sap/cux/home/Group.d.ts +2 -2
- package/src/sap/cux/home/Group.d.ts.map +1 -1
- package/src/sap/cux/home/Group.gen.d.ts +47 -1
- package/src/sap/cux/home/Group.js +30 -3
- package/src/sap/cux/home/Group.js.map +1 -1
- package/src/sap/cux/home/Group.ts +26 -6
- package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
- package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/IToDoPanel.js.map +1 -1
- package/src/sap/cux/home/IToDoPanel.ts +1 -2
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +1 -7
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +1 -8
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
- package/src/sap/cux/home/InsightsContainer.d.ts +1 -1
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +19 -3
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +17 -4
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +5 -11
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +58 -129
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +53 -120
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.js +0 -3
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +0 -3
- package/src/sap/cux/home/Layout.d.ts +0 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +3 -6
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +0 -1
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
- package/src/sap/cux/home/MenuItem.d.ts +0 -1
- package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
- package/src/sap/cux/home/MenuItem.js +0 -1
- package/src/sap/cux/home/MenuItem.js.map +1 -1
- package/src/sap/cux/home/MenuItem.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +4 -7
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +5 -9
- package/src/sap/cux/home/NewsGroup.d.ts +0 -3
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +0 -3
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts +0 -3
- package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
- package/src/sap/cux/home/NewsItem.js +0 -3
- package/src/sap/cux/home/NewsItem.js.map +1 -1
- package/src/sap/cux/home/NewsItem.ts +0 -3
- package/src/sap/cux/home/NewsPanel.d.ts +1 -2
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.gen.d.ts +0 -30
- package/src/sap/cux/home/NewsPanel.js +81 -104
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +18 -32
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +6 -3
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +18 -4
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +16 -4
- package/src/sap/cux/home/NoDataContainer.d.ts +0 -1
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +0 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +0 -1
- package/src/sap/cux/home/Page.d.ts +0 -3
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.gen.d.ts +0 -12
- package/src/sap/cux/home/Page.js +0 -7
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +0 -7
- package/src/sap/cux/home/PagePanel.d.ts +0 -4
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +1 -6
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +0 -4
- package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +3 -5
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
- package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +2 -6
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
- package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +24 -22
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +8 -15
- package/src/sap/cux/home/SituationPanel.d.ts +0 -1
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +0 -1
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +0 -1
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js +786 -0
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
- package/src/sap/cux/home/SpaceInsightsPanel.ts +628 -0
- package/src/sap/cux/home/SpacePanel.d.ts +117 -0
- package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
- package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
- package/src/sap/cux/home/SpacePanel.js +599 -0
- package/src/sap/cux/home/SpacePanel.js.map +1 -0
- package/src/sap/cux/home/SpacePanel.ts +461 -0
- package/src/sap/cux/home/TaskPanel.d.ts +0 -1
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +14 -24
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +6 -11
- package/src/sap/cux/home/TilesPanel.d.ts +0 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +2 -4
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +1 -2
- package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +67 -17
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +70 -13
- package/src/sap/cux/home/ToDosContainer.d.ts +0 -1
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +0 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +0 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +8 -6
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_da.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_de.properties +16 -13
- package/src/sap/cux/home/i18n/messagebundle_el.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +8 -3
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_es.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_et.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_it.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +10 -7
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_no.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_th.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +7 -4
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +6 -3
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +6 -3
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts +0 -2
- 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 +0 -2
- package/src/sap/cux/home/library.d.ts +3 -4
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +3 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +3 -4
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -1
- package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
- package/src/sap/cux/home/utils/Accessibility.js +3 -4
- package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
- package/src/sap/cux/home/utils/Accessibility.ts +2 -2
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
- package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +4 -7
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +141 -157
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +20 -13
- package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +5 -10
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
- package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
- package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.js +23 -2
- package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
- package/src/sap/cux/home/utils/CommonUtils.ts +25 -1
- package/src/sap/cux/home/utils/Constants.d.ts +4 -5
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +5 -5
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +4 -5
- package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
- package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
- package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
- package/src/sap/cux/home/utils/Device.js +1 -2
- package/src/sap/cux/home/utils/Device.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
- package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.js +38 -33
- package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
- package/src/sap/cux/home/utils/FeatureUtils.ts +39 -32
- package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
- package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.js +43 -3
- package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
- package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
- package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.js +33 -13
- package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
- package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -2
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +8 -14
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
- package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -5
- package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
- package/src/sap/cux/home/utils/SituationUtils.js +1 -2
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/TaskUtils.js +1 -2
- package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +16 -17
- package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
- package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
- package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
- package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
|
@@ -184,10 +184,7 @@ const _isVisualizationAlreadyAdded = (visualization: ICustomVisualization, favor
|
|
|
184
184
|
* @author SAP SE
|
|
185
185
|
* @version 0.0.1
|
|
186
186
|
* @since 1.121.0
|
|
187
|
-
*
|
|
188
187
|
* @private
|
|
189
|
-
* @experimental Since 1.121
|
|
190
|
-
* @hidden
|
|
191
188
|
*
|
|
192
189
|
* @alias sap.cux.home.util.AppManager
|
|
193
190
|
*/
|
|
@@ -272,8 +269,8 @@ export default class AppManager extends BaseObject {
|
|
|
272
269
|
* @returns {Promise} - resolves to array of all sections available in MyHome page
|
|
273
270
|
* @private
|
|
274
271
|
*/
|
|
275
|
-
public async _getSections(bForceRefresh: boolean = false): Promise<ISection[]> {
|
|
276
|
-
const oPage: IPage = await this._fetchRequestFromQueue(bForceRefresh);
|
|
272
|
+
public async _getSections(bForceRefresh: boolean = false, pageId: string = MYHOME_PAGE_ID): Promise<ISection[]> {
|
|
273
|
+
const oPage: IPage = await this._fetchRequestFromQueue(bForceRefresh, pageId);
|
|
277
274
|
const aSections = (oPage && oPage.sections) || [],
|
|
278
275
|
iRecentAppSectionIndex: number = aSections.findIndex((oSection) => oSection.default);
|
|
279
276
|
if (iRecentAppSectionIndex > 0) {
|
|
@@ -293,10 +290,10 @@ export default class AppManager extends BaseObject {
|
|
|
293
290
|
* @returns {Promise} - resolves to array of all apps available in MyHome page
|
|
294
291
|
* @private
|
|
295
292
|
*/
|
|
296
|
-
private async
|
|
293
|
+
private async _fetchPageVizs(bForceRefresh: boolean, pageId: string = MYHOME_PAGE_ID): Promise<ICustomVisualization[]> {
|
|
297
294
|
const aVizs: ICustomVisualization[] = [];
|
|
298
295
|
this._oVizCacheData = this._oVizCacheData || {};
|
|
299
|
-
const aSections = await this._getSections(bForceRefresh);
|
|
296
|
+
const aSections = await this._getSections(bForceRefresh, pageId);
|
|
300
297
|
const oVizInstantiationService = await Container.getServiceAsync<VisualizationInstantiation>("VisualizationInstantiation");
|
|
301
298
|
aSections.forEach((oSection: ISection, iSectionIndex: number) => {
|
|
302
299
|
oSection?.visualizations?.forEach((oVisualization: IVisualization, iVisualizationIndex: number) => {
|
|
@@ -316,6 +313,7 @@ export default class AppManager extends BaseObject {
|
|
|
316
313
|
oViz.BGColor = DEFAULT_BG_COLOR().key;
|
|
317
314
|
oViz.isFav = true;
|
|
318
315
|
oViz.isSection = false;
|
|
316
|
+
oViz.pageId = pageId;
|
|
319
317
|
oViz.icon = vizConfig?.["sap.ui"]?.icons?.icon || FALLBACK_ICON;
|
|
320
318
|
if (oVisualization?.indicatorDataSource) {
|
|
321
319
|
oViz.isCount = true;
|
|
@@ -374,8 +372,12 @@ export default class AppManager extends BaseObject {
|
|
|
374
372
|
* @returns {Promise} - resolves to array of favourite vizualizations in MyHome page
|
|
375
373
|
* @private
|
|
376
374
|
*/
|
|
377
|
-
public async fetchFavVizs(
|
|
378
|
-
|
|
375
|
+
public async fetchFavVizs(
|
|
376
|
+
bForceRefresh: boolean,
|
|
377
|
+
bPreventGrouping?: boolean,
|
|
378
|
+
pageId: string = MYHOME_PAGE_ID
|
|
379
|
+
): Promise<ISectionAndVisualization[]> {
|
|
380
|
+
const aMyHomeVizs = await this._fetchPageVizs(bForceRefresh, pageId);
|
|
379
381
|
const aVisibleFavVizs = aMyHomeVizs.filter(
|
|
380
382
|
(oViz) => oViz.persConfig && oViz.persConfig.sectionId !== MYINSIGHT_SECTION_ID && oViz.url && oViz.title
|
|
381
383
|
);
|
|
@@ -395,7 +397,7 @@ export default class AppManager extends BaseObject {
|
|
|
395
397
|
*/
|
|
396
398
|
public async fetchInsightApps(bForceRefresh: boolean, sSectionTitle: string) {
|
|
397
399
|
const fnFetchInsightsApps = async () => {
|
|
398
|
-
const aVizs = await this.
|
|
400
|
+
const aVizs = await this._fetchPageVizs(bForceRefresh);
|
|
399
401
|
return aVizs.filter((oViz) => oViz.persConfig?.sectionId === MYINSIGHT_SECTION_ID && oViz.url && oViz.title);
|
|
400
402
|
};
|
|
401
403
|
|
|
@@ -542,8 +544,12 @@ export default class AppManager extends BaseObject {
|
|
|
542
544
|
* @returns {Promise} resolves to array of visualizations
|
|
543
545
|
* @private
|
|
544
546
|
*/
|
|
545
|
-
public async getSectionVisualizations(
|
|
546
|
-
|
|
547
|
+
public async getSectionVisualizations(
|
|
548
|
+
sectionId?: string,
|
|
549
|
+
forceRefresh = false,
|
|
550
|
+
pageId: string = MYHOME_PAGE_ID
|
|
551
|
+
): Promise<ICustomVisualization[]> {
|
|
552
|
+
const aApps: ISectionAndVisualization[] = await this.fetchFavVizs(forceRefresh, false, pageId);
|
|
547
553
|
if (sectionId) {
|
|
548
554
|
return aApps.find((oViz) => oViz.isSection && oViz.id === sectionId)?.apps || [];
|
|
549
555
|
} else {
|
|
@@ -659,6 +665,7 @@ export default class AppManager extends BaseObject {
|
|
|
659
665
|
BGColor: DEFAULT_BG_COLOR().key,
|
|
660
666
|
icon: "sap-icon://folder-full",
|
|
661
667
|
isSection: true,
|
|
668
|
+
pageId: oViz.pageId,
|
|
662
669
|
isPresetSection: oViz.persConfig?.isPresetSection,
|
|
663
670
|
apps: [oViz]
|
|
664
671
|
});
|
|
@@ -1204,7 +1211,7 @@ export default class AppManager extends BaseObject {
|
|
|
1204
1211
|
let mustIncludeRecommendations: ICustomVisualization[] = [];
|
|
1205
1212
|
let [recommendedVisualizations, favoriteVisualizations] = await Promise.all([
|
|
1206
1213
|
this._getVisualizationsByFioriIds(recommendedFioriIds),
|
|
1207
|
-
this.
|
|
1214
|
+
this._fetchPageVizs(forceRefresh)
|
|
1208
1215
|
]);
|
|
1209
1216
|
//filter out recommendations that are already added
|
|
1210
1217
|
recommendedVisualizations = recommendedVisualizations.filter((recViz) =>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/BatchHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAChD;;;OAGG;IAEH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,KAAK,OAAO;QACX,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,IAAI,SAAS;KACb;IAED,UAAU,OAAO;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd;IAED,MAAM,SAAS,GAAI,KAAK,MAAM,YAE7B,CAAC;IAEF;;OAEG;IACH,MAAM,gBAAgB;QACrB,OAAO,CAAC,GAAG,CAAS;QACpB,OAAO,CAAC,aAAa,CAA0B;QAC/C,OAAO,CAAC,QAAQ,CAAS;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;;WAKG;oBACS,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;QAiBnE;;;;;WAKG;QACI,cAAc,IAAI,MAAM;QAkB/B;;;;;WAKG;QACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;QAIlD;;;;;WAKG;QACI,wBAAwB,IAAI,MAAM;KAuBzC;IAED;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAa,OAAO,MAAM,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAmBtE,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,cAAc,GAAmB,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBtE,CAAC;IAEF
|
|
1
|
+
{"version":3,"file":"BatchHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/BatchHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAChD;;;OAGG;IAEH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,KAAK,OAAO;QACX,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,IAAI,SAAS;KACb;IAED,UAAU,OAAO;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd;IAED,MAAM,SAAS,GAAI,KAAK,MAAM,YAE7B,CAAC;IAEF;;OAEG;IACH,MAAM,gBAAgB;QACrB,OAAO,CAAC,GAAG,CAAS;QACpB,OAAO,CAAC,aAAa,CAA0B;QAC/C,OAAO,CAAC,QAAQ,CAAS;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;;WAKG;oBACS,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;QAiBnE;;;;;WAKG;QACI,cAAc,IAAI,MAAM;QAkB/B;;;;;WAKG;QACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;QAIlD;;;;;WAKG;QACI,wBAAwB,IAAI,MAAM;KAuBzC;IAED;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAa,OAAO,MAAM,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAmBtE,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,cAAc,GAAmB,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBtE,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;QAClD,OAAO,CAAC,GAAG,CAAU;QAErB;;;;;;WAMG;gBACW,SAAS;QAkBvB;;;;;;;WAOG;QACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOrG;;;;;;;;WAQG;QACU,iCAAiC,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,EAAE,EAC1C,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOlC;;;;;;WAMG;QACH,OAAO,CAAC,qBAAqB;QAY7B;;;;;;;WAOG;QACH,OAAO,CAAC,gCAAgC;KAexC;CAEA"}
|
|
@@ -185,9 +185,6 @@ sap.ui.define(["sap/ui/base/Object"], function (BaseObject) {
|
|
|
185
185
|
* @author SAP SE
|
|
186
186
|
* @version 0.0.1
|
|
187
187
|
* @since 1.121
|
|
188
|
-
*
|
|
189
|
-
* @internal
|
|
190
|
-
* @experimental Since 1.121
|
|
191
188
|
* @private
|
|
192
189
|
*
|
|
193
190
|
* @alias sap.cux.home.utils.BatchHelper
|
|
@@ -263,8 +260,7 @@ sap.ui.define(["sap/ui/base/Object"], function (BaseObject) {
|
|
|
263
260
|
* @param {string[]} urls - An array of URLs for individual requests.
|
|
264
261
|
* @returns {MultiPartRequest} - The multipart request object.
|
|
265
262
|
*/
|
|
266
|
-
buildMultipartRequest: function _buildMultipartRequest(urls, csrfToken) {
|
|
267
|
-
let requestMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : methods.GET;
|
|
263
|
+
buildMultipartRequest: function _buildMultipartRequest(urls, csrfToken, requestMethod = methods.GET) {
|
|
268
264
|
// create base request from first URL
|
|
269
265
|
const request = new MultiPartRequest(urls[0], requestMethod, csrfToken);
|
|
270
266
|
|
|
@@ -285,11 +281,10 @@ sap.ui.define(["sap/ui/base/Object"], function (BaseObject) {
|
|
|
285
281
|
buildMultipartRequestWithPayload: function _buildMultipartRequestWithPayload(payloads, csrfToken, requestMethod) {
|
|
286
282
|
const request = new MultiPartRequest(payloads[0].url, requestMethod, csrfToken);
|
|
287
283
|
request.payload = payloads[0].data;
|
|
288
|
-
payloads.forEach(
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
} = _ref;
|
|
284
|
+
payloads.forEach(({
|
|
285
|
+
url,
|
|
286
|
+
data
|
|
287
|
+
}) => {
|
|
293
288
|
const multipartRequest = new MultiPartRequest(url, requestMethod, csrfToken);
|
|
294
289
|
multipartRequest.payload = data;
|
|
295
290
|
request.addRequest(multipartRequest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchHelper.js","names":["sap","ui","define","BaseObject","_catch","body","recover","result","e","then","methods","isEncoded","url","test","MultiPartRequest","batchRequests","constructor","requestMethod","csrfToken","encodeURI","boundary","Date","now","options","headers","method","_constructBody","BOUNDARY","REQUEST_HEADERS","REQUEST_BODY","index","length","request","boundaryEnd","addRequest","push","constructBodyWithPayload","changeSet","CHANGESET_BOUNDARY","CHANGESET_HEADER","JSON","stringify","payload","getDataFromRawValue","value","parsedValue","split","filter","data","finalData","contentTypeValue","includes","parse","fetchCSRFToken","baseURL","Promise","resolve","fetch","HEAD","response","ok","token","get","Error","error","message","reject","BatchHelper","extend","fetchData","_fetchData","multiPartRequest","_this","GET","POST","text","createMultipartRequest","_createMultipartRequest","urls","_this2","buildMultipartRequest","createMultipartRequestWithPayload","_createMultipartRequestWithPayload","payloads","_this3","buildMultipartRequestWithPayload","_buildMultipartRequest","arguments","undefined","forEach","_buildMultipartRequestWithPayload","_ref","multipartRequest"],"sources":["BatchHelper.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport BaseObject from \"sap/ui/base/Object\";\n\nenum methods {\n\tGET = \"GET\",\n\tPOST = \"POST\",\n\tPUT = \"PUT\",\n\tPATCH = \"PATCH\",\n\tDELETE = \"DELETE\",\n\tHEAD = \"HEAD\"\n}\n\ninterface Options {\n\theaders: Record<string, string>;\n\tmethod: methods;\n\tbody?: string;\n}\n\nconst isEncoded = (url: string) => {\n\treturn /%[0-9A-F]{2}/i.test(url);\n};\n\n/**\n * Represents a multipart request.\n */\nclass MultiPartRequest {\n\tprivate url: string;\n\tprivate batchRequests: MultiPartRequest[] = [];\n\tprivate boundary: string;\n\tpublic options: Options;\n\tpublic payload?: unknown;\n\n\t/**\n\t * Creates a MultiPartRequest object.\n\t *\n\t * @param {string} url - The URL for the multipart request.\n\t * @constructor\n\t */\n\tconstructor(url: string, requestMethod: methods, csrfToken?: string) {\n\t\t//encode the URL if it is not already encoded\n\t\tthis.url = isEncoded(url) ? url : encodeURI(url);\n\t\tthis.boundary = `batch_id_${Date.now()}_01`;\n\t\tthis.options = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": `multipart/mixed;boundary=${this.boundary}`\n\t\t\t},\n\t\t\tmethod: requestMethod\n\t\t};\n\n\t\t// Add CSRF token to headers if available\n\t\tif (csrfToken) {\n\t\t\tthis.options.headers[\"X-CSRF-Token\"] = csrfToken;\n\t\t}\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request.\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic _constructBody(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = `Content-Type: application/http\\r\\nContent-Transfer-Encoding: binary\\r\\n`;\n\t\tconst REQUEST_BODY = `Accept: application/json\\r\\n\\r\\n\\r\\n`;\n\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tconst boundaryEnd = index === this.batchRequests.length - 1 ? \"--\\r\\n\" : \"\\r\\n\";\n\t\t\tbody += `${REQUEST_HEADERS}\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n${REQUEST_BODY}`;\n\t\t\tbody += `${BOUNDARY}${boundaryEnd}`;\n\t\t}\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Adds a request to the MultiPartRequest batch.\n\t *\n\t * @public\n\t * @param {Object} request - The request to add to the batch.\n\t */\n\tpublic addRequest(request: MultiPartRequest): void {\n\t\tthis.batchRequests.push(request);\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request with payload\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic constructBodyWithPayload(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = \"Content-Type:application/http\\r\\nContent-Transfer-Encoding:binary\\r\\n\";\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\t\tconst changeSet = \"changeset_001\";\n\t\tconst CHANGESET_BOUNDARY = `--${changeSet}`;\n\t\tconst CHANGESET_HEADER = `Content-Type: multipart/mixed; boundary=${changeSet}\\r\\n`;\n\t\tbody += `${CHANGESET_HEADER}\\r\\n${CHANGESET_BOUNDARY}\\r\\n`;\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tbody += `\\r\\n${REQUEST_HEADERS}`;\n\t\t\tbody += `Content-ID: ${index + 1}\\r\\n\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n`;\n\t\t\tbody += \"sap-context-accept: header\\r\\nContent-Type:application/json\\r\\n\\r\\n\";\n\t\t\tbody += `${JSON.stringify(request.payload)}\\r\\n\\r\\n`;\n\t\t\tbody += CHANGESET_BOUNDARY;\n\t\t\tif (index === this.batchRequests.length - 1) {\n\t\t\t\tbody += \"--\\r\\n\";\n\t\t\t\tbody += `${BOUNDARY}--`;\n\t\t\t}\n\t\t}\n\t\treturn body;\n\t}\n}\n\n/**\n * Parses multipart body response and returns an array of values called in the batch request.\n *\n * @param {string} value - Multipart body response.\n * @returns {Object[]} - Array of values in the multipart request.\n * @returns {Object[]} - An array of values in the multipart request.\n */\nconst getDataFromRawValue = function (value: string): (string | object)[] {\n\tconst parsedValue = value.split(\"\\r\\n\").filter((data) => data !== \"\");\n\n\tconst finalData: (string | object)[] = [];\n\tlet contentTypeValue = \"\";\n\n\tfor (let index = 1; index < parsedValue.length - 1; index++) {\n\t\tcontentTypeValue = parsedValue[index].includes(\"Content-Type: \") ? parsedValue[index].split(\"Content-Type: \")[1] : contentTypeValue;\n\n\t\tif (parsedValue[index + 1].includes(parsedValue[0])) {\n\t\t\tif (contentTypeValue === \"application/json\") {\n\t\t\t\tfinalData.push(JSON.parse(parsedValue[index]) as string);\n\t\t\t} else {\n\t\t\t\tfinalData.push(parsedValue[index]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn finalData;\n};\n\n/**\n * Fetches the CSRF token from the specified base URL.\n *\n * @async\n * @param {string} baseURL - The base URL to fetch the CSRF token from.\n * @returns {Promise<string>} A Promise that resolves when all batch requests are completed. A promise that resolves to the CSRF token.\n * @throws {Error} An error if the CSRF token cannot be fetched.\n */\nconst fetchCSRFToken = async function (baseURL: string): Promise<string> {\n\ttry {\n\t\tconst response = await fetch(baseURL, {\n\t\t\tmethod: methods.HEAD,\n\t\t\theaders: {\n\t\t\t\t\"X-CSRF-Token\": \"Fetch\"\n\t\t\t}\n\t\t});\n\n\t\tif (response.ok) {\n\t\t\tconst token = response.headers.get(\"X-CSRF-Token\");\n\t\t\tif (token) {\n\t\t\t\treturn token;\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Cannot fetch X-CSRF-Token.\");\n\t} catch (error: unknown) {\n\t\tthrow new Error((error as Error).message);\n\t}\n};\n\n/**\n *\n * Helper class for managing batch requests.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.BatchHelper\n */\nexport default class BatchHelper extends BaseObject {\n\tprivate url!: string;\n\n\t/**\n\t * Fetches data from a multipart request.\n\t *\n\t * @private\n\t * @param {MultiPartRequest} multiPartRequest - The multipart request object.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the request.\n\t */\n\tprivate async fetchData(multiPartRequest: MultiPartRequest): Promise<Array<string | object>> {\n\t\tmultiPartRequest.options.body =\n\t\t\tmultiPartRequest.options.method === methods.GET\n\t\t\t\t? multiPartRequest._constructBody()\n\t\t\t\t: multiPartRequest.constructBodyWithPayload();\n\n\t\tmultiPartRequest.options.method = methods.POST;\n\n\t\tconst response = await fetch(this.url, multiPartRequest.options);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(\"Failed to fetch data from the server.\");\n\t\t}\n\n\t\tconst text = await response.text();\n\t\treturn getDataFromRawValue(text);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with multiple URLs.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequest(baseURL: string, urls: string[]): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequest(urls, csrfToken);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with given payloads and sends it to the specified base URL.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param payloads - An array of objects containing the URL and data for each part of the multipart request.\n\t * @param requestMethod - The HTTP method to be used for the request (e.g., POST).\n\t * @returns {Promise<Array<string | object>>} A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequestWithPayload(\n\t\tbaseURL: string,\n\t\tpayloads: { url: string; data: unknown }[],\n\t\trequestMethod: methods\n\t): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequestWithPayload(payloads, csrfToken, requestMethod);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Builds a multipart request from an array of URLs.\n\t *\n\t * @private\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {MultiPartRequest} - The multipart request object.\n\t */\n\tprivate buildMultipartRequest(urls: string[], csrfToken: string, requestMethod: methods = methods.GET): MultiPartRequest {\n\t\t// create base request from first URL\n\t\tconst request = new MultiPartRequest(urls[0], requestMethod, csrfToken);\n\n\t\t// Add all URLs as sub-requests\n\t\turls.forEach((url) => {\n\t\t\trequest.addRequest(new MultiPartRequest(url, requestMethod, csrfToken));\n\t\t});\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Builds a multipart request with the given payloads, CSRF token, and request method.\n\t *\n\t * @param payloads - An array of objects containing the URL and data for each part of the request.\n\t * @param csrfToken - The CSRF token to be included in the request headers.\n\t * @param requestMethod - The HTTP method to be used for the request.\n\t * @returns {MultiPartRequest} A `MultiPartRequest` object containing the constructed multipart request.\n\t */\n\tprivate buildMultipartRequestWithPayload(\n\t\tpayloads: { url: string; data: unknown }[],\n\t\tcsrfToken: string,\n\t\trequestMethod: methods\n\t): MultiPartRequest {\n\t\tconst request = new MultiPartRequest(payloads[0].url, requestMethod, csrfToken);\n\t\trequest.payload = payloads[0].data;\n\t\tpayloads.forEach(({ url, data }) => {\n\t\t\tconst multipartRequest = new MultiPartRequest(url, requestMethod, csrfToken);\n\t\t\tmultipartRequest.payload = data;\n\t\t\trequest.addRequest(multipartRequest);\n\t\t});\n\n\t\treturn request;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BatchHelper.js","names":["sap","ui","define","BaseObject","_catch","body","recover","result","e","then","methods","isEncoded","url","test","MultiPartRequest","batchRequests","constructor","requestMethod","csrfToken","encodeURI","boundary","Date","now","options","headers","method","_constructBody","BOUNDARY","REQUEST_HEADERS","REQUEST_BODY","index","length","request","boundaryEnd","addRequest","push","constructBodyWithPayload","changeSet","CHANGESET_BOUNDARY","CHANGESET_HEADER","JSON","stringify","payload","getDataFromRawValue","value","parsedValue","split","filter","data","finalData","contentTypeValue","includes","parse","fetchCSRFToken","baseURL","Promise","resolve","fetch","HEAD","response","ok","token","get","Error","error","message","reject","BatchHelper","extend","fetchData","_fetchData","multiPartRequest","_this","GET","POST","text","createMultipartRequest","_createMultipartRequest","urls","_this2","buildMultipartRequest","createMultipartRequestWithPayload","_createMultipartRequestWithPayload","payloads","_this3","buildMultipartRequestWithPayload","_buildMultipartRequest","forEach","_buildMultipartRequestWithPayload","multipartRequest"],"sources":["BatchHelper.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport BaseObject from \"sap/ui/base/Object\";\n\nenum methods {\n\tGET = \"GET\",\n\tPOST = \"POST\",\n\tPUT = \"PUT\",\n\tPATCH = \"PATCH\",\n\tDELETE = \"DELETE\",\n\tHEAD = \"HEAD\"\n}\n\ninterface Options {\n\theaders: Record<string, string>;\n\tmethod: methods;\n\tbody?: string;\n}\n\nconst isEncoded = (url: string) => {\n\treturn /%[0-9A-F]{2}/i.test(url);\n};\n\n/**\n * Represents a multipart request.\n */\nclass MultiPartRequest {\n\tprivate url: string;\n\tprivate batchRequests: MultiPartRequest[] = [];\n\tprivate boundary: string;\n\tpublic options: Options;\n\tpublic payload?: unknown;\n\n\t/**\n\t * Creates a MultiPartRequest object.\n\t *\n\t * @param {string} url - The URL for the multipart request.\n\t * @constructor\n\t */\n\tconstructor(url: string, requestMethod: methods, csrfToken?: string) {\n\t\t//encode the URL if it is not already encoded\n\t\tthis.url = isEncoded(url) ? url : encodeURI(url);\n\t\tthis.boundary = `batch_id_${Date.now()}_01`;\n\t\tthis.options = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": `multipart/mixed;boundary=${this.boundary}`\n\t\t\t},\n\t\t\tmethod: requestMethod\n\t\t};\n\n\t\t// Add CSRF token to headers if available\n\t\tif (csrfToken) {\n\t\t\tthis.options.headers[\"X-CSRF-Token\"] = csrfToken;\n\t\t}\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request.\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic _constructBody(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = `Content-Type: application/http\\r\\nContent-Transfer-Encoding: binary\\r\\n`;\n\t\tconst REQUEST_BODY = `Accept: application/json\\r\\n\\r\\n\\r\\n`;\n\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tconst boundaryEnd = index === this.batchRequests.length - 1 ? \"--\\r\\n\" : \"\\r\\n\";\n\t\t\tbody += `${REQUEST_HEADERS}\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n${REQUEST_BODY}`;\n\t\t\tbody += `${BOUNDARY}${boundaryEnd}`;\n\t\t}\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Adds a request to the MultiPartRequest batch.\n\t *\n\t * @public\n\t * @param {Object} request - The request to add to the batch.\n\t */\n\tpublic addRequest(request: MultiPartRequest): void {\n\t\tthis.batchRequests.push(request);\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request with payload\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic constructBodyWithPayload(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = \"Content-Type:application/http\\r\\nContent-Transfer-Encoding:binary\\r\\n\";\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\t\tconst changeSet = \"changeset_001\";\n\t\tconst CHANGESET_BOUNDARY = `--${changeSet}`;\n\t\tconst CHANGESET_HEADER = `Content-Type: multipart/mixed; boundary=${changeSet}\\r\\n`;\n\t\tbody += `${CHANGESET_HEADER}\\r\\n${CHANGESET_BOUNDARY}\\r\\n`;\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tbody += `\\r\\n${REQUEST_HEADERS}`;\n\t\t\tbody += `Content-ID: ${index + 1}\\r\\n\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n`;\n\t\t\tbody += \"sap-context-accept: header\\r\\nContent-Type:application/json\\r\\n\\r\\n\";\n\t\t\tbody += `${JSON.stringify(request.payload)}\\r\\n\\r\\n`;\n\t\t\tbody += CHANGESET_BOUNDARY;\n\t\t\tif (index === this.batchRequests.length - 1) {\n\t\t\t\tbody += \"--\\r\\n\";\n\t\t\t\tbody += `${BOUNDARY}--`;\n\t\t\t}\n\t\t}\n\t\treturn body;\n\t}\n}\n\n/**\n * Parses multipart body response and returns an array of values called in the batch request.\n *\n * @param {string} value - Multipart body response.\n * @returns {Object[]} - Array of values in the multipart request.\n * @returns {Object[]} - An array of values in the multipart request.\n */\nconst getDataFromRawValue = function (value: string): (string | object)[] {\n\tconst parsedValue = value.split(\"\\r\\n\").filter((data) => data !== \"\");\n\n\tconst finalData: (string | object)[] = [];\n\tlet contentTypeValue = \"\";\n\n\tfor (let index = 1; index < parsedValue.length - 1; index++) {\n\t\tcontentTypeValue = parsedValue[index].includes(\"Content-Type: \") ? parsedValue[index].split(\"Content-Type: \")[1] : contentTypeValue;\n\n\t\tif (parsedValue[index + 1].includes(parsedValue[0])) {\n\t\t\tif (contentTypeValue === \"application/json\") {\n\t\t\t\tfinalData.push(JSON.parse(parsedValue[index]) as string);\n\t\t\t} else {\n\t\t\t\tfinalData.push(parsedValue[index]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn finalData;\n};\n\n/**\n * Fetches the CSRF token from the specified base URL.\n *\n * @async\n * @param {string} baseURL - The base URL to fetch the CSRF token from.\n * @returns {Promise<string>} A Promise that resolves when all batch requests are completed. A promise that resolves to the CSRF token.\n * @throws {Error} An error if the CSRF token cannot be fetched.\n */\nconst fetchCSRFToken = async function (baseURL: string): Promise<string> {\n\ttry {\n\t\tconst response = await fetch(baseURL, {\n\t\t\tmethod: methods.HEAD,\n\t\t\theaders: {\n\t\t\t\t\"X-CSRF-Token\": \"Fetch\"\n\t\t\t}\n\t\t});\n\n\t\tif (response.ok) {\n\t\t\tconst token = response.headers.get(\"X-CSRF-Token\");\n\t\t\tif (token) {\n\t\t\t\treturn token;\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Cannot fetch X-CSRF-Token.\");\n\t} catch (error: unknown) {\n\t\tthrow new Error((error as Error).message);\n\t}\n};\n\n/**\n *\n * Helper class for managing batch requests.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.BatchHelper\n */\nexport default class BatchHelper extends BaseObject {\n\tprivate url!: string;\n\n\t/**\n\t * Fetches data from a multipart request.\n\t *\n\t * @private\n\t * @param {MultiPartRequest} multiPartRequest - The multipart request object.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the request.\n\t */\n\tprivate async fetchData(multiPartRequest: MultiPartRequest): Promise<Array<string | object>> {\n\t\tmultiPartRequest.options.body =\n\t\t\tmultiPartRequest.options.method === methods.GET\n\t\t\t\t? multiPartRequest._constructBody()\n\t\t\t\t: multiPartRequest.constructBodyWithPayload();\n\n\t\tmultiPartRequest.options.method = methods.POST;\n\n\t\tconst response = await fetch(this.url, multiPartRequest.options);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(\"Failed to fetch data from the server.\");\n\t\t}\n\n\t\tconst text = await response.text();\n\t\treturn getDataFromRawValue(text);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with multiple URLs.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequest(baseURL: string, urls: string[]): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequest(urls, csrfToken);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with given payloads and sends it to the specified base URL.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param payloads - An array of objects containing the URL and data for each part of the multipart request.\n\t * @param requestMethod - The HTTP method to be used for the request (e.g., POST).\n\t * @returns {Promise<Array<string | object>>} A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequestWithPayload(\n\t\tbaseURL: string,\n\t\tpayloads: { url: string; data: unknown }[],\n\t\trequestMethod: methods\n\t): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequestWithPayload(payloads, csrfToken, requestMethod);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Builds a multipart request from an array of URLs.\n\t *\n\t * @private\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {MultiPartRequest} - The multipart request object.\n\t */\n\tprivate buildMultipartRequest(urls: string[], csrfToken: string, requestMethod: methods = methods.GET): MultiPartRequest {\n\t\t// create base request from first URL\n\t\tconst request = new MultiPartRequest(urls[0], requestMethod, csrfToken);\n\n\t\t// Add all URLs as sub-requests\n\t\turls.forEach((url) => {\n\t\t\trequest.addRequest(new MultiPartRequest(url, requestMethod, csrfToken));\n\t\t});\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Builds a multipart request with the given payloads, CSRF token, and request method.\n\t *\n\t * @param payloads - An array of objects containing the URL and data for each part of the request.\n\t * @param csrfToken - The CSRF token to be included in the request headers.\n\t * @param requestMethod - The HTTP method to be used for the request.\n\t * @returns {MultiPartRequest} A `MultiPartRequest` object containing the constructed multipart request.\n\t */\n\tprivate buildMultipartRequestWithPayload(\n\t\tpayloads: { url: string; data: unknown }[],\n\t\tcsrfToken: string,\n\t\trequestMethod: methods\n\t): MultiPartRequest {\n\t\tconst request = new MultiPartRequest(payloads[0].url, requestMethod, csrfToken);\n\t\trequest.payload = payloads[0].data;\n\t\tpayloads.forEach(({ url, data }) => {\n\t\t\tconst multipartRequest = new MultiPartRequest(url, requestMethod, csrfToken);\n\t\t\tmultipartRequest.payload = data;\n\t\t\trequest.addRequest(multipartRequest);\n\t\t});\n\n\t\treturn request;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -189,9 +189,6 @@ const fetchCSRFToken = async function (baseURL: string): Promise<string> {
|
|
|
189
189
|
* @author SAP SE
|
|
190
190
|
* @version 0.0.1
|
|
191
191
|
* @since 1.121
|
|
192
|
-
*
|
|
193
|
-
* @internal
|
|
194
|
-
* @experimental Since 1.121
|
|
195
192
|
* @private
|
|
196
193
|
*
|
|
197
194
|
* @alias sap.cux.home.utils.BatchHelper
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
declare module "sap/cux/home/utils/CommonUtils" {
|
|
2
2
|
import BasePanel from "sap/cux/home/BasePanel";
|
|
3
3
|
import PageManager from "sap/cux/home/utils/PageManager";
|
|
4
|
+
import { ICustomVisualization, ISectionAndVisualization } from "sap/cux/home/interface/AppsInterface";
|
|
4
5
|
function isURLParamEnabled(paramName: string): boolean;
|
|
5
6
|
function getPageManagerInstance(control: BasePanel): PageManager;
|
|
7
|
+
/**
|
|
8
|
+
* Filters visualizations by removing static tiles (count or Smart Business tiles) unless dynamic tiles are requested.
|
|
9
|
+
*
|
|
10
|
+
* @param {ISectionAndVisualization[]} visualizations - The array of visualizations to filter.
|
|
11
|
+
* @param {boolean} [filterDynamicTiles=false] - If true, only dynamic tiles are included; otherwise, static tiles are included.
|
|
12
|
+
* @returns {ISectionAndVisualization[]} The filtered array of visualizations.
|
|
13
|
+
*/
|
|
14
|
+
function filterVisualizations(visualizations: ISectionAndVisualization[], filterDynamicTiles?: boolean): (ISectionAndVisualization | ICustomVisualization)[];
|
|
6
15
|
}
|
|
7
16
|
//# sourceMappingURL=CommonUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/CommonUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"CommonUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/CommonUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAehD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,WAAW,MAAM,gCAAgC,CAAC;IAEzD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;IAEtG,SAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG5D;IAED,SAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,eAOxD;IAED;;;;;;OAMG;IACH,SAAgB,oBAAoB,CAAC,cAAc,EAAE,wBAAwB,EAAE,EAAE,kBAAkB,GAAE,OAAe,GAAG,CAAC,wBAAwB,GAAG,oBAAoB,CAAC,EAAE,CAczK;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(["
|
|
5
|
+
sap.ui.define(["../BaseLayout", "./PageManager", "./PersonalisationUtils"], function (__BaseLayout, __PageManager, __PersonalisationUtils) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
@@ -15,9 +15,9 @@ sap.ui.define(["./PageManager", "./PersonalisationUtils", "../BaseLayout"], func
|
|
|
15
15
|
* @returns {boolean} True if the parameter is enabled, false otherwise.
|
|
16
16
|
* @private
|
|
17
17
|
*/
|
|
18
|
+
const BaseLayout = _interopRequireDefault(__BaseLayout);
|
|
18
19
|
const PageManager = _interopRequireDefault(__PageManager);
|
|
19
20
|
const PersonalisationUtils = _interopRequireDefault(__PersonalisationUtils);
|
|
20
|
-
const BaseLayout = _interopRequireDefault(__BaseLayout);
|
|
21
21
|
function isURLParamEnabled(paramName) {
|
|
22
22
|
const urlParams = new URLSearchParams(window.location.search);
|
|
23
23
|
return urlParams.get(paramName)?.toUpperCase() === "TRUE" || false;
|
|
@@ -30,11 +30,32 @@ sap.ui.define(["./PageManager", "./PersonalisationUtils", "../BaseLayout"], func
|
|
|
30
30
|
const pageManagerInstance = PageManager.getInstance(persContainerId, PersonalisationUtils.getOwnerComponent(control));
|
|
31
31
|
return pageManagerInstance;
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Filters visualizations by removing static tiles (count or Smart Business tiles) unless dynamic tiles are requested.
|
|
36
|
+
*
|
|
37
|
+
* @param {ISectionAndVisualization[]} visualizations - The array of visualizations to filter.
|
|
38
|
+
* @param {boolean} [filterDynamicTiles=false] - If true, only dynamic tiles are included; otherwise, static tiles are included.
|
|
39
|
+
* @returns {ISectionAndVisualization[]} The filtered array of visualizations.
|
|
40
|
+
*/
|
|
41
|
+
function filterVisualizations(visualizations, filterDynamicTiles = false) {
|
|
42
|
+
return visualizations.filter(visualization => {
|
|
43
|
+
// Filter out static tiles
|
|
44
|
+
if (!visualization.isSection && (visualization.isCount || visualization.isSmartBusinessTile)) {
|
|
45
|
+
return filterDynamicTiles;
|
|
46
|
+
} else if (visualization.isSection) {
|
|
47
|
+
visualization.apps = filterVisualizations(visualization.apps || [], filterDynamicTiles);
|
|
48
|
+
visualization.badge = visualization.apps.length.toString();
|
|
49
|
+
}
|
|
50
|
+
return !filterDynamicTiles;
|
|
51
|
+
}).filter(visualization => visualization.isSection ? visualization.apps.length > 0 : true);
|
|
52
|
+
}
|
|
33
53
|
var __exports = {
|
|
34
54
|
__esModule: true
|
|
35
55
|
};
|
|
36
56
|
__exports.isURLParamEnabled = isURLParamEnabled;
|
|
37
57
|
__exports.getPageManagerInstance = getPageManagerInstance;
|
|
58
|
+
__exports.filterVisualizations = filterVisualizations;
|
|
38
59
|
return __exports;
|
|
39
60
|
});
|
|
40
61
|
//# sourceMappingURL=CommonUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonUtils.js","names":["sap","ui","define","
|
|
1
|
+
{"version":3,"file":"CommonUtils.js","names":["sap","ui","define","__BaseLayout","__PageManager","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseLayout","PageManager","PersonalisationUtils","isURLParamEnabled","paramName","urlParams","URLSearchParams","window","location","search","get","toUpperCase","getPageManagerInstance","control","container","getParent","layout","layoutPersContainerId","getProperty","persContainerId","getPersContainerId","pageManagerInstance","getInstance","getOwnerComponent","filterVisualizations","visualizations","filterDynamicTiles","filter","visualization","isSection","isCount","isSmartBusinessTile","apps","badge","length","toString","__exports"],"sources":["CommonUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\n/**\n *\n * @param paramName name of parameter\n * This method checks if the URL parameter is enabled.\n * @returns {boolean} True if the parameter is enabled, false otherwise.\n * @private\n */\nimport Component from \"sap/ui/core/Component\";\nimport BaseLayout from \"../BaseLayout\";\nimport BasePanel from \"../BasePanel\";\nimport PageManager from \"./PageManager\";\nimport PersonalisationUtils from \"./PersonalisationUtils\";\nimport { ICustomVisualization, ISectionAndVisualization } from \"../interface/AppsInterface\";\n\nexport function isURLParamEnabled(paramName: string): boolean {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\treturn urlParams.get(paramName)?.toUpperCase() === \"TRUE\" || false;\n}\n\nexport function getPageManagerInstance(control: BasePanel) {\n\tconst container = control.getParent();\n\tconst layout = container?.getParent();\n\tconst layoutPersContainerId = layout instanceof BaseLayout ? (layout?.getProperty(\"persContainerId\") as string) : \"\";\n\tconst persContainerId = layoutPersContainerId || PersonalisationUtils.getPersContainerId(control);\n\tconst pageManagerInstance = PageManager.getInstance(persContainerId, PersonalisationUtils.getOwnerComponent(control) as Component);\n\treturn pageManagerInstance;\n}\n\n/**\n * Filters visualizations by removing static tiles (count or Smart Business tiles) unless dynamic tiles are requested.\n *\n * @param {ISectionAndVisualization[]} visualizations - The array of visualizations to filter.\n * @param {boolean} [filterDynamicTiles=false] - If true, only dynamic tiles are included; otherwise, static tiles are included.\n * @returns {ISectionAndVisualization[]} The filtered array of visualizations.\n */\nexport function filterVisualizations(visualizations: ISectionAndVisualization[], filterDynamicTiles: boolean = false): (ISectionAndVisualization | ICustomVisualization)[] {\n\treturn visualizations\n\t\t.filter((visualization) => {\n\t\t\t// Filter out static tiles\n\t\t\tif (!visualization.isSection && (visualization.isCount || visualization.isSmartBusinessTile)) {\n\t\t\t\treturn filterDynamicTiles;\n\t\t\t} else if (visualization.isSection) {\n\t\t\t\tvisualization.apps = filterVisualizations(visualization.apps || [], filterDynamicTiles);\n\t\t\t\tvisualization.badge = visualization.apps.length.toString();\n\t\t\t}\n\n\t\t\treturn !filterDynamicTiles;\n\t\t})\n\t\t.filter((visualization) => (visualization.isSection ? visualization.apps!.length > 0 : true));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,yEAAAC,YAAA,EAAAC,aAAA,EAAAC,sBAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAKA;AACA;AACA;AACA;AACA;AACA;AACA;EANA,MAQOG,UAAU,GAAAJ,sBAAA,CAAAH,YAAA;EAAA,MAEVQ,WAAW,GAAAL,sBAAA,CAAAF,aAAA;EAAA,MACXQ,oBAAoB,GAAAN,sBAAA,CAAAD,sBAAA;EAGpB,SAASQ,iBAAiBA,CAACC,SAAiB,EAAW;IAC7D,MAAMC,SAAS,GAAG,IAAIC,eAAe,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;IAC7D,OAAOJ,SAAS,CAACK,GAAG,CAACN,SAAS,CAAC,EAAEO,WAAW,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK;EACnE;EAEO,SAASC,sBAAsBA,CAACC,OAAkB,EAAE;IAC1D,MAAMC,SAAS,GAAGD,OAAO,CAACE,SAAS,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAGF,SAAS,EAAEC,SAAS,CAAC,CAAC;IACrC,MAAME,qBAAqB,GAAGD,MAAM,YAAYhB,UAAU,GAAIgB,MAAM,EAAEE,WAAW,CAAC,iBAAiB,CAAC,GAAc,EAAE;IACpH,MAAMC,eAAe,GAAGF,qBAAqB,IAAIf,oBAAoB,CAACkB,kBAAkB,CAACP,OAAO,CAAC;IACjG,MAAMQ,mBAAmB,GAAGpB,WAAW,CAACqB,WAAW,CAACH,eAAe,EAAEjB,oBAAoB,CAACqB,iBAAiB,CAACV,OAAO,CAAc,CAAC;IAClI,OAAOQ,mBAAmB;EAC3B;;EAEA;AACA;AACA;AACA;AACA;AACA;AACA;EACO,SAASG,oBAAoBA,CAACC,cAA0C,EAAEC,kBAA2B,GAAG,KAAK,EAAuD;IAC1K,OAAOD,cAAc,CACnBE,MAAM,CAAEC,aAAa,IAAK;MAC1B;MACA,IAAI,CAACA,aAAa,CAACC,SAAS,KAAKD,aAAa,CAACE,OAAO,IAAIF,aAAa,CAACG,mBAAmB,CAAC,EAAE;QAC7F,OAAOL,kBAAkB;MAC1B,CAAC,MAAM,IAAIE,aAAa,CAACC,SAAS,EAAE;QACnCD,aAAa,CAACI,IAAI,GAAGR,oBAAoB,CAACI,aAAa,CAACI,IAAI,IAAI,EAAE,EAAEN,kBAAkB,CAAC;QACvFE,aAAa,CAACK,KAAK,GAAGL,aAAa,CAACI,IAAI,CAACE,MAAM,CAACC,QAAQ,CAAC,CAAC;MAC3D;MAEA,OAAO,CAACT,kBAAkB;IAC3B,CAAC,CAAC,CACDC,MAAM,CAAEC,aAAa,IAAMA,aAAa,CAACC,SAAS,GAAGD,aAAa,CAACI,IAAI,CAAEE,MAAM,GAAG,CAAC,GAAG,IAAK,CAAC;EAC/F;EAAC,IAAAE,SAAA;IAAAtC,UAAA;EAAA;EAAAsC,SAAA,CAAAjC,iBAAA,GAAAA,iBAAA;EAAAiC,SAAA,CAAAxB,sBAAA,GAAAA,sBAAA;EAAAwB,SAAA,CAAAZ,oBAAA,GAAAA,oBAAA;EAAA,OAAAY,SAAA;AAAA","ignoreList":[]}
|
|
@@ -11,10 +11,11 @@
|
|
|
11
11
|
* @private
|
|
12
12
|
*/
|
|
13
13
|
import Component from "sap/ui/core/Component";
|
|
14
|
+
import BaseLayout from "../BaseLayout";
|
|
14
15
|
import BasePanel from "../BasePanel";
|
|
15
16
|
import PageManager from "./PageManager";
|
|
16
17
|
import PersonalisationUtils from "./PersonalisationUtils";
|
|
17
|
-
import
|
|
18
|
+
import { ICustomVisualization, ISectionAndVisualization } from "../interface/AppsInterface";
|
|
18
19
|
|
|
19
20
|
export function isURLParamEnabled(paramName: string): boolean {
|
|
20
21
|
const urlParams = new URLSearchParams(window.location.search);
|
|
@@ -29,3 +30,26 @@ export function getPageManagerInstance(control: BasePanel) {
|
|
|
29
30
|
const pageManagerInstance = PageManager.getInstance(persContainerId, PersonalisationUtils.getOwnerComponent(control) as Component);
|
|
30
31
|
return pageManagerInstance;
|
|
31
32
|
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Filters visualizations by removing static tiles (count or Smart Business tiles) unless dynamic tiles are requested.
|
|
36
|
+
*
|
|
37
|
+
* @param {ISectionAndVisualization[]} visualizations - The array of visualizations to filter.
|
|
38
|
+
* @param {boolean} [filterDynamicTiles=false] - If true, only dynamic tiles are included; otherwise, static tiles are included.
|
|
39
|
+
* @returns {ISectionAndVisualization[]} The filtered array of visualizations.
|
|
40
|
+
*/
|
|
41
|
+
export function filterVisualizations(visualizations: ISectionAndVisualization[], filterDynamicTiles: boolean = false): (ISectionAndVisualization | ICustomVisualization)[] {
|
|
42
|
+
return visualizations
|
|
43
|
+
.filter((visualization) => {
|
|
44
|
+
// Filter out static tiles
|
|
45
|
+
if (!visualization.isSection && (visualization.isCount || visualization.isSmartBusinessTile)) {
|
|
46
|
+
return filterDynamicTiles;
|
|
47
|
+
} else if (visualization.isSection) {
|
|
48
|
+
visualization.apps = filterVisualizations(visualization.apps || [], filterDynamicTiles);
|
|
49
|
+
visualization.badge = visualization.apps.length.toString();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return !filterDynamicTiles;
|
|
53
|
+
})
|
|
54
|
+
.filter((visualization) => (visualization.isSection ? visualization.apps!.length > 0 : true));
|
|
55
|
+
}
|
|
@@ -36,11 +36,10 @@ declare module "sap/cux/home/utils/Constants" {
|
|
|
36
36
|
const PLACEHOLDER_ITEMS_COUNT = 5;
|
|
37
37
|
const RECOMMENDED_CARD_LIMIT = 4;
|
|
38
38
|
const RECOMMENDATION_SRVC_URL: string;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
};
|
|
39
|
+
enum FEATURE_TOGGLES {
|
|
40
|
+
AI_GENERATED_CARD = "AIU_SMART_PERSONALIZATION",
|
|
41
|
+
AI_SMART_APPFINDER = "AIU_SMART_APPFINDER"
|
|
42
|
+
}
|
|
44
43
|
const FEATURE_TOGGLE_SRVC_URL: string;
|
|
45
44
|
const REPO_BASE_URL: string;
|
|
46
45
|
const DEFAULT_NEWS_BASE_URL = "/sap/opu/odata4/sap/sui_flp_aps_ui_usernews/srvd_a2x/sap/sui_flp_aps_ui_usernews/0001/NewsGroup";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/Constants.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,8BAA8B,CAAC;IAOvC,MAAM,kBAAkB,GAAI,aAAa,MAAM;;;;KAQrD,CAAC;IAEF,MAAM,QAAQ,+CAA+C,CAAC;IAC9D,MAAM,sBAAsB,QAAuC,CAAC;IAE7D,MAAM,cAAc,EAAE,MAAiC,CAAC;IACxD,MAAM,iBAAiB,EAAE,MAAoC,CAAC;IAC9D,MAAM,aAAa,EAAE,MAA8B,CAAC;IACpD,MAAM,gBAAgB,EAAE,MAA6B,CAAC;IACtD,MAAM,oBAAoB,EAAE,MAAoC,CAAC;IACjE,MAAM,eAAe,EAAE,MAAiC,CAAC;IACzD,MAAM,gBAAgB;;;;KAA8C,CAAC;IAErE,MAAM,oBAAoB,IAAI,CAAC;IAC/B,MAAM,aAAa;;;;OAYA,CAAC;IACpB,MAAM,eAAe;;;;OAYF,CAAC;IACpB,MAAM,QAAQ;;;;KAIpB,CAAC;IACK,MAAM,uBAAuB,IAAI,CAAC;IAClC,MAAM,sBAAsB,IAAI,CAAC;IACjC,MAAM,uBAAuB,QAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"Constants.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/Constants.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,8BAA8B,CAAC;IAOvC,MAAM,kBAAkB,GAAI,aAAa,MAAM;;;;KAQrD,CAAC;IAEF,MAAM,QAAQ,+CAA+C,CAAC;IAC9D,MAAM,sBAAsB,QAAuC,CAAC;IAE7D,MAAM,cAAc,EAAE,MAAiC,CAAC;IACxD,MAAM,iBAAiB,EAAE,MAAoC,CAAC;IAC9D,MAAM,aAAa,EAAE,MAA8B,CAAC;IACpD,MAAM,gBAAgB,EAAE,MAA6B,CAAC;IACtD,MAAM,oBAAoB,EAAE,MAAoC,CAAC;IACjE,MAAM,eAAe,EAAE,MAAiC,CAAC;IACzD,MAAM,gBAAgB;;;;KAA8C,CAAC;IAErE,MAAM,oBAAoB,IAAI,CAAC;IAC/B,MAAM,aAAa;;;;OAYA,CAAC;IACpB,MAAM,eAAe;;;;OAYF,CAAC;IACpB,MAAM,QAAQ;;;;KAIpB,CAAC;IACK,MAAM,uBAAuB,IAAI,CAAC;IAClC,MAAM,sBAAsB,IAAI,CAAC;IACjC,MAAM,uBAAuB,QAA6C,CAAC;IAClF,KAAY,eAAe;QAC1B,iBAAiB,8BAA8B;QAC/C,kBAAkB,wBAAwB;KAC1C;IACM,MAAM,uBAAuB,QAA2C,CAAC;IACzE,MAAM,aAAa,QAA6C,CAAC;IACjE,MAAM,qBAAqB,oGAAoG,CAAC;IAChI,MAAM,gBAAgB,QAAoF,CAAC;IAClH,KAAY,oBAAoB;QAC/B,MAAM,WAAW;QACjB,IAAI,SAAS;QACb,KAAK,UAAU;QACf,cAAc,mBAAmB;QACjC,cAAc,mBAAmB;QACjC,QAAQ,aAAa;KACrB;IACD,KAAY,4BAA4B;QACvC,MAAM,mBAAmB;QACzB,UAAU,uBAAuB;QACjC,IAAI,iBAAiB;QACrB,KAAK,kBAAkB;KACvB;IACD,KAAY,4BAA4B;QACvC,aAAa,kBAAkB;QAC/B,iBAAiB,sBAAsB;KACvC;IAED,KAAY,QAAQ;QACnB,WAAW,kBAAkB;QAC7B,qBAAqB,uBAAuB;QAC5C,UAAU,iBAAiB;KAC3B;IAEM,MAAM,WAAW;;;;;;;KAOvB,CAAC;IACK,MAAM,aAAa,IAAI,CAAC;IAExB,MAAM,sBAAsB,mEAAmE,CAAC;IAChG,MAAM,iBAAiB,QAAoF,CAAC;IAE5G,MAAM,cAAc,yBAAyB,CAAC;IAC9C,MAAM,cAAc,UAQ1B,CAAC;IAEK,MAAM,wBAAwB;;;;;;;;;;;KAepC,CAAC;CAED"}
|
|
@@ -34,11 +34,11 @@ sap.ui.define(["sap/ui/core/theming/Parameters"], function (Parameters) {
|
|
|
34
34
|
const PLACEHOLDER_ITEMS_COUNT = 5;
|
|
35
35
|
const RECOMMENDED_CARD_LIMIT = 4;
|
|
36
36
|
const RECOMMENDATION_SRVC_URL = INSIGHTS_READ_SRVC_URL + "RecommendedApps";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
37
|
+
var FEATURE_TOGGLES = /*#__PURE__*/function (FEATURE_TOGGLES) {
|
|
38
|
+
FEATURE_TOGGLES["AI_GENERATED_CARD"] = "AIU_SMART_PERSONALIZATION";
|
|
39
|
+
FEATURE_TOGGLES["AI_SMART_APPFINDER"] = "AIU_SMART_APPFINDER";
|
|
40
|
+
return FEATURE_TOGGLES;
|
|
41
|
+
}(FEATURE_TOGGLES || {});
|
|
42
42
|
const FEATURE_TOGGLE_SRVC_URL = INSIGHTS_READ_SRVC_URL + "FeatureToggle";
|
|
43
43
|
const REPO_BASE_URL = BASE_URL + "insights_cards_repo_srv/0001/";
|
|
44
44
|
const DEFAULT_NEWS_BASE_URL = "/sap/opu/odata4/sap/sui_flp_aps_ui_usernews/srvd_a2x/sap/sui_flp_aps_ui_usernews/0001/NewsGroup";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","names":["sap","ui","define","Parameters","fnFetchLegendColor","sLegendName","key","value","get","name","assigned","BASE_URL","INSIGHTS_READ_SRVC_URL","MYHOME_PAGE_ID","MYAPPS_SECTION_ID","FALLBACK_ICON","DEFAULT_APP_ICON","MYINSIGHT_SECTION_ID","MYHOME_SPACE_ID","DEFAULT_BG_COLOR","PAGE_SELECTION_LIMIT","LEGEND_COLORS","map","END_USER_COLORS","AppTypes","FAVORITE","RECENT","FREQUENT","PLACEHOLDER_ITEMS_COUNT","RECOMMENDED_CARD_LIMIT","RECOMMENDATION_SRVC_URL","FEATURE_TOGGLES","
|
|
1
|
+
{"version":3,"file":"Constants.js","names":["sap","ui","define","Parameters","fnFetchLegendColor","sLegendName","key","value","get","name","assigned","BASE_URL","INSIGHTS_READ_SRVC_URL","MYHOME_PAGE_ID","MYAPPS_SECTION_ID","FALLBACK_ICON","DEFAULT_APP_ICON","MYINSIGHT_SECTION_ID","MYHOME_SPACE_ID","DEFAULT_BG_COLOR","PAGE_SELECTION_LIMIT","LEGEND_COLORS","map","END_USER_COLORS","AppTypes","FAVORITE","RECENT","FREQUENT","PLACEHOLDER_ITEMS_COUNT","RECOMMENDED_CARD_LIMIT","RECOMMENDATION_SRVC_URL","FEATURE_TOGGLES","FEATURE_TOGGLE_SRVC_URL","REPO_BASE_URL","DEFAULT_NEWS_BASE_URL","DEFAULT_NEWS_URL","SETTINGS_PANELS_KEYS","KEYUSER_SETTINGS_PANELS_KEYS","CONTENT_ADDITION_PANEL_TYPES","FESR_IDS","TABLE_TYPES","GRID","TREE","ANALYTICAL","RESPONSIVE","STANDARD_LIST","OBJECT_LIST","COLUMN_LENGTH","AI_APP_FINDER_BASE_URL","AI_APP_FINDER_API","CUSTOM_SPACEID","PREFERED_CARDS","DEFAULT_NEWS_PLACEHOLDER","group_id","mandatory","mandatory_text","_group_to_article","__exports","__esModule"],"sources":["Constants.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Parameters from \"sap/ui/core/theming/Parameters\";\n\nexport const fnFetchLegendColor = (sLegendName: string) => {\n\treturn {\n\t\tkey: sLegendName,\n\t\tvalue: Parameters.get({\n\t\t\tname: sLegendName\n\t\t}),\n\t\tassigned: false\n\t};\n};\n\nconst BASE_URL = \"/sap/opu/odata4/ui2/insights_srv/srvd/ui2/\";\nconst INSIGHTS_READ_SRVC_URL = BASE_URL + \"insights_read_srv/0001/\";\n\nexport const MYHOME_PAGE_ID: string = \"SAP_BASIS_PG_UI_MYHOME\";\nexport const MYAPPS_SECTION_ID: string = \"3WO90XZ1DX1AS32M7ZM9NBXEF\";\nexport const FALLBACK_ICON: string = \"sap-icon://document\";\nexport const DEFAULT_APP_ICON: string = \"sap-icon://product\";\nexport const MYINSIGHT_SECTION_ID: string = \"AZHJGRIT78TG7Y65RF6EPFJ9U\";\nexport const MYHOME_SPACE_ID: string = \"SAP_BASIS_SP_UI_MYHOME\";\nexport const DEFAULT_BG_COLOR = () => fnFetchLegendColor(\"sapLegendColor9\");\n\nexport const PAGE_SELECTION_LIMIT = 8;\nexport const LEGEND_COLORS = () =>\n\t[\n\t\t\"sapLegendColor6\",\n\t\t\"sapLegendColor3\",\n\t\t\"sapLegendColor1\",\n\t\t\"sapLegendColor10\",\n\t\t\"sapLegendColor12\",\n\t\t\"sapLegendColor7\",\n\t\t\"sapLegendColor5\",\n\t\t\"sapLegendColor8\",\n\t\t\"sapLegendColor18\",\n\t\t\"sapLegendColor9\"\n\t].map(fnFetchLegendColor);\nexport const END_USER_COLORS = () =>\n\t[\n\t\t\"sapLegendColor19\",\n\t\t\"sapLegendColor13\",\n\t\t\"sapLegendColor11\",\n\t\t\"sapLegendColor20\",\n\t\t\"sapLegendColor2\",\n\t\t\"sapLegendColor17\",\n\t\t\"sapLegendColor15\",\n\t\t\"sapLegendColor14\",\n\t\t\"sapLegendColor16\",\n\t\t\"sapLegendColor4\"\n\t].map(fnFetchLegendColor);\nexport const AppTypes = {\n\tFAVORITE: \"FAVORITE\",\n\tRECENT: \"RECENT\",\n\tFREQUENT: \"FREQUENT\"\n};\nexport const PLACEHOLDER_ITEMS_COUNT = 5;\nexport const RECOMMENDED_CARD_LIMIT = 4;\nexport const RECOMMENDATION_SRVC_URL = INSIGHTS_READ_SRVC_URL + \"RecommendedApps\";\nexport enum FEATURE_TOGGLES {\n\tAI_GENERATED_CARD = \"AIU_SMART_PERSONALIZATION\",\n\tAI_SMART_APPFINDER = \"AIU_SMART_APPFINDER\"\n}\nexport const FEATURE_TOGGLE_SRVC_URL = INSIGHTS_READ_SRVC_URL + \"FeatureToggle\";\nexport const REPO_BASE_URL = BASE_URL + \"insights_cards_repo_srv/0001/\";\nexport const DEFAULT_NEWS_BASE_URL = \"/sap/opu/odata4/sap/sui_flp_aps_ui_usernews/srvd_a2x/sap/sui_flp_aps_ui_usernews/0001/NewsGroup\";\nexport const DEFAULT_NEWS_URL = DEFAULT_NEWS_BASE_URL + \"?$expand=_group_to_image,_group_to_article&$format=json\";\nexport enum SETTINGS_PANELS_KEYS {\n\tLAYOUT = \"LAYOUT\",\n\tNEWS = \"NEWS\",\n\tPAGES = \"PAGES\",\n\tINSIGHTS_TILES = \"INSIGHTS_TILES\",\n\tINSIGHTS_CARDS = \"INSIGHTS_CARDS\",\n\tADVANCED = \"ADVANCED\"\n}\nexport enum KEYUSER_SETTINGS_PANELS_KEYS {\n\tLAYOUT = \"KEYUSER_LAYOUT\",\n\tNEWS_PAGES = \"KEYUSER_NEWS_PAGES\",\n\tNEWS = \"KEYUSER_NEWS\",\n\tPAGES = \"KEYUSER_PAGES\"\n}\nexport enum CONTENT_ADDITION_PANEL_TYPES {\n\tAI_APP_FINDER = \"AI_APP_FINDER\",\n\tAI_INSIGHTS_CARDS = \"AI_INSIGHTS_CARDS\"\n}\n\nexport enum FESR_IDS {\n\tADD_AI_CARD = \"INS:AddAICard\",\n\tCANCEL_CONTENT_DIALOG = \"myh:content:cancel\",\n\tADD_AI_APP = \"myh:apps:add\"\n}\n\nexport const TABLE_TYPES = {\n\tGRID: \"GridTable\",\n\tTREE: \"TreeTable\",\n\tANALYTICAL: \"AnalyticalTable\",\n\tRESPONSIVE: \"ResponsiveTable\",\n\tSTANDARD_LIST: \"StandardList\",\n\tOBJECT_LIST: \"ObjectList\"\n};\nexport const COLUMN_LENGTH = 3;\n\nexport const AI_APP_FINDER_BASE_URL = \"/sap/opu/odata4/sap/aiu_ui_prompt/srvd/sap/aiu_ui_prompt/0001/\";\nexport const AI_APP_FINDER_API = AI_APP_FINDER_BASE_URL + \"SmartAppFinder/SAP__self.ExecuteAppFinderFromUserInput\";\n\nexport const CUSTOM_SPACEID = \"Z_TRIAL_TRIAL_CENTER\";\nexport const PREFERED_CARDS = [\n\t\"user.F2933.cards.docStatusCard\",\n\t\"user.i2d.qm.qltytechnician.ovps1.cards.i2d.qm.qltytechnician.ovps1_card01\",\n\t\"user.F3242.cards.card06_MyBiggestDebtors.tab_1\",\n\t\"user.F2917.cards.card15_PayableAmount\",\n\t\"user.F2601.cards.card04_ProfitMargin\",\n\t\"user.F2601.cards.card00_IncomingSales.tab_1\",\n\t\"user.F2933.cards.card01\"\n];\n\nexport const DEFAULT_NEWS_PLACEHOLDER = {\n\t\"@odata.context\": \"\",\n\t\"@odata.metadataEtag\": \"\",\n\tvalue: [\n\t\t{\n\t\t\tgroup_id: \"placeholderNews\",\n\t\t\tmandatory: \"X\",\n\t\t\tmandatory_text: \"TRUE\",\n\t\t\t_group_to_article: [\n\t\t\t\t{\n\t\t\t\t\tgroup_id: \"placeholderNews\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -60,11 +60,10 @@ export const AppTypes = {
|
|
|
60
60
|
export const PLACEHOLDER_ITEMS_COUNT = 5;
|
|
61
61
|
export const RECOMMENDED_CARD_LIMIT = 4;
|
|
62
62
|
export const RECOMMENDATION_SRVC_URL = INSIGHTS_READ_SRVC_URL + "RecommendedApps";
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
};
|
|
63
|
+
export enum FEATURE_TOGGLES {
|
|
64
|
+
AI_GENERATED_CARD = "AIU_SMART_PERSONALIZATION",
|
|
65
|
+
AI_SMART_APPFINDER = "AIU_SMART_APPFINDER"
|
|
66
|
+
}
|
|
68
67
|
export const FEATURE_TOGGLE_SRVC_URL = INSIGHTS_READ_SRVC_URL + "FeatureToggle";
|
|
69
68
|
export const REPO_BASE_URL = BASE_URL + "insights_cards_repo_srv/0001/";
|
|
70
69
|
export const DEFAULT_NEWS_BASE_URL = "/sap/opu/odata4/sap/sui_flp_aps_ui_usernews/srvd_a2x/sap/sui_flp_aps_ui_usernews/0001/NewsGroup";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionDialog.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/DecisionDialog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DecisionDialog.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/DecisionDialog.ts"],"names":[],"mappings":"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"}
|