@sapui5/sap.cux.home 1.135.0 → 1.136.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/AdvancedSettingsPanel-dbg.js +23 -5
- package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +24 -5
- package/src/sap/cux/home/AppsAdditionPanel-dbg.js +919 -0
- package/src/sap/cux/home/AppsAdditionPanel-dbg.js.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +293 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.js +6 -0
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.ts +757 -0
- package/src/sap/cux/home/AppsContainer-dbg.js +42 -28
- package/src/sap/cux/home/AppsContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.d.ts +17 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +1 -1
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +27 -6
- package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js +261 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.ts +251 -0
- package/src/sap/cux/home/BaseAppPanel-dbg.js +4 -5
- package/src/sap/cux/home/BaseAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +1 -1
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +3 -5
- package/src/sap/cux/home/BaseAppPersPanel-dbg.js +2 -1
- package/src/sap/cux/home/BaseAppPersPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +2 -1
- package/src/sap/cux/home/BaseContainer-dbg.js +24 -3
- package/src/sap/cux/home/BaseContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.d.ts +10 -0
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +1 -1
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +24 -2
- package/src/sap/cux/home/BaseContainerRenderer-dbg.js +18 -1
- package/src/sap/cux/home/BaseContainerRenderer-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +25 -4
- package/src/sap/cux/home/BaseLayout-dbg.js +22 -2
- package/src/sap/cux/home/BaseLayout-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.d.ts +6 -0
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +1 -1
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +23 -2
- package/src/sap/cux/home/BaseNewsItem-dbg.js +3 -3
- package/src/sap/cux/home/BaseNewsItem-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +1 -1
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +3 -3
- package/src/sap/cux/home/BaseNewsPanel-dbg.js +4 -5
- package/src/sap/cux/home/BaseNewsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +5 -4
- package/src/sap/cux/home/BasePanel-dbg.js +1 -1
- package/src/sap/cux/home/BasePanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -1
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +1 -1
- package/src/sap/cux/home/BaseSettingsDialog-dbg.js +11 -0
- package/src/sap/cux/home/BaseSettingsDialog-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +12 -0
- package/src/sap/cux/home/BaseSettingsPanel-dbg.js +67 -2
- package/src/sap/cux/home/BaseSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +42 -0
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +75 -0
- package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +70 -2
- package/src/sap/cux/home/CardsPanel-dbg.js +548 -168
- package/src/sap/cux/home/CardsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.d.ts +121 -15
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.gen.d.ts +78 -0
- package/src/sap/cux/home/CardsPanel.js +1 -1
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +450 -97
- package/src/sap/cux/home/ContentAdditionDialog-dbg.js +353 -0
- package/src/sap/cux/home/ContentAdditionDialog-dbg.js.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +82 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.js +6 -0
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.ts +214 -0
- package/src/sap/cux/home/ErrorPanel-dbg.js +3 -3
- package/src/sap/cux/home/ErrorPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.js +1 -1
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +4 -2
- package/src/sap/cux/home/FavAppPanel-dbg.js +352 -333
- package/src/sap/cux/home/FavAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +1 -1
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +63 -54
- package/src/sap/cux/home/InsightsAdditionPanel-dbg.js +97 -0
- package/src/sap/cux/home/InsightsAdditionPanel-dbg.js.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +57 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.js +6 -0
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.ts +94 -0
- package/src/sap/cux/home/InsightsContainer-dbg.js +22 -2
- package/src/sap/cux/home/InsightsContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.d.ts +14 -0
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +1 -1
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +22 -1
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js +401 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.ts +391 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js +10 -9
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +9 -8
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js +2 -2
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js +6 -6
- package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +6 -6
- package/src/sap/cux/home/Layout-dbg.js +58 -33
- package/src/sap/cux/home/Layout-dbg.js.map +1 -1
- package/src/sap/cux/home/Layout.d.ts +13 -0
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +1 -1
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +48 -20
- package/src/sap/cux/home/LayoutSettingsPanel-dbg.js +1 -10
- package/src/sap/cux/home/LayoutSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +2 -10
- package/src/sap/cux/home/NewsAndPagesContainer-dbg.js +35 -17
- package/src/sap/cux/home/NewsAndPagesContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +7 -0
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +40 -16
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js +164 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.ts +154 -0
- package/src/sap/cux/home/NewsGroup-dbg.js +112 -79
- package/src/sap/cux/home/NewsGroup-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.d.ts +1 -0
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +1 -1
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +136 -100
- package/src/sap/cux/home/NewsPanel-dbg.js +541 -173
- package/src/sap/cux/home/NewsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.d.ts +156 -16
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +1 -1
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +452 -82
- package/src/sap/cux/home/NewsSettingsPanel-dbg.js +61 -20
- package/src/sap/cux/home/NewsSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +14 -0
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +75 -21
- package/src/sap/cux/home/NoDataContainer-dbg.js +3 -3
- package/src/sap/cux/home/NoDataContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.d.ts +1 -0
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +1 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +4 -2
- package/src/sap/cux/home/PagePanel-dbg.js +86 -75
- package/src/sap/cux/home/PagePanel-dbg.js.map +1 -1
- package/src/sap/cux/home/PagePanel.d.ts +25 -3
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +1 -1
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +91 -76
- package/src/sap/cux/home/PageSettingsPanel-dbg.js +16 -15
- package/src/sap/cux/home/PageSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +15 -14
- package/src/sap/cux/home/RecentAppPanel-dbg.js +2 -2
- package/src/sap/cux/home/RecentAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +1 -1
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel-dbg.js +4 -3
- package/src/sap/cux/home/RecommendedAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +4 -2
- package/src/sap/cux/home/SettingsDialog-dbg.js +4 -3
- package/src/sap/cux/home/SettingsDialog-dbg.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +1 -1
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +4 -2
- package/src/sap/cux/home/TaskPanel-dbg.js +16 -12
- package/src/sap/cux/home/TaskPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.d.ts +1 -2
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +1 -1
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +19 -12
- package/src/sap/cux/home/TilesPanel-dbg.js +9 -8
- package/src/sap/cux/home/TilesPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +1 -1
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +15 -8
- package/src/sap/cux/home/ToDoPanel-dbg.js +34 -25
- package/src/sap/cux/home/ToDoPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.d.ts +0 -7
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +1 -1
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +27 -29
- package/src/sap/cux/home/ToDosContainer-dbg.js +27 -18
- package/src/sap/cux/home/ToDosContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.d.ts +7 -0
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +1 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +10 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js +84 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.ts +74 -0
- package/src/sap/cux/home/i18n/messagebundle.properties +63 -1
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_da.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_de.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_el.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_en.properties +43 -246
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +31 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_es.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_et.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_id.properties +47 -5
- package/src/sap/cux/home/i18n/messagebundle_it.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_no.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_th.properties +43 -2
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +42 -1
- package/src/sap/cux/home/interface/AppsInterface-dbg.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -3
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +5 -3
- package/src/sap/cux/home/interface/CardsInterface-dbg.js +32 -0
- package/src/sap/cux/home/interface/CardsInterface-dbg.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.d.ts +320 -55
- package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js +5 -1
- package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.ts +359 -55
- package/src/sap/cux/home/library-preload.js +88 -45
- package/src/sap/cux/home/library-preload.js.map +1 -1
- package/src/sap/cux/home/manifest.json +4 -4
- package/src/sap/cux/home/themes/base/AppsContainer.less +12 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +1 -0
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +69 -0
- package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +37 -12
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1374 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +1 -1
- package/src/sap/cux/home/themes/base/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/base/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/base/library.css +2 -2
- package/src/sap/cux/home/themes/base/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_fiori_3/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_horizon/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_dark/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_dark/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_dark/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_horizon_hcb/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_hcb/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_horizon_hcw/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_horizon_hcw/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcw/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_hcw/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcw/library.source.less +2 -0
- package/src/sap/cux/home/utils/AppManager-dbg.js +405 -440
- package/src/sap/cux/home/utils/AppManager-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +88 -124
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +351 -542
- package/src/sap/cux/home/utils/Constants-dbg.js +25 -1
- package/src/sap/cux/home/utils/Constants-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.d.ts +17 -0
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +1 -1
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +20 -1
- package/src/sap/cux/home/utils/Device-dbg.js +49 -1
- package/src/sap/cux/home/utils/Device-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/Device.d.ts +13 -0
- package/src/sap/cux/home/utils/Device.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Device.js +1 -1
- package/src/sap/cux/home/utils/Device.js.map +1 -1
- package/src/sap/cux/home/utils/Device.ts +58 -1
- package/src/sap/cux/home/utils/InsightsUtils-dbg.js +25 -0
- package/src/sap/cux/home/utils/InsightsUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.d.ts +14 -0
- package/src/sap/cux/home/utils/InsightsUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.ts +25 -0
- package/src/sap/cux/home/utils/PerformanceUtils-dbg.js +5 -2
- package/src/sap/cux/home/utils/PerformanceUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +1 -0
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -1
- package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js +1599 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts +534 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.js +6 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1945 -0
- package/src/sap/cux/home/utils/SituationUtils-dbg.js +1 -1
- package/src/sap/cux/home/utils/SituationUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +4 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +2 -1
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +126 -0
|
@@ -0,0 +1,919 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/CustomListItem", "sap/m/ExpandableText", "sap/m/FlexBox", "sap/m/GenericTile", "sap/m/HBox", "sap/m/Label", "sap/m/library", "sap/m/MessageToast", "sap/m/Text", "sap/m/VBox", "sap/ui/core/Fragment", "sap/ui/model/json/JSONModel", "sap/ui/model/resource/ResourceModel", "sap/ushell/Container", "./AppsContainer", "./BaseSettingsPanel", "./FavAppPanel", "./utils/AppManager", "./utils/Constants"], function (Log, Button, CustomListItem, ExpandableText, FlexBox, GenericTile, HBox, Label, sap_m_library, MessageToast, Text, VBox, Fragment, JSONModel, ResourceModel, Container, __AppsContainer, __BaseSettingsPanel, __FavAppPanel, __AppManager, ___utils_Constants) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
function _interopRequireDefault(obj) {
|
|
9
|
+
return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
|
|
10
|
+
}
|
|
11
|
+
function _catch(body, recover) {
|
|
12
|
+
try {
|
|
13
|
+
var result = body();
|
|
14
|
+
} catch (e) {
|
|
15
|
+
return recover(e);
|
|
16
|
+
}
|
|
17
|
+
if (result && result.then) {
|
|
18
|
+
return result.then(void 0, recover);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
const ButtonType = sap_m_library["ButtonType"];
|
|
23
|
+
function _finallyRethrows(body, finalizer) {
|
|
24
|
+
try {
|
|
25
|
+
var result = body();
|
|
26
|
+
} catch (e) {
|
|
27
|
+
return finalizer(true, e);
|
|
28
|
+
}
|
|
29
|
+
if (result && result.then) {
|
|
30
|
+
return result.then(finalizer.bind(null, false), finalizer.bind(null, true));
|
|
31
|
+
}
|
|
32
|
+
return finalizer(false, result);
|
|
33
|
+
}
|
|
34
|
+
const AppsContainer = _interopRequireDefault(__AppsContainer);
|
|
35
|
+
const _iteratorSymbol = /*#__PURE__*/typeof Symbol !== "undefined" ? Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator")) : "@@iterator";
|
|
36
|
+
function _settle(pact, state, value) {
|
|
37
|
+
if (!pact.s) {
|
|
38
|
+
if (value instanceof _Pact) {
|
|
39
|
+
if (value.s) {
|
|
40
|
+
if (state & 1) {
|
|
41
|
+
state = value.s;
|
|
42
|
+
}
|
|
43
|
+
value = value.v;
|
|
44
|
+
} else {
|
|
45
|
+
value.o = _settle.bind(null, pact, state);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (value && value.then) {
|
|
50
|
+
value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
pact.s = state;
|
|
54
|
+
pact.v = value;
|
|
55
|
+
const observer = pact.o;
|
|
56
|
+
if (observer) {
|
|
57
|
+
observer(pact);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const _Pact = /*#__PURE__*/function () {
|
|
62
|
+
function _Pact() {}
|
|
63
|
+
_Pact.prototype.then = function (onFulfilled, onRejected) {
|
|
64
|
+
const result = new _Pact();
|
|
65
|
+
const state = this.s;
|
|
66
|
+
if (state) {
|
|
67
|
+
const callback = state & 1 ? onFulfilled : onRejected;
|
|
68
|
+
if (callback) {
|
|
69
|
+
try {
|
|
70
|
+
_settle(result, 1, callback(this.v));
|
|
71
|
+
} catch (e) {
|
|
72
|
+
_settle(result, 2, e);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
} else {
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this.o = function (_this) {
|
|
80
|
+
try {
|
|
81
|
+
const value = _this.v;
|
|
82
|
+
if (_this.s & 1) {
|
|
83
|
+
_settle(result, 1, onFulfilled ? onFulfilled(value) : value);
|
|
84
|
+
} else if (onRejected) {
|
|
85
|
+
_settle(result, 1, onRejected(value));
|
|
86
|
+
} else {
|
|
87
|
+
_settle(result, 2, value);
|
|
88
|
+
}
|
|
89
|
+
} catch (e) {
|
|
90
|
+
_settle(result, 2, e);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
return result;
|
|
94
|
+
};
|
|
95
|
+
return _Pact;
|
|
96
|
+
}();
|
|
97
|
+
function _isSettledPact(thenable) {
|
|
98
|
+
return thenable instanceof _Pact && thenable.s & 1;
|
|
99
|
+
}
|
|
100
|
+
function _forTo(array, body, check) {
|
|
101
|
+
var i = -1,
|
|
102
|
+
pact,
|
|
103
|
+
reject;
|
|
104
|
+
function _cycle(result) {
|
|
105
|
+
try {
|
|
106
|
+
while (++i < array.length && (!check || !check())) {
|
|
107
|
+
result = body(i);
|
|
108
|
+
if (result && result.then) {
|
|
109
|
+
if (_isSettledPact(result)) {
|
|
110
|
+
result = result.v;
|
|
111
|
+
} else {
|
|
112
|
+
result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (pact) {
|
|
118
|
+
_settle(pact, 1, result);
|
|
119
|
+
} else {
|
|
120
|
+
pact = result;
|
|
121
|
+
}
|
|
122
|
+
} catch (e) {
|
|
123
|
+
_settle(pact || (pact = new _Pact()), 2, e);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
_cycle();
|
|
127
|
+
return pact;
|
|
128
|
+
}
|
|
129
|
+
const BaseSettingsPanel = _interopRequireDefault(__BaseSettingsPanel);
|
|
130
|
+
function _forOf(target, body, check) {
|
|
131
|
+
if (typeof target[_iteratorSymbol] === "function") {
|
|
132
|
+
var iterator = target[_iteratorSymbol](),
|
|
133
|
+
step,
|
|
134
|
+
pact,
|
|
135
|
+
reject;
|
|
136
|
+
function _cycle(result) {
|
|
137
|
+
try {
|
|
138
|
+
while (!(step = iterator.next()).done && (!check || !check())) {
|
|
139
|
+
result = body(step.value);
|
|
140
|
+
if (result && result.then) {
|
|
141
|
+
if (_isSettledPact(result)) {
|
|
142
|
+
result = result.v;
|
|
143
|
+
} else {
|
|
144
|
+
result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (pact) {
|
|
150
|
+
_settle(pact, 1, result);
|
|
151
|
+
} else {
|
|
152
|
+
pact = result;
|
|
153
|
+
}
|
|
154
|
+
} catch (e) {
|
|
155
|
+
_settle(pact || (pact = new _Pact()), 2, e);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
_cycle();
|
|
159
|
+
if (iterator.return) {
|
|
160
|
+
var _fixup = function (value) {
|
|
161
|
+
try {
|
|
162
|
+
if (!step.done) {
|
|
163
|
+
iterator.return();
|
|
164
|
+
}
|
|
165
|
+
} catch (e) {}
|
|
166
|
+
return value;
|
|
167
|
+
};
|
|
168
|
+
if (pact && pact.then) {
|
|
169
|
+
return pact.then(_fixup, function (e) {
|
|
170
|
+
throw _fixup(e);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
_fixup();
|
|
174
|
+
}
|
|
175
|
+
return pact;
|
|
176
|
+
}
|
|
177
|
+
// No support for Symbol.iterator
|
|
178
|
+
if (!("length" in target)) {
|
|
179
|
+
throw new TypeError("Object is not iterable");
|
|
180
|
+
}
|
|
181
|
+
// Handle live collections properly
|
|
182
|
+
var values = [];
|
|
183
|
+
for (var i = 0; i < target.length; i++) {
|
|
184
|
+
values.push(target[i]);
|
|
185
|
+
}
|
|
186
|
+
return _forTo(values, function (i) {
|
|
187
|
+
return body(values[i]);
|
|
188
|
+
}, check);
|
|
189
|
+
}
|
|
190
|
+
const FavAppPanel = _interopRequireDefault(__FavAppPanel);
|
|
191
|
+
const AppManager = _interopRequireDefault(__AppManager);
|
|
192
|
+
const AI_APP_FINDER_API = ___utils_Constants["AI_APP_FINDER_API"];
|
|
193
|
+
const AI_APP_FINDER_BASE_URL = ___utils_Constants["AI_APP_FINDER_BASE_URL"];
|
|
194
|
+
const CONTENT_ADDITION_PANEL_TYPES = ___utils_Constants["CONTENT_ADDITION_PANEL_TYPES"];
|
|
195
|
+
const FEATURE_TOGGLES = ___utils_Constants["FEATURE_TOGGLES"];
|
|
196
|
+
const Constants = {
|
|
197
|
+
DeprecatedInfoText: "deprecated",
|
|
198
|
+
MinQueryLength: 5,
|
|
199
|
+
MaxDescriptionLength: 400
|
|
200
|
+
};
|
|
201
|
+
var SearchStatus = /*#__PURE__*/function (SearchStatus) {
|
|
202
|
+
SearchStatus["Idle"] = "idle";
|
|
203
|
+
SearchStatus["Searching"] = "searching";
|
|
204
|
+
SearchStatus["Complete"] = "complete";
|
|
205
|
+
return SearchStatus;
|
|
206
|
+
}(SearchStatus || {});
|
|
207
|
+
var ErrorType = /*#__PURE__*/function (ErrorType) {
|
|
208
|
+
ErrorType["NoResultsFound"] = "noResultsFound";
|
|
209
|
+
ErrorType["ServiceError"] = "serviceError";
|
|
210
|
+
ErrorType["ValidationError"] = "validationError";
|
|
211
|
+
ErrorType["DefaultError"] = "defaultError";
|
|
212
|
+
return ErrorType;
|
|
213
|
+
}(ErrorType || {});
|
|
214
|
+
var TileType = /*#__PURE__*/function (TileType) {
|
|
215
|
+
TileType["Static"] = "STATIC";
|
|
216
|
+
return TileType;
|
|
217
|
+
}(TileType || {});
|
|
218
|
+
/**
|
|
219
|
+
*
|
|
220
|
+
* Class for Apps Addition Panel in MyHome.
|
|
221
|
+
*
|
|
222
|
+
* @extends BaseSettingsPanel
|
|
223
|
+
*
|
|
224
|
+
* @author SAP SE
|
|
225
|
+
* @version 0.0.1
|
|
226
|
+
* @since 1.136
|
|
227
|
+
*
|
|
228
|
+
* @internal
|
|
229
|
+
* @experimental Since 1.136
|
|
230
|
+
* @private
|
|
231
|
+
*
|
|
232
|
+
* @alias sap.cux.home.AppsAdditionPanel
|
|
233
|
+
*/
|
|
234
|
+
const AppsAdditionPanel = BaseSettingsPanel.extend("sap.cux.home.AppsAdditionPanel", {
|
|
235
|
+
constructor: function constructor() {
|
|
236
|
+
BaseSettingsPanel.prototype.constructor.apply(this, arguments);
|
|
237
|
+
this.appManagerInstance = AppManager.getInstance();
|
|
238
|
+
},
|
|
239
|
+
/**
|
|
240
|
+
* Init lifecycle method
|
|
241
|
+
*
|
|
242
|
+
* @public
|
|
243
|
+
* @override
|
|
244
|
+
*/
|
|
245
|
+
init: function _init() {
|
|
246
|
+
BaseSettingsPanel.prototype.init.call(this);
|
|
247
|
+
this.userSelectedApps = new Set();
|
|
248
|
+
|
|
249
|
+
//setup panel
|
|
250
|
+
this.setProperty("key", CONTENT_ADDITION_PANEL_TYPES.AI_APP_FINDER);
|
|
251
|
+
this.setProperty("title", this._i18nBundle.getText("addAppsAndTile"));
|
|
252
|
+
|
|
253
|
+
//setup actions
|
|
254
|
+
this._setupActions();
|
|
255
|
+
|
|
256
|
+
//setup content
|
|
257
|
+
void this._setupContent();
|
|
258
|
+
|
|
259
|
+
//setup events
|
|
260
|
+
this.attachEvent("onDialogClose", this.resetPanel.bind(this));
|
|
261
|
+
},
|
|
262
|
+
/**
|
|
263
|
+
* Sets up the actions for the Apps Addition Panel.
|
|
264
|
+
*
|
|
265
|
+
* @private
|
|
266
|
+
*/
|
|
267
|
+
_setupActions: function _setupActions() {
|
|
268
|
+
this.addAppsButton = new Button(`${this.getId()}-add-app-btn`, {
|
|
269
|
+
text: this._i18nBundle.getText("addFromInsightsDialogBtn"),
|
|
270
|
+
type: ButtonType.Emphasized,
|
|
271
|
+
press: () => {
|
|
272
|
+
void this.onPressAddApps();
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
this.addAppsButton.bindProperty("enabled", {
|
|
276
|
+
parts: ["/hasError", "/searchStatus", "/userSelectedApps"],
|
|
277
|
+
formatter: (hasError, searchStatus, userSelectedApps) => {
|
|
278
|
+
return !hasError && searchStatus === SearchStatus.Complete && userSelectedApps.length > 0;
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
this.addActionButton(this.addAppsButton);
|
|
282
|
+
},
|
|
283
|
+
/**
|
|
284
|
+
* Sets up the content for the Apps Addition Panel.
|
|
285
|
+
*
|
|
286
|
+
* @private
|
|
287
|
+
* @async
|
|
288
|
+
*/
|
|
289
|
+
_setupContent: function _setupContent() {
|
|
290
|
+
try {
|
|
291
|
+
const _this = this;
|
|
292
|
+
return Promise.resolve(Container.getServiceAsync("VisualizationInstantiation")).then(function (_Container$getService) {
|
|
293
|
+
_this.vizInstantiationService = _Container$getService;
|
|
294
|
+
//load ui fragment
|
|
295
|
+
return Promise.resolve(Fragment.load({
|
|
296
|
+
id: `${_this.getId()}-content`,
|
|
297
|
+
name: "sap.cux.home.utils.fragment.appsAdditionContent",
|
|
298
|
+
controller: _this
|
|
299
|
+
})).then(function (_Fragment$load) {
|
|
300
|
+
const panelContent = _Fragment$load;
|
|
301
|
+
_this.addAggregation("content", panelContent);
|
|
302
|
+
|
|
303
|
+
//initialize ui model
|
|
304
|
+
//bind suggested apps list
|
|
305
|
+
_this.model = new JSONModel({
|
|
306
|
+
query: "",
|
|
307
|
+
hasError: false,
|
|
308
|
+
errorType: ErrorType.DefaultError,
|
|
309
|
+
errorDescription: "",
|
|
310
|
+
searchStatus: SearchStatus.Idle,
|
|
311
|
+
loadingAnimation: _this._generateSearchingAnimation(),
|
|
312
|
+
suggestedAppsCount: 0,
|
|
313
|
+
userSelectedApps: [],
|
|
314
|
+
suggestedApps: []
|
|
315
|
+
});
|
|
316
|
+
panelContent.setModel(_this.model);
|
|
317
|
+
panelContent.setModel(new ResourceModel({
|
|
318
|
+
bundleName: "sap.cux.home.i18n.messagebundle"
|
|
319
|
+
}), "i18n");
|
|
320
|
+
_this.addAppsButton.setModel(_this.model);
|
|
321
|
+
_this.appSuggestionList = Fragment.byId(`${_this.getId()}-content`, "appsList");
|
|
322
|
+
_this.appSuggestionList.bindAggregation("items", {
|
|
323
|
+
path: "/suggestedApps",
|
|
324
|
+
factory: _this._generateListItem.bind(_this)
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
} catch (e) {
|
|
329
|
+
return Promise.reject(e);
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
/**
|
|
333
|
+
* Generates a list item for the Apps Addition Panel.
|
|
334
|
+
*
|
|
335
|
+
* @private
|
|
336
|
+
* @param {string} id - The unique ID for the list item.
|
|
337
|
+
* @param {Context} context - The binding context for the list item.
|
|
338
|
+
* @returns {CustomListItem} The generated list item control.
|
|
339
|
+
*/
|
|
340
|
+
_generateListItem: function _generateListItem(id, context) {
|
|
341
|
+
const listItem = new CustomListItem(id, {
|
|
342
|
+
selected: context.getProperty("addedToHomePage"),
|
|
343
|
+
content: [new FlexBox(`${id}-result-container`, {
|
|
344
|
+
renderType: "Bare",
|
|
345
|
+
wrap: "Wrap",
|
|
346
|
+
direction: context.getProperty("isStaticApp") ? "Column" : "Row",
|
|
347
|
+
alignItems: context.getProperty("isStaticApp") ? "Start" : "Center",
|
|
348
|
+
items: [this._getAppPreviewContainer(id, context), this._getAppDetailsContainer(id, context)]
|
|
349
|
+
}).addStyleClass("sapUiSmallMargin")]
|
|
350
|
+
});
|
|
351
|
+
|
|
352
|
+
//bind associated checkbox to disable it when the app is already added to home page
|
|
353
|
+
listItem.getMultiSelectControl(true).setEnabled(!context.getProperty("addedToHomePage"));
|
|
354
|
+
return listItem;
|
|
355
|
+
},
|
|
356
|
+
/**
|
|
357
|
+
* Creates a preview container for the suggested app.
|
|
358
|
+
*
|
|
359
|
+
* @private
|
|
360
|
+
* @param {string} id - The unique ID for the container.
|
|
361
|
+
* @param {Context} context - The binding context for the app.
|
|
362
|
+
* @returns {HBox} The app preview container.
|
|
363
|
+
*/
|
|
364
|
+
_getAppPreviewContainer: function _getAppPreviewContainer(id, context) {
|
|
365
|
+
const container = new HBox(`${id}-suggestedAppContainer`, {
|
|
366
|
+
renderType: "Bare"
|
|
367
|
+
});
|
|
368
|
+
if (context.getProperty("isStaticApp")) {
|
|
369
|
+
// create generic tile for static app
|
|
370
|
+
container.addItem(new GenericTile(`${id}-staticApp`, {
|
|
371
|
+
mode: "IconMode",
|
|
372
|
+
frameType: "TwoByHalf",
|
|
373
|
+
header: context.getProperty("title"),
|
|
374
|
+
subheader: context.getProperty("subTitle"),
|
|
375
|
+
tileIcon: context.getProperty("icon"),
|
|
376
|
+
visible: context.getProperty("isStaticApp")
|
|
377
|
+
}).addStyleClass("suggestedTile"));
|
|
378
|
+
} else {
|
|
379
|
+
// create custom visualization for other apps
|
|
380
|
+
const instance = this.vizInstantiationService.instantiateVisualization(context.getProperty("vizData"));
|
|
381
|
+
instance?.setActive(true);
|
|
382
|
+
instance.setClickable(false);
|
|
383
|
+
container.addItem(instance);
|
|
384
|
+
}
|
|
385
|
+
return container;
|
|
386
|
+
},
|
|
387
|
+
/**
|
|
388
|
+
* Creates a details container for the suggested app.
|
|
389
|
+
*
|
|
390
|
+
* @private
|
|
391
|
+
* @param {string} id - The unique ID for the container.
|
|
392
|
+
* @param {Context} context - The binding context for the app.
|
|
393
|
+
* @returns {VBox} The app details container.
|
|
394
|
+
*/
|
|
395
|
+
_getAppDetailsContainer: function _getAppDetailsContainer(id, context) {
|
|
396
|
+
return new VBox(`${id}-app-details-container`, {
|
|
397
|
+
renderType: "Bare",
|
|
398
|
+
gap: "0.5rem",
|
|
399
|
+
items: [new Label(`${id}-descriptionLabel`, {
|
|
400
|
+
text: this._i18nBundle.getText("appDescription"),
|
|
401
|
+
showColon: true
|
|
402
|
+
}), new ExpandableText(`${id}-description`, {
|
|
403
|
+
text: context.getProperty("description"),
|
|
404
|
+
maxCharacters: Constants.MaxDescriptionLength
|
|
405
|
+
}), new HBox(`${id}-app-status-container`, {
|
|
406
|
+
renderType: "Bare",
|
|
407
|
+
visible: context.getProperty("status").length > 0,
|
|
408
|
+
items: [new Label(`${id}-appStatusLabel`, {
|
|
409
|
+
text: this._i18nBundle.getText("appStatus"),
|
|
410
|
+
showColon: true
|
|
411
|
+
}), new HBox(`${id}-app-status-texts`, {
|
|
412
|
+
renderType: "Bare",
|
|
413
|
+
items: this._generateStatusTexts(context.getProperty("status"))
|
|
414
|
+
}).addStyleClass("sapUiTinyMarginBegin statusTextsContainer")]
|
|
415
|
+
})]
|
|
416
|
+
}).addStyleClass(context.getProperty("isStaticApp") ? "sapUiSmallMarginTop" : "sapUiSmallMarginBegin");
|
|
417
|
+
},
|
|
418
|
+
/**
|
|
419
|
+
* Checks if the Apps Addition Panel is supported. Internally, it checks if the
|
|
420
|
+
* AI Smart App Finder feature toggle is enabled and if the associated application
|
|
421
|
+
* is accessible for the user.
|
|
422
|
+
*
|
|
423
|
+
* @public
|
|
424
|
+
* @override
|
|
425
|
+
* @async
|
|
426
|
+
* @returns {Promise<boolean>} A promise that resolves to a boolean indicating support.
|
|
427
|
+
*/
|
|
428
|
+
isSupported: function _isSupported() {
|
|
429
|
+
try {
|
|
430
|
+
const _this2 = this;
|
|
431
|
+
function _temp5() {
|
|
432
|
+
//remove panel if it's not supported
|
|
433
|
+
if (!_this2.isPanelSupported) {
|
|
434
|
+
_this2.removeActionButton(_this2.addAppsButton);
|
|
435
|
+
const contentAdditionDialog = _this2.getParent();
|
|
436
|
+
contentAdditionDialog.removePanel(_this2);
|
|
437
|
+
contentAdditionDialog.updateActionButtons();
|
|
438
|
+
}
|
|
439
|
+
return _this2.isPanelSupported;
|
|
440
|
+
}
|
|
441
|
+
const _temp4 = function () {
|
|
442
|
+
if (_this2.isPanelSupported === undefined) {
|
|
443
|
+
_this2.isPanelSupported = false;
|
|
444
|
+
const _temp3 = function () {
|
|
445
|
+
if (_this2.getFavAppPanel()) {
|
|
446
|
+
const _temp2 = _catch(function () {
|
|
447
|
+
return Promise.resolve(_this2.appManagerInstance.isFeatureEnabled(FEATURE_TOGGLES.AI_SMART_APPFINDER)).then(function (isFeatureEnabled) {
|
|
448
|
+
const _temp = function () {
|
|
449
|
+
if (isFeatureEnabled) {
|
|
450
|
+
return Promise.resolve(Container.getServiceAsync("Navigation")).then(function (navigationService) {
|
|
451
|
+
return Promise.resolve(navigationService.isNavigationSupported([{
|
|
452
|
+
target: {
|
|
453
|
+
semanticObject: "IntelligentPrompt",
|
|
454
|
+
action: "propose"
|
|
455
|
+
}
|
|
456
|
+
}])).then(function (_ref) {
|
|
457
|
+
let [{
|
|
458
|
+
supported
|
|
459
|
+
}] = _ref;
|
|
460
|
+
_this2.isPanelSupported = supported;
|
|
461
|
+
});
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
}();
|
|
465
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
|
466
|
+
});
|
|
467
|
+
}, function (error) {
|
|
468
|
+
Log.error(error.message);
|
|
469
|
+
});
|
|
470
|
+
if (_temp2 && _temp2.then) return _temp2.then(function () {});
|
|
471
|
+
}
|
|
472
|
+
}();
|
|
473
|
+
if (_temp3 && _temp3.then) return _temp3.then(function () {});
|
|
474
|
+
}
|
|
475
|
+
}();
|
|
476
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
|
477
|
+
} catch (e) {
|
|
478
|
+
return Promise.reject(e);
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
/**
|
|
482
|
+
* Generates the searching animation SVG as a string.
|
|
483
|
+
*
|
|
484
|
+
* @private
|
|
485
|
+
* @returns {string} The SVG string for the loading animation.
|
|
486
|
+
*/
|
|
487
|
+
_generateSearchingAnimation: function _generateSearchingAnimation() {
|
|
488
|
+
return `<svg height="210" fill="none">
|
|
489
|
+
<g>
|
|
490
|
+
<rect height="210" rx="4" fill="white"/>
|
|
491
|
+
<rect x="16" y="143" width="90%" height="8" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>
|
|
492
|
+
<rect x="16" y="103" width="84%" height="32" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>
|
|
493
|
+
<rect x="16" y="33" width="90%" height="8" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>
|
|
494
|
+
<rect x="16" y="16" width="96%" height="12" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>
|
|
495
|
+
</g>
|
|
496
|
+
</svg>`;
|
|
497
|
+
},
|
|
498
|
+
/**
|
|
499
|
+
* Resets the panel to its default state.
|
|
500
|
+
*
|
|
501
|
+
* @private
|
|
502
|
+
*/
|
|
503
|
+
resetPanel: function _resetPanel() {
|
|
504
|
+
const defaultModelProperties = {
|
|
505
|
+
query: "",
|
|
506
|
+
hasError: false,
|
|
507
|
+
searchStatus: SearchStatus.Idle,
|
|
508
|
+
suggestedAppsCount: 0,
|
|
509
|
+
userSelectedApps: [],
|
|
510
|
+
suggestedApps: []
|
|
511
|
+
};
|
|
512
|
+
this.model.setData({
|
|
513
|
+
...this.model.getData(),
|
|
514
|
+
...defaultModelProperties
|
|
515
|
+
});
|
|
516
|
+
this.userSelectedApps.clear();
|
|
517
|
+
},
|
|
518
|
+
/**
|
|
519
|
+
* Handles the "Go" button press event for searching suggested apps.
|
|
520
|
+
*
|
|
521
|
+
* @private
|
|
522
|
+
* @async
|
|
523
|
+
* @param {SearchField$SearchEvent} event - The search event triggered by the user.
|
|
524
|
+
*/
|
|
525
|
+
onPressGo: function _onPressGo(event) {
|
|
526
|
+
try {
|
|
527
|
+
const _this3 = this;
|
|
528
|
+
// reset panel if clear button is pressed
|
|
529
|
+
if (event.getParameter("clearButtonPressed")) {
|
|
530
|
+
_this3.resetPanel();
|
|
531
|
+
return Promise.resolve();
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
// validate query
|
|
535
|
+
const query = _this3.model.getProperty("/query");
|
|
536
|
+
if (!_this3.isValidQuery(query)) return Promise.resolve();
|
|
537
|
+
const _temp7 = _finallyRethrows(function () {
|
|
538
|
+
return _catch(function () {
|
|
539
|
+
// initiate search
|
|
540
|
+
_this3.model.setProperty("/hasError", false);
|
|
541
|
+
_this3.model.setProperty("/searchStatus", SearchStatus.Searching);
|
|
542
|
+
_this3.appSuggestionList.removeSelections(true);
|
|
543
|
+
return Promise.resolve(_this3.fetchAppsFromSearch(query)).then(function (rawApps) {
|
|
544
|
+
const _temp6 = function () {
|
|
545
|
+
if (rawApps.length > 0 && _this3.model.getProperty("/searchStatus") === SearchStatus.Searching) {
|
|
546
|
+
return Promise.resolve(_this3.fetchAllAvailableVisualizations()).then(function (allVisualizations) {
|
|
547
|
+
return Promise.resolve(_this3.appManagerInstance.fetchFavVizs(true, true)).then(function (favoriteApps) {
|
|
548
|
+
return Promise.resolve(_this3.appManagerInstance.fetchInsightApps(true, _this3._i18nBundle.getText("insights"))).then(function (insightsApps) {
|
|
549
|
+
// generate suggested apps
|
|
550
|
+
const apps = _this3._generateApps(rawApps, allVisualizations, [...favoriteApps, ...insightsApps]);
|
|
551
|
+
return Promise.resolve(_this3._filterUnsupportedApps(apps)).then(function (suggestedApps) {
|
|
552
|
+
// update model with filtered apps
|
|
553
|
+
_this3.model.setProperty("/suggestedApps", suggestedApps);
|
|
554
|
+
_this3.model.setProperty("/suggestedAppsCount", suggestedApps.length);
|
|
555
|
+
});
|
|
556
|
+
});
|
|
557
|
+
});
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
}();
|
|
561
|
+
if (_temp6 && _temp6.then) return _temp6.then(function () {});
|
|
562
|
+
}); // suggest apps if there are results and search is not cancelled
|
|
563
|
+
}, function (err) {
|
|
564
|
+
Log.error(err.message);
|
|
565
|
+
_this3._handleError();
|
|
566
|
+
});
|
|
567
|
+
}, function (_wasThrown, _result) {
|
|
568
|
+
// update search status only if search is not cancelled
|
|
569
|
+
if (_this3.model.getProperty("/searchStatus") === SearchStatus.Searching) {
|
|
570
|
+
_this3.model.setProperty("/searchStatus", SearchStatus.Complete);
|
|
571
|
+
}
|
|
572
|
+
if (_wasThrown) throw _result;
|
|
573
|
+
return _result;
|
|
574
|
+
});
|
|
575
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
|
576
|
+
} catch (e) {
|
|
577
|
+
return Promise.reject(e);
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
/**
|
|
581
|
+
* Filters out unsupported apps based on accessibility.
|
|
582
|
+
*
|
|
583
|
+
* @private
|
|
584
|
+
* @param {SuggestedApp[]} apps - The list of suggested apps to filter.
|
|
585
|
+
* @returns {Promise<SuggestedApp[]>} A promise that resolves to the filtered list of supported apps.
|
|
586
|
+
*/
|
|
587
|
+
_filterUnsupportedApps: function _filterUnsupportedApps(apps) {
|
|
588
|
+
try {
|
|
589
|
+
const intents = apps.map(app => app.vizData?.target) || [];
|
|
590
|
+
return Promise.resolve(Container.getServiceAsync("Navigation")).then(function (navigationService) {
|
|
591
|
+
return Promise.resolve(navigationService.isNavigationSupported(intents)).then(function (supportedAppIndices) {
|
|
592
|
+
return apps.filter((_, index) => supportedAppIndices[index]);
|
|
593
|
+
});
|
|
594
|
+
});
|
|
595
|
+
} catch (e) {
|
|
596
|
+
return Promise.reject(e);
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
/**
|
|
600
|
+
* Generates suggested apps from raw app data and visualizations.
|
|
601
|
+
*
|
|
602
|
+
* @private
|
|
603
|
+
* @param {RawAppData[]} rawApps - The raw app data to process.
|
|
604
|
+
* @param {IVisualization[]} allVisualizations - All available visualizations.
|
|
605
|
+
* @param {ICustomVisualization[]} homePageVisualizations - Visualizations available in homepage.
|
|
606
|
+
* @returns {SuggestedApp[]} The list of suggested apps.
|
|
607
|
+
*/
|
|
608
|
+
_generateApps: function _generateApps(rawApps, allVisualizations, homePageVisualizations) {
|
|
609
|
+
return rawApps.map(app => {
|
|
610
|
+
const vizData = allVisualizations.find(viz => viz.vizId === app.chipID);
|
|
611
|
+
const addedToHomePage = homePageVisualizations.some(viz => viz.visualization?.vizId === app.chipID);
|
|
612
|
+
return {
|
|
613
|
+
title: app.title,
|
|
614
|
+
chipID: app.chipID,
|
|
615
|
+
subTitle: app.subTitle,
|
|
616
|
+
description: app.appDescription,
|
|
617
|
+
icon: app.iconUrl,
|
|
618
|
+
vizData,
|
|
619
|
+
addedToHomePage,
|
|
620
|
+
isStaticApp: app.tileType === TileType.Static,
|
|
621
|
+
status: this.getAppStatusTexts(app.configuration, addedToHomePage)
|
|
622
|
+
};
|
|
623
|
+
});
|
|
624
|
+
},
|
|
625
|
+
/**
|
|
626
|
+
* Validates the query string based on minimum length.
|
|
627
|
+
*
|
|
628
|
+
* @private
|
|
629
|
+
* @param {string} query - The query string to validate.
|
|
630
|
+
* @returns {boolean} True if the query is valid, otherwise false.
|
|
631
|
+
*/
|
|
632
|
+
isValidQuery: function _isValidQuery(query) {
|
|
633
|
+
return Boolean(query?.trim() && query.trim().length >= Constants.MinQueryLength);
|
|
634
|
+
},
|
|
635
|
+
/**
|
|
636
|
+
* Fetches all available visualizations for the user.
|
|
637
|
+
*
|
|
638
|
+
* @private
|
|
639
|
+
* @async
|
|
640
|
+
* @returns {Promise<IVisualization[]>} A promise that resolves to the list of visualizations.
|
|
641
|
+
*/
|
|
642
|
+
fetchAllAvailableVisualizations: function _fetchAllAvailableVisualizations() {
|
|
643
|
+
try {
|
|
644
|
+
const _this4 = this;
|
|
645
|
+
function _temp9() {
|
|
646
|
+
return _this4.allAvailableVisualizations;
|
|
647
|
+
}
|
|
648
|
+
const _temp8 = function () {
|
|
649
|
+
if (!_this4.allAvailableVisualizations) {
|
|
650
|
+
return Promise.resolve(Container.getServiceAsync("SearchableContent")).then(function (searchableContentService) {
|
|
651
|
+
return Promise.resolve(searchableContentService.getApps({
|
|
652
|
+
enableVisualizationPreview: false
|
|
653
|
+
})).then(function (allAvailableApps) {
|
|
654
|
+
_this4.allAvailableVisualizations = allAvailableApps.reduce((visualizations, currentApp) => {
|
|
655
|
+
return visualizations.concat(currentApp.visualizations);
|
|
656
|
+
}, []);
|
|
657
|
+
});
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
}();
|
|
661
|
+
return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8));
|
|
662
|
+
} catch (e) {
|
|
663
|
+
return Promise.reject(e);
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
/**
|
|
667
|
+
* Fetches a CSRF token for secure API requests.
|
|
668
|
+
*
|
|
669
|
+
* @private
|
|
670
|
+
* @async
|
|
671
|
+
* @returns {Promise<string | null>} A promise that resolves to the CSRF token or null if fetching fails.
|
|
672
|
+
*/
|
|
673
|
+
_fetchCSRFToken: function _fetchCSRFToken() {
|
|
674
|
+
try {
|
|
675
|
+
return Promise.resolve(_catch(function () {
|
|
676
|
+
return Promise.resolve(fetch(AI_APP_FINDER_BASE_URL, {
|
|
677
|
+
method: "GET",
|
|
678
|
+
headers: {
|
|
679
|
+
"X-CSRF-Token": "Fetch"
|
|
680
|
+
}
|
|
681
|
+
})).then(function (response) {
|
|
682
|
+
return response.headers.get("X-CSRF-Token");
|
|
683
|
+
});
|
|
684
|
+
}, function (error) {
|
|
685
|
+
Log.error("Failed to fetch CSRF token", error);
|
|
686
|
+
return null;
|
|
687
|
+
}));
|
|
688
|
+
} catch (e) {
|
|
689
|
+
return Promise.reject(e);
|
|
690
|
+
}
|
|
691
|
+
},
|
|
692
|
+
/**
|
|
693
|
+
* Fetches apps from the search API based on the query.
|
|
694
|
+
*
|
|
695
|
+
* @private
|
|
696
|
+
* @async
|
|
697
|
+
* @param {string} query - The search query string.
|
|
698
|
+
* @returns {Promise<RawAppData[]>} A promise that resolves to the list of raw app data.
|
|
699
|
+
*/
|
|
700
|
+
fetchAppsFromSearch: function _fetchAppsFromSearch(query) {
|
|
701
|
+
try {
|
|
702
|
+
const _this5 = this;
|
|
703
|
+
return Promise.resolve(_catch(function () {
|
|
704
|
+
return Promise.resolve(_this5._fetchCSRFToken()).then(function (token) {
|
|
705
|
+
const headers = {
|
|
706
|
+
"Content-Type": "application/json",
|
|
707
|
+
...(token && {
|
|
708
|
+
"X-CSRF-Token": token
|
|
709
|
+
})
|
|
710
|
+
};
|
|
711
|
+
return Promise.resolve(fetch(AI_APP_FINDER_API, {
|
|
712
|
+
method: "POST",
|
|
713
|
+
headers,
|
|
714
|
+
body: JSON.stringify({
|
|
715
|
+
UserInput: query
|
|
716
|
+
})
|
|
717
|
+
})).then(function (response) {
|
|
718
|
+
let _exit = false;
|
|
719
|
+
function _temp12(_result2) {
|
|
720
|
+
return _exit ? _result2 : Promise.resolve(response.json()).then(function (_response$json2) {
|
|
721
|
+
const queryResult = _response$json2;
|
|
722
|
+
return queryResult.value || [];
|
|
723
|
+
});
|
|
724
|
+
}
|
|
725
|
+
const _temp11 = function () {
|
|
726
|
+
if (!response.ok) {
|
|
727
|
+
return Promise.resolve(response.json()).then(function (_response$json) {
|
|
728
|
+
const errorResponse = _response$json;
|
|
729
|
+
_this5._handleError(errorResponse.error?.message || "");
|
|
730
|
+
const _temp10 = [];
|
|
731
|
+
_exit = true;
|
|
732
|
+
return _temp10;
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
}();
|
|
736
|
+
// handle error responses
|
|
737
|
+
return _temp11 && _temp11.then ? _temp11.then(_temp12) : _temp12(_temp11);
|
|
738
|
+
});
|
|
739
|
+
});
|
|
740
|
+
}, function (error) {
|
|
741
|
+
Log.error(error.message);
|
|
742
|
+
_this5._handleError();
|
|
743
|
+
return [];
|
|
744
|
+
}));
|
|
745
|
+
} catch (e) {
|
|
746
|
+
return Promise.reject(e);
|
|
747
|
+
}
|
|
748
|
+
},
|
|
749
|
+
/**
|
|
750
|
+
* Retrieves status texts for an app based on its configuration and homepage status.
|
|
751
|
+
*
|
|
752
|
+
* @private
|
|
753
|
+
* @param {string} configuration - The app's configuration string.
|
|
754
|
+
* @param {boolean} addedToHomePage - Indicates if the app is already added to the homepage.
|
|
755
|
+
* @returns {string[]} An array of status texts for the app.
|
|
756
|
+
*/
|
|
757
|
+
getAppStatusTexts: function _getAppStatusTexts(configuration, addedToHomePage) {
|
|
758
|
+
let statusTexts = [];
|
|
759
|
+
if (addedToHomePage) {
|
|
760
|
+
statusTexts.push(this._i18nBundle.getText("alreadyAddedApp"));
|
|
761
|
+
}
|
|
762
|
+
if (configuration) {
|
|
763
|
+
try {
|
|
764
|
+
const parsedConfig = JSON.parse(configuration);
|
|
765
|
+
const tileConfig = JSON.parse(parsedConfig?.tileConfiguration);
|
|
766
|
+
const infoText = (tileConfig?.display_info_text || "").toLowerCase();
|
|
767
|
+
if (infoText === Constants.DeprecatedInfoText) {
|
|
768
|
+
statusTexts.push(this._i18nBundle.getText("deprecatedApp"));
|
|
769
|
+
}
|
|
770
|
+
} catch (error) {
|
|
771
|
+
Log.warning(error.message);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
return statusTexts;
|
|
775
|
+
},
|
|
776
|
+
/**
|
|
777
|
+
* Generates status text controls for the provided status texts.
|
|
778
|
+
*
|
|
779
|
+
* @private
|
|
780
|
+
* @param {string[]} stausTexts - The list of status texts.
|
|
781
|
+
* @returns {Text[]} An array of Text controls with applied styles.
|
|
782
|
+
*/
|
|
783
|
+
_generateStatusTexts: function _generateStatusTexts(stausTexts) {
|
|
784
|
+
return stausTexts.map(status => {
|
|
785
|
+
return new Text({
|
|
786
|
+
text: this._i18nBundle.getText(status)
|
|
787
|
+
}).addStyleClass(this.applyStatusClass(status));
|
|
788
|
+
});
|
|
789
|
+
},
|
|
790
|
+
/**
|
|
791
|
+
* Applies a CSS class to the status text based on its type.
|
|
792
|
+
*
|
|
793
|
+
* @private
|
|
794
|
+
* @param {string} status - The status text to classify.
|
|
795
|
+
* @returns {string} The CSS class for the status text.
|
|
796
|
+
*/
|
|
797
|
+
applyStatusClass: function _applyStatusClass(status) {
|
|
798
|
+
if (status === this._i18nBundle.getText("alreadyAddedApp")) {
|
|
799
|
+
return "addedAppStatusText";
|
|
800
|
+
} else if (status === this._i18nBundle.getText("deprecatedApp")) {
|
|
801
|
+
return "deprecatedAppStatusText";
|
|
802
|
+
} else {
|
|
803
|
+
return "";
|
|
804
|
+
}
|
|
805
|
+
},
|
|
806
|
+
/**
|
|
807
|
+
* Handles the "Add Apps" button press event to add selected apps to favorites.
|
|
808
|
+
*
|
|
809
|
+
* @private
|
|
810
|
+
* @async
|
|
811
|
+
*/
|
|
812
|
+
onPressAddApps: function _onPressAddApps() {
|
|
813
|
+
try {
|
|
814
|
+
const _this6 = this;
|
|
815
|
+
function _temp14() {
|
|
816
|
+
// refresh the favorite apps panel
|
|
817
|
+
return Promise.resolve(_this6.refreshFavoriteApps()).then(function () {
|
|
818
|
+
_this6.getParent().close();
|
|
819
|
+
MessageToast.show(_this6._i18nBundle.getText("appAddedToFavorites"));
|
|
820
|
+
_this6.resetPanel();
|
|
821
|
+
});
|
|
822
|
+
}
|
|
823
|
+
const userSelectedApps = _this6.model.getProperty("/userSelectedApps");
|
|
824
|
+
const vizIds = userSelectedApps.map(item => item.getBindingContext()?.getProperty("chipID"));
|
|
825
|
+
const _temp13 = _forOf(vizIds, function (vizId) {
|
|
826
|
+
return Promise.resolve(_this6.appManagerInstance.addVisualization(vizId)).then(function () {});
|
|
827
|
+
});
|
|
828
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp14) : _temp14(_temp13));
|
|
829
|
+
} catch (e) {
|
|
830
|
+
return Promise.reject(e);
|
|
831
|
+
}
|
|
832
|
+
},
|
|
833
|
+
/**
|
|
834
|
+
* Retrieves the AppsContainer instance from the parent layout.
|
|
835
|
+
*
|
|
836
|
+
* @private
|
|
837
|
+
* @returns {AppsContainer | undefined} The AppsContainer instance or undefined if not found.
|
|
838
|
+
*/
|
|
839
|
+
getAppsContainer: function _getAppsContainer() {
|
|
840
|
+
const layout = this.getParent()?.getParent();
|
|
841
|
+
return layout.getContent().find(container => container instanceof AppsContainer);
|
|
842
|
+
},
|
|
843
|
+
/**
|
|
844
|
+
* Retrieves the favorite apps panel from the AppsContainer.
|
|
845
|
+
*
|
|
846
|
+
* @private
|
|
847
|
+
* @returns {FavAppPanel | undefined} The favorite apps panel or undefined if not found.
|
|
848
|
+
*/
|
|
849
|
+
getFavAppPanel: function _getFavAppPanel() {
|
|
850
|
+
return this.getAppsContainer()?.getContent().find(panel => panel instanceof FavAppPanel);
|
|
851
|
+
},
|
|
852
|
+
/**
|
|
853
|
+
* Refreshes the favorite apps panel in the AppsContainer.
|
|
854
|
+
*
|
|
855
|
+
* @private
|
|
856
|
+
* @async
|
|
857
|
+
*/
|
|
858
|
+
refreshFavoriteApps: function _refreshFavoriteApps() {
|
|
859
|
+
try {
|
|
860
|
+
const _this7 = this;
|
|
861
|
+
return Promise.resolve(_this7.getAppsContainer()?.refreshPanel(_this7.getFavAppPanel())).then(function () {});
|
|
862
|
+
} catch (e) {
|
|
863
|
+
return Promise.reject(e);
|
|
864
|
+
}
|
|
865
|
+
},
|
|
866
|
+
/**
|
|
867
|
+
* Handles the selection change event for the suggested apps list.
|
|
868
|
+
*
|
|
869
|
+
* @public
|
|
870
|
+
* @param {ListBase$SelectionChangeEvent} event - The selection change event.
|
|
871
|
+
*/
|
|
872
|
+
onListSelectionChange: function _onListSelectionChange(event) {
|
|
873
|
+
const listItem = event.getParameter("listItem");
|
|
874
|
+
const selected = event.getParameter("selected");
|
|
875
|
+
if (!selected) this.userSelectedApps.delete(listItem);else {
|
|
876
|
+
const context = listItem.getBindingContext();
|
|
877
|
+
const addedToHomePage = context?.getProperty("addedToHomePage");
|
|
878
|
+
if (!addedToHomePage) this.userSelectedApps.add(listItem);
|
|
879
|
+
}
|
|
880
|
+
this.model.setProperty("/userSelectedApps", Array.from(this.userSelectedApps));
|
|
881
|
+
},
|
|
882
|
+
/**
|
|
883
|
+
* Handles errors by updating the model with error details.
|
|
884
|
+
*
|
|
885
|
+
* @private
|
|
886
|
+
* @param {string} [message=""] - The error message to process.
|
|
887
|
+
*/
|
|
888
|
+
_handleError: function _handleError() {
|
|
889
|
+
let message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
890
|
+
const [, errorCode, errorDescription] = message.match(/\((\d{2})\d*\)\s*(.*)/) || [];
|
|
891
|
+
this.model.setProperty("/hasError", true);
|
|
892
|
+
this.model.setProperty("/errorType", this._getErrorType(errorCode));
|
|
893
|
+
this.model.setProperty("/errorDescription", errorDescription || "");
|
|
894
|
+
},
|
|
895
|
+
/**
|
|
896
|
+
* Determines the error type based on the provided error code.
|
|
897
|
+
*
|
|
898
|
+
* @private
|
|
899
|
+
* @param {string} [errorCode=""] - The error code to evaluate.
|
|
900
|
+
* @returns {ErrorType} The corresponding error type.
|
|
901
|
+
*/
|
|
902
|
+
_getErrorType: function _getErrorType() {
|
|
903
|
+
let errorCode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
904
|
+
switch (errorCode) {
|
|
905
|
+
case "10":
|
|
906
|
+
return ErrorType.ServiceError;
|
|
907
|
+
case "20":
|
|
908
|
+
case "40":
|
|
909
|
+
return ErrorType.NoResultsFound;
|
|
910
|
+
case "30":
|
|
911
|
+
return ErrorType.ValidationError;
|
|
912
|
+
default:
|
|
913
|
+
return ErrorType.DefaultError;
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
});
|
|
917
|
+
return AppsAdditionPanel;
|
|
918
|
+
});
|
|
919
|
+
//# sourceMappingURL=AppsAdditionPanel-dbg.js.map
|