@sapui5/sap.cux.home 1.136.1 → 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 +22 -25
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +4 -4
- 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 +3 -3
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +17 -13
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +18 -11
- 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 +16 -13
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +10 -5
- 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 +103 -104
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +4 -3
- 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 +286 -291
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +23 -18
- 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 +0 -3
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +22 -13
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +22 -17
- 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 +1 -4
- package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -4
- 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 +7 -10
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +3 -4
- 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 +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +0 -1
- 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 +1 -4
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -4
- 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 +0 -1
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +84 -96
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +32 -35
- 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 +5 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +4 -9
- 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 +25 -23
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +9 -16
- 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 +4 -5
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +3 -3
- 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/i18n/messagebundle.properties +8 -6
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +59 -13
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_da.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_de.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_el.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +46 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_es.properties +62 -16
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_et.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +54 -8
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_id.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_it.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +58 -12
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_no.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +56 -10
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_th.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +57 -11
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +55 -9
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +56 -10
- 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/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 +12 -7
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +172 -172
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +42 -23
- 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
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import Log from "sap/base/Log";
|
|
7
|
+
import GridContainer from "sap/f/GridContainer";
|
|
8
|
+
import GridContainerItemLayoutData from "sap/f/GridContainerItemLayoutData";
|
|
9
|
+
import Button from "sap/m/Button";
|
|
10
|
+
import GenericTile from "sap/m/GenericTile";
|
|
11
|
+
import HeaderContainer from "sap/m/HeaderContainer";
|
|
12
|
+
import VBox from "sap/m/VBox";
|
|
13
|
+
import { LoadState } from "sap/m/library";
|
|
14
|
+
import Event from "sap/ui/base/Event";
|
|
15
|
+
import ManagedObject from "sap/ui/base/ManagedObject";
|
|
16
|
+
import Control from "sap/ui/core/Control";
|
|
17
|
+
import type { MetadataOptions } from "sap/ui/core/Element";
|
|
18
|
+
import UI5Element from "sap/ui/core/Element";
|
|
19
|
+
import Lib from "sap/ui/core/Lib";
|
|
20
|
+
import Context from "sap/ui/model/Context";
|
|
21
|
+
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
22
|
+
import Container from "sap/ushell/Container";
|
|
23
|
+
import S4MyHome from "sap/ushell/api/S4MyHome";
|
|
24
|
+
import VisualizationInstantiation from "sap/ushell/services/VisualizationInstantiation";
|
|
25
|
+
import BasePanel from "./BasePanel";
|
|
26
|
+
import InsightsContainer from "./InsightsContainer";
|
|
27
|
+
import MenuItem from "./MenuItem";
|
|
28
|
+
import { $SpaceInsightsPanelSettings } from "./SpaceInsightsPanel";
|
|
29
|
+
import { ICustomVisualization, ISectionAndVisualization } from "./interface/AppsInterface";
|
|
30
|
+
import { ISpace } from "./interface/PageSpaceInterface";
|
|
31
|
+
import AppManager from "./utils/AppManager";
|
|
32
|
+
import { filterVisualizations, getPageManagerInstance } from "./utils/CommonUtils";
|
|
33
|
+
import { recycleId } from "./utils/DataFormatUtils";
|
|
34
|
+
import { DeviceType, fetchElementProperties } from "./utils/Device";
|
|
35
|
+
import { createShowMoreActionButton, createShowMoreMenuItem, getAssociatedFullScreenMenuItem } from "./utils/InsightsUtils";
|
|
36
|
+
import PageManager from "./utils/PageManager";
|
|
37
|
+
|
|
38
|
+
export enum tilesMenuItems {
|
|
39
|
+
REFRESH = "tiles-refresh",
|
|
40
|
+
ADD_APPS = "tiles-addSmartApps",
|
|
41
|
+
EDIT_TILES = "tiles-editTiles"
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export enum tilesContainerMenuItems {
|
|
45
|
+
REFRESH = "container-tiles-refresh",
|
|
46
|
+
ADD_APPS = "container-tiles-addSmartApps",
|
|
47
|
+
EDIT_TILES = "container-tiles-editTiles",
|
|
48
|
+
SHOW_MORE = "tilesContainerFullScreenMenuItem"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export enum tilesActionButtons {
|
|
52
|
+
ADD_TILES = "tiles-addTilesButton"
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export enum tilesContainerActionButtons {
|
|
56
|
+
ADD_TILES = "container-tiles-addTilesButton",
|
|
57
|
+
SHOW_MORE = "tilesContanerFullScreenActionButton"
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export enum DisplayFormat {
|
|
61
|
+
Standard = "standard",
|
|
62
|
+
StandardWide = "standardWide"
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const StandardTileWidth = 176;
|
|
66
|
+
const StandardWideTileWidth = 368;
|
|
67
|
+
const Gap = 16;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* Tiles Panel class for managing and storing Space Insights Tiles.
|
|
72
|
+
*
|
|
73
|
+
* @extends sap.cux.home.BasePanel
|
|
74
|
+
*
|
|
75
|
+
* @author SAP SE
|
|
76
|
+
* @version 0.0.1
|
|
77
|
+
*
|
|
78
|
+
* @internal
|
|
79
|
+
* @public
|
|
80
|
+
* @ui5-experimental-since 1.138.0
|
|
81
|
+
*
|
|
82
|
+
* @alias sap.cux.home.SpaceInsightsPanel
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
export default class SpaceInsightsPanel extends BasePanel {
|
|
86
|
+
constructor(idOrSettings?: string | $SpaceInsightsPanelSettings);
|
|
87
|
+
constructor(id?: string, settings?: $SpaceInsightsPanelSettings);
|
|
88
|
+
/**
|
|
89
|
+
* Constructor for a new Tiles Panel.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} [id] ID for the new control, generated automatically if an ID is not provided
|
|
92
|
+
* @param {object} [settings] Initial settings for the new control
|
|
93
|
+
*/
|
|
94
|
+
public constructor(id?: string, settings?: $SpaceInsightsPanelSettings) {
|
|
95
|
+
super(id, settings);
|
|
96
|
+
}
|
|
97
|
+
private _oData!: Record<string, unknown>;
|
|
98
|
+
private appManagerInstance!: AppManager;
|
|
99
|
+
private VizInstantiationService!: VisualizationInstantiation;
|
|
100
|
+
private tilesContainer!: GridContainer;
|
|
101
|
+
private tilesMobileContainer!: HeaderContainer;
|
|
102
|
+
private _tilesWrapper!: VBox;
|
|
103
|
+
private aInsightsApps!: ICustomVisualization[] | GenericTile[];
|
|
104
|
+
private _controlModel!: JSONModel;
|
|
105
|
+
public _controlMap!: Map<string, Control | Element | UI5Element>;
|
|
106
|
+
private _containerMenuItems!: MenuItem[];
|
|
107
|
+
private _containerActionButtons!: Button[];
|
|
108
|
+
private insightsContainer!: InsightsContainer;
|
|
109
|
+
private _appSwitched!: boolean;
|
|
110
|
+
private _headerVisible: boolean = false;
|
|
111
|
+
private pageManager!: PageManager;
|
|
112
|
+
private allSpaces!: ISpace[];
|
|
113
|
+
private spaceTitle!: string | undefined;
|
|
114
|
+
static readonly metadata: MetadataOptions = {
|
|
115
|
+
library: "sap.cux.home",
|
|
116
|
+
properties: {
|
|
117
|
+
/**
|
|
118
|
+
* Specifies the space whose apps should be loaded.
|
|
119
|
+
*/
|
|
120
|
+
spaceId: { type: "string", group: "Data", defaultValue: "" },
|
|
121
|
+
/**
|
|
122
|
+
* Title for the tiles panel
|
|
123
|
+
*/
|
|
124
|
+
title: { type: "string", group: "Misc", defaultValue: "" },
|
|
125
|
+
/**
|
|
126
|
+
* The name of the URL parameter used to expand the container into full-screen mode.
|
|
127
|
+
*/
|
|
128
|
+
fullScreenName: { type: "string", group: "Misc", defaultValue: "SI3", visibility: "hidden" }
|
|
129
|
+
},
|
|
130
|
+
defaultAggregation: "tiles",
|
|
131
|
+
aggregations: {
|
|
132
|
+
/**
|
|
133
|
+
* Aggregation of tiles available within the tiles Panel
|
|
134
|
+
*/
|
|
135
|
+
tiles: { type: "sap.cux.home.App", multiple: true, singularName: "tile", visibility: "hidden" }
|
|
136
|
+
},
|
|
137
|
+
events: {
|
|
138
|
+
handleHidePanel: {
|
|
139
|
+
parameters: {}
|
|
140
|
+
},
|
|
141
|
+
handleUnhidePanel: {
|
|
142
|
+
parameters: {}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Initializes the Tiles Panel.
|
|
149
|
+
*
|
|
150
|
+
* @private
|
|
151
|
+
* @override
|
|
152
|
+
*/
|
|
153
|
+
init() {
|
|
154
|
+
super.init();
|
|
155
|
+
this._controlMap = new Map();
|
|
156
|
+
//Initialise Tiles Model
|
|
157
|
+
this._oData = {
|
|
158
|
+
tiles: [] as ICustomVisualization[],
|
|
159
|
+
activateInsightsTiles: true,
|
|
160
|
+
activateInsightsTilesOnPhone: false,
|
|
161
|
+
activateInsightsTilesOnDesktop: false
|
|
162
|
+
};
|
|
163
|
+
this._controlModel = new JSONModel(this._oData);
|
|
164
|
+
this.appManagerInstance = AppManager.getInstance();
|
|
165
|
+
this.pageManager = getPageManagerInstance(this);
|
|
166
|
+
this.setProperty("enableFullScreen", true);
|
|
167
|
+
|
|
168
|
+
this._createTilesFlexWrapper();
|
|
169
|
+
Container.getServiceAsync<VisualizationInstantiation>("VisualizationInstantiation")
|
|
170
|
+
.then((VizInstantiationService) => {
|
|
171
|
+
this.VizInstantiationService = VizInstantiationService;
|
|
172
|
+
})
|
|
173
|
+
.catch((error) => {
|
|
174
|
+
Log.error(error instanceof Error ? error.message : String(error));
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
// Toggles the activity of tiles
|
|
178
|
+
this._toggleTileActivity();
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
public setTitle(title: string) {
|
|
182
|
+
if (!this.spaceTitle) this.spaceTitle = title;
|
|
183
|
+
return this.setProperty("title", title);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
public getTitle(): string {
|
|
187
|
+
if (this.spaceTitle) return this.spaceTitle;
|
|
188
|
+
return this.getProperty("title") as string;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Toggles the activity of tiles on route change.
|
|
193
|
+
*
|
|
194
|
+
* @private
|
|
195
|
+
* @returns {void}
|
|
196
|
+
*/
|
|
197
|
+
private _toggleTileActivity(): void {
|
|
198
|
+
const toggleUserActions = async (event: Event<{ isMyHomeRoute: boolean }>) => {
|
|
199
|
+
const show = event.getParameter("isMyHomeRoute");
|
|
200
|
+
this._controlModel.setProperty("/activateInsightsTiles", show);
|
|
201
|
+
if (show) {
|
|
202
|
+
if (this._appSwitched) {
|
|
203
|
+
await this.refreshData(true);
|
|
204
|
+
this._appSwitched = false;
|
|
205
|
+
}
|
|
206
|
+
} else {
|
|
207
|
+
this._appSwitched = true;
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
try {
|
|
212
|
+
S4MyHome.attachRouteMatched({}, toggleUserActions, this);
|
|
213
|
+
} catch (error) {
|
|
214
|
+
Log.warning(error instanceof Error ? error.message : String(error));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Displays placeholder tiles while loading.
|
|
220
|
+
*
|
|
221
|
+
* @private
|
|
222
|
+
* @returns {void}
|
|
223
|
+
*/
|
|
224
|
+
private _showPlaceHolders() {
|
|
225
|
+
const placeholderArray = new Array(this._calculatePlaceholderTileCount()).fill(LoadState.Loading) as LoadState[];
|
|
226
|
+
this.aInsightsApps = placeholderArray.map((tileState: LoadState, index: number) => {
|
|
227
|
+
return new GenericTile(recycleId(`${this.getId()}--placeHolderTile--${index}`), {
|
|
228
|
+
sizeBehavior: "Responsive",
|
|
229
|
+
state: tileState,
|
|
230
|
+
frameType: "OneByOne",
|
|
231
|
+
mode: "IconMode",
|
|
232
|
+
visible: true,
|
|
233
|
+
renderOnThemeChange: true,
|
|
234
|
+
ariaRole: "listitem",
|
|
235
|
+
dropAreaOffset: 8
|
|
236
|
+
}).setLayoutData?.(
|
|
237
|
+
new GridContainerItemLayoutData(recycleId(`${this.getId()}--placeHolderTileLayoutData--${index}`), {
|
|
238
|
+
columns: 2
|
|
239
|
+
})
|
|
240
|
+
);
|
|
241
|
+
});
|
|
242
|
+
this._controlModel.setProperty("/tiles", this.aInsightsApps);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Clears the placeholder tiles.
|
|
247
|
+
*
|
|
248
|
+
* @private
|
|
249
|
+
* @returns {void}
|
|
250
|
+
*/
|
|
251
|
+
private _clearPlaceHolders() {
|
|
252
|
+
this._controlModel.setProperty("/tiles", []);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Renders the panel.
|
|
257
|
+
*
|
|
258
|
+
* @private
|
|
259
|
+
* @returns {Promise<void>} A promise that resolves when the panel is rendered.
|
|
260
|
+
*/
|
|
261
|
+
public async renderPanel(): Promise<void> {
|
|
262
|
+
try {
|
|
263
|
+
return await this.refreshData();
|
|
264
|
+
} catch (error) {
|
|
265
|
+
console.error(error);
|
|
266
|
+
this.fireHandleHidePanel();
|
|
267
|
+
} finally {
|
|
268
|
+
this.fireEvent("loaded");
|
|
269
|
+
}
|
|
270
|
+
return Promise.resolve();
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
private async fetchDynamicAppInSpace(): Promise<ICustomVisualization[]> {
|
|
274
|
+
const spaceId = this.getProperty("spaceId") as string;
|
|
275
|
+
this.allSpaces = this.allSpaces || (await this.pageManager.fetchAllAvailableSpaces());
|
|
276
|
+
const space = this.allSpaces.find((space) => space.id === spaceId);
|
|
277
|
+
|
|
278
|
+
if (!space || space.children.length === 0) return [];
|
|
279
|
+
let allVisualizations: ISectionAndVisualization[] = [];
|
|
280
|
+
|
|
281
|
+
if (space && space.children.length > 0) {
|
|
282
|
+
for (const child of space.children) {
|
|
283
|
+
const visualizations = await this.appManagerInstance.fetchFavVizs(true, true, child.id);
|
|
284
|
+
allVisualizations.push(...visualizations);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
//Filter out dynamic tiles
|
|
289
|
+
allVisualizations = filterVisualizations(allVisualizations, true);
|
|
290
|
+
|
|
291
|
+
return allVisualizations;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Refreshes the data in the panel.
|
|
296
|
+
*
|
|
297
|
+
* @private
|
|
298
|
+
* @param {boolean} [refreshTiles=false] - Whether to refresh the tiles.
|
|
299
|
+
* @returns {Promise<void>} A promise that resolves when the data is refreshed.
|
|
300
|
+
*/
|
|
301
|
+
public async refreshData(refreshTiles: boolean = false) {
|
|
302
|
+
const panelName = this.getMetadata().getName();
|
|
303
|
+
this.aInsightsApps = await this.fetchDynamicAppInSpace();
|
|
304
|
+
const bIsSmartBusinessTilePresent = this.aInsightsApps.some((oApp) => oApp.isSmartBusinessTile);
|
|
305
|
+
if (bIsSmartBusinessTilePresent) {
|
|
306
|
+
await Lib.load({ name: "sap.cloudfnd.smartbusiness.lib.reusetiles" });
|
|
307
|
+
}
|
|
308
|
+
this._clearPlaceHolders();
|
|
309
|
+
this._controlModel.setProperty("/tiles", this.aInsightsApps);
|
|
310
|
+
if (this.aInsightsApps?.length) {
|
|
311
|
+
this.fireHandleUnhidePanel();
|
|
312
|
+
if (refreshTiles) {
|
|
313
|
+
const isMobile = this.getDeviceType() === DeviceType.Mobile;
|
|
314
|
+
const container = isMobile ? this.tilesMobileContainer : this.tilesContainer;
|
|
315
|
+
const sDefaultAggreName = container.getMetadata().getDefaultAggregationName();
|
|
316
|
+
const dynamicTiles = (container.getAggregation(sDefaultAggreName) as ManagedObject[]) || [];
|
|
317
|
+
dynamicTiles.forEach((tiles) => (tiles as ICustomVisualization).refresh?.());
|
|
318
|
+
}
|
|
319
|
+
this._getInsightsContainer().updatePanelsItemCount(this.aInsightsApps.length, panelName);
|
|
320
|
+
if (this._headerVisible) {
|
|
321
|
+
this.setProperty("title", `${this.spaceTitle} (${this.aInsightsApps.length})`);
|
|
322
|
+
}
|
|
323
|
+
} else {
|
|
324
|
+
this.fireHandleHidePanel();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Generates the wrapper for the tiles container, if it doesn't already exist
|
|
330
|
+
*
|
|
331
|
+
* @private
|
|
332
|
+
* @override
|
|
333
|
+
* @returns {sap.m.VBox} The tiles Vbox wrapper.
|
|
334
|
+
*/
|
|
335
|
+
private _createTilesFlexWrapper() {
|
|
336
|
+
if (!this._tilesWrapper) {
|
|
337
|
+
this._tilesWrapper = new VBox(`${this.getId()}-tilesWrapper`, {
|
|
338
|
+
renderType: "Bare",
|
|
339
|
+
width: "100%",
|
|
340
|
+
items: [this._createMobileFlexWrapper(), this._createWrapperFlexBox()]
|
|
341
|
+
});
|
|
342
|
+
this._showPlaceHolders();
|
|
343
|
+
this._tilesWrapper.setModel(this._controlModel);
|
|
344
|
+
this._addContent(this._tilesWrapper);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Generates wrapper for displaying tiles in mobile mode.
|
|
350
|
+
* @private
|
|
351
|
+
* @returns {sap.m.HeaderContainer} The generated tiles wrapper.
|
|
352
|
+
*/
|
|
353
|
+
|
|
354
|
+
private _createMobileFlexWrapper(): HeaderContainer {
|
|
355
|
+
// Check if the mobile container already exists
|
|
356
|
+
if (!this.tilesMobileContainer) {
|
|
357
|
+
// Create the HeaderContainer with required properties
|
|
358
|
+
this.tilesMobileContainer = new HeaderContainer(`${this.getId()}-insightsTilesMobileContainer`, {
|
|
359
|
+
scrollStep: 0,
|
|
360
|
+
scrollStepByItem: 1,
|
|
361
|
+
gridLayout: true,
|
|
362
|
+
scrollTime: 1000,
|
|
363
|
+
showDividers: false,
|
|
364
|
+
visible: "{/isPhone}"
|
|
365
|
+
}).addStyleClass("sectionMarginTopTilesInsight sapMHeaderContainerAlign sapMHeaderContainerMarginBottom tilesBoxShadow");
|
|
366
|
+
|
|
367
|
+
// Attach aggregation to the container
|
|
368
|
+
this._attachAggregationToContainer(this.tilesMobileContainer);
|
|
369
|
+
}
|
|
370
|
+
// Return the existing or newly created container
|
|
371
|
+
return this.tilesMobileContainer;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Generates app wrapper (GridContainer) for displaying tiles.
|
|
376
|
+
* @private
|
|
377
|
+
* @returns {sap.m.GridContainer} The generated tiles wrapper.
|
|
378
|
+
*/
|
|
379
|
+
|
|
380
|
+
private _createWrapperFlexBox(): GridContainer {
|
|
381
|
+
// Check if the tilesContainer already exists
|
|
382
|
+
if (!this.tilesContainer) {
|
|
383
|
+
// Create the GridContainer with required properties
|
|
384
|
+
this.tilesContainer = new GridContainer(`${this.getId()}-insightsTilesContainer`, {
|
|
385
|
+
visible: "{= !${/isPhone}}"
|
|
386
|
+
}).addStyleClass("insightTiles sapUiSmallMarginTop sapUiSmallMarginBottom");
|
|
387
|
+
// Attach aggregation to the container
|
|
388
|
+
this._attachAggregationToContainer(this.tilesContainer);
|
|
389
|
+
}
|
|
390
|
+
// Return the existing or newly created container
|
|
391
|
+
return this.tilesContainer;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Updates the activation flags for Insights Tiles based on the device type and viewport.
|
|
396
|
+
*
|
|
397
|
+
*
|
|
398
|
+
* @private
|
|
399
|
+
* @returns {void}
|
|
400
|
+
*/
|
|
401
|
+
private _updateTilesActivity(): void {
|
|
402
|
+
// Activate Insights Tiles based on container in viewport
|
|
403
|
+
const isPhoneScreen: boolean = this.getDeviceType() === DeviceType.Mobile;
|
|
404
|
+
// Explicitly type the property being retrieved
|
|
405
|
+
const bActivateInsightsTiles: boolean = Boolean(this._controlModel.getProperty("/activateInsightsTiles"));
|
|
406
|
+
this._controlModel.setProperty("/activateInsightsTilesOnPhone", bActivateInsightsTiles && isPhoneScreen);
|
|
407
|
+
this._controlModel.setProperty("/activateInsightsTilesOnDesktop", bActivateInsightsTiles && !isPhoneScreen);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Attaches necessary aggregations and configurations to the provided container.
|
|
411
|
+
*
|
|
412
|
+
* @private
|
|
413
|
+
* @param {GridContainer | HeaderContainer} tilesContainer - The container to which the aggregation and events are to be attached.
|
|
414
|
+
* @returns {void}
|
|
415
|
+
*
|
|
416
|
+
*/
|
|
417
|
+
private _attachAggregationToContainer(tilesContainer: GridContainer | HeaderContainer) {
|
|
418
|
+
tilesContainer.setModel(this._controlModel);
|
|
419
|
+
const sDefaultAggreName = tilesContainer.getMetadata().getDefaultAggregationName();
|
|
420
|
+
const isPhoneScreen = this.getDeviceType() === DeviceType.Mobile;
|
|
421
|
+
tilesContainer.bindAggregation(sDefaultAggreName, {
|
|
422
|
+
path: "/tiles",
|
|
423
|
+
factory: (id: string, context: Context): ManagedObject => {
|
|
424
|
+
const oApp = context.getObject() as ICustomVisualization;
|
|
425
|
+
if (oApp instanceof GenericTile) {
|
|
426
|
+
return oApp;
|
|
427
|
+
}
|
|
428
|
+
const oVisualization = this.VizInstantiationService.instantiateVisualization(oApp.visualization) as ICustomVisualization;
|
|
429
|
+
oVisualization.setLayoutData?.(
|
|
430
|
+
new GridContainerItemLayoutData(`${this.getId()}-itemLayoutData-${id}`, {
|
|
431
|
+
minRows: 2,
|
|
432
|
+
columns: oVisualization.getDisplayFormat?.() === DisplayFormat.Standard ? 2 : 4
|
|
433
|
+
})
|
|
434
|
+
);
|
|
435
|
+
oVisualization?.bindProperty?.(
|
|
436
|
+
"active",
|
|
437
|
+
isPhoneScreen ? "/activateInsightsTilesOnPhone" : "/activateInsightsTilesOnDesktop"
|
|
438
|
+
);
|
|
439
|
+
return oVisualization as ManagedObject;
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Hides the header of the tiles panel.
|
|
446
|
+
* @private
|
|
447
|
+
*/
|
|
448
|
+
public handleHideHeader() {
|
|
449
|
+
this._headerVisible = false;
|
|
450
|
+
this.setProperty("title", "");
|
|
451
|
+
this._toggleHeaderActions(false);
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Adds the header to the tiles panel.
|
|
456
|
+
* @private
|
|
457
|
+
*/
|
|
458
|
+
public handleAddHeader() {
|
|
459
|
+
this._headerVisible = true;
|
|
460
|
+
this.setProperty("title", `${this.spaceTitle} (${this.aInsightsApps.length})`);
|
|
461
|
+
this._toggleHeaderActions(true);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Calculates the number of visible tiles that can fit within the available width of the parent container.
|
|
466
|
+
*
|
|
467
|
+
* @private
|
|
468
|
+
* @param {ICustomVisualization[]} insightsApps - An array of custom visualizations to be displayed as tiles.
|
|
469
|
+
* @returns {number} - The number of visible tiles.
|
|
470
|
+
*/
|
|
471
|
+
private _calculateVisibleTileCount(insightsApps: ICustomVisualization[]): number {
|
|
472
|
+
const layout = this._getInsightsContainer()?._getLayout();
|
|
473
|
+
const layoutDomRef = layout?.getDomRef();
|
|
474
|
+
const apps = insightsApps || [];
|
|
475
|
+
let count = 0;
|
|
476
|
+
|
|
477
|
+
if (layoutDomRef && apps.length) {
|
|
478
|
+
const isHeaderVisible = layout.getProperty("showHeader") as boolean;
|
|
479
|
+
const sectionNodeIndex = isHeaderVisible ? 1 : 0;
|
|
480
|
+
const sectionDomRef = layoutDomRef.childNodes[sectionNodeIndex] as Element;
|
|
481
|
+
const domProperties = fetchElementProperties(sectionDomRef, ["width", "padding-left", "padding-right"]);
|
|
482
|
+
let availableWidth = domProperties.width - domProperties["padding-left"] - domProperties["padding-right"];
|
|
483
|
+
const widthMap = {} as Record<DisplayFormat, number>;
|
|
484
|
+
|
|
485
|
+
widthMap[DisplayFormat.Standard] = StandardTileWidth + Gap;
|
|
486
|
+
widthMap[DisplayFormat.StandardWide] = StandardWideTileWidth + Gap;
|
|
487
|
+
|
|
488
|
+
let nextTileWidth = widthMap[(apps[count].visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];
|
|
489
|
+
do {
|
|
490
|
+
availableWidth -= nextTileWidth;
|
|
491
|
+
++count;
|
|
492
|
+
nextTileWidth = widthMap[(apps[count]?.visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];
|
|
493
|
+
} while (availableWidth > nextTileWidth);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
return count || 1;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
private _calculatePlaceholderTileCount(): number {
|
|
500
|
+
const layoutDomRef = this._getInsightsContainer()?._getLayout()?.getDomRef();
|
|
501
|
+
let count = 0;
|
|
502
|
+
if (layoutDomRef) {
|
|
503
|
+
const sectionDomRef = layoutDomRef.childNodes[0] as Element;
|
|
504
|
+
const domProperties = fetchElementProperties(sectionDomRef, ["width", "padding-left", "padding-right"]);
|
|
505
|
+
let availableWidth = domProperties.width - domProperties["padding-left"] - domProperties["padding-right"];
|
|
506
|
+
const width = StandardTileWidth + Gap;
|
|
507
|
+
|
|
508
|
+
count = Math.floor(availableWidth / width);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
return count || 1;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Adjusts the layout of the tiles panel based on the current layout and device type.
|
|
516
|
+
*
|
|
517
|
+
* @private
|
|
518
|
+
* @override
|
|
519
|
+
*/
|
|
520
|
+
public _adjustLayout() {
|
|
521
|
+
const layout = this._getInsightsContainer()?._getLayout();
|
|
522
|
+
const isMobileDevice = this.getDeviceType() === DeviceType.Mobile;
|
|
523
|
+
|
|
524
|
+
if (layout) {
|
|
525
|
+
const visibleTileCount = isMobileDevice
|
|
526
|
+
? this.aInsightsApps?.length
|
|
527
|
+
: this._calculateVisibleTileCount(this.aInsightsApps as ICustomVisualization[]);
|
|
528
|
+
const isElementExpanded = layout._getCurrentExpandedElementName() === this.getProperty("fullScreenName");
|
|
529
|
+
this._controlModel.setProperty(
|
|
530
|
+
"/tiles",
|
|
531
|
+
isElementExpanded ? this.aInsightsApps : this.aInsightsApps?.slice(0, visibleTileCount)
|
|
532
|
+
);
|
|
533
|
+
this._controlModel.setProperty("/isPhone", isMobileDevice);
|
|
534
|
+
this._updateTilesActivity();
|
|
535
|
+
//Show/Hide Full Screen Button if panel header is visible otherwise update visibility of container Full Screen Button
|
|
536
|
+
const showFullScreenButton = isElementExpanded || this.aInsightsApps.length > visibleTileCount;
|
|
537
|
+
if (this._headerVisible) {
|
|
538
|
+
if (!isMobileDevice) {
|
|
539
|
+
(this.getAggregation("actionButtons") as Button[])?.forEach((actionButton) => {
|
|
540
|
+
if (actionButton.getId().includes(tilesActionButtons.ADD_TILES)) {
|
|
541
|
+
this._getInsightsContainer().toggleActionButton(actionButton, true);
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
this._getInsightsContainer()?.toggleFullScreenElements(this, showFullScreenButton);
|
|
546
|
+
} else {
|
|
547
|
+
const fullScreenButton = getAssociatedFullScreenMenuItem(this);
|
|
548
|
+
const fullScreenText = fullScreenButton?.getTitle() ?? "";
|
|
549
|
+
this._getInsightsContainer()?.updateMenuItem(
|
|
550
|
+
this._controlMap.get(`${this.getId()}-${tilesContainerMenuItems.SHOW_MORE}`) as MenuItem,
|
|
551
|
+
showFullScreenButton,
|
|
552
|
+
fullScreenText
|
|
553
|
+
);
|
|
554
|
+
this._getInsightsContainer()?.updateActionButton(
|
|
555
|
+
this._controlMap.get(`${this.getId()}-${tilesContainerActionButtons.SHOW_MORE}`) as Button,
|
|
556
|
+
showFullScreenButton,
|
|
557
|
+
fullScreenText
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Retrieves the InsightsContainer instance associated with this TilesPanel.
|
|
565
|
+
*
|
|
566
|
+
* @private
|
|
567
|
+
* @returns {InsightsContainer} The InsightsContainer instance.
|
|
568
|
+
*/
|
|
569
|
+
private _getInsightsContainer(): InsightsContainer {
|
|
570
|
+
if (!this.insightsContainer) {
|
|
571
|
+
this.insightsContainer = this.getParent() as InsightsContainer;
|
|
572
|
+
}
|
|
573
|
+
return this.insightsContainer;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Retrieves the menu items for the container.
|
|
578
|
+
*
|
|
579
|
+
* @private
|
|
580
|
+
* @returns {MenuItem[]} An array of MenuItem instances.
|
|
581
|
+
*/
|
|
582
|
+
public getContainerMenuItems(): MenuItem[] {
|
|
583
|
+
if (!this._containerMenuItems) {
|
|
584
|
+
const containerShowMore = createShowMoreMenuItem(this, tilesContainerMenuItems.SHOW_MORE, "containerTilesShowMore");
|
|
585
|
+
this._controlMap.set(`${this.getId()}-${tilesContainerMenuItems.SHOW_MORE}`, containerShowMore);
|
|
586
|
+
this._containerMenuItems = [containerShowMore];
|
|
587
|
+
}
|
|
588
|
+
return this._containerMenuItems;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Retrieves the action buttons for the container.
|
|
593
|
+
*
|
|
594
|
+
* @private
|
|
595
|
+
* @returns {Button[]} An array of Button instances.
|
|
596
|
+
*/
|
|
597
|
+
public getContainerActionButtons(): Button[] {
|
|
598
|
+
if (!this._containerActionButtons) {
|
|
599
|
+
this._containerActionButtons = [];
|
|
600
|
+
|
|
601
|
+
const containerFullScreenActionButton = createShowMoreActionButton(
|
|
602
|
+
this,
|
|
603
|
+
tilesContainerActionButtons.SHOW_MORE,
|
|
604
|
+
"containerTilesShowMore"
|
|
605
|
+
);
|
|
606
|
+
if (containerFullScreenActionButton) {
|
|
607
|
+
this._controlMap.set(`${this.getId()}-${tilesContainerActionButtons.SHOW_MORE}`, containerFullScreenActionButton);
|
|
608
|
+
this._containerActionButtons.push(containerFullScreenActionButton);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
return this._containerActionButtons;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
/**
|
|
615
|
+
* Toggles the visibility of the header actions.
|
|
616
|
+
*
|
|
617
|
+
* @param {boolean} bShow - Whether to show or hide the header actions.
|
|
618
|
+
* @private
|
|
619
|
+
*/
|
|
620
|
+
private _toggleHeaderActions(bShow: boolean) {
|
|
621
|
+
(this.getAggregation("menuItems") as MenuItem[])?.forEach((menuItem) => {
|
|
622
|
+
this._getInsightsContainer()?.toggleMenuListItem(menuItem, bShow);
|
|
623
|
+
});
|
|
624
|
+
(this.getAggregation("actionButtons") as Button[])?.forEach((actionButton) =>
|
|
625
|
+
this._getInsightsContainer()?.toggleActionButton(actionButton, bShow)
|
|
626
|
+
);
|
|
627
|
+
}
|
|
628
|
+
}
|