@sapui5/sap.cux.home 1.141.0 → 1.142.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/.library +4 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +6 -6
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -6
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +6 -1
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +7 -1
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +48 -34
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +362 -265
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +374 -254
- package/src/sap/cux/home/AppsContainer.d.ts +5 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +33 -18
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +32 -15
- package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +8 -2
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +10 -3
- package/src/sap/cux/home/BaseContainer.d.ts +9 -1
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +36 -6
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +33 -6
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
- package/src/sap/cux/home/BasePanel.d.ts +7 -0
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +20 -0
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +16 -0
- package/src/sap/cux/home/CardsContainer.d.ts +108 -0
- package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/CardsContainer.js +207 -0
- package/src/sap/cux/home/CardsContainer.js.map +1 -0
- package/src/sap/cux/home/CardsContainer.ts +202 -0
- package/src/sap/cux/home/CardsPanel.d.ts +47 -59
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +405 -326
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +223 -201
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +17 -7
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +18 -6
- package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
- package/src/sap/cux/home/ErrorPanel.js +11 -16
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +7 -19
- package/src/sap/cux/home/FavAppPanel.d.ts +1 -12
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +354 -414
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +21 -66
- package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.js +5 -1
- package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
- package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +11 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +22 -8
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +22 -7
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +8 -0
- package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js +15 -0
- package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +11 -0
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +287 -57
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/Layout.d.ts +3 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +49 -8
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +59 -8
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +379 -63
- package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -18
- package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
- package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
- package/src/sap/cux/home/NewsContainer.js.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +31 -120
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -1
- package/src/sap/cux/home/NewsPanel.d.ts +17 -0
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +100 -69
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +61 -36
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +216 -81
- package/src/sap/cux/home/Page.d.ts.map +1 -1
- package/src/sap/cux/home/Page.js +4 -1
- package/src/sap/cux/home/Page.js.map +1 -1
- package/src/sap/cux/home/Page.ts +2 -0
- package/src/sap/cux/home/PagePanel.d.ts +1 -1
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +19 -11
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +26 -20
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +6 -3
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
- package/src/sap/cux/home/PagesContainer.d.ts +72 -0
- package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
- package/src/sap/cux/home/PagesContainer.js +333 -0
- package/src/sap/cux/home/PagesContainer.js.map +1 -0
- package/src/sap/cux/home/PagesContainer.ts +179 -0
- package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +6 -0
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +5 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
- package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
- package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
- package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SituationPanel.js +7 -2
- package/src/sap/cux/home/SituationPanel.js.map +1 -1
- package/src/sap/cux/home/SituationPanel.ts +2 -0
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +19 -1
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +17 -2
- package/src/sap/cux/home/TilesContainer.d.ts +111 -0
- package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/TilesContainer.js +218 -0
- package/src/sap/cux/home/TilesContainer.js.map +1 -0
- package/src/sap/cux/home/TilesContainer.ts +216 -0
- package/src/sap/cux/home/TilesPanel.d.ts +22 -52
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +194 -168
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +167 -157
- package/src/sap/cux/home/ToDoPanel.d.ts +1 -0
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +64 -68
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +48 -36
- package/src/sap/cux/home/ToDosContainer.js +3 -3
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +32 -12
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_da.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_de.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_en.properties +19 -3
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +21 -5
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +21 -5
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_es.properties +19 -2
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_et.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_id.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_it.properties +23 -7
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_no.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +19 -3
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_th.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +20 -4
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +18 -2
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +18 -2
- package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -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 +6 -0
- package/src/sap/cux/home/interface/CardsInterface.d.ts +6 -0
- package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.ts +6 -1
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
- package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
- package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +7 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +10 -5
- package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
- package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +22 -0
- package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +4 -45
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
- package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
- package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
- package/src/sap/cux/home/themes/base/library.source.less +2 -1
- package/src/sap/cux/home/utils/BatchHelper.d.ts +1 -0
- package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.js +7 -2
- package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
- package/src/sap/cux/home/utils/BatchHelper.ts +8 -1
- package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
- package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.js +36 -1
- package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
- package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
- package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.js +28 -0
- package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
- package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
- package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
- package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PageManager.js +6 -6
- package/src/sap/cux/home/utils/PageManager.js.map +1 -1
- package/src/sap/cux/home/utils/PageManager.ts +6 -5
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +150 -151
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
- package/ui5.yaml +1 -0
- package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
- package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
- package/src/sap/cux/home/InsightsContainer.js +0 -459
- package/src/sap/cux/home/InsightsContainer.js.map +0 -1
- package/src/sap/cux/home/InsightsContainer.ts +0 -489
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","ColorPalette","ColorPalettePopover","CustomListItem","Dialog","HBox","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","Input","Label","List","MessageBox","MessageStrip","MessageToast","NavContainer","ObjectIdentifier","Page","Popover","ScrollContainer","SearchField","StandardListItem","Text","Title","Toolbar","ToolbarSpacer","VBox","sap_m_library","Event","Element","EventBus","Icon","sap_ui_core_library","MessageType","Parameters","SimpleForm","sap_ui_layout_library","Config","Container","MyHomeImport","PageRuntime","___BaseApp","__BaseAppPersPanel","__Group","__MenuItem","__RecommendedAppPanel","___utils_Accessibility","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_InsightsUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","ButtonType","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","ListType","_catch","recover","PlacementType","_finallyRethrows","finalizer","dnd","form","ActionsPopover","BaseAppPersPanel","Group","MenuItem","RecommendedAppPanel","checkPanelExists","getInvisibleText","DEFAULT_BG_COLOR","END_USER_COLORS","MYAPPS_SECTION_ID","MYHOME_PAGE_ID","getLeanURL","recycleId","DeviceType","addFESRId","addFESRSemanticStepName","sortMenuItems","_showAddApps","last","favouritesMenuItems","tilesPanelName","insightsConatinerlName","sortedMenuItems","CREATE_GROUP","ADD_APPS","ADD_FROM_INSIGHTS","FavAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","groups","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","_isInitialLoad","_updateAppColorPersonalization","personalizations","updateConfig","visualization","color","appId","oldAppId","persConfig","sourceGroupId","sectionId","isSourceGroupDefault","isDefaultSection","personalizationIndex","_getPersonalizationIndex","isRecentlyAddedApp","BGColor","isSection","init","_init","_this2","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_createActionButtons","_createHeaderMenuItems","appsWrapper","_generateAppsWrapper","addDragDropConfigTo","event","_onFavItemDrop","_handleKeyboardMoveApp","DropPosition","OnOrBetween","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aSections","groupsPersInfo","groupInfo","Promise","resolve","addAppsAndSections","_importdone","getParent","_refreshAllPanels","setImportButtonVisibility","attachPersistDialog","_selectedGroupId","_showGroupDetailDialog","document","addEventListener","_resetCutElement","stateData","status","publish","_addAppsAndSections","sections","importedPersonalizations","_this3","aPromise","_getAppPersonalization","aPersonalization","_temp5","setFavAppsPersonalization","reduce","chain","current","updateDefaultSectionPersonalization","_temp4","section","sectionViz","visualizations","_temp3","_temp2","filteredPersonalizations","filterPersonalizations","concat","_temp","addSectionViz","appManagerInstance","_getSections","sectionIndex","findIndex","n","addSection","sectionProperties","title","visible","_filterPersonalizations","newSectionId","aAuthPers","oPers","aSectionViz","oViz","find","oSectionViz","targetURL","_updateDefaultSectionPersonalization","_this4","defaultSection","oSection","forEach","_addSectionViz","sectionsViz","sSectionId","_this5","promiseChain","_exit","_temp7","_result","_addVisualization","_temp6","isBookmark","targetSection","moveConfig","sourceSectionIndex","indexOf","sourceVisualizationIndex","targetSectionIndex","targetVisualizationIndex","_this5$_addVisualizat","loadApps","_loadApps","_this6","fetchFavVizs","favoriteVisualizations","_temp9","container","_createAddFromInsTilesMenuItem","_updateContainerHeader","isPhone","getDeviceType","Mobile","destroyAggregation","groupVisualizations","filter","map","groupVisualization","menuItems","_getGroupActions","_generateGroups","_setGroups","appVisualizations","appVisualization","index","_getAppActions","undefined","generateApps","setApps","_setGroupDetailDialogApps","toggleMenuListItem","_createGroupMenuItem","getApps","_temp8","_switchToRecommendedIfNoFavApps","_this7","_temp1","panels","getContent","recommendedPanel","panel","_temp0","isSupported","refreshPanel","menuItemId","getId","_controlMap","get","addInsightsMenuItem","icon","press","_handleAddFromInsights","_menuItems","addAggregation","_sortMenuItems","set","panelMenuItems","getAggregation","removeAllAggregation","menuItem","bgColor","key","group","number","badge","groupId","_handleGroupPress","oMenuItem","getGroupId","isUngroupedApp","appActions","selectColorMenuItem","getKey","Navigation","_openColorPopover","_getAllowedMoveGroups","moveToMenuItem","_openMoveToGroupPopover","createGroupMenuItem","source","getSource","app","_openCreateGroupDialog","removeFromMyHomeMenuItem","_handleRemove","removeFromGroupMenuItem","_handleMoveToGroup","renameGroupMenuItem","_onRenameGroup","removeAllAppsMenuItem","_handleUngroupApps","groupActions","isPresetSection","deleteGroupMenuItem","_onDeleteGroup","_this8","_actionButtons","addAppsBtn","tooltip","text","navigateToAppFinder","actionButton","_validateAppsMigration","isImportEnabled","_createImportButton","_importButton","_openImportAppsDialog","insertAggregation","_setImportButtonVisibility","bVisible","_this9","setImportEnabled","setVisible","addAppsMenuItem","item","_getDragDropInfo","appGroupId","_this0","dragTile","getParameter","dropTile","dropPosition","dropControl","dragItemIndex","indexOfItem","dropItemIndex","dragItem","_getTileItem","dropItem","dragDropInfo","_temp12","_temp11","_adjustAppDragDropInfo","_temp10","_adjustGroupDragDropInfo","_this1","isUpdated","dragApp","dropApp","all","getVisualization","getUrl","dragVisualization","dropVisualization","RelativeDropPosition","Before","After","tile","getItems","tileGroupId","data","_getGroup","_this10","dropGroupIndex","lastGroupIndex","_this11","_temp15","removeStyleClass","_temp14","On","_handleOnItemDrop","refresh","_temp13","_setBusy","_handleItemsReorder","_this12","_temp16","targetGroupId","_this13","isDragItemGroup","getMetadata","getName","isDropItemGroup","_temp18","drapApp","moveVisualization","visualizationIndex","_temp17","moveSection","_navigateToAppFinder","getServiceAsync","navigationService","navigationObject","pageID","sectionID","navigate","shellHash","JSON","stringify","error","warning","Error","message","pageRuntime","onImportDialogPress","skipAppsSelection","createGroupDialog","_generateCreateGroupDialog","destroyItems","tiles","appCopy","clone","_onPress","_highlightApp","_getAppTile","_setAggregation","fireEvent","_updateSelectedAppCount","open","_closeCreateGroupDialog","close","_resetCreateGroupDialog","navContainer","_generateCreateGroupNavContainer","groupNameInput","searchField","setValue","to","getInitialPage","_setNoAppsSelectedError","_selectedGroupColor","_toggleNavButton","nextBtn","backBtn","createBtn","currentPageIndex","indexOfPage","getCurrentPage","getPages","_validateGroupName","_generateCreateGroupAppsPage","_highlightSelectedApps","back","_onPressGroupCreate","content","escapeHandler","contentHeight","contentWidth","buttons","addStyleClass","selectedApp","oTile","bIsSelected","hasStyleClass","oScrollContainer","_generateAppsScrollContainer","splice","oApp","toggleStyleClass","setHeight","layout","columnSize","gap","vertical","height","oAppsCountContol","setText","initialPage","pages","_generateCreateGroupMainPage","width","required","liveChange","showHeader","enableScrolling","backgroundDesign","items","SimpleFormLayout","ResponsiveGridLayout","labelSpanS","labelSpanM","colors","oColor","colorSelect","_onColorSelect","_onCreateAppSearch","showIcon","_generateCreateGroupErrorMsg","illustrationSize","Base","description","_getLegendColor","messageStrip","groupName","getValue","trim","setValueState","setValueStateText","selectedApps","tilesContainer","some","searchQuery","searchExpression","RegExp","test","getHeader","filteredTiles","getVisible","hasFilteredApps","_this14","_temp21","_temp20","_temp19","_createGroup","groupColor","_getGroupColor","show","of","offset","err","_wasThrown","_result2","params","_this15","getSectionVisualizations","sectionVisualizations","selectedVisualizations","sectionVisualization","url","viz","visualizationsToBeDeleted","duplicateVisualizationIds","duplicateApps","removeVisualizations","vizIds","_updateAppPersonalization","_updateGroupPersonalization","defaultColor","firstApp","setDefaultColor","getBgColor","colorPopoverId","_currentItem","colorPopover","showDefaultColorButton","showMoreColorsButton","showRecentColorsSection","_closeActionsPopover","selectedColor","_handleColorSelect","_oPopover","setPlacement","HorizontalPreferredRight","openBy","_this16","_temp23","isGroupedApp","_refreshGroupDetailDialog","_applyUngroupedTileColor","_temp22","groupIconControl","setColor","allowedMoveGroups","allowedMoveGroup","busy","_generateGroupDetailDialog","_generateAddFromInsightsDialog","oControl","setBusy","BaseAppPersPanel.prototype.setBusy.call","sourceGroup","popoverId","list","moveToGroupPopover","itemPress","placement","removeAllItems","targetGroup","addItem","getTitle","_this17","lastAppInGroup","actionText","messageIcon","QUESTION","WARNING","actions","Action","CANCEL","emphasizedAction","onClose","action","_temp25","_temp24","_removeApp","_closeGroupDetailDialog","_wasThrown2","_result3","_this18","_temp27","_deleteGroup","_temp26","_deletePersonalization","_this19","isLastAppInGroup","_temp28","confirmationMessage","confirmationTitle","_moveAppAndHandleGroupChanges","_this20","sTargetGroupTile","_temp31","_moveAppToGroup","_temp30","sMsg","_temp29","_wasThrown3","_result4","updatedApp","isRemove","groupApps","updatedAppIndex","groupApp","destroy","setBackgroundColor","_this21","sourceVisualization","isTargetGroupDefault","_temp36","_temp35","_temp34","_moveAppToDefaultGroup","_temp33","_temp32","_removeDuplicateVisualizations","_this22","_temp37","_this23","vizIdsToBeDeleted","_temp38","_ungroupApps","_this24","deleteAction","moveAppAction","_temp39","_this25","_temp42","updatedSections","_temp41","_temp40","preset","_wasThrown4","_result5","editMode","_this26","dialog","name","_setGroupNameControl","_this27","_temp43","_applyGroupedAppsPersonalization","_dispatchAppsLoadedEvent","_applyTilesPersonalization","src","size","oInvisibleText","oGroupNameInput","ariaLabelledBy","onsapfocusleave","_onGroupEditName","endButton","customHeader","oPopover","groupDetailDialog","destroyApps","updatedTitle","_this28","_temp45","oldTitle","_temp44","_renameGroup","pagesService","pageIndex","getPageIndex","getModel","getProperty","groupIndex","_temp46","renameSection","groupTitle","groupTitleControl","groupInputControl","setInitialFocus","setAddBtnEnabled","selectedItems","_getSelectedInsights","setEnabled","getAppFinderBtn","btnType","appsAppFinder","_closeAddFromInsightsDialog","Default","mode","selectionChange","_addFromInsights","enabled","addStaticTiles","wrapping","justifyContent","alignItems","Transparent","_this29","_getInsightTilesToAdd","appsToAdd","_generateInsightListItems","listItems","backgroundColor","subtitle","vizId","_this30","fetchInsightApps","insightsApps","favoriteApps","insightsApp","isCount","isSmartBusinessTile","iAppIndex","favoriteApp","_filterDuplicateVizs","removeSelections","getSelectedItems","_this31","_temp48","_temp47","selectedItem","addVisualization","updateConfigs","_this32","_updateMoveAppPersonalization","sourcePersonalizationIndex","newPersonalization","iTargetPersonalizationIndex","_this33","updatedPersonalization","appPersonalization","personalization","addBookMark","_this34","_temp49","deleteSection","personalizationConfig","_this35","_this36","currentItem","closestTo","firstElementChild","_temp51","metaKey","ctrlKey","_cutApp","$","css","_oMoreIcon","_temp50","dragDropEvent","draggedControl","droppedControl","appsWrapperId","includes","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription","setIllustrationSize","ExtraSmall","setIllustrationType","AddingColumns","addAdditionalContent"],"sources":["FavAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport ColorPalette, { ColorPalette$ColorSelectEvent } from \"sap/m/ColorPalette\";\nimport ColorPalettePopover from \"sap/m/ColorPalettePopover\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport Input from \"sap/m/Input\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport NavContainer from \"sap/m/NavContainer\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Page from \"sap/m/Page\";\nimport Popover from \"sap/m/Popover\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport SearchField from \"sap/m/SearchField\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport VBox from \"sap/m/VBox\";\nimport { ButtonType, ListType, PlacementType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport { dnd } from \"sap/ui/core/library\";\nimport MessageType from \"sap/ui/core/message/MessageType\";\nimport Parameters from \"sap/ui/core/theming/Parameters\";\nimport SimpleForm from \"sap/ui/layout/form/SimpleForm\";\nimport { form } from \"sap/ui/layout/library\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport MyHomeImport from \"sap/ushell/components/pages/MyHomeImport\";\nimport PageRuntime from \"sap/ushell/components/pages/controller/PageRuntime.controller\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport Pages from \"sap/ushell/services/Pages\";\nimport { IExportData } from \"./AdvancedSettingsPanel\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { ActionsPopover } from \"./BaseApp\";\nimport BaseAppPanel from \"./BaseAppPanel\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group, { Group$PressEvent } from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport RecommendedAppPanel from \"./RecommendedAppPanel\";\nimport {\n\tIAppPersonalization,\n\tIAppPersonalizationConfig,\n\tICustomVisualization,\n\tIDragDropInfo,\n\tISection,\n\tISectionAndVisualization,\n\tIUpdatePersonalizationConfig,\n\tIVisualization\n} from \"./interface/AppsInterface\";\nimport { checkPanelExists, getInvisibleText } from \"./utils/Accessibility\";\nimport { IMoveConfig } from \"./utils/AppManager\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, MYAPPS_SECTION_ID, MYHOME_PAGE_ID } from \"./utils/Constants\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName } from \"./utils/FESRUtil\";\nimport { sortMenuItems } from \"./utils/InsightsUtils\";\nconst _showAddApps = () => {\n\treturn (Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) as boolean;\n};\n\nexport enum favouritesMenuItems {\n\tCREATE_GROUP = \"createGrpMenuBtn\",\n\tADD_APPS = \"addAppsMenuBtn\",\n\tADD_FROM_INSIGHTS = \"addInsightsMenuBtn\"\n}\n\nconst tilesPanelName: string = \"sap.cux.home.TilesPanel\";\nconst insightsConatinerlName: string = \"sap.cux.home.InsightsContainer\";\nconst sortedMenuItems: (favouritesMenuItems | string)[] = [\n\tfavouritesMenuItems.CREATE_GROUP,\n\tfavouritesMenuItems.ADD_APPS,\n\tfavouritesMenuItems.ADD_FROM_INSIGHTS,\n\t\"settings\"\n];\n\n/**\n *\n * Provides the FavAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FavAppPanel\n */\nexport default class FavAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tprivate _selectedGroupColor: string | undefined;\n\tprivate _selectedGroupId: string | undefined;\n\tprivate _currentItem!: App | Group;\n\tprivate _cutApp: GenericTile | undefined;\n\tprivate oEventBus!: EventBus;\n\tprivate _importButton!: Button;\n\tprivate _createGroupMenuItem!: MenuItem;\n\tprivate _isInitialLoad = true;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Favorite apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Group aggregation for Favorite apps\n\t\t\t */\n\t\t\tgroups: { type: \"sap.cux.home.Group\", singularName: \"group\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new favorite app panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"favApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"favoritesTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"favAppsInfo\"));\n\t\t//Setup Action Buttons\n\t\tvoid this._createActionButtons();\n\t\t//Setup Menu Items\n\t\tthis._createHeaderMenuItems();\n\t\t//add drag and drop config\n\t\tconst appsWrapper = this._generateAppsWrapper();\n\t\tif (appsWrapper) {\n\t\t\tthis.addDragDropConfigTo(\n\t\t\t\tappsWrapper,\n\t\t\t\t(event) => this._onFavItemDrop(event),\n\t\t\t\t(event: KeyboardEvent) => this._handleKeyboardMoveApp(event),\n\t\t\t\tdnd.DropPosition.OnOrBetween\n\t\t\t);\n\t\t}\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"appsImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tconst aSections = ((oData as IExportData)?.apps as ISectionAndVisualization[]) || [];\n\t\t\t\tconst groupsPersInfo = (oData as IExportData)?.groupInfo || [];\n\n\t\t\t\tawait this.addAppsAndSections(aSections, groupsPersInfo);\n\t\t\t\tthis._importdone();\n\t\t\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"resetImported\",\n\t\t\tasync () => {\n\t\t\t\tawait this.setImportButtonVisibility(true);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.attachPersistDialog(() => {\n\t\t\t// if while navigating to different page, a group detail dialog was open, then while navigating back group detail dialog should be in open state.\n\t\t\tif (this._selectedGroupId) {\n\t\t\t\tvoid this._showGroupDetailDialog(this._selectedGroupId);\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener(\"click\", (event) => this._resetCutElement(event));\n\t\tdocument.addEventListener(\"keydown\", (event) => this._resetCutElement(event));\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"appsImported\", stateData);\n\t}\n\n\t/**\n\t * Checks and import apps and groups\n\t * @private\n\t */\n\tprivate async addAppsAndSections(sections: ISectionAndVisualization[], importedPersonalizations: IAppPersonalization[]) {\n\t\tlet aPromise: (() => Promise<void>)[] = [];\n\t\tlet aPersonalization = await this._getAppPersonalization();\n\n\t\tfor (const section of sections) {\n\t\t\tconst sectionViz = section.visualizations as IVisualization[];\n\t\t\tif (sectionViz?.length) {\n\t\t\t\tif (section.default || section.id === MYAPPS_SECTION_ID) {\n\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\treturn section.default ? this.addSectionViz(sectionViz) : this.addSectionViz(sectionViz, MYAPPS_SECTION_ID);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\t\t\t\t// If Section exists, add visualization to existing section else create a new section with same sectionId\n\t\t\t\t\tconst sectionIndex = sections.findIndex((n) => n.id === section.id);\n\t\t\t\t\tif (sectionIndex > -1) {\n\t\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\t\treturn this.addSectionViz(sectionViz, section.id);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\t\treturn this.appManagerInstance.addSection({\n\t\t\t\t\t\t\t\tsectionIndex: sections.length,\n\t\t\t\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\t\t\t\tid: section.id,\n\t\t\t\t\t\t\t\t\ttitle: section.title,\n\t\t\t\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\t\t\t\tvisualizations: sectionViz\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst filteredPersonalizations = this.filterPersonalizations(importedPersonalizations, section);\n\t\t\t\taPersonalization = aPersonalization.concat(filteredPersonalizations);\n\t\t\t}\n\t\t}\n\n\t\t//update personalization\n\t\tawait this.setFavAppsPersonalization(aPersonalization);\n\t\treturn aPromise\n\t\t\t.reduce((chain, current) => {\n\t\t\t\treturn chain.then(() => current());\n\t\t\t}, Promise.resolve())\n\t\t\t.then(() => {\n\t\t\t\treturn this.updateDefaultSectionPersonalization(aPersonalization);\n\t\t\t});\n\t}\n\n\t/**\n\t * Filters personalization data for specific section\n\t *\n\t * @private\n\t * @param {IAppPersonalization[]} personalizations - array of user personalizations\n\t * @param {ISectionAndVisualization} section - section for which personalization data needs to be filtered\n\t * @param {String} newSectionId - new section id\n\t * @returns {IAppPersonalization[]} resolves to an array of authorized personalization for a given section\n\t */\n\tprivate filterPersonalizations(personalizations: IAppPersonalization[], section: ISectionAndVisualization, newSectionId?: string) {\n\t\t//filter personalization data based on section visualizations\n\t\tconst filteredPersonalizations = personalizations.reduce(function (aAuthPers: IAppPersonalization[], oPers: IAppPersonalization) {\n\t\t\tif (oPers.sectionId === section.id) {\n\t\t\t\tconst aSectionViz = section.visualizations;\n\t\t\t\tconst oViz = aSectionViz?.find((oSectionViz) => {\n\t\t\t\t\treturn oSectionViz.targetURL === oPers.appId;\n\t\t\t\t});\n\t\t\t\tif (oViz || oPers.isSection) {\n\t\t\t\t\toPers.sectionId = newSectionId || section.id;\n\t\t\t\t\taAuthPers.push(oPers);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn aAuthPers;\n\t\t}, []);\n\t\treturn filteredPersonalizations;\n\t}\n\n\t/**\n\t * Updates section id of recently added apps to default section in the persionalization array\n\t *\n\t * @private\n\t * @param {IAppPersonalization} aPersonalization - array of personlizations\n\t * @returns {IAppPersonalization[]} returns an array of personlizations\n\t */\n\tprivate async updateDefaultSectionPersonalization(aPersonalization: IAppPersonalization[]) {\n\t\t//update recently added app section id in personalization\n\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\tlet defaultSection = sections.find((oSection) => {\n\t\t\treturn oSection.default;\n\t\t});\n\t\tif (defaultSection) {\n\t\t\taPersonalization.forEach((oPers) => {\n\t\t\t\tif (oPers.isRecentlyAddedApp) {\n\t\t\t\t\toPers.sectionId = defaultSection.id;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn aPersonalization;\n\t}\n\n\t/**\n\t * Add section visualizations\n\t *\n\t * @param {Array} sectionsViz - array of section visualizations\n\t * @param {String} sSectionId - section id for which visualizations needs to be added\n\t * @param {Array} sections - array of sections\n\t * @returns {String} resolves to visualizations being added to given section\n\t */\n\tpublic async addSectionViz(sectionsViz: IVisualization[], sSectionId?: string) {\n\t\treturn sectionsViz.reduce((promiseChain, oViz: IVisualization) => {\n\t\t\treturn promiseChain.then(async () => {\n\t\t\t\t// in case of bookmark, move the viz to target section\n\t\t\t\tif (oViz.isBookmark && sSectionId) {\n\t\t\t\t\tconst sections = await this.appManagerInstance._getSections();\n\t\t\t\t\tconst defaultSection = sections.find((section) => section.default);\n\t\t\t\t\tconst targetSection = sections.find((section) => section.id === sSectionId);\n\t\t\t\t\tif (defaultSection && targetSection) {\n\t\t\t\t\t\tconst moveConfig = {\n\t\t\t\t\t\t\tsourceSectionIndex: sections.indexOf(defaultSection),\n\t\t\t\t\t\t\tsourceVisualizationIndex: defaultSection.visualizations!.length,\n\t\t\t\t\t\t\ttargetSectionIndex: sections.indexOf(targetSection),\n\t\t\t\t\t\t\ttargetVisualizationIndex: targetSection.visualizations!.length\n\t\t\t\t\t\t} as IMoveConfig;\n\t\t\t\t\t\treturn this._addVisualization({ visualization: oViz } as ICustomVisualization, sSectionId, moveConfig);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this._addVisualization({ visualization: oViz } as ICustomVisualization, sSectionId);\n\t\t\t});\n\t\t}, Promise.resolve());\n\t}\n\n\t/**\n\t * Fetch fav apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tconst favoriteVisualizations = await this.appManagerInstance.fetchFavVizs(true, false);\n\t\tconst isPhone = this.getDeviceType() === DeviceType.Mobile;\n\t\t//Create groups\n\t\tthis.destroyAggregation(\"groups\", true);\n\t\tconst groupVisualizations = favoriteVisualizations\n\t\t\t.filter((visualization) => visualization.isSection)\n\t\t\t.map((groupVisualization) => {\n\t\t\t\treturn {\n\t\t\t\t\t...groupVisualization,\n\t\t\t\t\tmenuItems: this._getGroupActions(groupVisualization)\n\t\t\t\t};\n\t\t\t});\n\t\tconst groups = this._generateGroups(groupVisualizations);\n\t\tthis._setGroups(groups);\n\n\t\t//Create apps\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tconst appVisualizations = favoriteVisualizations\n\t\t\t.filter((visualization) => !visualization.isSection)\n\t\t\t.map((appVisualization, index) => {\n\t\t\t\treturn {\n\t\t\t\t\t...appVisualization,\n\t\t\t\t\tmenuItems: this._getAppActions(undefined, index, appVisualization)\n\t\t\t\t};\n\t\t\t});\n\t\tconst apps = this.generateApps(appVisualizations);\n\t\tthis.setApps(apps);\n\t\tif (this._selectedGroupId) {\n\t\t\tvoid this._setGroupDetailDialogApps(this._selectedGroupId);\n\t\t}\n\t\tconst container = this.getParent() as BaseContainer;\n\t\tcontainer.toggleMenuListItem(this._createGroupMenuItem, this.getApps().length > 0);\n\t\tif (!isPhone) {\n\t\t\tawait this._switchToRecommendedIfNoFavApps(apps, groups);\n\t\t}\n\t\tif (checkPanelExists(container, insightsConatinerlName, tilesPanelName)) {\n\t\t\tthis._createAddFromInsTilesMenuItem(favouritesMenuItems.ADD_FROM_INSIGHTS);\n\t\t}\n\t\t//updating header once the visibility for createGrp menu item is set according to the no. of apps\n\t\tcontainer._updateContainerHeader(container);\n\t}\n\n\t/**\n\t * Switches to the \"recommendedApps\" tab if no favorite apps or groups exist during the initial load.\n\t * Ensures this logic runs only once.\n\t *\n\t * @private\n\t * @param {App[]} apps - The list of favorite apps.\n\t * @param {Group[]} groups - The list of favorite app groups.\n\t */\n\tprivate async _switchToRecommendedIfNoFavApps(apps: App[], groups: Group[]): Promise<void> {\n\t\tconst container = this.getParent() as AppsContainer;\n\t\tconst panels = container.getContent() as BaseAppPanel[];\n\t\tconst recommendedPanel = panels ? panels.find((panel) => panel instanceof RecommendedAppPanel) : null;\n\t\tif (this._isInitialLoad && [...apps, ...groups].length === 0 && recommendedPanel?.isSupported()) {\n\t\t\tcontainer.setProperty?.(\"selectedKey\", \"recommendedApps\");\n\t\t\tawait container.refreshPanel(recommendedPanel);\n\t\t}\n\t\tthis._isInitialLoad = false;\n\t}\n\n\t/**\n\t * Creates an \"Add from Insights Tiles\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createAddFromInsTilesMenuItem(id: string) {\n\t\tconst menuItemId = `${this.getId()}-${id}`;\n\t\tif (!this._controlMap.get(menuItemId)) {\n\t\t\tconst addInsightsMenuItem = new MenuItem(menuItemId, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addFromInsights\"),\n\t\t\t\ticon: \"sap-icon://duplicate\",\n\t\t\t\tpress: () => void this._handleAddFromInsights()\n\t\t\t});\n\t\t\taddFESRId(addInsightsMenuItem, \"staticTilesDialog\");\n\t\t\tthis._menuItems.push(addInsightsMenuItem);\n\t\t\tthis.addAggregation(\"menuItems\", addInsightsMenuItem);\n\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t\tthis._controlMap.set(menuItemId, addInsightsMenuItem as unknown as Control);\n\t\t}\n\t\treturn this._controlMap.get(menuItemId);\n\t}\n\n\t/**\n\t * Sorts the menu items based on the provided order.\n\t *\n\t * @private\n\t * @param {string[]} menuItems - The order of the menu items.\n\t */\n\tprivate _sortMenuItems(menuItems: string[]) {\n\t\tconst panelMenuItems = this.getAggregation(\"menuItems\") as MenuItem[];\n\t\tlet sortedMenuItems = sortMenuItems(menuItems, panelMenuItems);\n\t\tthis.removeAllAggregation(\"menuItems\");\n\t\tsortedMenuItems?.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t}\n\n\t/**\n\t * Creates and returns group instances for given group objects\n\t * @private\n\t * @param {object[]} aGroupObject - Array of group object.\n\t * @returns {sap.cux.home.Group[]} - Array of group instances\n\t */\n\tprivate _generateGroups(groupVisualizations: ISectionAndVisualization[]): Group[] {\n\t\treturn groupVisualizations.map((groupVisualization, index) => {\n\t\t\tconst bgColor =\n\t\t\t\ttypeof groupVisualization.BGColor === \"object\" && \"key\" in groupVisualization.BGColor\n\t\t\t\t\t? groupVisualization.BGColor.key\n\t\t\t\t\t: groupVisualization.BGColor;\n\t\t\tconst group = new Group(`${this.getId()}-group-${index}`, {\n\t\t\t\ttitle: groupVisualization.title,\n\t\t\t\tbgColor: bgColor,\n\t\t\t\tstatus: groupVisualization.status,\n\t\t\t\ticon: groupVisualization.icon,\n\t\t\t\tnumber: groupVisualization.badge,\n\t\t\t\tgroupId: groupVisualization.id,\n\t\t\t\tpress: this._handleGroupPress.bind(this)\n\t\t\t});\n\t\t\tgroupVisualization.menuItems?.forEach((oMenuItem) => {\n\t\t\t\tgroup.addAggregation(\"menuItems\", oMenuItem);\n\t\t\t});\n\t\t\treturn group;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple groups in the groups aggregation.\n\t * @private\n\t * @param {sap.cux.home.Group[]} groups - Array of groups.\n\t */\n\tprivate _setGroups(groups: Group[]) {\n\t\tgroups.forEach((group) => {\n\t\t\tthis.addAggregation(\"groups\", group, true);\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of actions available for app\n\t * @param {ssap.cux.home.Group} group - The group containing the app.\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - An array of menu items representing available actions for the app.\n\t */\n\tprivate _getAppActions(group?: Group, index?: number, appVisualization?: ICustomVisualization) {\n\t\tconst groupId = group?.getGroupId();\n\t\tconst defaultSection = appVisualization?.persConfig?.isDefaultSection;\n\t\tconst isUngroupedApp = !groupId;\n\t\tconst appActions = [];\n\t\tconst selectColorMenuItem = new MenuItem({\n\t\t\tid:\n\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t? recycleId(`_${groupId}--selectColorGroupAppMenuItem--${index}`)\n\t\t\t\t\t: recycleId(`_${this.getKey()}--selectColorAppMenuItem--${index}`),\n\t\t\ttitle: this._i18nBundle.getText(\"selectColor\"),\n\t\t\ttype: ListType.Navigation,\n\t\t\tpress: this._openColorPopover.bind(this)\n\t\t});\n\t\tappActions.push(selectColorMenuItem);\n\n\t\taddFESRId(selectColorMenuItem, \"changeColor\");\n\n\t\tif (this._getAllowedMoveGroups(groupId)?.length >= 1) {\n\t\t\tconst moveToMenuItem = new MenuItem({\n\t\t\t\tid:\n\t\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t\t? recycleId(`_${groupId}--moveToGroupAppMenuItem--${index}`)\n\t\t\t\t\t\t: recycleId(`_${this.getKey()}--moveToMenuItem--${index}`),\n\t\t\t\ttitle: this._i18nBundle.getText(\"moveTo\"),\n\t\t\t\ttype: ListType.Navigation,\n\t\t\t\tpress: (event) => this._openMoveToGroupPopover(event, group)\n\t\t\t});\n\t\t\tappActions.push(moveToMenuItem);\n\t\t\taddFESRId(moveToMenuItem, \"moveToGroup\");\n\t\t}\n\t\tif (isUngroupedApp) {\n\t\t\tconst createGroupMenuItem = new MenuItem(recycleId(`${this.getKey()}--createGroupMenuItem--${index}`), {\n\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\t\tthis._selectedApps = [app];\n\t\t\t\t\tthis._openCreateGroupDialog();\n\t\t\t\t}\n\t\t\t});\n\t\t\tappActions.push(createGroupMenuItem);\n\t\t\taddFESRId(createGroupMenuItem, \"createGroupDialog\");\n\t\t}\n\t\tconst removeFromMyHomeMenuItem = new MenuItem({\n\t\t\tid:\n\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t? recycleId(`_${groupId}--removeFromMyHomeGroupAppMenuItem--${index}`)\n\t\t\t\t\t: recycleId(`_${this.getKey()}--removeFromMyHomeMenuItem--${index}`),\n\t\t\ttitle: this._i18nBundle.getText(\"removeFromMyHome\"),\n\t\t\tpress: (event: Event) => {\n\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\tthis._handleRemove(app, group);\n\t\t\t}\n\t\t});\n\t\tappActions.push(removeFromMyHomeMenuItem);\n\t\taddFESRId(removeFromMyHomeMenuItem, \"removeFromMyHome\");\n\n\t\tif (!isUngroupedApp) {\n\t\t\tconst removeFromGroupMenuItem = new MenuItem({\n\t\t\t\tid: recycleId(`${this.getKey()}--removeFromGroupMenuItem--${index}`),\n\t\t\t\ttitle: this._i18nBundle.getText(\"removeFromGroup\"),\n\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\t\tvoid this._handleMoveToGroup(app, groupId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tappActions.push(removeFromGroupMenuItem);\n\t\t\taddFESRId(removeFromGroupMenuItem, \"ungroupApp\");\n\t\t}\n\n\t\treturn appActions;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected group\n\t * @private\n\t * @param {sap.cux.home.Group} group - Group\n\t * @returns {sap.cux.home.MenuItem[]} - An array of menu items representing available actions for the group.\n\t */\n\tprivate _getGroupActions(group: ISectionAndVisualization) {\n\t\tconst renameGroupMenuItem = new MenuItem(`id-${group.id}-renameGroup`, {\n\t\t\ttitle: this._i18nBundle.getText(\"renameGroup\"),\n\t\t\tpress: this._onRenameGroup.bind(this)\n\t\t});\n\t\taddFESRId(renameGroupMenuItem, \"renameGroup\");\n\t\tconst selectColorMenuItem = new MenuItem(`id-${group.id}-selectColor`, {\n\t\t\ttitle: this._i18nBundle.getText(\"selectColor\"),\n\t\t\ttype: ListType.Navigation,\n\t\t\tpress: this._openColorPopover.bind(this)\n\t\t});\n\t\taddFESRId(selectColorMenuItem, \"changeColor\");\n\t\tconst removeAllAppsMenuItem = new MenuItem(`id-${group.id}-removeAllApps`, {\n\t\t\ttitle: this._i18nBundle.getText(\"removeAllApps\"),\n\t\t\tpress: this._handleUngroupApps.bind(this, group)\n\t\t});\n\t\taddFESRId(removeAllAppsMenuItem, \"removeAllApps\");\n\t\tconst groupActions = [renameGroupMenuItem, selectColorMenuItem, removeAllAppsMenuItem];\n\t\tif (!group.isPresetSection) {\n\t\t\tconst deleteGroupMenuItem = new MenuItem(`id-${group.id}-delete`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"delete\"),\n\t\t\t\tpress: this._onDeleteGroup.bind(this)\n\t\t\t});\n\t\t\taddFESRId(deleteGroupMenuItem, \"deleteGroup\");\n\t\t\tgroupActions.push(deleteGroupMenuItem);\n\t\t}\n\t\treturn groupActions;\n\t}\n\n\t/**\n\t * Creates actions buttons for panel.\n\t * @private\n\t */\n\tprivate async _createActionButtons() {\n\t\tif (!this._actionButtons) {\n\t\t\tthis._actionButtons = [];\n\t\t\tif (_showAddApps()) {\n\t\t\t\tconst addAppsBtn = new Button(`${this.getId()}-addAppsBtn`, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttooltip: this._i18nBundle.getText(\"addAppsTooltip\"),\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\taddFESRId(addAppsBtn, \"addAppsBtn\");\n\t\t\t\tthis._actionButtons.push(addAppsBtn);\n\t\t\t}\n\t\t}\n\t\tthis._actionButtons.forEach((actionButton) => {\n\t\t\tthis.addAggregation(\"actionButtons\", actionButton);\n\t\t});\n\t\tconst isImportEnabled = await this._validateAppsMigration();\n\t\tif (isImportEnabled) {\n\t\t\tthis._createImportButton();\n\t\t}\n\t}\n\n\tprivate _createImportButton(): Button {\n\t\tif (!this._importButton) {\n\t\t\tthis._importButton = new Button(`${this.getId()}-importAppsBtn`, {\n\t\t\t\ttooltip: this._i18nBundle.getText(\"importAppsNow\"),\n\t\t\t\ttext: this._i18nBundle.getText(\"importAppsNow\"),\n\t\t\t\tpress: this._openImportAppsDialog.bind(this)\n\t\t\t});\n\t\t\taddFESRId(this._importButton, \"importAppsDialog\");\n\t\t\tthis._actionButtons.push(this._importButton);\n\t\t\tthis.insertAggregation(\"actionButtons\", this._importButton, 0);\n\t\t}\n\t\treturn this._importButton;\n\t}\n\n\tprivate async setImportButtonVisibility(bVisible: boolean): Promise<void> {\n\t\tawait MyHomeImport.setImportEnabled(bVisible);\n\t\tthis._createImportButton().setVisible(bVisible);\n\t}\n\n\t/**\n\t * Creates menu items for panel header.\n\t * @private\n\t */\n\tprivate _createHeaderMenuItems() {\n\t\tif (!this._menuItems) {\n\t\t\tthis._createGroupMenuItem = new MenuItem(`${this.getId()}-${favouritesMenuItems.CREATE_GROUP}`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\ticon: \"sap-icon://add\",\n\t\t\t\tpress: () => this._openCreateGroupDialog()\n\t\t\t});\n\t\t\tthis._menuItems = [this._createGroupMenuItem];\n\t\t\tif (_showAddApps()) {\n\t\t\t\tthis._menuItems.push(\n\t\t\t\t\tnew MenuItem(`${this.getId()}-${favouritesMenuItems.ADD_APPS}`, {\n\t\t\t\t\t\ttitle: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Assign FESR IDs based on menu items\n\t\t\taddFESRId(this._createGroupMenuItem, \"createGroupDialog\");\n\t\t\tconst addAppsMenuItem = this._menuItems.find((item) => item.getId() === `${this.getId()}-${favouritesMenuItems.ADD_APPS}`);\n\t\t\tif (addAppsMenuItem) {\n\t\t\t\taddFESRId(addAppsMenuItem, \"appsAppFinder\");\n\t\t\t}\n\t\t\tthis._menuItems.forEach((oMenuItem) => {\n\t\t\t\tthis.addAggregation(\"menuItems\", oMenuItem, true);\n\t\t\t});\n\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves drag and drop information from the given event.\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} event - The event containing drag and drop information.\n\t * @returns {Promise<IDragDropInfo>} The drag and drop information.\n\t */\n\tprivate async _getDragDropInfo(event: Event<DropInfo$DropEventParameters>, appGroupId?: string) {\n\t\tconst dragTile = event.getParameter?.(\"draggedControl\") as GenericTile,\n\t\t\tdropTile = event.getParameter?.(\"droppedControl\") as GenericTile,\n\t\t\tdropPosition = event.getParameter?.(\"dropPosition\"),\n\t\t\tdropControl = dragTile.getParent() as GridContainer,\n\t\t\tdragItemIndex = dropControl.indexOfItem(dragTile),\n\t\t\tdropItemIndex = dropControl.indexOfItem(dropTile),\n\t\t\tdragItem = this._getTileItem(dragTile, appGroupId),\n\t\t\tdropItem = this._getTileItem(dropTile, appGroupId);\n\n\t\tconst dragDropInfo: IDragDropInfo = {\n\t\t\tdragItem: dragItem!,\n\t\t\tdropItem: dropItem!,\n\t\t\tdropPosition: dropPosition as dnd.RelativeDropPosition,\n\t\t\tdropControl,\n\t\t\tdragItemIndex,\n\t\t\tdropItemIndex\n\t\t};\n\t\t//adjust drap drop info\n\t\tif (dragItemIndex !== dropItemIndex) {\n\t\t\tif (!(dragItem instanceof Group) && !(dropItem instanceof Group)) {\n\t\t\t\tawait this._adjustAppDragDropInfo(dragDropInfo, appGroupId);\n\t\t\t} else if (dragItem instanceof Group) {\n\t\t\t\tawait this._adjustGroupDragDropInfo(dragDropInfo);\n\t\t\t}\n\t\t}\n\t\treturn dragDropInfo;\n\t}\n\n\t/**\n\t * Adjusts apps drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information to adjust.\n\t * @returns {Promise<void>} A Promise that resolves when the adjustment is completed.\n\t */\n\tprivate async _adjustAppDragDropInfo(dragDropInfo: IDragDropInfo, appGroupId?: string) {\n\t\tlet isUpdated = false;\n\t\tconst dragApp = dragDropInfo.dragItem as App;\n\t\tconst dropApp = dragDropInfo.dropItem as App;\n\t\tconst [dragVisualization, dropVisualization] = await Promise.all([\n\t\t\tthis.appManagerInstance.getVisualization(dragApp.getUrl(), appGroupId),\n\t\t\tthis.appManagerInstance.getVisualization(dropApp.getUrl(), appGroupId)\n\t\t]);\n\t\tif (dragDropInfo.dropPosition === dnd.RelativeDropPosition.Before) {\n\t\t\t//let's say there are two apps a1, a2, if a1 is moved before a2, that essentailly means the drop item index is same as current item index, adjust the dropItemIndex accordingly\n\t\t\tif (dragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex - 1) {\n\t\t\t\tdragDropInfo.dropItemIndex--;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdragDropInfo.dragItemIndex < dragDropInfo.dropItemIndex &&\n\t\t\t\tdragVisualization?.persConfig?.sectionIndex === dropVisualization?.persConfig?.sectionIndex\n\t\t\t) {\n\t\t\t\tdragDropInfo.dropItemIndex--;\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t} else if (dragDropInfo.dropPosition === dnd.RelativeDropPosition.After) {\n\t\t\tif (dragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex + 1) {\n\t\t\t\tdragDropInfo.dropItemIndex++;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdragDropInfo.dragItemIndex > dragDropInfo.dropItemIndex &&\n\t\t\t\tdragVisualization?.persConfig?.sectionIndex === dropVisualization?.persConfig?.sectionIndex\n\t\t\t) {\n\t\t\t\tdragDropInfo.dropItemIndex++;\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isUpdated) {\n\t\t\tconst tile = (dragDropInfo.dropControl as GridContainer).getItems()[dragDropInfo.dropItemIndex] as GenericTile;\n\t\t\tconst app = this._getTileItem(tile, appGroupId);\n\t\t\tif (app) {\n\t\t\t\tdragDropInfo.dropItem = app;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _getTileItem(tile: GenericTile, appGroupId?: string) {\n\t\tconst tileGroupId = tile.data(\"groupId\") as string | undefined;\n\t\tif (tileGroupId) {\n\t\t\t//tile is a group\n\t\t\treturn this._getGroup(tileGroupId);\n\t\t} else {\n\t\t\tconst group = appGroupId ? this._getGroup(appGroupId) : null;\n\t\t\tconst apps = group ? group.getApps() : this.getApps();\n\t\t\treturn apps.find((app) => getLeanURL(app.getUrl()) === tile.getUrl());\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts app/group drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information to adjust.\n\t * @returns {Promise<void>} A Promise that resolves when the adjustment is completed.\n\t */\n\tprivate async _adjustGroupDragDropInfo(dragDropInfo: IDragDropInfo) {\n\t\tconst sections = await this.appManagerInstance._getSections();\n\t\tlet dropGroupIndex;\n\t\tdragDropInfo.dragItemIndex = sections.findIndex((section) => section.id === (dragDropInfo.dragItem as Group).getGroupId());\n\n\t\t//If dropped app is the first ungrouped app, put the group at the end\n\t\tif (!(dragDropInfo.dropItem instanceof Group)) {\n\t\t\tconst lastGroupIndex = (this.getAggregation(\"groups\") as Group[]).length;\n\t\t\tdragDropInfo.dropItemIndex =\n\t\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.Before &&\n\t\t\t\tdragDropInfo.dropItemIndex === lastGroupIndex &&\n\t\t\t\tdragDropInfo.dragItemIndex !== lastGroupIndex\n\t\t\t\t\t? lastGroupIndex + 1\n\t\t\t\t\t: dragDropInfo.dragItemIndex;\n\t\t} else {\n\t\t\tdropGroupIndex = sections.findIndex((section) => section.id === (dragDropInfo.dropItem as Group).getGroupId());\n\t\t\t//update the drop item with section index\n\t\t\tdragDropInfo.dropItemIndex = dropGroupIndex;\n\t\t}\n\n\t\t//let's say there are two groups g1, g2, if g1 is moved before g2, that essentailly means the drop item index is same as current item index, adjust the dropItemIndex accordingly\n\t\tif (\n\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.Before &&\n\t\t\tdragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex - 1\n\t\t) {\n\t\t\tdragDropInfo.dropItemIndex--;\n\t\t} else if (\n\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.After &&\n\t\t\t(dragDropInfo.dragItemIndex !== dragDropInfo.dropItemIndex || (dropGroupIndex && dragDropInfo.dropItemIndex >= dropGroupIndex))\n\t\t) {\n\t\t\tdragDropInfo.dropItemIndex++;\n\t\t}\n\t}\n\n\t/**\n\t * Handler for drop event of a favorite item.\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} event - The drop event containing information about the dropped item.\n\t * @returns {Promise<void>} A Promise that resolves when the drop event handling is completed.\n\t */\n\tprivate async _onFavItemDrop(event: Event<DropInfo$DropEventParameters>, appGroupId?: string) {\n\t\tconst dragTile = event.getParameter?.(\"draggedControl\") as GenericTile;\n\t\tconst dragDropInfo = await this._getDragDropInfo(event, appGroupId);\n\t\tconst { dragItemIndex, dropItemIndex, dropPosition, dragItem, dropItem } = dragDropInfo;\n\t\tif (dragItemIndex === dropItemIndex) return;\n\n\t\tif (dropPosition === dnd.RelativeDropPosition.On) {\n\t\t\tawait this._handleOnItemDrop(dragItem, dropItem);\n\t\t\tvoid this.refresh();\n\t\t} else if (dropPosition === dnd.RelativeDropPosition.After || dropPosition === dnd.RelativeDropPosition.Before) {\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._handleItemsReorder(dragDropInfo, appGroupId);\n\t\t\tawait this.refresh();\n\n\t\t\tif (appGroupId) {\n\t\t\t\tvoid this._setGroupDetailDialogApps(appGroupId);\n\t\t\t}\n\t\t\tthis._setBusy(false);\n\t\t}\n\n\t\tdragTile.removeStyleClass(\"sapMGTPressActive\");\n\t}\n\n\t/**\n\t * Handles the drop of an item onto another item.\n\t * If an app in dropped over another app, create group dialog is opened.\n\t * If an app is dropped over a group, app should be moved inside that group.\n\t * @private\n\t * @param {Group | App} dragItem - The item being dragged.\n\t * @param {Group | App} dropItem - The item onto which the dragItem is dropped.\n\t * @returns {Promise<void>} A Promise that resolves when the dropping of the item is completed.\n\t */\n\tprivate async _handleOnItemDrop(dragItem: Group | App, dropItem: Group | App) {\n\t\tif (dragItem instanceof Group) return;\n\n\t\tif (!(dropItem instanceof Group)) {\n\t\t\t//if both dragged and dropped items are apps, create group dialog is opened.\n\t\t\tconst dragApp = dragItem;\n\t\t\tconst dropApp = dropItem;\n\t\t\tthis._selectedApps = [dragApp, dropApp];\n\t\t\tthis._openCreateGroupDialog(true);\n\t\t} else {\n\t\t\t//if dragged item is an app and dropped item is a group, app should be moved into that group.\n\t\t\tconst targetGroupId = dropItem.getGroupId();\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._handleMoveToGroup(dragItem, undefined, targetGroupId);\n\t\t\tthis._setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Handles the reordering of items based on drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information.\n\t * @returns {Promise<void>} A Promise that resolves when the reordering is completed.\n\t */\n\tprivate async _handleItemsReorder(dragDropInfo: IDragDropInfo, appGroupId?: string) {\n\t\tconst { dragItem, dropItem, dragItemIndex, dropItemIndex } = dragDropInfo;\n\t\tconst isDragItemGroup = dragItem.getMetadata()?.getName() === \"sap.cux.home.Group\";\n\t\tconst isDropItemGroup = dropItem.getMetadata()?.getName() === \"sap.cux.home.Group\";\n\t\tif (!isDragItemGroup && !isDropItemGroup) {\n\t\t\tconst drapApp = dragItem as App;\n\t\t\tconst dropApp = dropItem as App;\n\t\t\tconst [dragVisualization, dropVisualization] = await Promise.all([\n\t\t\t\tthis.appManagerInstance.getVisualization(drapApp.getUrl(), appGroupId),\n\t\t\t\tthis.appManagerInstance.getVisualization(dropApp.getUrl(), appGroupId)\n\t\t\t]);\n\t\t\tawait this.appManagerInstance.moveVisualization({\n\t\t\t\tsourceSectionIndex: dragVisualization?.persConfig?.sectionIndex as number,\n\t\t\t\tsourceVisualizationIndex: dragVisualization?.persConfig?.visualizationIndex as number,\n\t\t\t\ttargetSectionIndex: dropVisualization?.persConfig?.sectionIndex as number,\n\t\t\t\ttargetVisualizationIndex: dropVisualization?.persConfig?.visualizationIndex as number\n\t\t\t});\n\t\t} else if (isDragItemGroup && isDropItemGroup) {\n\t\t\tawait this.appManagerInstance.moveSection(dragItemIndex, dropItemIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Navigates to the App Finder with optional group Id.\n\t * @async\n\t * @private\n\t * @param {string} [groupId] - Optional group Id\n\t */\n\tprivate async navigateToAppFinder(groupId?: string) {\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst navigationObject: { pageID: string; sectionID?: string } = {\n\t\t\tpageID: MYHOME_PAGE_ID\n\t\t};\n\t\tif (groupId) {\n\t\t\tnavigationObject.sectionID = groupId;\n\t\t}\n\t\tawait navigationService.navigate({\n\t\t\ttarget: {\n\t\t\t\tshellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Validates if import apps is enabled\n\t *\n\t *@returns {Promise} - resolves to boolean value (import is enabled/disabled)\n\t */\n\tprivate async _validateAppsMigration() {\n\t\ttry {\n\t\t\treturn await MyHomeImport.isImportEnabled();\n\t\t} catch (error: unknown) {\n\t\t\tLog.warning(error instanceof Error ? error.message : \"Error while checking if import apps is enabled\");\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate _openImportAppsDialog() {\n\t\tconst pageRuntime = new PageRuntime();\n\t\tpageRuntime.onImportDialogPress();\n\t}\n\n\t/**\n\t * Opens the create group dialog.\n\t * @private\n\t * @param {boolean} [skipAppsSelection=false] - Whether to skip the apps selection page.\n\t */\n\tprivate _openCreateGroupDialog(skipAppsSelection = false) {\n\t\tconst createGroupDialog = this._generateCreateGroupDialog(skipAppsSelection);\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer;\n\t\tappsWrapper.destroyItems();\n\t\tconst tiles = [...this.getApps()].map((app) => {\n\t\t\tconst appCopy = app.clone();\n\t\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy); // override app press behaviour to highlight app\n\t\t\treturn (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\t});\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tlet apps = this.getApps();\n\t\t(this.getParent() as AppsContainer).fireEvent(\"appsLoaded\", { apps, tiles });\n\t\tthis._updateSelectedAppCount();\n\t\tcreateGroupDialog.open();\n\t}\n\n\t/**\n\t * Closes the create group dialog.\n\t * @private\n\t */\n\tprivate _closeCreateGroupDialog() {\n\t\tconst createGroupDialog = this._generateCreateGroupDialog();\n\t\tcreateGroupDialog?.close();\n\t\t//reset create group dialog on close\n\t\tthis._resetCreateGroupDialog();\n\t}\n\n\t/**\n\t * Resets the state of the create group dialog.\n\t * @private\n\t */\n\tprivate _resetCreateGroupDialog() {\n\t\tconst navContainer = this._generateCreateGroupNavContainer();\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tconst searchField = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-search`) as SearchField;\n\t\tgroupNameInput.setValue(\"\");\n\t\tnavContainer.to(navContainer.getInitialPage() as string);\n\t\tthis._selectedApps = [];\n\t\tsearchField.setValue(\"\");\n\t\tthis._setNoAppsSelectedError(false);\n\t\tthis._selectedGroupColor = undefined;\n\t}\n\n\t/**\n\t * Generates or retrieves the dialog for creating a group.\n\t * @private\n\t * @param {boolean} bSkipAppsSelection - Whether to skip the apps selection page.\n\t * @returns {sap.m.Dialog} The generated dialog for creating a group.\n\t */\n\tprivate _generateCreateGroupDialog(skipAppsSelection: boolean = true) {\n\t\tconst id = `${this.getId()}-createGroupDialog`;\n\t\tconst navContainer = this._generateCreateGroupNavContainer();\n\t\tconst _toggleNavButton = (skipAppsSelection: boolean) => {\n\t\t\tconst nextBtn = this._controlMap.get(`${id}-nextBtn`) as Button;\n\t\t\tconst backBtn = this._controlMap.get(`${id}-backBtn`) as Button;\n\t\t\tconst createBtn = this._controlMap.get(`${id}-createBtn`) as Button;\n\t\t\tconst currentPageIndex = navContainer.indexOfPage(navContainer.getCurrentPage());\n\t\t\tnextBtn.setVisible(currentPageIndex !== navContainer.getPages().length - 1 && !skipAppsSelection);\n\t\t\tbackBtn.setVisible(currentPageIndex !== 0 && !skipAppsSelection);\n\t\t\tcreateBtn.setVisible(currentPageIndex === navContainer.getPages().length - 1 || skipAppsSelection);\n\t\t};\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//set up navigation buttons\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-nextBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-nextBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"nextButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tif (this._validateGroupName()) {\n\t\t\t\t\t\t\tnavContainer.to(this._generateCreateGroupAppsPage());\n\t\t\t\t\t\t\t_toggleNavButton(skipAppsSelection);\n\t\t\t\t\t\t\tthis._highlightSelectedApps();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"Emphasized\"\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for next button\n\t\t\tconst nextBtn = this._controlMap.get(`${id}-nextBtn`) as Button;\n\t\t\taddFESRSemanticStepName(nextBtn, \"press\", \"createGroupNextBtn\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-backBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-backBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"backButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tnavContainer.back();\n\t\t\t\t\t\t_toggleNavButton(skipAppsSelection);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for back button\n\t\t\tconst backBtn = this._controlMap.get(`${id}-backBtn`) as Button;\n\t\t\taddFESRSemanticStepName(backBtn, \"press\", \"createGroupBackBtn\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-createBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-createBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"createButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._onPressGroupCreate();\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"Emphasized\"\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for create button\n\t\t\tconst createBtn = this._controlMap.get(`${id}-createBtn`) as Button;\n\t\t\taddFESRSemanticStepName(createBtn, \"press\", \"addCreateGroup\");\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\t\tcontent: navContainer,\n\t\t\t\t\tescapeHandler: this._closeCreateGroupDialog.bind(this),\n\t\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\tnextBtn,\n\t\t\t\t\t\tbackBtn,\n\t\t\t\t\t\tcreateBtn,\n\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\t\tpress: this._closeCreateGroupDialog.bind(this)\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapCuxCreateGroupDialog sapContrastPlus\")\n\t\t\t);\n\t\t}\n\t\t_toggleNavButton(skipAppsSelection);\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the highlighting of an app when selected.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t * @param {Object} selectedApp - The selected app object.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App) {\n\t\tconst oTile = event.getSource<GenericTile>(),\n\t\t\tbIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\"),\n\t\t\toScrollContainer = this._generateAppsScrollContainer();\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\tthis._updateSelectedAppCount();\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._setNoAppsSelectedError(this._selectedApps.length < 1);\n\t\t//adjust scroll container height\n\t\toScrollContainer.setHeight(this._selectedApps.length < 1 ? \"15.3rem\" : \"17.5rem\");\n\t}\n\n\t/**\n\t * Generates the scroll container for displaying apps in the create group dialog.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} The scroll container for displaying apps.\n\t */\n\tprivate _generateAppsScrollContainer() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}--appsContainerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"17.5rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Method for updating selected apps count in create group dialog\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount() {\n\t\tconst oAppsCountContol = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-headerContainer-count`) as Text;\n\t\toAppsCountContol.setText(\n\t\t\tthis._i18nBundle.getText(\"selectedAppsCount\", [this._selectedApps?.length || this._i18nBundle.getText(\"noAppSelected\")])\n\t\t);\n\t}\n\n\t/**\n\t * Creates or returns the navigation container for the create group dialog.\n\t * @private\n\t * @returns {sap.m.NavContainer} The navigation container for the create group dialog.\n\t */\n\tprivate _generateCreateGroupNavContainer() {\n\t\tconst id = `${this.getId()}-createGroupDialog-wrapper`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew NavContainer(id, {\n\t\t\t\t\tinitialPage: `${this.getId()}-createGroupDialog-mainPage`,\n\t\t\t\t\tpages: [this._generateCreateGroupMainPage(), this._generateCreateGroupAppsPage()]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as NavContainer;\n\t}\n\n\t/**\n\t * Generates or retrieve the main page of the create group dialog.\n\t * @private\n\t * @returns {sap.m.Page} The main page of the create group dialog.\n\t */\n\tprivate _generateCreateGroupMainPage() {\n\t\tconst id = `${this.getId()}-createGroupDialog-mainPage`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-form-groupName-input`,\n\t\t\t\tnew Input({\n\t\t\t\t\tid: `${id}-form-groupName-input`,\n\t\t\t\t\twidth: \"13.75rem\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tliveChange: this._validateGroupName.bind(this)\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Page({\n\t\t\t\t\tid,\n\t\t\t\t\tshowHeader: false,\n\t\t\t\t\tenableScrolling: false,\n\t\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew VBox({\n\t\t\t\t\t\t\tid: `${id}-headerContainer`,\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\tid: `${id}-title`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\t\tid: `${id}-description`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settingsDescription\")\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\t\tnew SimpleForm(`${id}-form`, {\n\t\t\t\t\t\t\tlayout: form.SimpleFormLayout.ResponsiveGridLayout,\n\t\t\t\t\t\t\tlabelSpanS: 4,\n\t\t\t\t\t\t\tlabelSpanM: 4,\n\t\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\t\t\tid: `${id}-form-groupName-label`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"groupNameLbl\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop\"),\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-form-groupName-input`) as Input,\n\t\t\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\t\t\tid: `${id}-form-groupColor-label`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"groupColorLbl\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop\"),\n\t\t\t\t\t\t\t\tnew ColorPalette(`${id}-form-groupColor-pallet`, {\n\t\t\t\t\t\t\t\t\tcolors: END_USER_COLORS().map((oColor) => oColor.value) as string[],\n\t\t\t\t\t\t\t\t\tcolorSelect: this._onColorSelect.bind(this)\n\t\t\t\t\t\t\t\t}).addStyleClass(\"adjustSelectedColorPalette\")\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiMediumMarginTop\")\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n\n\t/**\n\t * Generates or retrieve the app selection page of the create group dialog.\n\t * @private\n\t * @returns {sap.m.Page} The app selection page of the create group dialog.\n\t */\n\tprivate _generateCreateGroupAppsPage() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-search`,\n\t\t\t\tnew SearchField({\n\t\t\t\t\tid: `${id}-search`,\n\t\t\t\t\tliveChange: this._onCreateAppSearch.bind(this)\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTopBottom\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessageStrip`,\n\t\t\t\tnew MessageStrip(`${id}-errorMessageStrip`, {\n\t\t\t\t\tid: `${id}-errorMessageStrip`,\n\t\t\t\t\ttype: MessageType.Error,\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"selectionErrorMessage\"),\n\t\t\t\t\tvisible: false\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-headerContainer-count`,\n\t\t\t\tnew Text({\n\t\t\t\t\tid: `${id}-headerContainer-count`\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Page(id, {\n\t\t\t\t\tshowHeader: false,\n\t\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\t\tenableScrolling: false,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew VBox(`${id}-headerContainer`, {\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew HBox(`${id}-headerContainer-titleCount`, {\n\t\t\t\t\t\t\t\t\tid: `${id}-headerContainer-titleCount`,\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\t\t\tid: `${id}-headerContainer-title`,\n\t\t\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"selectedAppsTitle\")\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd\"),\n\t\t\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-headerContainer-count`) as Text\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\t\tid: `${id}-description`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"appsSelectionDescription\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBottom\"),\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-search`) as SearchField,\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-errorMessageStrip`) as MessageStrip\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\t\tthis._generateAppsScrollContainer(),\n\t\t\t\t\t\tthis._generateCreateGroupErrorMsg()\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n\n\t/**\n\t * Generates the error message for create group dialog, when no apps are found for searched text.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} The error message for no filtered apps.\n\t */\n\tprivate _generateCreateGroupErrorMsg() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage-noFilterApps`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noSearchedAppTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"noSearchedAppDes\"),\n\t\t\t\t\tvisible: false\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as IllustratedMessage;\n\t}\n\n\t/**\n\t * Handles the color selection event for new group.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onColorSelect(event: ColorPalette$ColorSelectEvent) {\n\t\tthis._selectedGroupColor = this._getLegendColor(event.getParameter(\"value\") as string).key;\n\t}\n\n\t/**\n\t * Retrieves the key of the legend color based on the provided color value.\n\t * @param {string} color - The color value for which to retrieve the legend color key.\n\t * @returns {string} The legend color key corresponding to the provided color value, or the default background color key if not found.\n\t * @private\n\t */\n\tprivate _getLegendColor(color: string) {\n\t\treturn END_USER_COLORS().find((oColor) => oColor.value === color) || DEFAULT_BG_COLOR();\n\t}\n\n\t/**\n\t * Sets the visibility of the error message strip indicating no apps are selected in create group dialog.\n\t * @private\n\t * @param {boolean} error - Whether to show the error message strip (true) or hide it (false).\n\t */\n\tprivate _setNoAppsSelectedError(error: boolean) {\n\t\tconst messageStrip = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-errorMessageStrip`) as MessageStrip;\n\t\tmessageStrip.setVisible(error);\n\t}\n\n\t/**\n\t * Validates the group name entered in the create group dialog.\n\t * @private\n\t * @returns {boolean} Whether the group name is valid (true) or not (false).\n\t */\n\tprivate _validateGroupName() {\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tconst groupName = groupNameInput.getValue().trim();\n\t\t//update value state\n\t\tgroupNameInput.setValueState(groupName ? \"None\" : \"Error\");\n\t\tgroupNameInput.setValueStateText(groupName ? \"\" : (this._i18nBundle.getText(\"invalidGroupName\") as string));\n\t\treturn groupName ? true : false;\n\t}\n\n\t/**\n\t * Highlights selected apps by adding a CSS class to corresponding tiles.\n\t * @private\n\t */\n\tprivate _highlightSelectedApps() {\n\t\tconst selectedApps = this._selectedApps || [];\n\t\tconst tilesContainer = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer;\n\t\tconst tiles = (tilesContainer.getItems() || []) as GenericTile[];\n\t\ttiles.forEach((tile) => {\n\t\t\ttile.toggleStyleClass(\n\t\t\t\t\"sapCuxHighlightApp\",\n\t\t\t\tselectedApps.some((app) => getLeanURL(app.getUrl()) === tile.getUrl())\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the search for apps in create group dialog.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onCreateAppSearch(event: Event) {\n\t\tconst tilesContainer = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer,\n\t\t\tsearchQuery = event.getSource<SearchField>().getValue(),\n\t\t\ttiles = (tilesContainer.getItems() || []) as GenericTile[],\n\t\t\tsearchExpression = new RegExp(searchQuery, \"i\");\n\t\ttiles.forEach((tile) => {\n\t\t\ttile.setVisible(searchExpression.test(tile.getHeader()));\n\t\t});\n\t\tconst filteredTiles = tiles.filter((tile) => tile.getVisible());\n\t\tconst hasFilteredApps = filteredTiles.length > 0;\n\t\tthis._generateAppsScrollContainer()?.setVisible(hasFilteredApps);\n\t\tthis._generateCreateGroupErrorMsg()?.setVisible(!hasFilteredApps);\n\t}\n\n\t/**\n\t * Handles the event when the user presses the button to create a new group.\n\t * @private\n\t */\n\tprivate async _onPressGroupCreate() {\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tif (this._validateGroupName()) {\n\t\t\tif (this._selectedApps?.length) {\n\t\t\t\tthis._setBusy(true);\n\t\t\t\ttry {\n\t\t\t\t\tawait this._createGroup({\n\t\t\t\t\t\tselectedApps: this._selectedApps,\n\t\t\t\t\t\tgroupName: groupNameInput.getValue(),\n\t\t\t\t\t\tgroupColor: this._getGroupColor()\n\t\t\t\t\t});\n\t\t\t\t\tawait this.refresh();\n\n\t\t\t\t\t// Show toast message after successful group creation\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"newGroupCreated\") as string, {\n\t\t\t\t\t\tof: this._controlMap.get(`${this.getId()}-createGroupDialog`) as Dialog,\n\t\t\t\t\t\toffset: \"0 80\"\n\t\t\t\t\t});\n\t\t\t\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\t\t\t\tvoid this._showGroupDetailDialog(groups[0]?.getGroupId());\n\t\t\t\t} catch (err) {\n\t\t\t\t\tLog.error(err as string);\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToCreateGroup\") as string);\n\t\t\t\t} finally {\n\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t\tthis._closeCreateGroupDialog();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._setNoAppsSelectedError(true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new group with the given properties and adds selected apps to it.\n\t * @param {Object} params - The properties for creating the group.\n\t * @param {sap.ui.core.URI[]} params.selectedApps - Target URL unique identifier of the selected apps to be added to the group.\n\t * @param {string} [params.groupName] - The name of the group. If not provided, a default name will be used.\n\t * @param {string} [params.groupColor] - The color of the group. If not provided, the default color will be used.\n\t * @private\n\t */\n\tprivate async _createGroup(params: { selectedApps: App[]; groupName: string; groupColor: string }) {\n\t\tconst { selectedApps, groupName, groupColor } = params;\n\t\tconst sectionVisualizations = await this.appManagerInstance.getSectionVisualizations();\n\t\tconst visualizations = selectedApps.reduce((selectedVisualizations: ICustomVisualization[], oApp) => {\n\t\t\tconst sectionVisualization = sectionVisualizations.find((oSectionViz) => oSectionViz.url === oApp.getUrl());\n\t\t\tif (sectionVisualization) {\n\t\t\t\tselectedVisualizations.push(sectionVisualization);\n\t\t\t}\n\t\t\treturn selectedVisualizations;\n\t\t}, []);\n\t\tconst sectionId = visualizations[0].persConfig!.sectionId!;\n\t\tawait this.appManagerInstance.addSection({\n\t\t\tsectionIndex: 1,\n\t\t\tsectionProperties: {\n\t\t\t\ttitle: groupName || this._i18nBundle.getText(\"newGroup\"),\n\t\t\t\tvisible: true,\n\t\t\t\tvisualizations: visualizations.map((viz) => viz.visualization)\n\t\t\t}\n\t\t});\n\n\t\tconst visualizationsToBeDeleted: string[] = visualizations.reduce((visualizationsToBeDeleted: string[], oViz) => {\n\t\t\tif (oViz.visualization?.id) {\n\t\t\t\tconst duplicateVisualizationIds = (oViz.persConfig?.duplicateApps || []).map((oViz) => oViz.visualization?.id) as string[];\n\t\t\t\tvisualizationsToBeDeleted = visualizationsToBeDeleted.concat([oViz.visualization?.id], duplicateVisualizationIds);\n\t\t\t}\n\t\t\treturn visualizationsToBeDeleted;\n\t\t}, []);\n\n\t\tawait this.appManagerInstance.removeVisualizations({ sectionId, vizIds: visualizationsToBeDeleted });\n\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\tconst defaultSection = sections.find((oSection) => oSection.default);\n\t\tconst targetGroupId = sections[defaultSection ? 1 : 0]?.id;\n\t\t//update personalization\n\t\tawait this._updateAppPersonalization(\n\t\t\tvisualizations.map((oViz) => {\n\t\t\t\treturn {\n\t\t\t\t\tvisualization: oViz,\n\t\t\t\t\ttargetGroupId\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tawait this._updateGroupPersonalization(targetGroupId!, groupColor);\n\t}\n\n\t/**\n\t * Retrieves the color for the group.\n\t * @private\n\t * @returns {string} The color for the group.\n\t */\n\tprivate _getGroupColor() {\n\t\tconst defaultColor = DEFAULT_BG_COLOR().key;\n\t\tconst firstApp = this._selectedApps[0];\n\t\tconst setDefaultColor = this._selectedApps.some((app) => app.getBgColor() !== firstApp.getBgColor());\n\t\t//if group color is selected then apply that color, else if all the selected apps have same color then give the same color to group, else apply default color.\n\t\treturn this._selectedGroupColor || (setDefaultColor ? defaultColor : firstApp.getBgColor());\n\t}\n\n\t/**\n\t * Opens a color popover for selecting a background color for an item.\n\t * @param {sap.ui.base.Event} event - The event object.\n\t * @private\n\t */\n\tprivate _openColorPopover(event: Event<{ listItem?: StandardListItem }>) {\n\t\tconst colorPopoverId = `${this.getId()}-colorPopover`,\n\t\t\tcolors = END_USER_COLORS().map((oColor) => oColor.value) as string[];\n\t\tconst source = event.getSource<MenuItem>();\n\t\tthis._currentItem = source.getParent() as App | Group;\n\t\tlet colorPopover = this._controlMap.get(colorPopoverId) as ColorPalettePopover;\n\t\tif (!colorPopover) {\n\t\t\tcolorPopover = new ColorPalettePopover(colorPopoverId, {\n\t\t\t\tid: colorPopoverId,\n\t\t\t\tcolors: colors,\n\t\t\t\tshowDefaultColorButton: false,\n\t\t\t\tshowMoreColorsButton: false,\n\t\t\t\tshowRecentColorsSection: false,\n\t\t\t\tcolorSelect: (event: ColorPalette$ColorSelectEvent) => {\n\t\t\t\t\tActionsPopover._closeActionsPopover();\n\t\t\t\t\tconst selectedColor = event.getParameter(\"value\") as string;\n\t\t\t\t\tvoid this._handleColorSelect(this._currentItem, selectedColor);\n\t\t\t\t}\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\t(colorPopover as ColorPalettePopover & { _oPopover: Popover })._oPopover.setPlacement(PlacementType.HorizontalPreferredRight);\n\t\t\tthis._controlMap.set(colorPopoverId, colorPopover);\n\t\t}\n\t\tcolorPopover.openBy(event.getParameter(\"listItem\") as Control);\n\t}\n\n\t/**\n\t * Handles the selection of a color for an app or group.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @returns {Promise<void>} - A promise that resolves when the color selection is handled.\n\t * @private\n\t */\n\tprivate async _handleColorSelect(item: App | Group, color: string) {\n\t\tconst selectedColor = this._getLegendColor(color).key;\n\t\titem.setProperty(\"bgColor\", selectedColor, true);\n\t\tconst groupId = item instanceof Group ? item.getGroupId() : null;\n\t\tconst isGroupedApp = !groupId && item.getParent() instanceof Group;\n\n\t\t//update tile color\n\t\tif (isGroupedApp) {\n\t\t\tthis._refreshGroupDetailDialog(item as App, false);\n\t\t} else {\n\t\t\t//if ungroup app or group\n\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\tthis.oEventBus.publish(\"appsChannel\", \"favAppColorChanged\", { item, color });\n\t\t}\n\n\t\t//update personalization\n\t\tif (groupId) {\n\t\t\t//if group\n\t\t\tvoid this._updateGroupPersonalization(groupId, selectedColor);\n\t\t\tconst groupIconControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-color`) as Icon;\n\t\t\tgroupIconControl?.setColor(color);\n\t\t} else {\n\t\t\t//if app\n\t\t\tconst app = item as App;\n\t\t\tconst groupId = isGroupedApp ? (app.getParent() as Group).getGroupId() : undefined;\n\t\t\tconst visualization = await this.appManagerInstance.getVisualization(app.getUrl(), groupId);\n\t\t\tif (visualization) {\n\t\t\t\tvoid this._updateAppPersonalization([{ visualization, color: selectedColor }]);\n\t\t\t}\n\t\t}\n\t\tthis.oEventBus.publish(\"appsChannel\", \"favAppColorChanged\", { item, color });\n\t}\n\n\t/**\n\t * Retrieves the list of groups where apps can be moved, excluding the source group if specified.\n\t * @param {string|null} sourceGroupId - The ID of the source group from which apps are being moved.\n\t * @returns {sap.cux.home.Group[]} An array of groups where apps can be moved.\n\t * @private\n\t */\n\tprivate _getAllowedMoveGroups(sourceGroupId: string | undefined) {\n\t\tlet allowedMoveGroups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\tif (sourceGroupId) {\n\t\t\tallowedMoveGroups = allowedMoveGroups.filter((allowedMoveGroup) => allowedMoveGroup.getGroupId() !== sourceGroupId);\n\t\t}\n\t\treturn allowedMoveGroups;\n\t}\n\n\t/**\n\t * Sets the busy state for dialogs and the panel.\n\t * @param {boolean} busy - Indicates whether the dialogs and the panel should be set to busy state.\n\t * @private\n\t */\n\tprivate _setBusy(busy: boolean) {\n\t\t[this._generateGroupDetailDialog(), this._generateCreateGroupDialog(), this._generateAddFromInsightsDialog()].forEach(\n\t\t\t(oControl) => {\n\t\t\t\toControl.setBusy(busy);\n\t\t\t}\n\t\t);\n\t\tsuper.setBusy(busy);\n\t}\n\n\t/**\n\t * Opens a popover to move the app to another group.\n\t * @param {sap.cux.home.Group} sourceGroup - The source group from which the app is being moved.\n\t * @param {sap.ui.base.Event} event - The event triggering the popover opening.\n\t * @private\n\t */\n\tprivate _openMoveToGroupPopover(event: Event<{ listItem?: StandardListItem }>, sourceGroup?: Group) {\n\t\tconst popoverId = `${this.getId()}-moveToGroupPopover`,\n\t\t\tsource = event?.getSource<MenuItem>(),\n\t\t\tapp = source?.getParent() as App,\n\t\t\tsourceGroupId = sourceGroup?.getGroupId();\n\n\t\tlet list = this._controlMap.get(`${popoverId}-list`) as List,\n\t\t\tmoveToGroupPopover = this._controlMap.get(popoverId) as Popover;\n\n\t\tif (!moveToGroupPopover) {\n\t\t\tlist = new List({\n\t\t\t\tid: `${popoverId}-list`,\n\t\t\t\titemPress: () => ActionsPopover._closeActionsPopover()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${popoverId}-list`, list);\n\t\t\tmoveToGroupPopover = new Popover({\n\t\t\t\tid: popoverId,\n\t\t\t\tshowHeader: false,\n\t\t\t\tplacement: PlacementType.HorizontalPreferredRight,\n\t\t\t\tcontent: [list]\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\tthis._controlMap.set(popoverId, moveToGroupPopover);\n\t\t}\n\t\tlist.removeAllItems();\n\n\t\tthis._getAllowedMoveGroups(sourceGroupId).forEach((targetGroup, index) =>\n\t\t\tlist.addItem(\n\t\t\t\tnew StandardListItem(recycleId(`${this.getId()}-moveTo-${app.getId()}-${index}`), {\n\t\t\t\t\ttitle: targetGroup.getTitle(),\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._handleMoveToGroup(app, sourceGroupId, targetGroup.getGroupId());\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\n\t\tmoveToGroupPopover.openBy(event.getParameter(\"listItem\") as Control);\n\t}\n\n\t/**\n\t * Handles the removal of an app, displaying a confirmation dialog to the user.\n\t * If the app is the last one in the group, a warning dialog is displayed for confirmation.\n\t * @param {sap.cux.home.App} app - The app to be removed.\n\t * @param {sap.cux.home.Group} [group] - The group from which the app should be removed. If not provided, the app is considered to be in favorites.\n\t * @private\n\t */\n\tprivate _handleRemove(app: App, group?: Group): void {\n\t\tconst lastAppInGroup = group?.getApps()?.length === 1;\n\n\t\tlet message = this._i18nBundle.getText(\"removeAppMessage\", [app.getTitle()]),\n\t\t\ttitle = this._i18nBundle.getText(\"remove\"),\n\t\t\tactionText = this._i18nBundle.getText(\"remove\"),\n\t\t\tmessageIcon = MessageBox.Icon.QUESTION;\n\n\t\tif (lastAppInGroup) {\n\t\t\tmessage = this._i18nBundle.getText(\"removeFromMyHomeMessage\", [app.getTitle()]);\n\t\t\ttitle = this._i18nBundle.getText(\"delete\");\n\t\t\tactionText = this._i18nBundle.getText(\"delete\");\n\t\t\tmessageIcon = MessageBox.Icon.WARNING;\n\t\t}\n\n\t\tMessageBox.show(message as string, {\n\t\t\ticon: messageIcon,\n\t\t\ttitle: title,\n\t\t\tactions: [actionText as string, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: actionText,\n\t\t\tonClose: async (action: string) => {\n\t\t\t\tif (action === actionText) {\n\t\t\t\t\tthis._setBusy(true);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._removeApp(app, group);\n\t\t\t\t\t\tif (lastAppInGroup) {\n\t\t\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\t\t} else if (group) {\n\t\t\t\t\t\t\tthis._refreshGroupDetailDialog(app);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"appRemoved\") as string);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tLog.error(err as string);\n\t\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToRemoveApp\") as string);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Removes the specified app from the group or favorites.\n\t * If the app is the last one in the group, the group will be deleted as well.\n\t * If the app is an ungrouped app, its duplicate apps (if any) will also be deleted.\n\t * @param {App} app - The app to be removed.\n\t * @param {Group} [group] - The group from which the app should be removed. If not provided, the app is considered to be in favorites.\n\t * @returns {Promise<void>}\n\t * @private\n\t */\n\tprivate async _removeApp(app: App, group?: Group) {\n\t\tconst lastAppInGroup = group?.getApps()?.length === 1,\n\t\t\tgroupId = group?.getGroupId(),\n\t\t\tappId = app.getUrl(),\n\t\t\tviz = await this.appManagerInstance.getVisualization(appId, groupId);\n\t\tif (lastAppInGroup) {\n\t\t\t//if last app in group, then delete the group as well\n\t\t\tawait this._deleteGroup(groupId!);\n\t\t} else {\n\t\t\tlet visualizationsToBeDeleted = [viz?.visualization?.id];\n\t\t\tif (!groupId) {\n\t\t\t\t//for apps outside group i.e. for favorite apps delete duplicate apps as well\n\t\t\t\tvisualizationsToBeDeleted = visualizationsToBeDeleted.concat(\n\t\t\t\t\tviz?.persConfig?.duplicateApps?.map((viz) => viz.visualization?.id)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (viz?.persConfig?.sectionId && visualizationsToBeDeleted.length > 0) {\n\t\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\t\tsectionId: viz.persConfig.sectionId,\n\t\t\t\t\tvizIds: visualizationsToBeDeleted as string[]\n\t\t\t\t});\n\t\t\t\tvoid this._deletePersonalization({\n\t\t\t\t\tappId: appId,\n\t\t\t\t\toldAppId: viz?.oldAppId,\n\t\t\t\t\tsectionId: viz?.persConfig?.sectionId,\n\t\t\t\t\tisRecentlyAddedApp: viz?.persConfig?.isDefaultSection\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handler for moving an app from a source group to a target group.\n\t * @param {sap.cux.home.App} app - The app to be moved.\n\t * @param {string} sourceGroupId - The ID of the source group from which the app is being moved.\n\t * @param {string | null} targetGroupId - The ID of the target group to which the app will be moved.\n\t * @private\n\t */\n\tprivate async _handleMoveToGroup(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst sourceGroup = sourceGroupId ? this._getGroup(sourceGroupId) : undefined,\n\t\t\tisLastAppInGroup = sourceGroup?.getApps()?.length === 1;\n\n\t\tif (isLastAppInGroup) {\n\t\t\tconst confirmationMessage = this._i18nBundle.getText(\"moveAppMessage\", [app.getTitle()]) as string;\n\t\t\tconst confirmationTitle = this._i18nBundle.getText(\"delete\") as string;\n\t\t\tMessageBox.show(confirmationMessage, {\n\t\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\t\ttitle: confirmationTitle,\n\t\t\t\tactions: [confirmationTitle, MessageBox.Action.CANCEL],\n\t\t\t\temphasizedAction: confirmationTitle,\n\t\t\t\tonClose: (action: string) => {\n\t\t\t\t\tif (action === confirmationTitle) {\n\t\t\t\t\t\tvoid this._moveAppAndHandleGroupChanges(app, sourceGroupId, targetGroupId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tawait this._moveAppAndHandleGroupChanges(app, sourceGroupId, targetGroupId);\n\t\t}\n\t}\n\n\t/**\n\t * Moves an app to a different group and handles group changes.\n\t * @param {App} app - The app to be moved.\n\t * @param {string} [sourceGroupId] - The ID of the source group from which the app is being moved.\n\t * @param {string} [targetGroupId] - The ID of the target group to which the app is being moved.\n\t * @returns {Promise<void>} - A Promise that resolves once the app is moved and group changes are handled.\n\t * @private\n\t */\n\tprivate async _moveAppAndHandleGroupChanges(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst sourceGroup = sourceGroupId ? this._getGroup(sourceGroupId) : null,\n\t\t\ttargetGroup = targetGroupId ? this._getGroup(targetGroupId) : null,\n\t\t\tsTargetGroupTile = targetGroup?.getTitle(),\n\t\t\tisLastAppInGroup = sourceGroup?.getApps()?.length === 1;\n\t\ttry {\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._moveAppToGroup(app, sourceGroupId, targetGroupId);\n\t\t\t//delete group, if it is the last app in the group\n\t\t\tif (isLastAppInGroup) {\n\t\t\t\tawait this._deleteGroup(sourceGroupId as string);\n\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t} else if (sourceGroupId) {\n\t\t\t\tthis._refreshGroupDetailDialog(app);\n\t\t\t}\n\t\t\tconst sMsg = sTargetGroupTile\n\t\t\t\t? this._i18nBundle.getText(\"appMoved\", [sTargetGroupTile])\n\t\t\t\t: this._i18nBundle.getText(\"appUngrouped\");\n\t\t\tMessageToast.show(sMsg as string);\n\t\t\tawait this.refresh();\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis._setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the group detail dialog.\n\t * @param {sap.cux.home.App} updatedApp - The updated app control.\n\t * @param {boolean} [isRemove=true] - A flag indicating whether to remove the app. Defaults to true.\n\t * @private\n\t */\n\tprivate _refreshGroupDetailDialog(updatedApp: App, isRemove = true) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = appsWrapper.getItems() as GenericTile[];\n\t\tconst group = updatedApp.getParent() as Group;\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\t\tconst groupApps = group.getApps();\n\t\tif (isRemove) {\n\t\t\tconst updatedAppIndex = groupApps.findIndex((groupApp) => groupApp.getUrl() === updatedApp.getUrl());\n\t\t\tif (updatedAppIndex > -1) {\n\t\t\t\tgroupApps[updatedAppIndex].destroy(true);\n\t\t\t\ttiles[updatedAppIndex].destroy(true);\n\t\t\t}\n\t\t} else {\n\t\t\t//update app color, along with duplicate apps, if any\n\t\t\tgroupApps.forEach((groupApp, index) => {\n\t\t\t\tif (groupApp.getUrl() === updatedApp.getUrl()) {\n\t\t\t\t\tgroupApp.setProperty(\"bgColor\", updatedApp.getBgColor(), true);\n\t\t\t\t\ttiles[index].setBackgroundColor(updatedApp.getBgColor());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Moves an app from a source group to a target group.\n\t * @param {sap.cux.home.App} app - The app to be moved.\n\t * @param {string} sourceGroupId - The ID of the source group from which the app is being moved.\n\t * @param {string} targetGroupId - The ID of the target group to which the app will be moved. If null, the default section is considered.\n\t * @private\n\t */\n\tprivate async _moveAppToGroup(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst appId = app.getUrl();\n\t\tconst [visualizations, sections] = await Promise.all([\n\t\t\t\tthis.appManagerInstance.getSectionVisualizations(sourceGroupId),\n\t\t\t\tthis.appManagerInstance._getSections()\n\t\t\t]),\n\t\t\tsourceVisualization = visualizations.find((oViz) => oViz.url === appId),\n\t\t\tsourceVisualizationIndex = sourceVisualization?.persConfig?.visualizationIndex ?? -1,\n\t\t\tsourceSectionIndex = sourceVisualization?.persConfig?.sectionIndex as number;\n\t\tconst isTargetGroupDefault = !targetGroupId; //if group id is not passed, then we consider it as default section\n\t\tconst isSourceGroupDefault = !sourceGroupId;\n\t\tconst targetSectionIndex = sections.findIndex((section) => (!targetGroupId ? section.default : section.id === targetGroupId));\n\n\t\tif (sourceVisualization) {\n\t\t\tif (isTargetGroupDefault) {\n\t\t\t\tawait this._moveAppToDefaultGroup(sourceVisualization);\n\t\t\t} else {\n\t\t\t\tif (isSourceGroupDefault) {\n\t\t\t\t\t//remove duplicate apps\n\t\t\t\t\tawait this._removeDuplicateVisualizations(sourceVisualization);\n\t\t\t\t}\n\t\t\t\tawait this.appManagerInstance.moveVisualization({\n\t\t\t\t\tsourceSectionIndex: sourceSectionIndex,\n\t\t\t\t\tsourceVisualizationIndex: sourceVisualizationIndex,\n\t\t\t\t\ttargetSectionIndex: targetSectionIndex,\n\t\t\t\t\ttargetVisualizationIndex: -1\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\t\tconst defaultSection = sections.find((oSection) => oSection.default);\n\t\t\tawait this._updateAppPersonalization([\n\t\t\t\t{\n\t\t\t\t\tvisualization: sourceVisualization,\n\t\t\t\t\ttargetGroupId: targetGroupId ?? defaultSection?.id,\n\t\t\t\t\tisTargetGroupDefault\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t}\n\n\t/**\n\t * Moves a visualization to the default group.\n\t * @param {ICustomVisualization} visualization - The visualization to be moved to the default group.\n\t * @returns {Promise<void>} - A promise that resolves once the visualization is moved to the default group.\n\t * @private\n\t */\n\tprivate async _moveAppToDefaultGroup(visualization: ICustomVisualization) {\n\t\tawait this._addVisualization(visualization);\n\t\tif (visualization.persConfig?.sectionId && visualization.visualization?.id) {\n\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\tsectionId: visualization.persConfig?.sectionId,\n\t\t\t\tvizIds: [visualization.visualization?.id]\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Removes duplicate visualizations associated with a specific visualization.\n\t * @param {ICustomVisualization} visualization - The visualization for which duplicate visualizations should be removed.\n\t * @returns {Promise<void>} - A promise that resolves once duplicate visualizations are removed.\n\t * @private\n\t */\n\tprivate async _removeDuplicateVisualizations(visualization: ICustomVisualization) {\n\t\tconst vizIdsToBeDeleted = (visualization?.persConfig?.duplicateApps?.map((oViz) => oViz.visualization?.id) || []) as string[];\n\t\tif (visualization.persConfig?.sectionId && vizIdsToBeDeleted.length > 0) {\n\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\tsectionId: visualization.persConfig?.sectionId,\n\t\t\t\tvizIds: vizIdsToBeDeleted\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the event for renaming a group.\n\t * Opens the group detail dialog in edit mode.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onRenameGroup(event: Event) {\n\t\tconst group = event.getSource<MenuItem>()?.getParent() as Group;\n\t\tvoid this._showGroupDetailDialog(group.getGroupId(), true);\n\t}\n\n\t/**\n\t * Event Handler for ungroup apps, shows confirmation dialog, ungroups the apps on confirmation\n\t * @param {sap.cux.home.Group} group - The group from which the apps will be ungrouped.\n\t * @private\n\t */\n\tprivate _handleUngroupApps(group: ISectionAndVisualization) {\n\t\tconst message = this._i18nBundle.getText(\"ungroupAppsMessage\", [group.title]) as string,\n\t\t\ttitle = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tactionText = this._i18nBundle.getText(\"delete\") as string;\n\t\tMessageBox.show(message, {\n\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\ttitle: title,\n\t\t\tactions: [actionText, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: actionText,\n\t\t\tonClose: (action: string) => {\n\t\t\t\tif (action === actionText) {\n\t\t\t\t\tvoid this._ungroupApps(group.id!);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handles the event for deleting a group.\n\t * Shows confirmation dialog to either delete the group and apps, or move the apps in favorites.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onDeleteGroup(event: Event) {\n\t\tconst group = event.getSource<MenuItem>()?.getParent() as Group,\n\t\t\tmessage = this._i18nBundle.getText(\"deleteGroupMessage\", [group.getTitle()]) as string,\n\t\t\ttitle = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tdeleteAction = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tmoveAppAction = this._i18nBundle.getText(\"moveApps\") as string;\n\t\tMessageBox.show(message, {\n\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\ttitle: title,\n\t\t\tactions: [deleteAction, this._i18nBundle.getText(\"moveApps\") as string, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: deleteAction,\n\t\t\tonClose: async (action: string) => {\n\t\t\t\tif (action === deleteAction) {\n\t\t\t\t\tthis._setBusy(true);\n\t\t\t\t\tawait this._deleteGroup(group.getGroupId());\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"groupDeleted\") as string);\n\t\t\t\t\tvoid this.refresh();\n\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t} else if (action === moveAppAction) {\n\t\t\t\t\tvoid this._ungroupApps(group.getGroupId());\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Ungroups apps from the specified group Id.\n\t * @async\n\t * @private\n\t * @param {string} groupId - The Id of the group from which apps will be ungrouped.\n\t * @returns {Promise<void>} - A Promise that resolves once the ungrouping process is complete.\n\t */\n\tprivate async _ungroupApps(groupId: string) {\n\t\tthis._setBusy(true);\n\t\ttry {\n\t\t\tconst visualizations = await this.appManagerInstance.getSectionVisualizations(groupId);\n\t\t\tconst sections = await this.appManagerInstance._getSections();\n\t\t\tconst section = sections.find((oSection) => oSection.id === groupId);\n\t\t\tawait Promise.all(visualizations.map((oViz) => this._addVisualization(oViz)));\n\t\t\tconst updatedSections = await this.appManagerInstance._getSections(true);\n\t\t\tconst defaultSection = updatedSections.find((oSection) => oSection.default);\n\t\t\t//update personalization\n\t\t\tawait this._updateAppPersonalization(\n\t\t\t\tvisualizations.map((oViz) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvisualization: oViz,\n\t\t\t\t\t\ttargetGroupId: defaultSection?.id,\n\t\t\t\t\t\tisTargetGroupDefault: true\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t);\n\n\t\t\t//if preset section, then section shouldn't be deleted, instead remove visualizations inside section\n\t\t\tif (section?.preset) {\n\t\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\t\tsectionId: groupId,\n\t\t\t\t\tvizIds: visualizations.map((oViz) => oViz.visualization?.id) as string[]\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tawait this._deleteGroup(groupId);\n\t\t\t}\n\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"appsUngrouped\") ?? \"\");\n\t\t\tawait this.refresh();\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToUngroupApps\") ?? \"\");\n\t\t} finally {\n\t\t\tthis._setBusy(false);\n\t\t\tthis._closeGroupDetailDialog();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the detail dialog for a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group.\n\t * @param {boolean} [editMode=false] - Whether to open the dialog in edit mode.\n\t * @private\n\t */\n\tprivate async _showGroupDetailDialog(groupId: string, editMode = false) {\n\t\tconst group = this._getGroup(groupId);\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedGroupId = groupId;\n\t\tconst dialog = this._generateGroupDetailDialog();\n\t\t//set group icon\n\t\tconst groupIconControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-color`) as Icon;\n\t\tgroupIconControl.setColor(Parameters.get({ name: group.getBgColor() }) as string);\n\t\t//set group apps\n\t\tawait this._setGroupDetailDialogApps(groupId);\n\t\tdialog.open();\n\t\t//set group title\n\t\tthis._setGroupNameControl(group.getTitle(), editMode);\n\t}\n\n\t/**\n\t * Sets the apps for the detail dialog for a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {Promise<void>} - A Promise that resolves once the apps for the group detail dialog are set.\n\t * @private\n\t */\n\tprivate async _setGroupDetailDialogApps(groupId: string) {\n\t\tconst group = this._getGroup(groupId);\n\t\tif (group) {\n\t\t\tlet appVisualizations = await this.appManagerInstance.getSectionVisualizations(groupId, false);\n\t\t\tgroup.destroyAggregation(\"apps\", true);\n\t\t\tappVisualizations = appVisualizations.map((appVisualization, index) => {\n\t\t\t\treturn {\n\t\t\t\t\t...appVisualization,\n\t\t\t\t\tmenuItems: this._getAppActions(group, index, appVisualization) //add actions to show in group\n\t\t\t\t};\n\t\t\t});\n\t\t\tconst apps = this.generateApps(appVisualizations);\n\t\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\t\tthis._setAggregation(group, apps, \"apps\");\n\t\t\tappsWrapper.destroyItems();\n\t\t\tthis._setAggregation(\n\t\t\t\tappsWrapper,\n\t\t\t\tgroup.getApps().map((app) => (this.getParent() as AppsContainer)._getAppTile(app))\n\t\t\t);\n\t\t\tthis._applyGroupedAppsPersonalization(groupId);\n\t\t\tthis._dispatchAppsLoadedEvent(apps);\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization to the grouped apps within the specified group.\n\t * @param {string} groupId - The ID of the group to which the apps belong.\n\t * @private\n\t */\n\tprivate _applyGroupedAppsPersonalization(groupId: string) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = (appsWrapper?.getItems() || []) as GenericTile[];\n\t\tvoid this._applyTilesPersonalization(tiles, groupId);\n\t}\n\n\t/**\n\t * Applies Deprecated Info for apps inside the group.\n\t * @param {App[]} apps - The ID of the group to which the apps belong.\n\t * @private\n\t */\n\tprivate _dispatchAppsLoadedEvent(apps: App[]) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = (appsWrapper?.getItems() || []) as GenericTile[];\n\t\t(this.getParent() as AppsContainer).fireEvent(\"appsLoaded\", { apps, tiles });\n\t}\n\n\t/**\n\t * Generates the group detail dialog.\n\t * @private\n\t * @returns {sap.m.Dialog} The generated detail dialog for the group.\n\t */\n\tprivate _generateGroupDetailDialog() {\n\t\tconst id = `${this.getId()}-detailDialog`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//group color icon\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-toolbar-color`,\n\t\t\t\tnew Icon({\n\t\t\t\t\tid: `${id}-toolbar-color`,\n\t\t\t\t\tsrc: \"sap-icon://color-fill\",\n\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd\")\n\t\t\t);\n\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-toolbar-title`,\n\t\t\t\tnew Title({\n\t\t\t\t\tid: `${id}-toolbar-title`,\n\t\t\t\t\tvisible: true\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst oInvisibleText = getInvisibleText(`${id}-toolbar-renameTitle`, this._i18nBundle.getText(\"renameGroup\"));\n\t\t\tthis._controlMap.set(`${id}-toolbar-renameTitle`, oInvisibleText);\n\n\t\t\tconst oGroupNameInput = new Input({\n\t\t\t\tid: `${id}-toolbar-title-edit`,\n\t\t\t\twidth: \"13.75rem\",\n\t\t\t\tvisible: false,\n\t\t\t\tariaLabelledBy: [`${id}-toolbar-renameTitle`]\n\t\t\t});\n\n\t\t\tthis._controlMap.set(`${id}-toolbar-title-edit`, oGroupNameInput);\n\n\t\t\toGroupNameInput.onsapfocusleave = () => {\n\t\t\t\tvoid this._onGroupEditName(oGroupNameInput.getValue());\n\t\t\t};\n\n\t\t\t//apps wrapper\n\t\t\tconst appsWrapper = new GridContainer({\n\t\t\t\tid: `${id}-apps`,\n\t\t\t\tlayout: new GridContainerSettings(`${id}-appsLayout`, {\n\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapCuxAppsContainerBorder sapCuxAppsDetailContainerPadding\");\n\t\t\t// Add drag-and-drop config\n\t\t\tthis.addDragDropConfigTo(appsWrapper, (event) => this._onFavItemDrop(event, this._selectedGroupId));\n\t\t\tthis._controlMap.set(`${id}-apps`, appsWrapper);\n\t\t\t//add apps button\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-addAppsBtn`,\n\t\t\t\tnew Button(`${id}-addAppsBtn`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tconst groupId = this._selectedGroupId;\n\t\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\t\tthis._selectedGroupId = groupId;\n\t\t\t\t\t\tvoid this.navigateToAppFinder(groupId);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\tcontent: this._controlMap.get(`${id}-apps`) as HBox,\n\t\t\t\t\tcontentWidth: \"60.75rem\",\n\t\t\t\t\tendButton: new Button({\n\t\t\t\t\t\tid: `${id}-groupDetailCloseBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\t\tpress: this._closeGroupDetailDialog.bind(this)\n\t\t\t\t\t}),\n\t\t\t\t\tescapeHandler: this._closeGroupDetailDialog.bind(this),\n\t\t\t\t\tcustomHeader: new Toolbar(`${this.getId()}-toolbar`, {\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-color`) as Icon,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-title`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-title-edit`) as Input,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-renameTitle`) as InvisibleText,\n\t\t\t\t\t\t\tnew ToolbarSpacer({ id: `${this.getId()}-toolbarSpacer` }),\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-addAppsBtn`) as Button,\n\t\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\t\tid: \"overflowBtn\",\n\t\t\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\t\t\ttype: \"Transparent\",\n\t\t\t\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\t\t\t\tconst source = event.getSource<Button>();\n\t\t\t\t\t\t\t\t\tconst group = this._selectedGroupId ? this._getGroup(this._selectedGroupId) : null;\n\t\t\t\t\t\t\t\t\tconst groupActions = group?.getAggregation(\"menuItems\") as MenuItem[];\n\t\t\t\t\t\t\t\t\tconst oPopover = ActionsPopover.get(groupActions);\n\t\t\t\t\t\t\t\t\toPopover.openBy(source);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxGroupDetailDialog\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Closes the group detail dialog.\n\t * @private\n\t */\n\tprivate _closeGroupDetailDialog() {\n\t\tconst groupDetailDialog = this._controlMap.get(`${this.getId()}-detailDialog`) as Dialog;\n\t\tconst group = this._getGroup(this._selectedGroupId as string);\n\t\tgroup?.destroyApps();\n\t\tthis._selectedGroupId = undefined;\n\t\tgroupDetailDialog?.close();\n\t}\n\n\t/**\n\t * Updates the group name with new name.\n\t * This method is triggered on group name input focus leave.\n\t * @private\n\t * @async\n\t * @param {string} updatedTitle - The new title for the group.\n\t */\n\tprivate async _onGroupEditName(updatedTitle: string) {\n\t\tthis._setBusy(true);\n\t\tconst groupId = this._selectedGroupId,\n\t\t\tgroup = this._getGroup(groupId!),\n\t\t\toldTitle = group?.getTitle();\n\t\tif (updatedTitle && updatedTitle !== oldTitle) {\n\t\t\tawait this._renameGroup(groupId!, updatedTitle);\n\t\t\tgroup?.setProperty(\"title\", updatedTitle, true);\n\t\t\tvoid this.refresh();\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"groupNameChanged\") || \"\");\n\t\t}\n\t\tthis._setGroupNameControl(updatedTitle, false);\n\t\tthis._setBusy(false);\n\t}\n\n\t/**\n\t * Renames a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group to rename.\n\t * @param {string} updatedTitle - The new title for the group.\n\t * @returns {Promise<void>} A Promise that resolves once the group is renamed.\n\t */\n\tprivate async _renameGroup(groupId: string, updatedTitle: string) {\n\t\tconst pagesService = await Container.getServiceAsync<Pages>(\"Pages\");\n\t\tconst pageIndex = pagesService.getPageIndex(MYHOME_PAGE_ID),\n\t\t\tgroups = pagesService.getModel().getProperty(`/pages/${pageIndex}/sections/`) as ISection[],\n\t\t\tgroupIndex = groups.findIndex((group) => group.id === groupId);\n\t\tif (groupIndex > -1) {\n\t\t\tawait pagesService.renameSection(pageIndex, groupIndex, updatedTitle);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the group name control in the detail dialog.\n\t * Shows input control to edit the group name in edit mode, otherwise, shows group name as title control.\n\t * @private\n\t * @param {string} groupTitle - The title of the group.\n\t * @param {boolean} editMode - Whether the dialog is in edit mode.\n\t */\n\tprivate _setGroupNameControl(groupTitle: string, editMode: boolean) {\n\t\tconst groupDetailDialog = this._controlMap.get(`${this.getId()}-detailDialog`) as Dialog;\n\t\tconst groupTitleControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-title`) as Title;\n\t\tconst groupInputControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-title-edit`) as Input;\n\t\tgroupInputControl.setValue(groupTitle);\n\t\tgroupTitleControl.setText(groupTitle);\n\t\tgroupInputControl?.setVisible(editMode);\n\t\tgroupTitleControl?.setVisible(!editMode);\n\t\tif (editMode) {\n\t\t\t//in edit mode set the focus on input\n\t\t\tgroupDetailDialog.setInitialFocus(groupInputControl);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the dialog for adding apps from insights.\n\t * @returns {sap.m.Dialog} The dialog for adding apps from insights.\n\t * @private\n\t */\n\tprivate _generateAddFromInsightsDialog() {\n\t\tconst id = `${this.getId()}-addFromInsightsDialog`;\n\n\t\tconst setAddBtnEnabled = () => {\n\t\t\tconst selectedItems = this._getSelectedInsights();\n\t\t\t(this._controlMap.get(`${id}-addBtn`) as Button).setEnabled(selectedItems.length > 0);\n\t\t};\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst getAppFinderBtn = (id: string, btnType?: ButtonType) => {\n\t\t\t\tconst appsAppFinder = new Button(id, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appFinderBtn\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tthis._closeAddFromInsightsDialog();\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t},\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\ttype: btnType || ButtonType.Default\n\t\t\t\t});\n\t\t\t\taddFESRSemanticStepName(appsAppFinder, \"press\", \"appsAppFinder\");\n\t\t\t\treturn appsAppFinder;\n\t\t\t};\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-list`,\n\t\t\t\tnew List({\n\t\t\t\t\tid: `${id}-list`,\n\t\t\t\t\tmode: \"MultiSelect\",\n\t\t\t\t\tselectionChange: setAddBtnEnabled\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-addBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-addBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._addFromInsights();\n\t\t\t\t\t},\n\t\t\t\t\tenabled: false\n\t\t\t\t})\n\t\t\t);\n\t\t\tconst addStaticTiles = this._controlMap.get(`${id}-addBtn`) as Button;\n\t\t\taddFESRSemanticStepName(addStaticTiles, \"press\", \"addStaticTiles\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessage`,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid: `${id}-errorMessage`,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"noDataMsgInsightTiles\"),\n\t\t\t\t\tvisible: true\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addFromInsights\"),\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\tid: `${id}-label`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogLabel\"),\n\t\t\t\t\t\t\twrapping: true\n\t\t\t\t\t\t}).addStyleClass(\"sapMTitleAlign sapUiTinyMarginTopBottom sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\tid: `${id}-textContainer`,\n\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\tid: `${id}-text`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogTitle\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tgetAppFinderBtn(`${id}-addAppsBtn`, ButtonType.Transparent)\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop dialogHeader sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\t\tthis._controlMap.get(`${id}-list`) as List,\n\t\t\t\t\t\tthis._controlMap.get(`${id}-errorMessage`) as IllustratedMessage\n\t\t\t\t\t],\n\t\t\t\t\tcontentWidth: \"42.75rem\",\n\t\t\t\t\tcontentHeight: \"32.5rem\",\n\t\t\t\t\tendButton: new Button({\n\t\t\t\t\t\tid: `${id}-addFromInsightsCloseBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\t\tpress: this._closeAddFromInsightsDialog.bind(this)\n\t\t\t\t\t}),\n\t\t\t\t\tescapeHandler: this._closeAddFromInsightsDialog.bind(this),\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\tthis._controlMap.get(`${id}-addBtn`) as Button,\n\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\t\tpress: this._closeAddFromInsightsDialog.bind(this)\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapContrastPlus sapCuxAddFromInsightsDialog\")\n\t\t\t);\n\t\t}\n\t\tsetAddBtnEnabled();\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the addition of apps from insights.\n\t * @returns {Promise<void>} A Promise that resolves when the operation is complete.\n\t * @private\n\t */\n\tprivate async _handleAddFromInsights() {\n\t\tconst appsToAdd = await this._getInsightTilesToAdd();\n\t\tconst dialog = this._generateAddFromInsightsDialog();\n\t\t(this._controlMap.get(`${this.getId()}-addFromInsightsDialog-errorMessage`) as IllustratedMessage)?.setVisible(\n\t\t\tappsToAdd.length === 0\n\t\t);\n\t\tthis._generateInsightListItems(appsToAdd);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Generates list items for the provided apps and populates the list in the \"Add from Insights\" dialog.\n\t * @param {ICustomVisualization[]} apps - An array of custom visualizations representing the apps to be added.\n\t * @private\n\t */\n\tprivate _generateInsightListItems(apps: ICustomVisualization[]) {\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\tif (apps.length) {\n\t\t\tlist.destroyItems();\n\t\t\tconst listItems = apps.map((app, index) => {\n\t\t\t\tconst bgColor = typeof app.BGColor === \"object\" && \"key\" in app.BGColor ? app.BGColor.key : app.BGColor;\n\t\t\t\treturn new CustomListItem({\n\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}`,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content`,\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon({\n\t\t\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content-icon`,\n\t\t\t\t\t\t\t\t\tsrc: app.icon,\n\t\t\t\t\t\t\t\t\tbackgroundColor: this._getLegendColor(bgColor || \"\").value,\n\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\twidth: \"2.25rem\",\n\t\t\t\t\t\t\t\t\theight: \"2.25rem\",\n\t\t\t\t\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiRoundedBorder sapUiTinyMargin\"),\n\t\t\t\t\t\t\t\tnew ObjectIdentifier({\n\t\t\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content-identifier`,\n\t\t\t\t\t\t\t\t\ttitle: app.title,\n\t\t\t\t\t\t\t\t\ttext: app.subtitle,\n\t\t\t\t\t\t\t\t\ttooltip: app.title\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t\t\t.addStyleClass(\"sapUiContentPadding\")\n\t\t\t\t\t.data(\"vizId\", app.visualization?.vizId) as CustomListItem;\n\t\t\t});\n\t\t\tthis._setAggregation(list, listItems);\n\t\t}\n\t\tlist?.setVisible(apps.length !== 0);\n\t}\n\n\t/**\n\t * Retrieves the insight tiles to add.\n\t * @returns {Promise<ICustomVisualization[]>} A Promise that resolves with an array of insight tiles to add.\n\t * @private\n\t */\n\tprivate async _getInsightTilesToAdd() {\n\t\tconst [insightsApps, favoriteApps] = await Promise.all([\n\t\t\tthis.appManagerInstance.fetchInsightApps(true, this._i18nBundle.getText(\"insights\") as string),\n\t\t\tthis.appManagerInstance.fetchFavVizs(false, true)\n\t\t]); //check force refresh true?\n\t\t//find the visualizations that are present in insight tile but not in favorite apps\n\t\tconst appsToAdd = insightsApps.reduce((appsToAdd: ICustomVisualization[], insightsApp) => {\n\t\t\tif (!insightsApp.isCount && !insightsApp.isSmartBusinessTile) {\n\t\t\t\t// Check if App is not present in Fav Apps\n\t\t\t\tconst iAppIndex = favoriteApps.findIndex(\n\t\t\t\t\t(favoriteApp) =>\n\t\t\t\t\t\tfavoriteApp.visualization?.vizId === insightsApp.visualization?.vizId || favoriteApp.appId === insightsApp.appId\n\t\t\t\t);\n\t\t\t\tif (iAppIndex === -1) {\n\t\t\t\t\tappsToAdd.push(insightsApp);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn appsToAdd;\n\t\t}, []);\n\t\treturn this.appManagerInstance._filterDuplicateVizs(appsToAdd, false);\n\t}\n\n\t/**\n\t * Closes the dialog for adding apps from insights.\n\t * @private\n\t */\n\tprivate _closeAddFromInsightsDialog() {\n\t\tconst dialog = this._generateAddFromInsightsDialog();\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\tlist.removeSelections();\n\t\tdialog?.close();\n\t}\n\n\t/**\n\t * Retrieves the selected insights from the dialog.\n\t * @returns {sap.m.ListItemBase[]} An array of selected insights.\n\t * @private\n\t */\n\tprivate _getSelectedInsights() {\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\treturn list.getSelectedItems() || [];\n\t}\n\n\t/**\n\t * Adds apps from insights.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate async _addFromInsights() {\n\t\tthis._setBusy(true);\n\t\tconst selectedItems = this._getSelectedInsights();\n\t\tfor (const selectedItem of selectedItems) {\n\t\t\tawait this.appManagerInstance.addVisualization(selectedItem.data(\"vizId\") as string);\n\t\t}\n\t\tthis._closeAddFromInsightsDialog();\n\t\tMessageToast.show(\n\t\t\tthis._i18nBundle.getText(selectedItems.length === 1 ? \"addFromInsightTileSuccess\" : \"addFromInsightTilesSuccess\", [\n\t\t\t\tselectedItems.length\n\t\t\t]) as string\n\t\t);\n\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\tthis._setBusy(false);\n\t}\n\n\t/**\n\t * Updates the personalization data for apps.\n\t * @param {IUpdatePersonalizationConfig[]} updateConfigs - The array of configurations for updating personalization.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - Configuration object for updating personalization.\n\t * @param {ICustomVisualization} updateConfig.visualization - Visualization.\n\t * @param {string} updateConfig.color - The color to update for the app.\n\t * @param {boolean} updateConfig.isTargetGroupDefault - A flag indicating whether the target section is the default.\n\t * @param {string} [updateConfig.targetGroupId] - The Id of the target group. Defaults to source group Id if not provided.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is updated.\n\t * @private\n\t */\n\tprivate async _updateAppPersonalization(updateConfigs: IUpdatePersonalizationConfig[]) {\n\t\tconst personalizations = await this._getAppPersonalization();\n\n\t\tfor (const updateConfig of updateConfigs) {\n\t\t\tconst { visualization } = updateConfig;\n\t\t\tconst { persConfig } = visualization;\n\t\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\t\tconst targetGroupId = updateConfig.targetGroupId ?? sourceGroupId;\n\n\t\t\tif (sourceGroupId !== targetGroupId) {\n\t\t\t\t//move app scenario\n\t\t\t\tthis._updateMoveAppPersonalization(personalizations, updateConfig);\n\t\t\t} else {\n\t\t\t\t//only color is updated\n\t\t\t\tthis._updateAppColorPersonalization(personalizations, updateConfig);\n\t\t\t}\n\t\t}\n\t\tawait this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Updates the color personalization for an app.\n\t * @param {IAppPersonalization[]} personalizations - The array of app personalizations.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - The update configuration.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate _updateAppColorPersonalization = (personalizations: IAppPersonalization[], updateConfig: IUpdatePersonalizationConfig) => {\n\t\tconst { visualization, color } = updateConfig;\n\t\tconst { appId, oldAppId, persConfig } = visualization;\n\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\tconst isSourceGroupDefault = persConfig?.isDefaultSection;\n\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tappId,\n\t\t\toldAppId,\n\t\t\tsectionId: sourceGroupId,\n\t\t\tisRecentlyAddedApp: isSourceGroupDefault\n\t\t});\n\t\tif (personalizationIndex > -1) {\n\t\t\tpersonalizations[personalizationIndex].BGColor = color as string;\n\t\t} else {\n\t\t\tpersonalizations.push({\n\t\t\t\tBGColor: color as string,\n\t\t\t\tsectionId: sourceGroupId,\n\t\t\t\tisRecentlyAddedApp: isSourceGroupDefault as boolean,\n\t\t\t\tappId,\n\t\t\t\tisSection: false\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Updates the personalization when an app is moved to a different group.\n\t * @param {IAppPersonalization[]} personalizations - The array of app personalizations.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - The update configuration.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate _updateMoveAppPersonalization(personalizations: IAppPersonalization[], updateConfig: IUpdatePersonalizationConfig) {\n\t\tconst { visualization, isTargetGroupDefault } = updateConfig;\n\t\tconst { appId, oldAppId, persConfig } = visualization;\n\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\tconst isSourceGroupDefault = persConfig?.isDefaultSection;\n\t\tconst duplicateApps = persConfig?.duplicateApps || [];\n\t\tconst targetGroupId = updateConfig.targetGroupId ?? sourceGroupId;\n\n\t\tconst sourcePersonalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tappId,\n\t\t\toldAppId,\n\t\t\tsectionId: sourceGroupId,\n\t\t\tisRecentlyAddedApp: isSourceGroupDefault\n\t\t});\n\t\t//if personalization exists for app in source group\n\t\tif (sourcePersonalizationIndex > -1) {\n\t\t\tconst newPersonalization = {\n\t\t\t\t...personalizations[sourcePersonalizationIndex],\n\t\t\t\tsectionId: targetGroupId,\n\t\t\t\tisRecentlyAddedApp: isTargetGroupDefault,\n\t\t\t\tisSection: false\n\t\t\t} as IAppPersonalization;\n\t\t\t//if no duplicate apps in source group, clean up source group personlization\n\t\t\tif (duplicateApps.length === 0) {\n\t\t\t\tpersonalizations.splice(sourcePersonalizationIndex, 1);\n\t\t\t}\n\n\t\t\t//update target personalization\n\t\t\tconst iTargetPersonalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\t\tappId,\n\t\t\t\toldAppId,\n\t\t\t\tsectionId: targetGroupId,\n\t\t\t\tisRecentlyAddedApp: isTargetGroupDefault\n\t\t\t});\n\t\t\tif (iTargetPersonalizationIndex > -1) {\n\t\t\t\tpersonalizations.splice(iTargetPersonalizationIndex, 1); //clean up any existing personalization\n\t\t\t}\n\t\t\t//push new personalization for target group\n\t\t\tpersonalizations.push(newPersonalization);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the personalization data for a group with the selected color.\n\t * @param {string} groupId - The ID of the group.\n\t * @param {string} selectedColor - The selected color for the group.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is updated.\n\t * @private\n\t */\n\tprivate async _updateGroupPersonalization(groupId: string, selectedColor: string) {\n\t\tconst personalizations = await this._getAppPersonalization();\n\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tisSection: true,\n\t\t\tsectionId: groupId\n\t\t});\n\t\tconst updatedPersonalization = {\n\t\t\tBGColor: selectedColor,\n\t\t\tisSection: true,\n\t\t\tsectionId: groupId,\n\t\t\tisRecentlyAddedApp: false\n\t\t};\n\t\tif (personalizationIndex > -1) {\n\t\t\t//if color is already present for the group, update the color\n\t\t\tpersonalizations[personalizationIndex] = updatedPersonalization;\n\t\t} else {\n\t\t\tpersonalizations.push(updatedPersonalization);\n\t\t}\n\t\tawait this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Finds the index of personalization data matching the specified properties.\n\t * @param {IAppPersonalization[]} personalizations - The array of personalization data.\n\t * @param {IAppPersonalization} appPersonalization - The properties to match for finding the index.\n\t * @param {string} [appPersonalization.appId] - id of the app.\n\t * @param {string} [appPersonalization.oldAppId] - old id of the app.\n\t * @param {string} [appPersonalization.sectionId] - id of the section.\n\t * @param {boolean} appPersonalization.isSection - A flag indicating whether the personalization is for a section.\n\t * @param {boolean} appPersonalization.isRecentlyAddedApp - A flag indicating whether the app is a recently added app.\n\t * @returns {number} The index of the matching personalization data, or -1 if not found.\n\t * @private\n\t */\n\tprivate _getPersonalizationIndex(personalizations: IAppPersonalization[], appPersonalization: IAppPersonalizationConfig) {\n\t\tconst { appId, oldAppId, sectionId, isSection, isRecentlyAddedApp } = appPersonalization;\n\t\treturn personalizations.findIndex((personalization) => {\n\t\t\tif (isSection) {\n\t\t\t\treturn personalization.sectionId === sectionId && personalization.isSection;\n\t\t\t} else {\n\t\t\t\treturn isRecentlyAddedApp\n\t\t\t\t\t? (personalization.appId === appId || personalization.appId === oldAppId) && personalization.isRecentlyAddedApp\n\t\t\t\t\t: (personalization.appId === appId || personalization.appId === oldAppId) && personalization.sectionId === sectionId;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Adds a visualization.\n\t * @param {object} oViz - The visualization to be added.\n\t * @param {object} oViz.visualization - The visualization object.\n\t * @param {boolean} [oViz.visualization.isBookmark=false] - Indicates if the visualization is a bookmark.\n\t * @param {string} [oViz.visualization.vizId] - The ID of the visualization if it's not a bookmark.\n\t * @param {string} [sSectionId] - The ID of the section (group) to which the visualization should be added.\n\t * If not provided, the visualization will be added to the default section.\n\t * @param {IMoveConfig} [moveConfig] - Configuration for moving the visualization.\n\t * @returns {Promise<void>} A promise that resolves to void after the visualization is added.\n\t * @private\n\t */\n\tprivate _addVisualization(viz: ICustomVisualization, sSectionId?: string, moveConfig?: IMoveConfig) {\n\t\tif (viz.visualization) {\n\t\t\treturn viz.visualization.isBookmark\n\t\t\t\t? this.appManagerInstance.addBookMark(viz.visualization, moveConfig)\n\t\t\t\t: this.appManagerInstance.addVisualization(viz.visualization.vizId, sSectionId);\n\t\t}\n\t\treturn Promise.reject(new Error(\"No visualization provided to add\"));\n\t}\n\n\t/**\n\t * Deletes a group.\n\t * @param {string} groupId - The Id of the group to delete.\n\t * @returns {Promise<void>} A Promise that resolves once the group is deleted.\n\t * @private\n\t */\n\tprivate async _deleteGroup(groupId: string) {\n\t\tconst pagesService = await Container.getServiceAsync<Pages>(\"Pages\");\n\t\tconst pageIndex = pagesService.getPageIndex(MYHOME_PAGE_ID),\n\t\t\tgroups = pagesService.getModel().getProperty(`/pages/${pageIndex}/sections/`) as ISection[],\n\t\t\tgroupIndex = groups.findIndex((group) => group.id === groupId);\n\t\tif (groupIndex > -1) {\n\t\t\tawait pagesService.deleteSection(pageIndex, groupIndex);\n\t\t\tvoid this._deletePersonalization({ sectionId: groupId, isSection: true });\n\t\t}\n\t}\n\n\t/**\n\t * Deletes personalization data based on the specified properties.\n\t * @param {IAppPersonalizationConfig} personalizationConfig - The properties to identify the personalization data to delete.\n\t * @param {boolean} [personalizationConfig.isSection] - A flag indicating whether the personalization is for a group.\n\t * @param {string} [appPersonalization.appId] - id of the app.\n\t * @param {string} [appPersonalization.oldAppId] - old id of the app.\n\t * @param {string} personalizationConfig.sectionId - The ID of the group associated with the personalization.\n\t * @param {boolean} [appPersonalization.isRecentlyAddedApp] - A flag indicating whether the app is a recently added app.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is deleted.\n\t * @private\n\t */\n\tprivate async _deletePersonalization(personalizationConfig: IAppPersonalizationConfig) {\n\t\tconst { isSection, sectionId } = personalizationConfig;\n\t\tlet personalizations = await this._getAppPersonalization();\n\n\t\tif (!isSection) {\n\t\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, personalizationConfig);\n\t\t\tif (personalizationIndex > -1) {\n\t\t\t\tpersonalizations.splice(personalizationIndex, 1);\n\t\t\t}\n\t\t} else {\n\t\t\t// Delete personalizations for all associated apps if a group is deleted\n\t\t\tpersonalizations = personalizations.filter((personalization) => personalization.sectionId !== sectionId);\n\t\t}\n\n\t\tvoid this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Handles the press event of a group.\n\t * @param {Group$PressEvent} event - The press event object.\n\t * @private\n\t */\n\tprivate _handleGroupPress(event: Group$PressEvent) {\n\t\tconst groupId = event.getParameter(\"groupId\");\n\t\tif (groupId) {\n\t\t\tvoid this._showGroupDetailDialog(groupId);\n\t\t}\n\t}\n\n\t/**\n\t * Handles keyboard events for cutting and moving applications.\n\t * When the Cmd (Mac) or Ctrl (Windows) key is pressed along with 'x', the currently selected element is cut.\n\t * When the Cmd (Mac) or Ctrl (Windows) key is pressed along with 'v':\n\t * - If the operation is performed on a group, the previously cut application is moved into the group.\n\t * - If the operation is performed on an application, the create group dialog is opened.\n\t * @param {KeyboardEvent} event - The keyboard event object.\n\t * @param {string} [appGroupId] - The group Id of the app, if app belongs to a group.\n\t * @returns {Promise<void>} A Promise that resolves when app is moved to a group or create group dialog is opened.\n\t * @private\n\t */\n\tprivate async _handleKeyboardMoveApp(event: KeyboardEvent, appGroupId?: string) {\n\t\tconst currentItem = Element.closestTo((event.target as HTMLElement).firstElementChild as HTMLElement) as GenericTile & {\n\t\t\t_oMoreIcon: Button;\n\t\t};\n\t\tconst container = currentItem.getParent() as GridContainer;\n\t\tif (event.metaKey || event.ctrlKey) {\n\t\t\t// ctrl(windows)/cmd (mac) + x, sets app to be moved to a group, or to create a group\n\t\t\tif (event.key === \"x\" && !currentItem.data(\"groupId\") && !this._cutApp && !appGroupId) {\n\t\t\t\tcurrentItem.$().css(\"opacity\", 0.6);\n\t\t\t\tcurrentItem._oMoreIcon.setEnabled(false);\n\t\t\t\tthis._cutApp = currentItem;\n\t\t\t}\n\n\t\t\tif (event.key === \"v\" && this._cutApp && !appGroupId) {\n\t\t\t\tconst dragDropEvent = new Event(\"keyboardDragDropEvent\", container, {\n\t\t\t\t\tdraggedControl: this._cutApp,\n\t\t\t\t\tdroppedControl: currentItem,\n\t\t\t\t\tdropPosition: dnd.RelativeDropPosition.On\n\t\t\t\t});\n\t\t\t\tawait this._onFavItemDrop(dragDropEvent);\n\t\t\t\tthis._cutApp = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Cancels the cut operation when clicked outside apps section or when focus moves out of apps section.\n\t * @param {MouseEvent | KeyboardEvent} event - The mouse or keyboard event triggering the reset.\n\t * @private\n\t */\n\tprivate _resetCutElement(event: MouseEvent | KeyboardEvent) {\n\t\tconst appsWrapperId = this._generateAppsWrapper().getId();\n\t\tif (!(event.target as HTMLElement).id.includes(appsWrapperId)) {\n\t\t\tthis._cutApp?.$().css(\"opacity\", \"\");\n\t\t\tthis._cutApp = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Generates illustrated message for favorite apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default title and add additional content\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFavAppsDescription\"));\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.AddingColumns);\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button(`${this.getId()}-errorMessage-addApps`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addAppsTooltip\"),\n\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\tvisible: _showAddApps(),\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t},\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\tillustratedMessage.addStyleClass(\"sapUiTinyMarginTop\");\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FavAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","ColorPalette","ColorPalettePopover","CustomListItem","Dialog","HBox","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","Input","Label","List","MessageBox","MessageStrip","MessageToast","NavContainer","ObjectIdentifier","Page","Popover","ScrollContainer","SearchField","StandardListItem","Text","Title","Toolbar","ToolbarSpacer","VBox","sap_m_library","Event","Element","EventBus","Icon","sap_ui_core_library","MessageType","Parameters","SimpleForm","sap_ui_layout_library","Config","Container","___BaseApp","__BaseAppPersPanel","__Group","__MenuItem","__RecommendedAppPanel","___utils_Accessibility","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_FESRUtil","___utils_InsightsUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","ButtonType","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","ListType","_catch","recover","PlacementType","_finallyRethrows","finalizer","dnd","form","ActionsPopover","BaseAppPersPanel","Group","MenuItem","RecommendedAppPanel","checkPanelExists","getInvisibleText","DEFAULT_BG_COLOR","END_USER_COLORS","MYAPPS_SECTION_ID","MYHOME_PAGE_ID","getLeanURL","recycleId","DeviceType","addFESRId","addFESRNavigationSource","addFESRSemanticStepName","FESRNavigationSource","sortMenuItems","_showAddApps","last","favouritesMenuItems","tilesPanelName","tilesContainerName","sortedMenuItems","CREATE_GROUP","ADD_APPS","ADD_FROM_INSIGHTS","FavAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","groups","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","_updateAppColorPersonalization","personalizations","updateConfig","visualization","color","appId","oldAppId","persConfig","sourceGroupId","sectionId","isSourceGroupDefault","isDefaultSection","personalizationIndex","_getPersonalizationIndex","isRecentlyAddedApp","BGColor","isSection","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_createActionButtons","_createHeaderMenuItems","appsWrapper","_generateAppsWrapper","addDragDropConfigTo","event","_onFavItemDrop","_handleKeyboardMoveApp","DropPosition","OnOrBetween","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aSections","groupsPersInfo","groupInfo","Promise","resolve","addAppsAndSections","_importdone","getParent","_refreshAllPanels","attachPersistDialog","_selectedGroupId","_showGroupDetailDialog","document","addEventListener","_resetCutElement","additionalInfo","fesrSource","Favorite","stateData","status","publish","_addAppsAndSections","sections","importedPersonalizations","_this2","aPromise","_getAppPersonalization","aPersonalization","_temp5","setFavAppsPersonalization","reduce","chain","current","updateDefaultSectionPersonalization","_temp4","section","sectionViz","visualizations","_temp3","_temp2","filteredPersonalizations","filterPersonalizations","concat","_temp","addSectionViz","appManagerInstance","_getSections","sectionIndex","findIndex","n","addSection","sectionProperties","title","visible","_filterPersonalizations","newSectionId","aAuthPers","oPers","aSectionViz","oViz","find","oSectionViz","targetURL","_updateDefaultSectionPersonalization","_this3","defaultSection","oSection","forEach","_addSectionViz","sectionsViz","sSectionId","_this4","promiseChain","_exit","_temp7","_result","_addVisualization","_temp6","isBookmark","targetSection","moveConfig","sourceSectionIndex","indexOf","sourceVisualizationIndex","targetSectionIndex","targetVisualizationIndex","_this4$_addVisualizat","loadApps","_loadApps","_this5","fetchFavVizs","favoriteVisualizations","isPhone","getDeviceType","Mobile","destroyAggregation","groupVisualizations","filter","map","groupVisualization","menuItems","_getGroupActions","_generateGroups","_setGroups","appVisualizations","appVisualization","index","_getAppActions","undefined","generateApps","setApps","_setGroupDetailDialogApps","container","toggleMenuListItem","_createGroupMenuItem","getApps","_switchToRecommendedIfNoFavApps","_createAddFromInsTilesMenuItem","_updateContainerHeader","panels","getContent","recommendedPanel","panel","attachEventOnce","isSupported","getParameter","_temp8","refreshPanel","menuItemId","getId","_controlMap","get","addInsightsMenuItem","icon","press","_handleAddFromInsights","_menuItems","addAggregation","_sortMenuItems","set","panelMenuItems","getAggregation","removeAllAggregation","menuItem","bgColor","key","group","number","badge","groupId","_handleGroupPress","oMenuItem","getGroupId","isUngroupedApp","appActions","selectColorMenuItem","getKey","Navigation","_openColorPopover","_getAllowedMoveGroups","moveToMenuItem","_openMoveToGroupPopover","createGroupMenuItem","source","getSource","app","_openCreateGroupDialog","removeFromMyHomeMenuItem","_handleRemove","removeFromGroupMenuItem","_handleMoveToGroup","renameGroupMenuItem","_onRenameGroup","removeAllAppsMenuItem","_handleUngroupApps","groupActions","isPresetSection","deleteGroupMenuItem","_onDeleteGroup","_actionButtons","addAppsBtn","tooltip","text","navigateToAppFinder","actionButton","addAppsMenuItem","item","_getDragDropInfo","appGroupId","_this6","dragTile","dropTile","dropPosition","dropControl","dragItemIndex","indexOfItem","dropItemIndex","dragItem","_getTileItem","dropItem","dragDropInfo","_temp1","_temp0","_adjustAppDragDropInfo","_temp9","_adjustGroupDragDropInfo","_this7","isUpdated","dragApp","dropApp","all","getVisualization","getUrl","dragVisualization","dropVisualization","RelativeDropPosition","Before","After","tile","getItems","tileGroupId","data","_getGroup","_this8","dropGroupIndex","lastGroupIndex","_this9","_temp12","removeStyleClass","_temp11","On","_handleOnItemDrop","refresh","_temp10","_setBusy","_handleItemsReorder","_this0","_temp13","targetGroupId","_this1","isDragItemGroup","getMetadata","getName","isDropItemGroup","_temp15","drapApp","moveVisualization","visualizationIndex","_temp14","moveSection","_navigateToAppFinder","getServiceAsync","navigationService","navigationObject","pageID","sectionID","navigate","shellHash","JSON","stringify","AppFinder","skipAppsSelection","createGroupDialog","_generateCreateGroupDialog","destroyItems","tiles","appCopy","clone","_onPress","_highlightApp","_getAppTile","_setAggregation","fireEvent","_updateSelectedAppCount","open","_closeCreateGroupDialog","close","_resetCreateGroupDialog","navContainer","_generateCreateGroupNavContainer","groupNameInput","searchField","setValue","to","getInitialPage","_setNoAppsSelectedError","_selectedGroupColor","_toggleNavButton","nextBtn","backBtn","createBtn","currentPageIndex","indexOfPage","getCurrentPage","setVisible","getPages","_validateGroupName","_generateCreateGroupAppsPage","_highlightSelectedApps","back","_onPressGroupCreate","content","escapeHandler","contentHeight","contentWidth","buttons","addStyleClass","selectedApp","oTile","bIsSelected","hasStyleClass","oScrollContainer","_generateAppsScrollContainer","splice","oApp","toggleStyleClass","setHeight","layout","columnSize","gap","vertical","height","oAppsCountContol","setText","initialPage","pages","_generateCreateGroupMainPage","width","required","liveChange","showHeader","enableScrolling","backgroundDesign","items","SimpleFormLayout","ResponsiveGridLayout","labelSpanS","labelSpanM","colors","oColor","colorSelect","_onColorSelect","_onCreateAppSearch","Error","showIcon","_generateCreateGroupErrorMsg","illustrationSize","Base","description","_getLegendColor","error","messageStrip","groupName","getValue","trim","setValueState","setValueStateText","selectedApps","tilesContainer","some","searchQuery","searchExpression","RegExp","test","getHeader","filteredTiles","getVisible","hasFilteredApps","_this10","_temp18","_temp17","_temp16","_createGroup","groupColor","_getGroupColor","show","of","offset","err","_wasThrown","_result2","params","_this11","getSectionVisualizations","sectionVisualizations","selectedVisualizations","sectionVisualization","url","viz","visualizationsToBeDeleted","duplicateVisualizationIds","duplicateApps","removeVisualizations","vizIds","_updateAppPersonalization","_updateGroupPersonalization","defaultColor","firstApp","setDefaultColor","getBgColor","colorPopoverId","_currentItem","colorPopover","showDefaultColorButton","showMoreColorsButton","showRecentColorsSection","_closeActionsPopover","selectedColor","_handleColorSelect","_oPopover","setPlacement","HorizontalPreferredRight","openBy","_this12","_temp20","isGroupedApp","_refreshGroupDetailDialog","_applyUngroupedTileColor","_temp19","groupIconControl","setColor","allowedMoveGroups","allowedMoveGroup","busy","_generateGroupDetailDialog","_generateAddFromInsightsDialog","oControl","setBusy","BaseAppPersPanel.prototype.setBusy.call","sourceGroup","popoverId","list","moveToGroupPopover","itemPress","placement","removeAllItems","targetGroup","addItem","getTitle","_this13","lastAppInGroup","message","actionText","messageIcon","QUESTION","WARNING","actions","Action","CANCEL","emphasizedAction","onClose","action","_temp22","_temp21","_removeApp","_closeGroupDetailDialog","_wasThrown2","_result3","_this14","_temp24","_deleteGroup","_temp23","_deletePersonalization","_this15","isLastAppInGroup","_temp25","confirmationMessage","confirmationTitle","_moveAppAndHandleGroupChanges","_this16","sTargetGroupTile","_temp28","_moveAppToGroup","_temp27","sMsg","_temp26","_wasThrown3","_result4","updatedApp","isRemove","groupApps","updatedAppIndex","groupApp","destroy","setBackgroundColor","_this17","sourceVisualization","isTargetGroupDefault","_temp33","_temp32","_temp31","_moveAppToDefaultGroup","_temp30","_temp29","_removeDuplicateVisualizations","_this18","_temp34","_this19","vizIdsToBeDeleted","_temp35","_ungroupApps","_this20","deleteAction","moveAppAction","_temp36","_this21","_temp39","updatedSections","_temp38","_temp37","preset","_wasThrown4","_result5","editMode","_this22","dialog","name","_setGroupNameControl","_this23","_temp40","_applyGroupedAppsPersonalization","_dispatchAppsLoadedEvent","_applyTilesPersonalization","src","size","oInvisibleText","oGroupNameInput","ariaLabelledBy","onsapfocusleave","_onGroupEditName","endButton","customHeader","oPopover","groupDetailDialog","destroyApps","updatedTitle","_this24","_temp42","oldTitle","_temp41","_renameGroup","pagesService","pageIndex","getPageIndex","getModel","getProperty","groupIndex","_temp43","renameSection","groupTitle","groupTitleControl","groupInputControl","setInitialFocus","setAddBtnEnabled","selectedItems","_getSelectedInsights","setEnabled","getAppFinderBtn","btnType","appsAppFinder","_closeAddFromInsightsDialog","Default","mode","selectionChange","_addFromInsights","enabled","addStaticTiles","wrapping","justifyContent","alignItems","Transparent","_this25","_getInsightTilesToAdd","appsToAdd","_generateInsightListItems","listItems","backgroundColor","subtitle","vizId","_this26","fetchInsightApps","insightsApps","favoriteApps","insightsApp","isCount","isSmartBusinessTile","iAppIndex","favoriteApp","_filterDuplicateVizs","removeSelections","getSelectedItems","_this27","_temp45","_temp44","selectedItem","addVisualization","updateConfigs","_this28","_updateMoveAppPersonalization","sourcePersonalizationIndex","newPersonalization","iTargetPersonalizationIndex","_this29","updatedPersonalization","appPersonalization","personalization","addBookMark","_this30","_temp46","deleteSection","personalizationConfig","_this31","_this32","currentItem","closestTo","firstElementChild","_temp48","metaKey","ctrlKey","_cutApp","$","css","_oMoreIcon","_temp47","dragDropEvent","draggedControl","droppedControl","appsWrapperId","includes","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription","setIllustrationSize","ExtraSmall","setIllustrationType","AddingColumns","addAdditionalContent"],"sources":["FavAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport ColorPalette, { ColorPalette$ColorSelectEvent } from \"sap/m/ColorPalette\";\nimport ColorPalettePopover from \"sap/m/ColorPalettePopover\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport Input from \"sap/m/Input\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport NavContainer from \"sap/m/NavContainer\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Page from \"sap/m/Page\";\nimport Popover from \"sap/m/Popover\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport SearchField from \"sap/m/SearchField\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport VBox from \"sap/m/VBox\";\nimport { ButtonType, ListType, PlacementType } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport { dnd } from \"sap/ui/core/library\";\nimport MessageType from \"sap/ui/core/message/MessageType\";\nimport Parameters from \"sap/ui/core/theming/Parameters\";\nimport SimpleForm from \"sap/ui/layout/form/SimpleForm\";\nimport { form } from \"sap/ui/layout/library\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport Pages from \"sap/ushell/services/Pages\";\nimport { IExportData } from \"./AdvancedSettingsPanel\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { ActionsPopover } from \"./BaseApp\";\nimport BaseAppPanel, { BaseAppPanel$SupportedEvent } from \"./BaseAppPanel\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group, { Group$PressEvent } from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport RecommendedAppPanel from \"./RecommendedAppPanel\";\nimport {\n\tIAppPersonalization,\n\tIAppPersonalizationConfig,\n\tICustomVisualization,\n\tIDragDropInfo,\n\tISection,\n\tISectionAndVisualization,\n\tIUpdatePersonalizationConfig,\n\tIVisualization\n} from \"./interface/AppsInterface\";\nimport { checkPanelExists, getInvisibleText } from \"./utils/Accessibility\";\nimport { IMoveConfig } from \"./utils/AppManager\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, MYAPPS_SECTION_ID, MYHOME_PAGE_ID } from \"./utils/Constants\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId, addFESRNavigationSource, addFESRSemanticStepName, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport { sortMenuItems } from \"./utils/InsightsUtils\";\nconst _showAddApps = () => {\n\treturn (Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) as boolean;\n};\n\nexport enum favouritesMenuItems {\n\tCREATE_GROUP = \"createGrpMenuBtn\",\n\tADD_APPS = \"addAppsMenuBtn\",\n\tADD_FROM_INSIGHTS = \"addInsightsMenuBtn\"\n}\n\nconst tilesPanelName: string = \"sap.cux.home.TilesPanel\";\nconst tilesContainerName: string = \"sap.cux.home.TilesContainer\";\nconst sortedMenuItems: (favouritesMenuItems | string)[] = [\n\tfavouritesMenuItems.CREATE_GROUP,\n\tfavouritesMenuItems.ADD_APPS,\n\tfavouritesMenuItems.ADD_FROM_INSIGHTS,\n\t\"settings\"\n];\n\n/**\n *\n * Provides the FavAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FavAppPanel\n */\nexport default class FavAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tprivate _selectedGroupColor: string | undefined;\n\tprivate _selectedGroupId: string | undefined;\n\tprivate _currentItem!: App | Group;\n\tprivate _cutApp: GenericTile | undefined;\n\tprivate oEventBus!: EventBus;\n\tprivate _createGroupMenuItem!: MenuItem;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Favorite apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Group aggregation for Favorite apps\n\t\t\t */\n\t\t\tgroups: { type: \"sap.cux.home.Group\", singularName: \"group\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new favorite app panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"favApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"favoritesTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"favAppsInfo\"));\n\t\t//Setup Action Buttons\n\t\tthis._createActionButtons();\n\t\t//Setup Menu Items\n\t\tthis._createHeaderMenuItems();\n\t\t//add drag and drop config\n\t\tconst appsWrapper = this._generateAppsWrapper();\n\t\tif (appsWrapper) {\n\t\t\tthis.addDragDropConfigTo(\n\t\t\t\tappsWrapper,\n\t\t\t\t(event) => this._onFavItemDrop(event),\n\t\t\t\t(event: KeyboardEvent) => this._handleKeyboardMoveApp(event),\n\t\t\t\tdnd.DropPosition.OnOrBetween\n\t\t\t);\n\t\t}\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"appsImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tconst aSections = ((oData as IExportData)?.apps as ISectionAndVisualization[]) || [];\n\t\t\t\tconst groupsPersInfo = (oData as IExportData)?.groupInfo || [];\n\n\t\t\t\tawait this.addAppsAndSections(aSections, groupsPersInfo);\n\t\t\t\tthis._importdone();\n\t\t\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.attachPersistDialog(() => {\n\t\t\t// if while navigating to different page, a group detail dialog was open, then while navigating back group detail dialog should be in open state.\n\t\t\tif (this._selectedGroupId) {\n\t\t\t\tvoid this._showGroupDetailDialog(this._selectedGroupId);\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener(\"click\", (event) => this._resetCutElement(event));\n\t\tdocument.addEventListener(\"keydown\", (event) => this._resetCutElement(event));\n\t\tthis.additionalInfo = {\n\t\t\tfesrSource: FESRNavigationSource.Favorite\n\t\t};\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"appsImported\", stateData);\n\t}\n\n\t/**\n\t * Checks and import apps and groups\n\t * @private\n\t */\n\tprivate async addAppsAndSections(sections: ISectionAndVisualization[], importedPersonalizations: IAppPersonalization[]) {\n\t\tlet aPromise: (() => Promise<void>)[] = [];\n\t\tlet aPersonalization = await this._getAppPersonalization();\n\n\t\tfor (const section of sections) {\n\t\t\tconst sectionViz = section.visualizations as IVisualization[];\n\t\t\tif (sectionViz?.length) {\n\t\t\t\tif (section.default || section.id === MYAPPS_SECTION_ID) {\n\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\treturn section.default ? this.addSectionViz(sectionViz) : this.addSectionViz(sectionViz, MYAPPS_SECTION_ID);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\t\t\t\t// If Section exists, add visualization to existing section else create a new section with same sectionId\n\t\t\t\t\tconst sectionIndex = sections.findIndex((n) => n.id === section.id);\n\t\t\t\t\tif (sectionIndex > -1) {\n\t\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\t\treturn this.addSectionViz(sectionViz, section.id);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\taPromise.push(() => {\n\t\t\t\t\t\t\treturn this.appManagerInstance.addSection({\n\t\t\t\t\t\t\t\tsectionIndex: sections.length,\n\t\t\t\t\t\t\t\tsectionProperties: {\n\t\t\t\t\t\t\t\t\tid: section.id,\n\t\t\t\t\t\t\t\t\ttitle: section.title,\n\t\t\t\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\t\t\t\tvisualizations: sectionViz\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst filteredPersonalizations = this.filterPersonalizations(importedPersonalizations, section);\n\t\t\t\taPersonalization = aPersonalization.concat(filteredPersonalizations);\n\t\t\t}\n\t\t}\n\n\t\t//update personalization\n\t\tawait this.setFavAppsPersonalization(aPersonalization);\n\t\treturn aPromise\n\t\t\t.reduce((chain, current) => {\n\t\t\t\treturn chain.then(() => current());\n\t\t\t}, Promise.resolve())\n\t\t\t.then(() => {\n\t\t\t\treturn this.updateDefaultSectionPersonalization(aPersonalization);\n\t\t\t});\n\t}\n\n\t/**\n\t * Filters personalization data for specific section\n\t *\n\t * @private\n\t * @param {IAppPersonalization[]} personalizations - array of user personalizations\n\t * @param {ISectionAndVisualization} section - section for which personalization data needs to be filtered\n\t * @param {String} newSectionId - new section id\n\t * @returns {IAppPersonalization[]} resolves to an array of authorized personalization for a given section\n\t */\n\tprivate filterPersonalizations(personalizations: IAppPersonalization[], section: ISectionAndVisualization, newSectionId?: string) {\n\t\t//filter personalization data based on section visualizations\n\t\tconst filteredPersonalizations = personalizations.reduce(function (aAuthPers: IAppPersonalization[], oPers: IAppPersonalization) {\n\t\t\tif (oPers.sectionId === section.id) {\n\t\t\t\tconst aSectionViz = section.visualizations;\n\t\t\t\tconst oViz = aSectionViz?.find((oSectionViz) => {\n\t\t\t\t\treturn oSectionViz.targetURL === oPers.appId;\n\t\t\t\t});\n\t\t\t\tif (oViz || oPers.isSection) {\n\t\t\t\t\toPers.sectionId = newSectionId || section.id;\n\t\t\t\t\taAuthPers.push(oPers);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn aAuthPers;\n\t\t}, []);\n\t\treturn filteredPersonalizations;\n\t}\n\n\t/**\n\t * Updates section id of recently added apps to default section in the persionalization array\n\t *\n\t * @private\n\t * @param {IAppPersonalization} aPersonalization - array of personlizations\n\t * @returns {IAppPersonalization[]} returns an array of personlizations\n\t */\n\tprivate async updateDefaultSectionPersonalization(aPersonalization: IAppPersonalization[]) {\n\t\t//update recently added app section id in personalization\n\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\tlet defaultSection = sections.find((oSection) => {\n\t\t\treturn oSection.default;\n\t\t});\n\t\tif (defaultSection) {\n\t\t\taPersonalization.forEach((oPers) => {\n\t\t\t\tif (oPers.isRecentlyAddedApp) {\n\t\t\t\t\toPers.sectionId = defaultSection.id;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn aPersonalization;\n\t}\n\n\t/**\n\t * Add section visualizations\n\t *\n\t * @param {Array} sectionsViz - array of section visualizations\n\t * @param {String} sSectionId - section id for which visualizations needs to be added\n\t * @param {Array} sections - array of sections\n\t * @returns {String} resolves to visualizations being added to given section\n\t */\n\tpublic async addSectionViz(sectionsViz: IVisualization[], sSectionId?: string) {\n\t\treturn sectionsViz.reduce((promiseChain, oViz: IVisualization) => {\n\t\t\treturn promiseChain.then(async () => {\n\t\t\t\t// in case of bookmark, move the viz to target section\n\t\t\t\tif (oViz.isBookmark && sSectionId) {\n\t\t\t\t\tconst sections = await this.appManagerInstance._getSections();\n\t\t\t\t\tconst defaultSection = sections.find((section) => section.default);\n\t\t\t\t\tconst targetSection = sections.find((section) => section.id === sSectionId);\n\t\t\t\t\tif (defaultSection && targetSection) {\n\t\t\t\t\t\tconst moveConfig = {\n\t\t\t\t\t\t\tsourceSectionIndex: sections.indexOf(defaultSection),\n\t\t\t\t\t\t\tsourceVisualizationIndex: defaultSection.visualizations!.length,\n\t\t\t\t\t\t\ttargetSectionIndex: sections.indexOf(targetSection),\n\t\t\t\t\t\t\ttargetVisualizationIndex: targetSection.visualizations!.length\n\t\t\t\t\t\t} as IMoveConfig;\n\t\t\t\t\t\treturn this._addVisualization({ visualization: oViz } as ICustomVisualization, sSectionId, moveConfig);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this._addVisualization({ visualization: oViz } as ICustomVisualization, sSectionId);\n\t\t\t});\n\t\t}, Promise.resolve());\n\t}\n\n\t/**\n\t * Fetch fav apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tconst favoriteVisualizations = await this.appManagerInstance.fetchFavVizs(true, false);\n\t\tconst isPhone = this.getDeviceType() === DeviceType.Mobile;\n\t\t//Create groups\n\t\tthis.destroyAggregation(\"groups\", true);\n\t\tconst groupVisualizations = favoriteVisualizations\n\t\t\t.filter((visualization) => visualization.isSection)\n\t\t\t.map((groupVisualization) => {\n\t\t\t\treturn {\n\t\t\t\t\t...groupVisualization,\n\t\t\t\t\tmenuItems: this._getGroupActions(groupVisualization)\n\t\t\t\t};\n\t\t\t});\n\t\tconst groups = this._generateGroups(groupVisualizations);\n\t\tthis._setGroups(groups);\n\n\t\t//Create apps\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tconst appVisualizations = favoriteVisualizations\n\t\t\t.filter((visualization) => !visualization.isSection)\n\t\t\t.map((appVisualization, index) => {\n\t\t\t\treturn {\n\t\t\t\t\t...appVisualization,\n\t\t\t\t\tmenuItems: this._getAppActions(undefined, index, appVisualization)\n\t\t\t\t};\n\t\t\t});\n\t\tconst apps = this.generateApps(appVisualizations);\n\t\tthis.setApps(apps);\n\t\tif (this._selectedGroupId) {\n\t\t\tvoid this._setGroupDetailDialogApps(this._selectedGroupId);\n\t\t}\n\t\tconst container = this.getParent() as BaseContainer;\n\t\tcontainer.toggleMenuListItem(this._createGroupMenuItem, this.getApps().length > 0);\n\t\tif (!isPhone) {\n\t\t\tthis._switchToRecommendedIfNoFavApps(apps, groups);\n\t\t}\n\t\tif (checkPanelExists(container, tilesContainerName, tilesPanelName)) {\n\t\t\tthis._createAddFromInsTilesMenuItem(favouritesMenuItems.ADD_FROM_INSIGHTS);\n\t\t}\n\t\t//updating header once the visibility for createGrp menu item is set according to the no. of apps\n\t\tcontainer._updateContainerHeader(container);\n\t}\n\n\t/**\n\t * Switches to the \"recommendedApps\" tab if no favorite apps or groups exist during the initial load.\n\t * Ensures this logic runs only once.\n\t *\n\t * @private\n\t * @param {App[]} apps - The list of favorite apps.\n\t * @param {Group[]} groups - The list of favorite app groups.\n\t */\n\tprivate _switchToRecommendedIfNoFavApps(apps: App[], groups: Group[]): void {\n\t\tconst container = this.getParent() as AppsContainer;\n\t\tconst panels = container.getContent() as BaseAppPanel[];\n\t\tconst recommendedPanel = panels ? panels.find((panel) => panel instanceof RecommendedAppPanel) : null;\n\n\t\tif (recommendedPanel) {\n\t\t\trecommendedPanel.attachEventOnce(\"supported\", async (event: BaseAppPanel$SupportedEvent) => {\n\t\t\t\tconst isSupported = event.getParameter(\"isSupported\") as boolean;\n\t\t\t\tif ([...apps, ...groups].length === 0 && isSupported) {\n\t\t\t\t\tcontainer.setProperty?.(\"selectedKey\", \"recommendedApps\");\n\t\t\t\t\tawait container.refreshPanel(recommendedPanel);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Creates an \"Add from Insights Tiles\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createAddFromInsTilesMenuItem(id: string) {\n\t\tconst menuItemId = `${this.getId()}-${id}`;\n\t\tif (!this._controlMap.get(menuItemId)) {\n\t\t\tconst addInsightsMenuItem = new MenuItem(menuItemId, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addFromInsights\"),\n\t\t\t\ticon: \"sap-icon://duplicate\",\n\t\t\t\tpress: () => void this._handleAddFromInsights()\n\t\t\t});\n\t\t\taddFESRId(addInsightsMenuItem, \"staticTilesDialog\");\n\t\t\tthis._menuItems.push(addInsightsMenuItem);\n\t\t\tthis.addAggregation(\"menuItems\", addInsightsMenuItem);\n\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t\tthis._controlMap.set(menuItemId, addInsightsMenuItem as unknown as Control);\n\t\t}\n\t\treturn this._controlMap.get(menuItemId);\n\t}\n\n\t/**\n\t * Sorts the menu items based on the provided order.\n\t *\n\t * @private\n\t * @param {string[]} menuItems - The order of the menu items.\n\t */\n\tprivate _sortMenuItems(menuItems: string[]) {\n\t\tconst panelMenuItems = this.getAggregation(\"menuItems\") as MenuItem[];\n\t\tlet sortedMenuItems = sortMenuItems(menuItems, panelMenuItems);\n\t\tthis.removeAllAggregation(\"menuItems\");\n\t\tsortedMenuItems?.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t}\n\n\t/**\n\t * Creates and returns group instances for given group objects\n\t * @private\n\t * @param {object[]} aGroupObject - Array of group object.\n\t * @returns {sap.cux.home.Group[]} - Array of group instances\n\t */\n\tprivate _generateGroups(groupVisualizations: ISectionAndVisualization[]): Group[] {\n\t\treturn groupVisualizations.map((groupVisualization, index) => {\n\t\t\tconst bgColor =\n\t\t\t\ttypeof groupVisualization.BGColor === \"object\" && \"key\" in groupVisualization.BGColor\n\t\t\t\t\t? groupVisualization.BGColor.key\n\t\t\t\t\t: groupVisualization.BGColor;\n\t\t\tconst group = new Group(`${this.getId()}-group-${index}`, {\n\t\t\t\ttitle: groupVisualization.title,\n\t\t\t\tbgColor: bgColor,\n\t\t\t\tstatus: groupVisualization.status,\n\t\t\t\ticon: groupVisualization.icon,\n\t\t\t\tnumber: groupVisualization.badge,\n\t\t\t\tgroupId: groupVisualization.id,\n\t\t\t\tpress: this._handleGroupPress.bind(this)\n\t\t\t});\n\t\t\tgroupVisualization.menuItems?.forEach((oMenuItem) => {\n\t\t\t\tgroup.addAggregation(\"menuItems\", oMenuItem);\n\t\t\t});\n\t\t\treturn group;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple groups in the groups aggregation.\n\t * @private\n\t * @param {sap.cux.home.Group[]} groups - Array of groups.\n\t */\n\tprivate _setGroups(groups: Group[]) {\n\t\tgroups.forEach((group) => {\n\t\t\tthis.addAggregation(\"groups\", group, true);\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of actions available for app\n\t * @param {ssap.cux.home.Group} group - The group containing the app.\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - An array of menu items representing available actions for the app.\n\t */\n\tprivate _getAppActions(group?: Group, index?: number, appVisualization?: ICustomVisualization) {\n\t\tconst groupId = group?.getGroupId();\n\t\tconst defaultSection = appVisualization?.persConfig?.isDefaultSection;\n\t\tconst isUngroupedApp = !groupId;\n\t\tconst appActions = [];\n\t\tconst selectColorMenuItem = new MenuItem({\n\t\t\tid:\n\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t? recycleId(`_${groupId}--selectColorGroupAppMenuItem--${index}`)\n\t\t\t\t\t: recycleId(`_${this.getKey()}--selectColorAppMenuItem--${index}`),\n\t\t\ttitle: this._i18nBundle.getText(\"selectColor\"),\n\t\t\ttype: ListType.Navigation,\n\t\t\tpress: this._openColorPopover.bind(this)\n\t\t});\n\t\tappActions.push(selectColorMenuItem);\n\n\t\taddFESRId(selectColorMenuItem, \"changeColor\");\n\n\t\tif (this._getAllowedMoveGroups(groupId)?.length >= 1) {\n\t\t\tconst moveToMenuItem = new MenuItem({\n\t\t\t\tid:\n\t\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t\t? recycleId(`_${groupId}--moveToGroupAppMenuItem--${index}`)\n\t\t\t\t\t\t: recycleId(`_${this.getKey()}--moveToMenuItem--${index}`),\n\t\t\t\ttitle: this._i18nBundle.getText(\"moveTo\"),\n\t\t\t\ttype: ListType.Navigation,\n\t\t\t\tpress: (event) => this._openMoveToGroupPopover(event, group)\n\t\t\t});\n\t\t\tappActions.push(moveToMenuItem);\n\t\t\taddFESRId(moveToMenuItem, \"moveToGroup\");\n\t\t}\n\t\tif (isUngroupedApp) {\n\t\t\tconst createGroupMenuItem = new MenuItem(recycleId(`${this.getKey()}--createGroupMenuItem--${index}`), {\n\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\t\tthis._selectedApps = [app];\n\t\t\t\t\tthis._openCreateGroupDialog();\n\t\t\t\t}\n\t\t\t});\n\t\t\tappActions.push(createGroupMenuItem);\n\t\t\taddFESRId(createGroupMenuItem, \"createGroupDialog\");\n\t\t}\n\t\tconst removeFromMyHomeMenuItem = new MenuItem({\n\t\t\tid:\n\t\t\t\tgroupId && !defaultSection\n\t\t\t\t\t? recycleId(`_${groupId}--removeFromMyHomeGroupAppMenuItem--${index}`)\n\t\t\t\t\t: recycleId(`_${this.getKey()}--removeFromMyHomeMenuItem--${index}`),\n\t\t\ttitle: this._i18nBundle.getText(\"removeFromMyHome\"),\n\t\t\tpress: (event: Event) => {\n\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\tthis._handleRemove(app, group);\n\t\t\t}\n\t\t});\n\t\tappActions.push(removeFromMyHomeMenuItem);\n\t\taddFESRId(removeFromMyHomeMenuItem, \"removeFromMyHome\");\n\n\t\tif (!isUngroupedApp) {\n\t\t\tconst removeFromGroupMenuItem = new MenuItem({\n\t\t\t\tid: recycleId(`${this.getKey()}--removeFromGroupMenuItem--${index}`),\n\t\t\t\ttitle: this._i18nBundle.getText(\"removeFromGroup\"),\n\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\t\t\tconst app = source.getParent() as App;\n\t\t\t\t\tvoid this._handleMoveToGroup(app, groupId);\n\t\t\t\t}\n\t\t\t});\n\t\t\tappActions.push(removeFromGroupMenuItem);\n\t\t\taddFESRId(removeFromGroupMenuItem, \"ungroupApp\");\n\t\t}\n\n\t\treturn appActions;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected group\n\t * @private\n\t * @param {sap.cux.home.Group} group - Group\n\t * @returns {sap.cux.home.MenuItem[]} - An array of menu items representing available actions for the group.\n\t */\n\tprivate _getGroupActions(group: ISectionAndVisualization) {\n\t\tconst renameGroupMenuItem = new MenuItem(`id-${group.id}-renameGroup`, {\n\t\t\ttitle: this._i18nBundle.getText(\"renameGroup\"),\n\t\t\tpress: this._onRenameGroup.bind(this)\n\t\t});\n\t\taddFESRId(renameGroupMenuItem, \"renameGroup\");\n\t\tconst selectColorMenuItem = new MenuItem(`id-${group.id}-selectColor`, {\n\t\t\ttitle: this._i18nBundle.getText(\"selectColor\"),\n\t\t\ttype: ListType.Navigation,\n\t\t\tpress: this._openColorPopover.bind(this)\n\t\t});\n\t\taddFESRId(selectColorMenuItem, \"changeColor\");\n\t\tconst removeAllAppsMenuItem = new MenuItem(`id-${group.id}-removeAllApps`, {\n\t\t\ttitle: this._i18nBundle.getText(\"removeAllApps\"),\n\t\t\tpress: this._handleUngroupApps.bind(this, group)\n\t\t});\n\t\taddFESRId(removeAllAppsMenuItem, \"removeAllApps\");\n\t\tconst groupActions = [renameGroupMenuItem, selectColorMenuItem, removeAllAppsMenuItem];\n\t\tif (!group.isPresetSection) {\n\t\t\tconst deleteGroupMenuItem = new MenuItem(`id-${group.id}-delete`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"delete\"),\n\t\t\t\tpress: this._onDeleteGroup.bind(this)\n\t\t\t});\n\t\t\taddFESRId(deleteGroupMenuItem, \"deleteGroup\");\n\t\t\tgroupActions.push(deleteGroupMenuItem);\n\t\t}\n\t\treturn groupActions;\n\t}\n\n\t/**\n\t * Creates actions buttons for panel.\n\t * @private\n\t */\n\tprivate _createActionButtons() {\n\t\tif (!this._actionButtons) {\n\t\t\tthis._actionButtons = [];\n\t\t\tif (_showAddApps()) {\n\t\t\t\tconst addAppsBtn = new Button(`${this.getId()}-addAppsBtn`, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttooltip: this._i18nBundle.getText(\"addAppsTooltip\"),\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\taddFESRId(addAppsBtn, \"addAppsBtn\");\n\t\t\t\tthis._actionButtons.push(addAppsBtn);\n\t\t\t}\n\t\t}\n\t\tthis._actionButtons.forEach((actionButton) => {\n\t\t\tthis.addAggregation(\"actionButtons\", actionButton);\n\t\t});\n\t}\n\n\t/**\n\t * Creates menu items for panel header.\n\t * @private\n\t */\n\tprivate _createHeaderMenuItems() {\n\t\tif (!this._menuItems) {\n\t\t\tthis._createGroupMenuItem = new MenuItem(`${this.getId()}-${favouritesMenuItems.CREATE_GROUP}`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\ticon: \"sap-icon://add\",\n\t\t\t\tpress: () => this._openCreateGroupDialog()\n\t\t\t});\n\t\t\tthis._menuItems = [this._createGroupMenuItem];\n\t\t\tif (_showAddApps()) {\n\t\t\t\tthis._menuItems.push(\n\t\t\t\t\tnew MenuItem(`${this.getId()}-${favouritesMenuItems.ADD_APPS}`, {\n\t\t\t\t\t\ttitle: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Assign FESR IDs based on menu items\n\t\t\taddFESRId(this._createGroupMenuItem, \"createGroupDialog\");\n\t\t\tconst addAppsMenuItem = this._menuItems.find((item) => item.getId() === `${this.getId()}-${favouritesMenuItems.ADD_APPS}`);\n\t\t\tif (addAppsMenuItem) {\n\t\t\t\taddFESRId(addAppsMenuItem, \"appsAppFinder\");\n\t\t\t}\n\t\t\tthis._menuItems.forEach((oMenuItem) => {\n\t\t\t\tthis.addAggregation(\"menuItems\", oMenuItem, true);\n\t\t\t});\n\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves drag and drop information from the given event.\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} event - The event containing drag and drop information.\n\t * @returns {Promise<IDragDropInfo>} The drag and drop information.\n\t */\n\tprivate async _getDragDropInfo(event: Event<DropInfo$DropEventParameters>, appGroupId?: string) {\n\t\tconst dragTile = event.getParameter?.(\"draggedControl\") as GenericTile,\n\t\t\tdropTile = event.getParameter?.(\"droppedControl\") as GenericTile,\n\t\t\tdropPosition = event.getParameter?.(\"dropPosition\"),\n\t\t\tdropControl = dragTile.getParent() as GridContainer,\n\t\t\tdragItemIndex = dropControl.indexOfItem(dragTile),\n\t\t\tdropItemIndex = dropControl.indexOfItem(dropTile),\n\t\t\tdragItem = this._getTileItem(dragTile, appGroupId),\n\t\t\tdropItem = this._getTileItem(dropTile, appGroupId);\n\n\t\tconst dragDropInfo: IDragDropInfo = {\n\t\t\tdragItem: dragItem!,\n\t\t\tdropItem: dropItem!,\n\t\t\tdropPosition: dropPosition as dnd.RelativeDropPosition,\n\t\t\tdropControl,\n\t\t\tdragItemIndex,\n\t\t\tdropItemIndex\n\t\t};\n\t\t//adjust drap drop info\n\t\tif (dragItemIndex !== dropItemIndex) {\n\t\t\tif (!(dragItem instanceof Group) && !(dropItem instanceof Group)) {\n\t\t\t\tawait this._adjustAppDragDropInfo(dragDropInfo, appGroupId);\n\t\t\t} else if (dragItem instanceof Group) {\n\t\t\t\tawait this._adjustGroupDragDropInfo(dragDropInfo);\n\t\t\t}\n\t\t}\n\t\treturn dragDropInfo;\n\t}\n\n\t/**\n\t * Adjusts apps drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information to adjust.\n\t * @returns {Promise<void>} A Promise that resolves when the adjustment is completed.\n\t */\n\tprivate async _adjustAppDragDropInfo(dragDropInfo: IDragDropInfo, appGroupId?: string) {\n\t\tlet isUpdated = false;\n\t\tconst dragApp = dragDropInfo.dragItem as App;\n\t\tconst dropApp = dragDropInfo.dropItem as App;\n\t\tconst [dragVisualization, dropVisualization] = await Promise.all([\n\t\t\tthis.appManagerInstance.getVisualization(dragApp.getUrl(), appGroupId),\n\t\t\tthis.appManagerInstance.getVisualization(dropApp.getUrl(), appGroupId)\n\t\t]);\n\t\tif (dragDropInfo.dropPosition === dnd.RelativeDropPosition.Before) {\n\t\t\t//let's say there are two apps a1, a2, if a1 is moved before a2, that essentailly means the drop item index is same as current item index, adjust the dropItemIndex accordingly\n\t\t\tif (dragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex - 1) {\n\t\t\t\tdragDropInfo.dropItemIndex--;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdragDropInfo.dragItemIndex < dragDropInfo.dropItemIndex &&\n\t\t\t\tdragVisualization?.persConfig?.sectionIndex === dropVisualization?.persConfig?.sectionIndex\n\t\t\t) {\n\t\t\t\tdragDropInfo.dropItemIndex--;\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t} else if (dragDropInfo.dropPosition === dnd.RelativeDropPosition.After) {\n\t\t\tif (dragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex + 1) {\n\t\t\t\tdragDropInfo.dropItemIndex++;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tdragDropInfo.dragItemIndex > dragDropInfo.dropItemIndex &&\n\t\t\t\tdragVisualization?.persConfig?.sectionIndex === dropVisualization?.persConfig?.sectionIndex\n\t\t\t) {\n\t\t\t\tdragDropInfo.dropItemIndex++;\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isUpdated) {\n\t\t\tconst tile = (dragDropInfo.dropControl as GridContainer).getItems()[dragDropInfo.dropItemIndex] as GenericTile;\n\t\t\tconst app = this._getTileItem(tile, appGroupId);\n\t\t\tif (app) {\n\t\t\t\tdragDropInfo.dropItem = app;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _getTileItem(tile: GenericTile, appGroupId?: string) {\n\t\tconst tileGroupId = tile.data(\"groupId\") as string | undefined;\n\t\tif (tileGroupId) {\n\t\t\t//tile is a group\n\t\t\treturn this._getGroup(tileGroupId);\n\t\t} else {\n\t\t\tconst group = appGroupId ? this._getGroup(appGroupId) : null;\n\t\t\tconst apps = group ? group.getApps() : this.getApps();\n\t\t\treturn apps.find((app) => getLeanURL(app.getUrl()) === tile.getUrl());\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts app/group drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information to adjust.\n\t * @returns {Promise<void>} A Promise that resolves when the adjustment is completed.\n\t */\n\tprivate async _adjustGroupDragDropInfo(dragDropInfo: IDragDropInfo) {\n\t\tconst sections = await this.appManagerInstance._getSections();\n\t\tlet dropGroupIndex;\n\t\tdragDropInfo.dragItemIndex = sections.findIndex((section) => section.id === (dragDropInfo.dragItem as Group).getGroupId());\n\n\t\t//If dropped app is the first ungrouped app, put the group at the end\n\t\tif (!(dragDropInfo.dropItem instanceof Group)) {\n\t\t\tconst lastGroupIndex = (this.getAggregation(\"groups\") as Group[]).length;\n\t\t\tdragDropInfo.dropItemIndex =\n\t\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.Before &&\n\t\t\t\tdragDropInfo.dropItemIndex === lastGroupIndex &&\n\t\t\t\tdragDropInfo.dragItemIndex !== lastGroupIndex\n\t\t\t\t\t? lastGroupIndex + 1\n\t\t\t\t\t: dragDropInfo.dragItemIndex;\n\t\t} else {\n\t\t\tdropGroupIndex = sections.findIndex((section) => section.id === (dragDropInfo.dropItem as Group).getGroupId());\n\t\t\t//update the drop item with section index\n\t\t\tdragDropInfo.dropItemIndex = dropGroupIndex;\n\t\t}\n\n\t\t//let's say there are two groups g1, g2, if g1 is moved before g2, that essentailly means the drop item index is same as current item index, adjust the dropItemIndex accordingly\n\t\tif (\n\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.Before &&\n\t\t\tdragDropInfo.dragItemIndex === dragDropInfo.dropItemIndex - 1\n\t\t) {\n\t\t\tdragDropInfo.dropItemIndex--;\n\t\t} else if (\n\t\t\tdragDropInfo.dropPosition === dnd.RelativeDropPosition.After &&\n\t\t\t(dragDropInfo.dragItemIndex !== dragDropInfo.dropItemIndex || (dropGroupIndex && dragDropInfo.dropItemIndex >= dropGroupIndex))\n\t\t) {\n\t\t\tdragDropInfo.dropItemIndex++;\n\t\t}\n\t}\n\n\t/**\n\t * Handler for drop event of a favorite item.\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} event - The drop event containing information about the dropped item.\n\t * @returns {Promise<void>} A Promise that resolves when the drop event handling is completed.\n\t */\n\tprivate async _onFavItemDrop(event: Event<DropInfo$DropEventParameters>, appGroupId?: string) {\n\t\tconst dragTile = event.getParameter?.(\"draggedControl\") as GenericTile;\n\t\tconst dragDropInfo = await this._getDragDropInfo(event, appGroupId);\n\t\tconst { dragItemIndex, dropItemIndex, dropPosition, dragItem, dropItem } = dragDropInfo;\n\t\tif (dragItemIndex === dropItemIndex) return;\n\n\t\tif (dropPosition === dnd.RelativeDropPosition.On) {\n\t\t\tawait this._handleOnItemDrop(dragItem, dropItem);\n\t\t\tvoid this.refresh();\n\t\t} else if (dropPosition === dnd.RelativeDropPosition.After || dropPosition === dnd.RelativeDropPosition.Before) {\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._handleItemsReorder(dragDropInfo, appGroupId);\n\t\t\tawait this.refresh();\n\n\t\t\tif (appGroupId) {\n\t\t\t\tvoid this._setGroupDetailDialogApps(appGroupId);\n\t\t\t}\n\t\t\tthis._setBusy(false);\n\t\t}\n\n\t\tdragTile.removeStyleClass(\"sapMGTPressActive\");\n\t}\n\n\t/**\n\t * Handles the drop of an item onto another item.\n\t * If an app in dropped over another app, create group dialog is opened.\n\t * If an app is dropped over a group, app should be moved inside that group.\n\t * @private\n\t * @param {Group | App} dragItem - The item being dragged.\n\t * @param {Group | App} dropItem - The item onto which the dragItem is dropped.\n\t * @returns {Promise<void>} A Promise that resolves when the dropping of the item is completed.\n\t */\n\tprivate async _handleOnItemDrop(dragItem: Group | App, dropItem: Group | App) {\n\t\tif (dragItem instanceof Group) return;\n\n\t\tif (!(dropItem instanceof Group)) {\n\t\t\t//if both dragged and dropped items are apps, create group dialog is opened.\n\t\t\tconst dragApp = dragItem;\n\t\t\tconst dropApp = dropItem;\n\t\t\tthis._selectedApps = [dragApp, dropApp];\n\t\t\tthis._openCreateGroupDialog(true);\n\t\t} else {\n\t\t\t//if dragged item is an app and dropped item is a group, app should be moved into that group.\n\t\t\tconst targetGroupId = dropItem.getGroupId();\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._handleMoveToGroup(dragItem, undefined, targetGroupId);\n\t\t\tthis._setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Handles the reordering of items based on drag and drop information.\n\t * @private\n\t * @param {IDragDropInfo} dragDropInfo - The drag and drop information.\n\t * @returns {Promise<void>} A Promise that resolves when the reordering is completed.\n\t */\n\tprivate async _handleItemsReorder(dragDropInfo: IDragDropInfo, appGroupId?: string) {\n\t\tconst { dragItem, dropItem, dragItemIndex, dropItemIndex } = dragDropInfo;\n\t\tconst isDragItemGroup = dragItem.getMetadata()?.getName() === \"sap.cux.home.Group\";\n\t\tconst isDropItemGroup = dropItem.getMetadata()?.getName() === \"sap.cux.home.Group\";\n\t\tif (!isDragItemGroup && !isDropItemGroup) {\n\t\t\tconst drapApp = dragItem as App;\n\t\t\tconst dropApp = dropItem as App;\n\t\t\tconst [dragVisualization, dropVisualization] = await Promise.all([\n\t\t\t\tthis.appManagerInstance.getVisualization(drapApp.getUrl(), appGroupId),\n\t\t\t\tthis.appManagerInstance.getVisualization(dropApp.getUrl(), appGroupId)\n\t\t\t]);\n\t\t\tawait this.appManagerInstance.moveVisualization({\n\t\t\t\tsourceSectionIndex: dragVisualization?.persConfig?.sectionIndex as number,\n\t\t\t\tsourceVisualizationIndex: dragVisualization?.persConfig?.visualizationIndex as number,\n\t\t\t\ttargetSectionIndex: dropVisualization?.persConfig?.sectionIndex as number,\n\t\t\t\ttargetVisualizationIndex: dropVisualization?.persConfig?.visualizationIndex as number\n\t\t\t});\n\t\t} else if (isDragItemGroup && isDropItemGroup) {\n\t\t\tawait this.appManagerInstance.moveSection(dragItemIndex, dropItemIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Navigates to the App Finder with optional group Id.\n\t * @async\n\t * @private\n\t * @param {string} [groupId] - Optional group Id\n\t */\n\tprivate async navigateToAppFinder(groupId?: string) {\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst navigationObject: { pageID: string; sectionID?: string } = {\n\t\t\tpageID: MYHOME_PAGE_ID\n\t\t};\n\t\tif (groupId) {\n\t\t\tnavigationObject.sectionID = groupId;\n\t\t}\n\t\tawait navigationService.navigate({\n\t\t\ttarget: {\n\t\t\t\tshellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`\n\t\t\t}\n\t\t});\n\t\taddFESRNavigationSource(FESRNavigationSource.AppFinder);\n\t}\n\n\t/**\n\t * Opens the create group dialog.\n\t * @private\n\t * @param {boolean} [skipAppsSelection=false] - Whether to skip the apps selection page.\n\t */\n\tprivate _openCreateGroupDialog(skipAppsSelection = false) {\n\t\tconst createGroupDialog = this._generateCreateGroupDialog(skipAppsSelection);\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer;\n\t\tappsWrapper.destroyItems();\n\t\tconst tiles = [...this.getApps()].map((app) => {\n\t\t\tconst appCopy = app.clone();\n\t\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy); // override app press behaviour to highlight app\n\t\t\treturn (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\t});\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tlet apps = this.getApps();\n\t\t(this.getParent() as AppsContainer).fireEvent(\"appsLoaded\", { apps, tiles });\n\t\tthis._updateSelectedAppCount();\n\t\tcreateGroupDialog.open();\n\t}\n\n\t/**\n\t * Closes the create group dialog.\n\t * @private\n\t */\n\tprivate _closeCreateGroupDialog() {\n\t\tconst createGroupDialog = this._generateCreateGroupDialog();\n\t\tcreateGroupDialog?.close();\n\t\t//reset create group dialog on close\n\t\tthis._resetCreateGroupDialog();\n\t}\n\n\t/**\n\t * Resets the state of the create group dialog.\n\t * @private\n\t */\n\tprivate _resetCreateGroupDialog() {\n\t\tconst navContainer = this._generateCreateGroupNavContainer();\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tconst searchField = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-search`) as SearchField;\n\t\tgroupNameInput.setValue(\"\");\n\t\tnavContainer.to(navContainer.getInitialPage() as string);\n\t\tthis._selectedApps = [];\n\t\tsearchField.setValue(\"\");\n\t\tthis._setNoAppsSelectedError(false);\n\t\tthis._selectedGroupColor = undefined;\n\t}\n\n\t/**\n\t * Generates or retrieves the dialog for creating a group.\n\t * @private\n\t * @param {boolean} bSkipAppsSelection - Whether to skip the apps selection page.\n\t * @returns {sap.m.Dialog} The generated dialog for creating a group.\n\t */\n\tprivate _generateCreateGroupDialog(skipAppsSelection: boolean = true) {\n\t\tconst id = `${this.getId()}-createGroupDialog`;\n\t\tconst navContainer = this._generateCreateGroupNavContainer();\n\t\tconst _toggleNavButton = (skipAppsSelection: boolean) => {\n\t\t\tconst nextBtn = this._controlMap.get(`${id}-nextBtn`) as Button;\n\t\t\tconst backBtn = this._controlMap.get(`${id}-backBtn`) as Button;\n\t\t\tconst createBtn = this._controlMap.get(`${id}-createBtn`) as Button;\n\t\t\tconst currentPageIndex = navContainer.indexOfPage(navContainer.getCurrentPage());\n\t\t\tnextBtn.setVisible(currentPageIndex !== navContainer.getPages().length - 1 && !skipAppsSelection);\n\t\t\tbackBtn.setVisible(currentPageIndex !== 0 && !skipAppsSelection);\n\t\t\tcreateBtn.setVisible(currentPageIndex === navContainer.getPages().length - 1 || skipAppsSelection);\n\t\t};\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//set up navigation buttons\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-nextBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-nextBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"nextButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tif (this._validateGroupName()) {\n\t\t\t\t\t\t\tnavContainer.to(this._generateCreateGroupAppsPage());\n\t\t\t\t\t\t\t_toggleNavButton(skipAppsSelection);\n\t\t\t\t\t\t\tthis._highlightSelectedApps();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"Emphasized\"\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for next button\n\t\t\tconst nextBtn = this._controlMap.get(`${id}-nextBtn`) as Button;\n\t\t\taddFESRSemanticStepName(nextBtn, \"press\", \"createGroupNextBtn\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-backBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-backBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"backButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tnavContainer.back();\n\t\t\t\t\t\t_toggleNavButton(skipAppsSelection);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for back button\n\t\t\tconst backBtn = this._controlMap.get(`${id}-backBtn`) as Button;\n\t\t\taddFESRSemanticStepName(backBtn, \"press\", \"createGroupBackBtn\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-createBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-createBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"createButton\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._onPressGroupCreate();\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"Emphasized\"\n\t\t\t\t})\n\t\t\t);\n\t\t\t// Add FESR for create button\n\t\t\tconst createBtn = this._controlMap.get(`${id}-createBtn`) as Button;\n\t\t\taddFESRSemanticStepName(createBtn, \"press\", \"addCreateGroup\");\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"createGroup\"),\n\t\t\t\t\tcontent: navContainer,\n\t\t\t\t\tescapeHandler: this._closeCreateGroupDialog.bind(this),\n\t\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\tnextBtn,\n\t\t\t\t\t\tbackBtn,\n\t\t\t\t\t\tcreateBtn,\n\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\t\tpress: this._closeCreateGroupDialog.bind(this)\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapCuxCreateGroupDialog sapContrastPlus\")\n\t\t\t);\n\t\t}\n\t\t_toggleNavButton(skipAppsSelection);\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the highlighting of an app when selected.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t * @param {Object} selectedApp - The selected app object.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App) {\n\t\tconst oTile = event.getSource<GenericTile>(),\n\t\t\tbIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\"),\n\t\t\toScrollContainer = this._generateAppsScrollContainer();\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\tthis._updateSelectedAppCount();\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._setNoAppsSelectedError(this._selectedApps.length < 1);\n\t\t//adjust scroll container height\n\t\toScrollContainer.setHeight(this._selectedApps.length < 1 ? \"15.3rem\" : \"17.5rem\");\n\t}\n\n\t/**\n\t * Generates the scroll container for displaying apps in the create group dialog.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} The scroll container for displaying apps.\n\t */\n\tprivate _generateAppsScrollContainer() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}--appsContainerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"17.5rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Method for updating selected apps count in create group dialog\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount() {\n\t\tconst oAppsCountContol = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-headerContainer-count`) as Text;\n\t\toAppsCountContol.setText(\n\t\t\tthis._i18nBundle.getText(\"selectedAppsCount\", [this._selectedApps?.length || this._i18nBundle.getText(\"noAppSelected\")])\n\t\t);\n\t}\n\n\t/**\n\t * Creates or returns the navigation container for the create group dialog.\n\t * @private\n\t * @returns {sap.m.NavContainer} The navigation container for the create group dialog.\n\t */\n\tprivate _generateCreateGroupNavContainer() {\n\t\tconst id = `${this.getId()}-createGroupDialog-wrapper`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew NavContainer(id, {\n\t\t\t\t\tinitialPage: `${this.getId()}-createGroupDialog-mainPage`,\n\t\t\t\t\tpages: [this._generateCreateGroupMainPage(), this._generateCreateGroupAppsPage()]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as NavContainer;\n\t}\n\n\t/**\n\t * Generates or retrieve the main page of the create group dialog.\n\t * @private\n\t * @returns {sap.m.Page} The main page of the create group dialog.\n\t */\n\tprivate _generateCreateGroupMainPage() {\n\t\tconst id = `${this.getId()}-createGroupDialog-mainPage`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-form-groupName-input`,\n\t\t\t\tnew Input({\n\t\t\t\t\tid: `${id}-form-groupName-input`,\n\t\t\t\t\twidth: \"13.75rem\",\n\t\t\t\t\trequired: true,\n\t\t\t\t\tliveChange: this._validateGroupName.bind(this)\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Page({\n\t\t\t\t\tid,\n\t\t\t\t\tshowHeader: false,\n\t\t\t\t\tenableScrolling: false,\n\t\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew VBox({\n\t\t\t\t\t\t\tid: `${id}-headerContainer`,\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\tid: `${id}-title`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\t\tid: `${id}-description`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settingsDescription\")\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\t\tnew SimpleForm(`${id}-form`, {\n\t\t\t\t\t\t\tlayout: form.SimpleFormLayout.ResponsiveGridLayout,\n\t\t\t\t\t\t\tlabelSpanS: 4,\n\t\t\t\t\t\t\tlabelSpanM: 4,\n\t\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\t\t\tid: `${id}-form-groupName-label`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"groupNameLbl\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop\"),\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-form-groupName-input`) as Input,\n\t\t\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\t\t\tid: `${id}-form-groupColor-label`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"groupColorLbl\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop\"),\n\t\t\t\t\t\t\t\tnew ColorPalette(`${id}-form-groupColor-pallet`, {\n\t\t\t\t\t\t\t\t\tcolors: END_USER_COLORS().map((oColor) => oColor.value) as string[],\n\t\t\t\t\t\t\t\t\tcolorSelect: this._onColorSelect.bind(this)\n\t\t\t\t\t\t\t\t}).addStyleClass(\"adjustSelectedColorPalette\")\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiMediumMarginTop\")\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n\n\t/**\n\t * Generates or retrieve the app selection page of the create group dialog.\n\t * @private\n\t * @returns {sap.m.Page} The app selection page of the create group dialog.\n\t */\n\tprivate _generateCreateGroupAppsPage() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-search`,\n\t\t\t\tnew SearchField({\n\t\t\t\t\tid: `${id}-search`,\n\t\t\t\t\tliveChange: this._onCreateAppSearch.bind(this)\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTopBottom\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessageStrip`,\n\t\t\t\tnew MessageStrip(`${id}-errorMessageStrip`, {\n\t\t\t\t\tid: `${id}-errorMessageStrip`,\n\t\t\t\t\ttype: MessageType.Error,\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"selectionErrorMessage\"),\n\t\t\t\t\tvisible: false\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-headerContainer-count`,\n\t\t\t\tnew Text({\n\t\t\t\t\tid: `${id}-headerContainer-count`\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Page(id, {\n\t\t\t\t\tshowHeader: false,\n\t\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\t\tenableScrolling: false,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew VBox(`${id}-headerContainer`, {\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew HBox(`${id}-headerContainer-titleCount`, {\n\t\t\t\t\t\t\t\t\tid: `${id}-headerContainer-titleCount`,\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\t\t\tid: `${id}-headerContainer-title`,\n\t\t\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"selectedAppsTitle\")\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd\"),\n\t\t\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-headerContainer-count`) as Text\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\t\tid: `${id}-description`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"appsSelectionDescription\")\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBottom\"),\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-search`) as SearchField,\n\t\t\t\t\t\t\t\tthis._controlMap.get(`${id}-errorMessageStrip`) as MessageStrip\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\t\tthis._generateAppsScrollContainer(),\n\t\t\t\t\t\tthis._generateCreateGroupErrorMsg()\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n\n\t/**\n\t * Generates the error message for create group dialog, when no apps are found for searched text.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} The error message for no filtered apps.\n\t */\n\tprivate _generateCreateGroupErrorMsg() {\n\t\tconst id = `${this.getId()}-createGroupDialog-appsPage-noFilterApps`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noSearchedAppTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"noSearchedAppDes\"),\n\t\t\t\t\tvisible: false\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as IllustratedMessage;\n\t}\n\n\t/**\n\t * Handles the color selection event for new group.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onColorSelect(event: ColorPalette$ColorSelectEvent) {\n\t\tthis._selectedGroupColor = this._getLegendColor(event.getParameter(\"value\") as string).key;\n\t}\n\n\t/**\n\t * Retrieves the key of the legend color based on the provided color value.\n\t * @param {string} color - The color value for which to retrieve the legend color key.\n\t * @returns {string} The legend color key corresponding to the provided color value, or the default background color key if not found.\n\t * @private\n\t */\n\tprivate _getLegendColor(color: string) {\n\t\treturn END_USER_COLORS().find((oColor) => oColor.value === color) || DEFAULT_BG_COLOR();\n\t}\n\n\t/**\n\t * Sets the visibility of the error message strip indicating no apps are selected in create group dialog.\n\t * @private\n\t * @param {boolean} error - Whether to show the error message strip (true) or hide it (false).\n\t */\n\tprivate _setNoAppsSelectedError(error: boolean) {\n\t\tconst messageStrip = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-errorMessageStrip`) as MessageStrip;\n\t\tmessageStrip.setVisible(error);\n\t}\n\n\t/**\n\t * Validates the group name entered in the create group dialog.\n\t * @private\n\t * @returns {boolean} Whether the group name is valid (true) or not (false).\n\t */\n\tprivate _validateGroupName() {\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tconst groupName = groupNameInput.getValue().trim();\n\t\t//update value state\n\t\tgroupNameInput.setValueState(groupName ? \"None\" : \"Error\");\n\t\tgroupNameInput.setValueStateText(groupName ? \"\" : (this._i18nBundle.getText(\"invalidGroupName\") as string));\n\t\treturn groupName ? true : false;\n\t}\n\n\t/**\n\t * Highlights selected apps by adding a CSS class to corresponding tiles.\n\t * @private\n\t */\n\tprivate _highlightSelectedApps() {\n\t\tconst selectedApps = this._selectedApps || [];\n\t\tconst tilesContainer = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer;\n\t\tconst tiles = (tilesContainer.getItems() || []) as GenericTile[];\n\t\ttiles.forEach((tile) => {\n\t\t\ttile.toggleStyleClass(\n\t\t\t\t\"sapCuxHighlightApp\",\n\t\t\t\tselectedApps.some((app) => getLeanURL(app.getUrl()) === tile.getUrl())\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the search for apps in create group dialog.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onCreateAppSearch(event: Event) {\n\t\tconst tilesContainer = this._controlMap.get(`${this.getId()}-createGroupDialog-appsPage-scrollContainer-apps`) as GridContainer,\n\t\t\tsearchQuery = event.getSource<SearchField>().getValue(),\n\t\t\ttiles = (tilesContainer.getItems() || []) as GenericTile[],\n\t\t\tsearchExpression = new RegExp(searchQuery, \"i\");\n\t\ttiles.forEach((tile) => {\n\t\t\ttile.setVisible(searchExpression.test(tile.getHeader()));\n\t\t});\n\t\tconst filteredTiles = tiles.filter((tile) => tile.getVisible());\n\t\tconst hasFilteredApps = filteredTiles.length > 0;\n\t\tthis._generateAppsScrollContainer()?.setVisible(hasFilteredApps);\n\t\tthis._generateCreateGroupErrorMsg()?.setVisible(!hasFilteredApps);\n\t}\n\n\t/**\n\t * Handles the event when the user presses the button to create a new group.\n\t * @private\n\t */\n\tprivate async _onPressGroupCreate() {\n\t\tconst groupNameInput = this._controlMap.get(`${this.getId()}-createGroupDialog-mainPage-form-groupName-input`) as Input;\n\t\tif (this._validateGroupName()) {\n\t\t\tif (this._selectedApps?.length) {\n\t\t\t\tthis._setBusy(true);\n\t\t\t\ttry {\n\t\t\t\t\tawait this._createGroup({\n\t\t\t\t\t\tselectedApps: this._selectedApps,\n\t\t\t\t\t\tgroupName: groupNameInput.getValue(),\n\t\t\t\t\t\tgroupColor: this._getGroupColor()\n\t\t\t\t\t});\n\t\t\t\t\tawait this.refresh();\n\n\t\t\t\t\t// Show toast message after successful group creation\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"newGroupCreated\") as string, {\n\t\t\t\t\t\tof: this._controlMap.get(`${this.getId()}-createGroupDialog`) as Dialog,\n\t\t\t\t\t\toffset: \"0 80\"\n\t\t\t\t\t});\n\t\t\t\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\t\t\t\tvoid this._showGroupDetailDialog(groups[0]?.getGroupId());\n\t\t\t\t} catch (err) {\n\t\t\t\t\tLog.error(err as string);\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToCreateGroup\") as string);\n\t\t\t\t} finally {\n\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t\tthis._closeCreateGroupDialog();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._setNoAppsSelectedError(true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new group with the given properties and adds selected apps to it.\n\t * @param {Object} params - The properties for creating the group.\n\t * @param {sap.ui.core.URI[]} params.selectedApps - Target URL unique identifier of the selected apps to be added to the group.\n\t * @param {string} [params.groupName] - The name of the group. If not provided, a default name will be used.\n\t * @param {string} [params.groupColor] - The color of the group. If not provided, the default color will be used.\n\t * @private\n\t */\n\tprivate async _createGroup(params: { selectedApps: App[]; groupName: string; groupColor: string }) {\n\t\tconst { selectedApps, groupName, groupColor } = params;\n\t\tconst sectionVisualizations = await this.appManagerInstance.getSectionVisualizations();\n\t\tconst visualizations = selectedApps.reduce((selectedVisualizations: ICustomVisualization[], oApp) => {\n\t\t\tconst sectionVisualization = sectionVisualizations.find((oSectionViz) => oSectionViz.url === oApp.getUrl());\n\t\t\tif (sectionVisualization) {\n\t\t\t\tselectedVisualizations.push(sectionVisualization);\n\t\t\t}\n\t\t\treturn selectedVisualizations;\n\t\t}, []);\n\t\tconst sectionId = visualizations[0].persConfig!.sectionId!;\n\t\tawait this.appManagerInstance.addSection({\n\t\t\tsectionIndex: 1,\n\t\t\tsectionProperties: {\n\t\t\t\ttitle: groupName || this._i18nBundle.getText(\"newGroup\"),\n\t\t\t\tvisible: true,\n\t\t\t\tvisualizations: visualizations.map((viz) => viz.visualization)\n\t\t\t}\n\t\t});\n\n\t\tconst visualizationsToBeDeleted: string[] = visualizations.reduce((visualizationsToBeDeleted: string[], oViz) => {\n\t\t\tif (oViz.visualization?.id) {\n\t\t\t\tconst duplicateVisualizationIds = (oViz.persConfig?.duplicateApps || []).map((oViz) => oViz.visualization?.id) as string[];\n\t\t\t\tvisualizationsToBeDeleted = visualizationsToBeDeleted.concat([oViz.visualization?.id], duplicateVisualizationIds);\n\t\t\t}\n\t\t\treturn visualizationsToBeDeleted;\n\t\t}, []);\n\n\t\tawait this.appManagerInstance.removeVisualizations({ sectionId, vizIds: visualizationsToBeDeleted });\n\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\tconst defaultSection = sections.find((oSection) => oSection.default);\n\t\tconst targetGroupId = sections[defaultSection ? 1 : 0]?.id;\n\t\t//update personalization\n\t\tawait this._updateAppPersonalization(\n\t\t\tvisualizations.map((oViz) => {\n\t\t\t\treturn {\n\t\t\t\t\tvisualization: oViz,\n\t\t\t\t\ttargetGroupId\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tawait this._updateGroupPersonalization(targetGroupId!, groupColor);\n\t}\n\n\t/**\n\t * Retrieves the color for the group.\n\t * @private\n\t * @returns {string} The color for the group.\n\t */\n\tprivate _getGroupColor() {\n\t\tconst defaultColor = DEFAULT_BG_COLOR().key;\n\t\tconst firstApp = this._selectedApps[0];\n\t\tconst setDefaultColor = this._selectedApps.some((app) => app.getBgColor() !== firstApp.getBgColor());\n\t\t//if group color is selected then apply that color, else if all the selected apps have same color then give the same color to group, else apply default color.\n\t\treturn this._selectedGroupColor || (setDefaultColor ? defaultColor : firstApp.getBgColor());\n\t}\n\n\t/**\n\t * Opens a color popover for selecting a background color for an item.\n\t * @param {sap.ui.base.Event} event - The event object.\n\t * @private\n\t */\n\tprivate _openColorPopover(event: Event<{ listItem?: StandardListItem }>) {\n\t\tconst colorPopoverId = `${this.getId()}-colorPopover`,\n\t\t\tcolors = END_USER_COLORS().map((oColor) => oColor.value) as string[];\n\t\tconst source = event.getSource<MenuItem>();\n\t\tthis._currentItem = source.getParent() as App | Group;\n\t\tlet colorPopover = this._controlMap.get(colorPopoverId) as ColorPalettePopover;\n\t\tif (!colorPopover) {\n\t\t\tcolorPopover = new ColorPalettePopover(colorPopoverId, {\n\t\t\t\tid: colorPopoverId,\n\t\t\t\tcolors: colors,\n\t\t\t\tshowDefaultColorButton: false,\n\t\t\t\tshowMoreColorsButton: false,\n\t\t\t\tshowRecentColorsSection: false,\n\t\t\t\tcolorSelect: (event: ColorPalette$ColorSelectEvent) => {\n\t\t\t\t\tActionsPopover._closeActionsPopover();\n\t\t\t\t\tconst selectedColor = event.getParameter(\"value\") as string;\n\t\t\t\t\tvoid this._handleColorSelect(this._currentItem, selectedColor);\n\t\t\t\t}\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\t(colorPopover as ColorPalettePopover & { _oPopover: Popover })._oPopover.setPlacement(PlacementType.HorizontalPreferredRight);\n\t\t\tthis._controlMap.set(colorPopoverId, colorPopover);\n\t\t}\n\t\tcolorPopover.openBy(event.getParameter(\"listItem\") as Control);\n\t}\n\n\t/**\n\t * Handles the selection of a color for an app or group.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @returns {Promise<void>} - A promise that resolves when the color selection is handled.\n\t * @private\n\t */\n\tprivate async _handleColorSelect(item: App | Group, color: string) {\n\t\tconst selectedColor = this._getLegendColor(color).key;\n\t\titem.setProperty(\"bgColor\", selectedColor, true);\n\t\tconst groupId = item instanceof Group ? item.getGroupId() : null;\n\t\tconst isGroupedApp = !groupId && item.getParent() instanceof Group;\n\n\t\t//update tile color\n\t\tif (isGroupedApp) {\n\t\t\tthis._refreshGroupDetailDialog(item as App, false);\n\t\t} else {\n\t\t\t//if ungroup app or group\n\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\tthis.oEventBus.publish(\"appsChannel\", \"favAppColorChanged\", { item, color });\n\t\t}\n\n\t\t//update personalization\n\t\tif (groupId) {\n\t\t\t//if group\n\t\t\tvoid this._updateGroupPersonalization(groupId, selectedColor);\n\t\t\tconst groupIconControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-color`) as Icon;\n\t\t\tgroupIconControl?.setColor(color);\n\t\t} else {\n\t\t\t//if app\n\t\t\tconst app = item as App;\n\t\t\tconst groupId = isGroupedApp ? (app.getParent() as Group).getGroupId() : undefined;\n\t\t\tconst visualization = await this.appManagerInstance.getVisualization(app.getUrl(), groupId);\n\t\t\tif (visualization) {\n\t\t\t\tvoid this._updateAppPersonalization([{ visualization, color: selectedColor }]);\n\t\t\t}\n\t\t}\n\t\tthis.oEventBus.publish(\"appsChannel\", \"favAppColorChanged\", { item, color });\n\t}\n\n\t/**\n\t * Retrieves the list of groups where apps can be moved, excluding the source group if specified.\n\t * @param {string|null} sourceGroupId - The ID of the source group from which apps are being moved.\n\t * @returns {sap.cux.home.Group[]} An array of groups where apps can be moved.\n\t * @private\n\t */\n\tprivate _getAllowedMoveGroups(sourceGroupId: string | undefined) {\n\t\tlet allowedMoveGroups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\tif (sourceGroupId) {\n\t\t\tallowedMoveGroups = allowedMoveGroups.filter((allowedMoveGroup) => allowedMoveGroup.getGroupId() !== sourceGroupId);\n\t\t}\n\t\treturn allowedMoveGroups;\n\t}\n\n\t/**\n\t * Sets the busy state for dialogs and the panel.\n\t * @param {boolean} busy - Indicates whether the dialogs and the panel should be set to busy state.\n\t * @private\n\t */\n\tprivate _setBusy(busy: boolean) {\n\t\t[this._generateGroupDetailDialog(), this._generateCreateGroupDialog(), this._generateAddFromInsightsDialog()].forEach(\n\t\t\t(oControl) => {\n\t\t\t\toControl.setBusy(busy);\n\t\t\t}\n\t\t);\n\t\tsuper.setBusy(busy);\n\t}\n\n\t/**\n\t * Opens a popover to move the app to another group.\n\t * @param {sap.cux.home.Group} sourceGroup - The source group from which the app is being moved.\n\t * @param {sap.ui.base.Event} event - The event triggering the popover opening.\n\t * @private\n\t */\n\tprivate _openMoveToGroupPopover(event: Event<{ listItem?: StandardListItem }>, sourceGroup?: Group) {\n\t\tconst popoverId = `${this.getId()}-moveToGroupPopover`,\n\t\t\tsource = event?.getSource<MenuItem>(),\n\t\t\tapp = source?.getParent() as App,\n\t\t\tsourceGroupId = sourceGroup?.getGroupId();\n\n\t\tlet list = this._controlMap.get(`${popoverId}-list`) as List,\n\t\t\tmoveToGroupPopover = this._controlMap.get(popoverId) as Popover;\n\n\t\tif (!moveToGroupPopover) {\n\t\t\tlist = new List({\n\t\t\t\tid: `${popoverId}-list`,\n\t\t\t\titemPress: () => ActionsPopover._closeActionsPopover()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${popoverId}-list`, list);\n\t\t\tmoveToGroupPopover = new Popover({\n\t\t\t\tid: popoverId,\n\t\t\t\tshowHeader: false,\n\t\t\t\tplacement: PlacementType.HorizontalPreferredRight,\n\t\t\t\tcontent: [list]\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\tthis._controlMap.set(popoverId, moveToGroupPopover);\n\t\t}\n\t\tlist.removeAllItems();\n\n\t\tthis._getAllowedMoveGroups(sourceGroupId).forEach((targetGroup, index) =>\n\t\t\tlist.addItem(\n\t\t\t\tnew StandardListItem(recycleId(`${this.getId()}-moveTo-${app.getId()}-${index}`), {\n\t\t\t\t\ttitle: targetGroup.getTitle(),\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._handleMoveToGroup(app, sourceGroupId, targetGroup.getGroupId());\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\n\t\tmoveToGroupPopover.openBy(event.getParameter(\"listItem\") as Control);\n\t}\n\n\t/**\n\t * Handles the removal of an app, displaying a confirmation dialog to the user.\n\t * If the app is the last one in the group, a warning dialog is displayed for confirmation.\n\t * @param {sap.cux.home.App} app - The app to be removed.\n\t * @param {sap.cux.home.Group} [group] - The group from which the app should be removed. If not provided, the app is considered to be in favorites.\n\t * @private\n\t */\n\tprivate _handleRemove(app: App, group?: Group): void {\n\t\tconst lastAppInGroup = group?.getApps()?.length === 1;\n\n\t\tlet message = this._i18nBundle.getText(\"removeAppMessage\", [app.getTitle()]),\n\t\t\ttitle = this._i18nBundle.getText(\"remove\"),\n\t\t\tactionText = this._i18nBundle.getText(\"remove\"),\n\t\t\tmessageIcon = MessageBox.Icon.QUESTION;\n\n\t\tif (lastAppInGroup) {\n\t\t\tmessage = this._i18nBundle.getText(\"removeFromMyHomeMessage\", [app.getTitle()]);\n\t\t\ttitle = this._i18nBundle.getText(\"delete\");\n\t\t\tactionText = this._i18nBundle.getText(\"delete\");\n\t\t\tmessageIcon = MessageBox.Icon.WARNING;\n\t\t}\n\n\t\tMessageBox.show(message as string, {\n\t\t\ticon: messageIcon,\n\t\t\ttitle: title,\n\t\t\tactions: [actionText as string, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: actionText,\n\t\t\tonClose: async (action: string) => {\n\t\t\t\tif (action === actionText) {\n\t\t\t\t\tthis._setBusy(true);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._removeApp(app, group);\n\t\t\t\t\t\tif (lastAppInGroup) {\n\t\t\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\t\t} else if (group) {\n\t\t\t\t\t\t\tthis._refreshGroupDetailDialog(app);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"appRemoved\") as string);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tLog.error(err as string);\n\t\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToRemoveApp\") as string);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Removes the specified app from the group or favorites.\n\t * If the app is the last one in the group, the group will be deleted as well.\n\t * If the app is an ungrouped app, its duplicate apps (if any) will also be deleted.\n\t * @param {App} app - The app to be removed.\n\t * @param {Group} [group] - The group from which the app should be removed. If not provided, the app is considered to be in favorites.\n\t * @returns {Promise<void>}\n\t * @private\n\t */\n\tprivate async _removeApp(app: App, group?: Group) {\n\t\tconst lastAppInGroup = group?.getApps()?.length === 1,\n\t\t\tgroupId = group?.getGroupId(),\n\t\t\tappId = app.getUrl(),\n\t\t\tviz = await this.appManagerInstance.getVisualization(appId, groupId);\n\t\tif (lastAppInGroup) {\n\t\t\t//if last app in group, then delete the group as well\n\t\t\tawait this._deleteGroup(groupId!);\n\t\t} else {\n\t\t\tlet visualizationsToBeDeleted = [viz?.visualization?.id];\n\t\t\tif (!groupId) {\n\t\t\t\t//for apps outside group i.e. for favorite apps delete duplicate apps as well\n\t\t\t\tvisualizationsToBeDeleted = visualizationsToBeDeleted.concat(\n\t\t\t\t\tviz?.persConfig?.duplicateApps?.map((viz) => viz.visualization?.id)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (viz?.persConfig?.sectionId && visualizationsToBeDeleted.length > 0) {\n\t\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\t\tsectionId: viz.persConfig.sectionId,\n\t\t\t\t\tvizIds: visualizationsToBeDeleted as string[]\n\t\t\t\t});\n\t\t\t\tvoid this._deletePersonalization({\n\t\t\t\t\tappId: appId,\n\t\t\t\t\toldAppId: viz?.oldAppId,\n\t\t\t\t\tsectionId: viz?.persConfig?.sectionId,\n\t\t\t\t\tisRecentlyAddedApp: viz?.persConfig?.isDefaultSection\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handler for moving an app from a source group to a target group.\n\t * @param {sap.cux.home.App} app - The app to be moved.\n\t * @param {string} sourceGroupId - The ID of the source group from which the app is being moved.\n\t * @param {string | null} targetGroupId - The ID of the target group to which the app will be moved.\n\t * @private\n\t */\n\tprivate async _handleMoveToGroup(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst sourceGroup = sourceGroupId ? this._getGroup(sourceGroupId) : undefined,\n\t\t\tisLastAppInGroup = sourceGroup?.getApps()?.length === 1;\n\n\t\tif (isLastAppInGroup) {\n\t\t\tconst confirmationMessage = this._i18nBundle.getText(\"moveAppMessage\", [app.getTitle()]) as string;\n\t\t\tconst confirmationTitle = this._i18nBundle.getText(\"delete\") as string;\n\t\t\tMessageBox.show(confirmationMessage, {\n\t\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\t\ttitle: confirmationTitle,\n\t\t\t\tactions: [confirmationTitle, MessageBox.Action.CANCEL],\n\t\t\t\temphasizedAction: confirmationTitle,\n\t\t\t\tonClose: (action: string) => {\n\t\t\t\t\tif (action === confirmationTitle) {\n\t\t\t\t\t\tvoid this._moveAppAndHandleGroupChanges(app, sourceGroupId, targetGroupId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tawait this._moveAppAndHandleGroupChanges(app, sourceGroupId, targetGroupId);\n\t\t}\n\t}\n\n\t/**\n\t * Moves an app to a different group and handles group changes.\n\t * @param {App} app - The app to be moved.\n\t * @param {string} [sourceGroupId] - The ID of the source group from which the app is being moved.\n\t * @param {string} [targetGroupId] - The ID of the target group to which the app is being moved.\n\t * @returns {Promise<void>} - A Promise that resolves once the app is moved and group changes are handled.\n\t * @private\n\t */\n\tprivate async _moveAppAndHandleGroupChanges(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst sourceGroup = sourceGroupId ? this._getGroup(sourceGroupId) : null,\n\t\t\ttargetGroup = targetGroupId ? this._getGroup(targetGroupId) : null,\n\t\t\tsTargetGroupTile = targetGroup?.getTitle(),\n\t\t\tisLastAppInGroup = sourceGroup?.getApps()?.length === 1;\n\t\ttry {\n\t\t\tthis._setBusy(true);\n\t\t\tawait this._moveAppToGroup(app, sourceGroupId, targetGroupId);\n\t\t\t//delete group, if it is the last app in the group\n\t\t\tif (isLastAppInGroup) {\n\t\t\t\tawait this._deleteGroup(sourceGroupId as string);\n\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t} else if (sourceGroupId) {\n\t\t\t\tthis._refreshGroupDetailDialog(app);\n\t\t\t}\n\t\t\tconst sMsg = sTargetGroupTile\n\t\t\t\t? this._i18nBundle.getText(\"appMoved\", [sTargetGroupTile])\n\t\t\t\t: this._i18nBundle.getText(\"appUngrouped\");\n\t\t\tMessageToast.show(sMsg as string);\n\t\t\tawait this.refresh();\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis._setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the group detail dialog.\n\t * @param {sap.cux.home.App} updatedApp - The updated app control.\n\t * @param {boolean} [isRemove=true] - A flag indicating whether to remove the app. Defaults to true.\n\t * @private\n\t */\n\tprivate _refreshGroupDetailDialog(updatedApp: App, isRemove = true) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = appsWrapper.getItems() as GenericTile[];\n\t\tconst group = updatedApp.getParent() as Group;\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\t\tconst groupApps = group.getApps();\n\t\tif (isRemove) {\n\t\t\tconst updatedAppIndex = groupApps.findIndex((groupApp) => groupApp.getUrl() === updatedApp.getUrl());\n\t\t\tif (updatedAppIndex > -1) {\n\t\t\t\tgroupApps[updatedAppIndex].destroy(true);\n\t\t\t\ttiles[updatedAppIndex].destroy(true);\n\t\t\t}\n\t\t} else {\n\t\t\t//update app color, along with duplicate apps, if any\n\t\t\tgroupApps.forEach((groupApp, index) => {\n\t\t\t\tif (groupApp.getUrl() === updatedApp.getUrl()) {\n\t\t\t\t\tgroupApp.setProperty(\"bgColor\", updatedApp.getBgColor(), true);\n\t\t\t\t\ttiles[index].setBackgroundColor(updatedApp.getBgColor());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Moves an app from a source group to a target group.\n\t * @param {sap.cux.home.App} app - The app to be moved.\n\t * @param {string} sourceGroupId - The ID of the source group from which the app is being moved.\n\t * @param {string} targetGroupId - The ID of the target group to which the app will be moved. If null, the default section is considered.\n\t * @private\n\t */\n\tprivate async _moveAppToGroup(app: App, sourceGroupId?: string, targetGroupId?: string) {\n\t\tconst appId = app.getUrl();\n\t\tconst [visualizations, sections] = await Promise.all([\n\t\t\t\tthis.appManagerInstance.getSectionVisualizations(sourceGroupId),\n\t\t\t\tthis.appManagerInstance._getSections()\n\t\t\t]),\n\t\t\tsourceVisualization = visualizations.find((oViz) => oViz.url === appId),\n\t\t\tsourceVisualizationIndex = sourceVisualization?.persConfig?.visualizationIndex ?? -1,\n\t\t\tsourceSectionIndex = sourceVisualization?.persConfig?.sectionIndex as number;\n\t\tconst isTargetGroupDefault = !targetGroupId; //if group id is not passed, then we consider it as default section\n\t\tconst isSourceGroupDefault = !sourceGroupId;\n\t\tconst targetSectionIndex = sections.findIndex((section) => (!targetGroupId ? section.default : section.id === targetGroupId));\n\n\t\tif (sourceVisualization) {\n\t\t\tif (isTargetGroupDefault) {\n\t\t\t\tawait this._moveAppToDefaultGroup(sourceVisualization);\n\t\t\t} else {\n\t\t\t\tif (isSourceGroupDefault) {\n\t\t\t\t\t//remove duplicate apps\n\t\t\t\t\tawait this._removeDuplicateVisualizations(sourceVisualization);\n\t\t\t\t}\n\t\t\t\tawait this.appManagerInstance.moveVisualization({\n\t\t\t\t\tsourceSectionIndex: sourceSectionIndex,\n\t\t\t\t\tsourceVisualizationIndex: sourceVisualizationIndex,\n\t\t\t\t\ttargetSectionIndex: targetSectionIndex,\n\t\t\t\t\ttargetVisualizationIndex: -1\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst sections = await this.appManagerInstance._getSections(true);\n\t\t\tconst defaultSection = sections.find((oSection) => oSection.default);\n\t\t\tawait this._updateAppPersonalization([\n\t\t\t\t{\n\t\t\t\t\tvisualization: sourceVisualization,\n\t\t\t\t\ttargetGroupId: targetGroupId ?? defaultSection?.id,\n\t\t\t\t\tisTargetGroupDefault\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t}\n\n\t/**\n\t * Moves a visualization to the default group.\n\t * @param {ICustomVisualization} visualization - The visualization to be moved to the default group.\n\t * @returns {Promise<void>} - A promise that resolves once the visualization is moved to the default group.\n\t * @private\n\t */\n\tprivate async _moveAppToDefaultGroup(visualization: ICustomVisualization) {\n\t\tawait this._addVisualization(visualization);\n\t\tif (visualization.persConfig?.sectionId && visualization.visualization?.id) {\n\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\tsectionId: visualization.persConfig?.sectionId,\n\t\t\t\tvizIds: [visualization.visualization?.id]\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Removes duplicate visualizations associated with a specific visualization.\n\t * @param {ICustomVisualization} visualization - The visualization for which duplicate visualizations should be removed.\n\t * @returns {Promise<void>} - A promise that resolves once duplicate visualizations are removed.\n\t * @private\n\t */\n\tprivate async _removeDuplicateVisualizations(visualization: ICustomVisualization) {\n\t\tconst vizIdsToBeDeleted = (visualization?.persConfig?.duplicateApps?.map((oViz) => oViz.visualization?.id) || []) as string[];\n\t\tif (visualization.persConfig?.sectionId && vizIdsToBeDeleted.length > 0) {\n\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\tsectionId: visualization.persConfig?.sectionId,\n\t\t\t\tvizIds: vizIdsToBeDeleted\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the event for renaming a group.\n\t * Opens the group detail dialog in edit mode.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onRenameGroup(event: Event) {\n\t\tconst group = event.getSource<MenuItem>()?.getParent() as Group;\n\t\tvoid this._showGroupDetailDialog(group.getGroupId(), true);\n\t}\n\n\t/**\n\t * Event Handler for ungroup apps, shows confirmation dialog, ungroups the apps on confirmation\n\t * @param {sap.cux.home.Group} group - The group from which the apps will be ungrouped.\n\t * @private\n\t */\n\tprivate _handleUngroupApps(group: ISectionAndVisualization) {\n\t\tconst message = this._i18nBundle.getText(\"ungroupAppsMessage\", [group.title]) as string,\n\t\t\ttitle = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tactionText = this._i18nBundle.getText(\"delete\") as string;\n\t\tMessageBox.show(message, {\n\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\ttitle: title,\n\t\t\tactions: [actionText, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: actionText,\n\t\t\tonClose: (action: string) => {\n\t\t\t\tif (action === actionText) {\n\t\t\t\t\tvoid this._ungroupApps(group.id!);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handles the event for deleting a group.\n\t * Shows confirmation dialog to either delete the group and apps, or move the apps in favorites.\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprivate _onDeleteGroup(event: Event) {\n\t\tconst group = event.getSource<MenuItem>()?.getParent() as Group,\n\t\t\tmessage = this._i18nBundle.getText(\"deleteGroupMessage\", [group.getTitle()]) as string,\n\t\t\ttitle = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tdeleteAction = this._i18nBundle.getText(\"delete\") as string,\n\t\t\tmoveAppAction = this._i18nBundle.getText(\"moveApps\") as string;\n\t\tMessageBox.show(message, {\n\t\t\ticon: MessageBox.Icon.WARNING,\n\t\t\ttitle: title,\n\t\t\tactions: [deleteAction, this._i18nBundle.getText(\"moveApps\") as string, MessageBox.Action.CANCEL],\n\t\t\temphasizedAction: deleteAction,\n\t\t\tonClose: async (action: string) => {\n\t\t\t\tif (action === deleteAction) {\n\t\t\t\t\tthis._setBusy(true);\n\t\t\t\t\tawait this._deleteGroup(group.getGroupId());\n\t\t\t\t\tMessageToast.show(this._i18nBundle.getText(\"groupDeleted\") as string);\n\t\t\t\t\tvoid this.refresh();\n\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\tthis._setBusy(false);\n\t\t\t\t} else if (action === moveAppAction) {\n\t\t\t\t\tvoid this._ungroupApps(group.getGroupId());\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Ungroups apps from the specified group Id.\n\t * @async\n\t * @private\n\t * @param {string} groupId - The Id of the group from which apps will be ungrouped.\n\t * @returns {Promise<void>} - A Promise that resolves once the ungrouping process is complete.\n\t */\n\tprivate async _ungroupApps(groupId: string) {\n\t\tthis._setBusy(true);\n\t\ttry {\n\t\t\tconst visualizations = await this.appManagerInstance.getSectionVisualizations(groupId);\n\t\t\tconst sections = await this.appManagerInstance._getSections();\n\t\t\tconst section = sections.find((oSection) => oSection.id === groupId);\n\t\t\tawait Promise.all(visualizations.map((oViz) => this._addVisualization(oViz)));\n\t\t\tconst updatedSections = await this.appManagerInstance._getSections(true);\n\t\t\tconst defaultSection = updatedSections.find((oSection) => oSection.default);\n\t\t\t//update personalization\n\t\t\tawait this._updateAppPersonalization(\n\t\t\t\tvisualizations.map((oViz) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvisualization: oViz,\n\t\t\t\t\t\ttargetGroupId: defaultSection?.id,\n\t\t\t\t\t\tisTargetGroupDefault: true\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t);\n\n\t\t\t//if preset section, then section shouldn't be deleted, instead remove visualizations inside section\n\t\t\tif (section?.preset) {\n\t\t\t\tawait this.appManagerInstance.removeVisualizations({\n\t\t\t\t\tsectionId: groupId,\n\t\t\t\t\tvizIds: visualizations.map((oViz) => oViz.visualization?.id) as string[]\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tawait this._deleteGroup(groupId);\n\t\t\t}\n\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"appsUngrouped\") ?? \"\");\n\t\t\tawait this.refresh();\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"unableToUngroupApps\") ?? \"\");\n\t\t} finally {\n\t\t\tthis._setBusy(false);\n\t\t\tthis._closeGroupDetailDialog();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the detail dialog for a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group.\n\t * @param {boolean} [editMode=false] - Whether to open the dialog in edit mode.\n\t * @private\n\t */\n\tprivate async _showGroupDetailDialog(groupId: string, editMode = false) {\n\t\tconst group = this._getGroup(groupId);\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\t\tthis._selectedGroupId = groupId;\n\t\tconst dialog = this._generateGroupDetailDialog();\n\t\t//set group icon\n\t\tconst groupIconControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-color`) as Icon;\n\t\tgroupIconControl.setColor(Parameters.get({ name: group.getBgColor() }) as string);\n\t\t//set group apps\n\t\tawait this._setGroupDetailDialogApps(groupId);\n\t\tdialog.open();\n\t\t//set group title\n\t\tthis._setGroupNameControl(group.getTitle(), editMode);\n\t}\n\n\t/**\n\t * Sets the apps for the detail dialog for a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {Promise<void>} - A Promise that resolves once the apps for the group detail dialog are set.\n\t * @private\n\t */\n\tprivate async _setGroupDetailDialogApps(groupId: string) {\n\t\tconst group = this._getGroup(groupId);\n\t\tif (group) {\n\t\t\tlet appVisualizations = await this.appManagerInstance.getSectionVisualizations(groupId, false);\n\t\t\tgroup.destroyAggregation(\"apps\", true);\n\t\t\tappVisualizations = appVisualizations.map((appVisualization, index) => {\n\t\t\t\treturn {\n\t\t\t\t\t...appVisualization,\n\t\t\t\t\tmenuItems: this._getAppActions(group, index, appVisualization) //add actions to show in group\n\t\t\t\t};\n\t\t\t});\n\t\t\tconst apps = this.generateApps(appVisualizations);\n\t\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\t\tthis._setAggregation(group, apps, \"apps\");\n\t\t\tappsWrapper.destroyItems();\n\t\t\tthis._setAggregation(\n\t\t\t\tappsWrapper,\n\t\t\t\tgroup.getApps().map((app) => (this.getParent() as AppsContainer)._getAppTile(app))\n\t\t\t);\n\t\t\tthis._applyGroupedAppsPersonalization(groupId);\n\t\t\tthis._dispatchAppsLoadedEvent(apps);\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization to the grouped apps within the specified group.\n\t * @param {string} groupId - The ID of the group to which the apps belong.\n\t * @private\n\t */\n\tprivate _applyGroupedAppsPersonalization(groupId: string) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = (appsWrapper?.getItems() || []) as GenericTile[];\n\t\tvoid this._applyTilesPersonalization(tiles, groupId);\n\t}\n\n\t/**\n\t * Applies Deprecated Info for apps inside the group.\n\t * @param {App[]} apps - The ID of the group to which the apps belong.\n\t * @private\n\t */\n\tprivate _dispatchAppsLoadedEvent(apps: App[]) {\n\t\tconst appsWrapper = this._controlMap.get(`${this.getId()}-detailDialog-apps`) as GridContainer;\n\t\tconst tiles = (appsWrapper?.getItems() || []) as GenericTile[];\n\t\t(this.getParent() as AppsContainer).fireEvent(\"appsLoaded\", { apps, tiles });\n\t}\n\n\t/**\n\t * Generates the group detail dialog.\n\t * @private\n\t * @returns {sap.m.Dialog} The generated detail dialog for the group.\n\t */\n\tprivate _generateGroupDetailDialog() {\n\t\tconst id = `${this.getId()}-detailDialog`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\t//group color icon\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-toolbar-color`,\n\t\t\t\tnew Icon({\n\t\t\t\t\tid: `${id}-toolbar-color`,\n\t\t\t\t\tsrc: \"sap-icon://color-fill\",\n\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd\")\n\t\t\t);\n\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-toolbar-title`,\n\t\t\t\tnew Title({\n\t\t\t\t\tid: `${id}-toolbar-title`,\n\t\t\t\t\tvisible: true\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tconst oInvisibleText = getInvisibleText(`${id}-toolbar-renameTitle`, this._i18nBundle.getText(\"renameGroup\"));\n\t\t\tthis._controlMap.set(`${id}-toolbar-renameTitle`, oInvisibleText);\n\n\t\t\tconst oGroupNameInput = new Input({\n\t\t\t\tid: `${id}-toolbar-title-edit`,\n\t\t\t\twidth: \"13.75rem\",\n\t\t\t\tvisible: false,\n\t\t\t\tariaLabelledBy: [`${id}-toolbar-renameTitle`]\n\t\t\t});\n\n\t\t\tthis._controlMap.set(`${id}-toolbar-title-edit`, oGroupNameInput);\n\n\t\t\toGroupNameInput.onsapfocusleave = () => {\n\t\t\t\tvoid this._onGroupEditName(oGroupNameInput.getValue());\n\t\t\t};\n\n\t\t\t//apps wrapper\n\t\t\tconst appsWrapper = new GridContainer({\n\t\t\t\tid: `${id}-apps`,\n\t\t\t\tlayout: new GridContainerSettings(`${id}-appsLayout`, {\n\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapCuxAppsContainerBorder sapCuxAppsDetailContainerPadding\");\n\t\t\t// Add drag-and-drop config\n\t\t\tthis.addDragDropConfigTo(appsWrapper, (event) => this._onFavItemDrop(event, this._selectedGroupId));\n\t\t\tthis._controlMap.set(`${id}-apps`, appsWrapper);\n\t\t\t//add apps button\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-addAppsBtn`,\n\t\t\t\tnew Button(`${id}-addAppsBtn`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tconst groupId = this._selectedGroupId;\n\t\t\t\t\t\tthis._closeGroupDetailDialog();\n\t\t\t\t\t\tthis._selectedGroupId = groupId;\n\t\t\t\t\t\tvoid this.navigateToAppFinder(groupId);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\tcontent: this._controlMap.get(`${id}-apps`) as HBox,\n\t\t\t\t\tcontentWidth: \"60.75rem\",\n\t\t\t\t\tendButton: new Button({\n\t\t\t\t\t\tid: `${id}-groupDetailCloseBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\t\tpress: this._closeGroupDetailDialog.bind(this)\n\t\t\t\t\t}),\n\t\t\t\t\tescapeHandler: this._closeGroupDetailDialog.bind(this),\n\t\t\t\t\tcustomHeader: new Toolbar(`${this.getId()}-toolbar`, {\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-color`) as Icon,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-title`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-title-edit`) as Input,\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-toolbar-renameTitle`) as InvisibleText,\n\t\t\t\t\t\t\tnew ToolbarSpacer({ id: `${this.getId()}-toolbarSpacer` }),\n\t\t\t\t\t\t\tthis._controlMap.get(`${id}-addAppsBtn`) as Button,\n\t\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\t\tid: \"overflowBtn\",\n\t\t\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\t\t\ttype: \"Transparent\",\n\t\t\t\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\t\t\t\tconst source = event.getSource<Button>();\n\t\t\t\t\t\t\t\t\tconst group = this._selectedGroupId ? this._getGroup(this._selectedGroupId) : null;\n\t\t\t\t\t\t\t\t\tconst groupActions = group?.getAggregation(\"menuItems\") as MenuItem[];\n\t\t\t\t\t\t\t\t\tconst oPopover = ActionsPopover.get(groupActions);\n\t\t\t\t\t\t\t\t\toPopover.openBy(source);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxGroupDetailDialog\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Closes the group detail dialog.\n\t * @private\n\t */\n\tprivate _closeGroupDetailDialog() {\n\t\tconst groupDetailDialog = this._controlMap.get(`${this.getId()}-detailDialog`) as Dialog;\n\t\tconst group = this._getGroup(this._selectedGroupId as string);\n\t\tgroup?.destroyApps();\n\t\tthis._selectedGroupId = undefined;\n\t\tgroupDetailDialog?.close();\n\t}\n\n\t/**\n\t * Updates the group name with new name.\n\t * This method is triggered on group name input focus leave.\n\t * @private\n\t * @async\n\t * @param {string} updatedTitle - The new title for the group.\n\t */\n\tprivate async _onGroupEditName(updatedTitle: string) {\n\t\tthis._setBusy(true);\n\t\tconst groupId = this._selectedGroupId,\n\t\t\tgroup = this._getGroup(groupId!),\n\t\t\toldTitle = group?.getTitle();\n\t\tif (updatedTitle && updatedTitle !== oldTitle) {\n\t\t\tawait this._renameGroup(groupId!, updatedTitle);\n\t\t\tgroup?.setProperty(\"title\", updatedTitle, true);\n\t\t\tvoid this.refresh();\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"groupNameChanged\") || \"\");\n\t\t}\n\t\tthis._setGroupNameControl(updatedTitle, false);\n\t\tthis._setBusy(false);\n\t}\n\n\t/**\n\t * Renames a group.\n\t * @async\n\t * @param {string} groupId - The Id of the group to rename.\n\t * @param {string} updatedTitle - The new title for the group.\n\t * @returns {Promise<void>} A Promise that resolves once the group is renamed.\n\t */\n\tprivate async _renameGroup(groupId: string, updatedTitle: string) {\n\t\tconst pagesService = await Container.getServiceAsync<Pages>(\"Pages\");\n\t\tconst pageIndex = pagesService.getPageIndex(MYHOME_PAGE_ID),\n\t\t\tgroups = pagesService.getModel().getProperty(`/pages/${pageIndex}/sections/`) as ISection[],\n\t\t\tgroupIndex = groups.findIndex((group) => group.id === groupId);\n\t\tif (groupIndex > -1) {\n\t\t\tawait pagesService.renameSection(pageIndex, groupIndex, updatedTitle);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the group name control in the detail dialog.\n\t * Shows input control to edit the group name in edit mode, otherwise, shows group name as title control.\n\t * @private\n\t * @param {string} groupTitle - The title of the group.\n\t * @param {boolean} editMode - Whether the dialog is in edit mode.\n\t */\n\tprivate _setGroupNameControl(groupTitle: string, editMode: boolean) {\n\t\tconst groupDetailDialog = this._controlMap.get(`${this.getId()}-detailDialog`) as Dialog;\n\t\tconst groupTitleControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-title`) as Title;\n\t\tconst groupInputControl = this._controlMap.get(`${this.getId()}-detailDialog-toolbar-title-edit`) as Input;\n\t\tgroupInputControl.setValue(groupTitle);\n\t\tgroupTitleControl.setText(groupTitle);\n\t\tgroupInputControl?.setVisible(editMode);\n\t\tgroupTitleControl?.setVisible(!editMode);\n\t\tif (editMode) {\n\t\t\t//in edit mode set the focus on input\n\t\t\tgroupDetailDialog.setInitialFocus(groupInputControl);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the dialog for adding apps from insights.\n\t * @returns {sap.m.Dialog} The dialog for adding apps from insights.\n\t * @private\n\t */\n\tprivate _generateAddFromInsightsDialog() {\n\t\tconst id = `${this.getId()}-addFromInsightsDialog`;\n\n\t\tconst setAddBtnEnabled = () => {\n\t\t\tconst selectedItems = this._getSelectedInsights();\n\t\t\t(this._controlMap.get(`${id}-addBtn`) as Button).setEnabled(selectedItems.length > 0);\n\t\t};\n\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst getAppFinderBtn = (id: string, btnType?: ButtonType) => {\n\t\t\t\tconst appsAppFinder = new Button(id, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appFinderBtn\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tthis._closeAddFromInsightsDialog();\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t},\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\ttype: btnType || ButtonType.Default\n\t\t\t\t});\n\t\t\t\taddFESRSemanticStepName(appsAppFinder, \"press\", \"appsAppFinder\");\n\t\t\t\treturn appsAppFinder;\n\t\t\t};\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-list`,\n\t\t\t\tnew List({\n\t\t\t\t\tid: `${id}-list`,\n\t\t\t\t\tmode: \"MultiSelect\",\n\t\t\t\t\tselectionChange: setAddBtnEnabled\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-addBtn`,\n\t\t\t\tnew Button({\n\t\t\t\t\tid: `${id}-addBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tvoid this._addFromInsights();\n\t\t\t\t\t},\n\t\t\t\t\tenabled: false\n\t\t\t\t})\n\t\t\t);\n\t\t\tconst addStaticTiles = this._controlMap.get(`${id}-addBtn`) as Button;\n\t\t\taddFESRSemanticStepName(addStaticTiles, \"press\", \"addStaticTiles\");\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessage`,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid: `${id}-errorMessage`,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"noDataMsgInsightTiles\"),\n\t\t\t\t\tvisible: true\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew Dialog(id, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addFromInsights\"),\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew Label({\n\t\t\t\t\t\t\tid: `${id}-label`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogLabel\"),\n\t\t\t\t\t\t\twrapping: true\n\t\t\t\t\t\t}).addStyleClass(\"sapMTitleAlign sapUiTinyMarginTopBottom sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\tid: `${id}-textContainer`,\n\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\t\tid: `${id}-text`,\n\t\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogTitle\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tgetAppFinderBtn(`${id}-addAppsBtn`, ButtonType.Transparent)\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop dialogHeader sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\t\tthis._controlMap.get(`${id}-list`) as List,\n\t\t\t\t\t\tthis._controlMap.get(`${id}-errorMessage`) as IllustratedMessage\n\t\t\t\t\t],\n\t\t\t\t\tcontentWidth: \"42.75rem\",\n\t\t\t\t\tcontentHeight: \"32.5rem\",\n\t\t\t\t\tendButton: new Button({\n\t\t\t\t\t\tid: `${id}-addFromInsightsCloseBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\t\tpress: this._closeAddFromInsightsDialog.bind(this)\n\t\t\t\t\t}),\n\t\t\t\t\tescapeHandler: this._closeAddFromInsightsDialog.bind(this),\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\tthis._controlMap.get(`${id}-addBtn`) as Button,\n\t\t\t\t\t\tnew Button({\n\t\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\t\tpress: this._closeAddFromInsightsDialog.bind(this)\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}).addStyleClass(\"sapContrastPlus sapCuxAddFromInsightsDialog\")\n\t\t\t);\n\t\t}\n\t\tsetAddBtnEnabled();\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the addition of apps from insights.\n\t * @returns {Promise<void>} A Promise that resolves when the operation is complete.\n\t * @private\n\t */\n\tprivate async _handleAddFromInsights() {\n\t\tconst appsToAdd = await this._getInsightTilesToAdd();\n\t\tconst dialog = this._generateAddFromInsightsDialog();\n\t\t(this._controlMap.get(`${this.getId()}-addFromInsightsDialog-errorMessage`) as IllustratedMessage)?.setVisible(\n\t\t\tappsToAdd.length === 0\n\t\t);\n\t\tthis._generateInsightListItems(appsToAdd);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Generates list items for the provided apps and populates the list in the \"Add from Insights\" dialog.\n\t * @param {ICustomVisualization[]} apps - An array of custom visualizations representing the apps to be added.\n\t * @private\n\t */\n\tprivate _generateInsightListItems(apps: ICustomVisualization[]) {\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\tif (apps.length) {\n\t\t\tlist.destroyItems();\n\t\t\tconst listItems = apps.map((app, index) => {\n\t\t\t\tconst bgColor = typeof app.BGColor === \"object\" && \"key\" in app.BGColor ? app.BGColor.key : app.BGColor;\n\t\t\t\treturn new CustomListItem({\n\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}`,\n\t\t\t\t\tcontent: [\n\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content`,\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon({\n\t\t\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content-icon`,\n\t\t\t\t\t\t\t\t\tsrc: app.icon,\n\t\t\t\t\t\t\t\t\tbackgroundColor: this._getLegendColor(bgColor || \"\").value,\n\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\twidth: \"2.25rem\",\n\t\t\t\t\t\t\t\t\theight: \"2.25rem\",\n\t\t\t\t\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiRoundedBorder sapUiTinyMargin\"),\n\t\t\t\t\t\t\t\tnew ObjectIdentifier({\n\t\t\t\t\t\t\t\t\tid: `${this.getId()}-addFromInsightsDialog-listItem-${index}-content-identifier`,\n\t\t\t\t\t\t\t\t\ttitle: app.title,\n\t\t\t\t\t\t\t\t\ttext: app.subtitle,\n\t\t\t\t\t\t\t\t\ttooltip: app.title\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t\t\t.addStyleClass(\"sapUiContentPadding\")\n\t\t\t\t\t.data(\"vizId\", app.visualization?.vizId) as CustomListItem;\n\t\t\t});\n\t\t\tthis._setAggregation(list, listItems);\n\t\t}\n\t\tlist?.setVisible(apps.length !== 0);\n\t}\n\n\t/**\n\t * Retrieves the insight tiles to add.\n\t * @returns {Promise<ICustomVisualization[]>} A Promise that resolves with an array of insight tiles to add.\n\t * @private\n\t */\n\tprivate async _getInsightTilesToAdd() {\n\t\tconst [insightsApps, favoriteApps] = await Promise.all([\n\t\t\tthis.appManagerInstance.fetchInsightApps(true, this._i18nBundle.getText(\"insights\") as string),\n\t\t\tthis.appManagerInstance.fetchFavVizs(false, true)\n\t\t]); //check force refresh true?\n\t\t//find the visualizations that are present in insight tile but not in favorite apps\n\t\tconst appsToAdd = insightsApps.reduce((appsToAdd: ICustomVisualization[], insightsApp) => {\n\t\t\tif (!insightsApp.isCount && !insightsApp.isSmartBusinessTile) {\n\t\t\t\t// Check if App is not present in Fav Apps\n\t\t\t\tconst iAppIndex = favoriteApps.findIndex(\n\t\t\t\t\t(favoriteApp) =>\n\t\t\t\t\t\tfavoriteApp.visualization?.vizId === insightsApp.visualization?.vizId || favoriteApp.appId === insightsApp.appId\n\t\t\t\t);\n\t\t\t\tif (iAppIndex === -1) {\n\t\t\t\t\tappsToAdd.push(insightsApp);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn appsToAdd;\n\t\t}, []);\n\t\treturn this.appManagerInstance._filterDuplicateVizs(appsToAdd, false);\n\t}\n\n\t/**\n\t * Closes the dialog for adding apps from insights.\n\t * @private\n\t */\n\tprivate _closeAddFromInsightsDialog() {\n\t\tconst dialog = this._generateAddFromInsightsDialog();\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\tlist.removeSelections();\n\t\tdialog?.close();\n\t}\n\n\t/**\n\t * Retrieves the selected insights from the dialog.\n\t * @returns {sap.m.ListItemBase[]} An array of selected insights.\n\t * @private\n\t */\n\tprivate _getSelectedInsights() {\n\t\tconst list = this._controlMap.get(`${this.getId()}-addFromInsightsDialog-list`) as List;\n\t\treturn list.getSelectedItems() || [];\n\t}\n\n\t/**\n\t * Adds apps from insights.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate async _addFromInsights() {\n\t\tthis._setBusy(true);\n\t\tconst selectedItems = this._getSelectedInsights();\n\t\tfor (const selectedItem of selectedItems) {\n\t\t\tawait this.appManagerInstance.addVisualization(selectedItem.data(\"vizId\") as string);\n\t\t}\n\t\tthis._closeAddFromInsightsDialog();\n\t\tMessageToast.show(\n\t\t\tthis._i18nBundle.getText(selectedItems.length === 1 ? \"addFromInsightTileSuccess\" : \"addFromInsightTilesSuccess\", [\n\t\t\t\tselectedItems.length\n\t\t\t]) as string\n\t\t);\n\t\tawait (this.getParent() as AppsContainer)._refreshAllPanels();\n\t\tthis._setBusy(false);\n\t}\n\n\t/**\n\t * Updates the personalization data for apps.\n\t * @param {IUpdatePersonalizationConfig[]} updateConfigs - The array of configurations for updating personalization.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - Configuration object for updating personalization.\n\t * @param {ICustomVisualization} updateConfig.visualization - Visualization.\n\t * @param {string} updateConfig.color - The color to update for the app.\n\t * @param {boolean} updateConfig.isTargetGroupDefault - A flag indicating whether the target section is the default.\n\t * @param {string} [updateConfig.targetGroupId] - The Id of the target group. Defaults to source group Id if not provided.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is updated.\n\t * @private\n\t */\n\tprivate async _updateAppPersonalization(updateConfigs: IUpdatePersonalizationConfig[]) {\n\t\tconst personalizations = await this._getAppPersonalization();\n\n\t\tfor (const updateConfig of updateConfigs) {\n\t\t\tconst { visualization } = updateConfig;\n\t\t\tconst { persConfig } = visualization;\n\t\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\t\tconst targetGroupId = updateConfig.targetGroupId ?? sourceGroupId;\n\n\t\t\tif (sourceGroupId !== targetGroupId) {\n\t\t\t\t//move app scenario\n\t\t\t\tthis._updateMoveAppPersonalization(personalizations, updateConfig);\n\t\t\t} else {\n\t\t\t\t//only color is updated\n\t\t\t\tthis._updateAppColorPersonalization(personalizations, updateConfig);\n\t\t\t}\n\t\t}\n\t\tawait this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Updates the color personalization for an app.\n\t * @param {IAppPersonalization[]} personalizations - The array of app personalizations.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - The update configuration.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate _updateAppColorPersonalization = (personalizations: IAppPersonalization[], updateConfig: IUpdatePersonalizationConfig) => {\n\t\tconst { visualization, color } = updateConfig;\n\t\tconst { appId, oldAppId, persConfig } = visualization;\n\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\tconst isSourceGroupDefault = persConfig?.isDefaultSection;\n\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tappId,\n\t\t\toldAppId,\n\t\t\tsectionId: sourceGroupId,\n\t\t\tisRecentlyAddedApp: isSourceGroupDefault\n\t\t});\n\t\tif (personalizationIndex > -1) {\n\t\t\tpersonalizations[personalizationIndex].BGColor = color as string;\n\t\t} else {\n\t\t\tpersonalizations.push({\n\t\t\t\tBGColor: color as string,\n\t\t\t\tsectionId: sourceGroupId,\n\t\t\t\tisRecentlyAddedApp: isSourceGroupDefault as boolean,\n\t\t\t\tappId,\n\t\t\t\tisSection: false\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Updates the personalization when an app is moved to a different group.\n\t * @param {IAppPersonalization[]} personalizations - The array of app personalizations.\n\t * @param {IUpdatePersonalizationConfig} updateConfig - The update configuration.\n\t * @returns {void}\n\t * @private\n\t */\n\tprivate _updateMoveAppPersonalization(personalizations: IAppPersonalization[], updateConfig: IUpdatePersonalizationConfig) {\n\t\tconst { visualization, isTargetGroupDefault } = updateConfig;\n\t\tconst { appId, oldAppId, persConfig } = visualization;\n\t\tconst sourceGroupId = persConfig?.sectionId;\n\t\tconst isSourceGroupDefault = persConfig?.isDefaultSection;\n\t\tconst duplicateApps = persConfig?.duplicateApps || [];\n\t\tconst targetGroupId = updateConfig.targetGroupId ?? sourceGroupId;\n\n\t\tconst sourcePersonalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tappId,\n\t\t\toldAppId,\n\t\t\tsectionId: sourceGroupId,\n\t\t\tisRecentlyAddedApp: isSourceGroupDefault\n\t\t});\n\t\t//if personalization exists for app in source group\n\t\tif (sourcePersonalizationIndex > -1) {\n\t\t\tconst newPersonalization = {\n\t\t\t\t...personalizations[sourcePersonalizationIndex],\n\t\t\t\tsectionId: targetGroupId,\n\t\t\t\tisRecentlyAddedApp: isTargetGroupDefault,\n\t\t\t\tisSection: false\n\t\t\t} as IAppPersonalization;\n\t\t\t//if no duplicate apps in source group, clean up source group personlization\n\t\t\tif (duplicateApps.length === 0) {\n\t\t\t\tpersonalizations.splice(sourcePersonalizationIndex, 1);\n\t\t\t}\n\n\t\t\t//update target personalization\n\t\t\tconst iTargetPersonalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\t\tappId,\n\t\t\t\toldAppId,\n\t\t\t\tsectionId: targetGroupId,\n\t\t\t\tisRecentlyAddedApp: isTargetGroupDefault\n\t\t\t});\n\t\t\tif (iTargetPersonalizationIndex > -1) {\n\t\t\t\tpersonalizations.splice(iTargetPersonalizationIndex, 1); //clean up any existing personalization\n\t\t\t}\n\t\t\t//push new personalization for target group\n\t\t\tpersonalizations.push(newPersonalization);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the personalization data for a group with the selected color.\n\t * @param {string} groupId - The ID of the group.\n\t * @param {string} selectedColor - The selected color for the group.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is updated.\n\t * @private\n\t */\n\tprivate async _updateGroupPersonalization(groupId: string, selectedColor: string) {\n\t\tconst personalizations = await this._getAppPersonalization();\n\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, {\n\t\t\tisSection: true,\n\t\t\tsectionId: groupId\n\t\t});\n\t\tconst updatedPersonalization = {\n\t\t\tBGColor: selectedColor,\n\t\t\tisSection: true,\n\t\t\tsectionId: groupId,\n\t\t\tisRecentlyAddedApp: false\n\t\t};\n\t\tif (personalizationIndex > -1) {\n\t\t\t//if color is already present for the group, update the color\n\t\t\tpersonalizations[personalizationIndex] = updatedPersonalization;\n\t\t} else {\n\t\t\tpersonalizations.push(updatedPersonalization);\n\t\t}\n\t\tawait this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Finds the index of personalization data matching the specified properties.\n\t * @param {IAppPersonalization[]} personalizations - The array of personalization data.\n\t * @param {IAppPersonalization} appPersonalization - The properties to match for finding the index.\n\t * @param {string} [appPersonalization.appId] - id of the app.\n\t * @param {string} [appPersonalization.oldAppId] - old id of the app.\n\t * @param {string} [appPersonalization.sectionId] - id of the section.\n\t * @param {boolean} appPersonalization.isSection - A flag indicating whether the personalization is for a section.\n\t * @param {boolean} appPersonalization.isRecentlyAddedApp - A flag indicating whether the app is a recently added app.\n\t * @returns {number} The index of the matching personalization data, or -1 if not found.\n\t * @private\n\t */\n\tprivate _getPersonalizationIndex(personalizations: IAppPersonalization[], appPersonalization: IAppPersonalizationConfig) {\n\t\tconst { appId, oldAppId, sectionId, isSection, isRecentlyAddedApp } = appPersonalization;\n\t\treturn personalizations.findIndex((personalization) => {\n\t\t\tif (isSection) {\n\t\t\t\treturn personalization.sectionId === sectionId && personalization.isSection;\n\t\t\t} else {\n\t\t\t\treturn isRecentlyAddedApp\n\t\t\t\t\t? (personalization.appId === appId || personalization.appId === oldAppId) && personalization.isRecentlyAddedApp\n\t\t\t\t\t: (personalization.appId === appId || personalization.appId === oldAppId) && personalization.sectionId === sectionId;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Adds a visualization.\n\t * @param {object} oViz - The visualization to be added.\n\t * @param {object} oViz.visualization - The visualization object.\n\t * @param {boolean} [oViz.visualization.isBookmark=false] - Indicates if the visualization is a bookmark.\n\t * @param {string} [oViz.visualization.vizId] - The ID of the visualization if it's not a bookmark.\n\t * @param {string} [sSectionId] - The ID of the section (group) to which the visualization should be added.\n\t * If not provided, the visualization will be added to the default section.\n\t * @param {IMoveConfig} [moveConfig] - Configuration for moving the visualization.\n\t * @returns {Promise<void>} A promise that resolves to void after the visualization is added.\n\t * @private\n\t */\n\tprivate _addVisualization(viz: ICustomVisualization, sSectionId?: string, moveConfig?: IMoveConfig) {\n\t\tif (viz.visualization) {\n\t\t\treturn viz.visualization.isBookmark\n\t\t\t\t? this.appManagerInstance.addBookMark(viz.visualization, moveConfig)\n\t\t\t\t: this.appManagerInstance.addVisualization(viz.visualization.vizId, sSectionId);\n\t\t}\n\t\treturn Promise.reject(new Error(\"No visualization provided to add\"));\n\t}\n\n\t/**\n\t * Deletes a group.\n\t * @param {string} groupId - The Id of the group to delete.\n\t * @returns {Promise<void>} A Promise that resolves once the group is deleted.\n\t * @private\n\t */\n\tprivate async _deleteGroup(groupId: string) {\n\t\tconst pagesService = await Container.getServiceAsync<Pages>(\"Pages\");\n\t\tconst pageIndex = pagesService.getPageIndex(MYHOME_PAGE_ID),\n\t\t\tgroups = pagesService.getModel().getProperty(`/pages/${pageIndex}/sections/`) as ISection[],\n\t\t\tgroupIndex = groups.findIndex((group) => group.id === groupId);\n\t\tif (groupIndex > -1) {\n\t\t\tawait pagesService.deleteSection(pageIndex, groupIndex);\n\t\t\tvoid this._deletePersonalization({ sectionId: groupId, isSection: true });\n\t\t}\n\t}\n\n\t/**\n\t * Deletes personalization data based on the specified properties.\n\t * @param {IAppPersonalizationConfig} personalizationConfig - The properties to identify the personalization data to delete.\n\t * @param {boolean} [personalizationConfig.isSection] - A flag indicating whether the personalization is for a group.\n\t * @param {string} [appPersonalization.appId] - id of the app.\n\t * @param {string} [appPersonalization.oldAppId] - old id of the app.\n\t * @param {string} personalizationConfig.sectionId - The ID of the group associated with the personalization.\n\t * @param {boolean} [appPersonalization.isRecentlyAddedApp] - A flag indicating whether the app is a recently added app.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is deleted.\n\t * @private\n\t */\n\tprivate async _deletePersonalization(personalizationConfig: IAppPersonalizationConfig) {\n\t\tconst { isSection, sectionId } = personalizationConfig;\n\t\tlet personalizations = await this._getAppPersonalization();\n\n\t\tif (!isSection) {\n\t\t\tconst personalizationIndex = this._getPersonalizationIndex(personalizations, personalizationConfig);\n\t\t\tif (personalizationIndex > -1) {\n\t\t\t\tpersonalizations.splice(personalizationIndex, 1);\n\t\t\t}\n\t\t} else {\n\t\t\t// Delete personalizations for all associated apps if a group is deleted\n\t\t\tpersonalizations = personalizations.filter((personalization) => personalization.sectionId !== sectionId);\n\t\t}\n\n\t\tvoid this.setFavAppsPersonalization(personalizations);\n\t}\n\n\t/**\n\t * Handles the press event of a group.\n\t * @param {Group$PressEvent} event - The press event object.\n\t * @private\n\t */\n\tprivate _handleGroupPress(event: Group$PressEvent) {\n\t\tconst groupId = event.getParameter(\"groupId\");\n\t\tif (groupId) {\n\t\t\tvoid this._showGroupDetailDialog(groupId);\n\t\t}\n\t}\n\n\t/**\n\t * Handles keyboard events for cutting and moving applications.\n\t * When the Cmd (Mac) or Ctrl (Windows) key is pressed along with 'x', the currently selected element is cut.\n\t * When the Cmd (Mac) or Ctrl (Windows) key is pressed along with 'v':\n\t * - If the operation is performed on a group, the previously cut application is moved into the group.\n\t * - If the operation is performed on an application, the create group dialog is opened.\n\t * @param {KeyboardEvent} event - The keyboard event object.\n\t * @param {string} [appGroupId] - The group Id of the app, if app belongs to a group.\n\t * @returns {Promise<void>} A Promise that resolves when app is moved to a group or create group dialog is opened.\n\t * @private\n\t */\n\tprivate async _handleKeyboardMoveApp(event: KeyboardEvent, appGroupId?: string) {\n\t\tconst currentItem = Element.closestTo((event.target as HTMLElement).firstElementChild as HTMLElement) as GenericTile & {\n\t\t\t_oMoreIcon: Button;\n\t\t};\n\t\tconst container = currentItem.getParent() as GridContainer;\n\t\tif (event.metaKey || event.ctrlKey) {\n\t\t\t// ctrl(windows)/cmd (mac) + x, sets app to be moved to a group, or to create a group\n\t\t\tif (event.key === \"x\" && !currentItem.data(\"groupId\") && !this._cutApp && !appGroupId) {\n\t\t\t\tcurrentItem.$().css(\"opacity\", 0.6);\n\t\t\t\tcurrentItem._oMoreIcon.setEnabled(false);\n\t\t\t\tthis._cutApp = currentItem;\n\t\t\t}\n\n\t\t\tif (event.key === \"v\" && this._cutApp && !appGroupId) {\n\t\t\t\tconst dragDropEvent = new Event(\"keyboardDragDropEvent\", container, {\n\t\t\t\t\tdraggedControl: this._cutApp,\n\t\t\t\t\tdroppedControl: currentItem,\n\t\t\t\t\tdropPosition: dnd.RelativeDropPosition.On\n\t\t\t\t});\n\t\t\t\tawait this._onFavItemDrop(dragDropEvent);\n\t\t\t\tthis._cutApp = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Cancels the cut operation when clicked outside apps section or when focus moves out of apps section.\n\t * @param {MouseEvent | KeyboardEvent} event - The mouse or keyboard event triggering the reset.\n\t * @private\n\t */\n\tprivate _resetCutElement(event: MouseEvent | KeyboardEvent) {\n\t\tconst appsWrapperId = this._generateAppsWrapper().getId();\n\t\tif (!(event.target as HTMLElement).id.includes(appsWrapperId)) {\n\t\t\tthis._cutApp?.$().css(\"opacity\", \"\");\n\t\t\tthis._cutApp = undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Generates illustrated message for favorite apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default title and add additional content\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFavAppsDescription\"));\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.AddingColumns);\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button(`${this.getId()}-errorMessage-addApps`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"addApps\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addAppsTooltip\"),\n\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\tvisible: _showAddApps(),\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t},\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\tillustratedMessage.addStyleClass(\"sapUiTinyMarginTop\");\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|