@sapui5/sap.cux.home 1.135.0 → 1.136.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js +23 -5
- package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +24 -5
- package/src/sap/cux/home/AppsAdditionPanel-dbg.js +919 -0
- package/src/sap/cux/home/AppsAdditionPanel-dbg.js.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +293 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.js +6 -0
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -0
- package/src/sap/cux/home/AppsAdditionPanel.ts +757 -0
- package/src/sap/cux/home/AppsContainer-dbg.js +42 -28
- package/src/sap/cux/home/AppsContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.d.ts +17 -1
- package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/AppsContainer.js +1 -1
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +27 -6
- package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js +261 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/AppsContainerGenericPlaceholder.ts +251 -0
- package/src/sap/cux/home/BaseAppPanel-dbg.js +4 -5
- package/src/sap/cux/home/BaseAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.js +1 -1
- package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPanel.ts +3 -5
- package/src/sap/cux/home/BaseAppPersPanel-dbg.js +2 -1
- package/src/sap/cux/home/BaseAppPersPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
- package/src/sap/cux/home/BaseAppPersPanel.ts +2 -1
- package/src/sap/cux/home/BaseContainer-dbg.js +24 -3
- package/src/sap/cux/home/BaseContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.d.ts +10 -0
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +1 -1
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +24 -2
- package/src/sap/cux/home/BaseContainerRenderer-dbg.js +18 -1
- package/src/sap/cux/home/BaseContainerRenderer-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +25 -4
- package/src/sap/cux/home/BaseLayout-dbg.js +22 -2
- package/src/sap/cux/home/BaseLayout-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.d.ts +6 -0
- package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
- package/src/sap/cux/home/BaseLayout.js +1 -1
- package/src/sap/cux/home/BaseLayout.js.map +1 -1
- package/src/sap/cux/home/BaseLayout.ts +23 -2
- package/src/sap/cux/home/BaseNewsItem-dbg.js +3 -3
- package/src/sap/cux/home/BaseNewsItem-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.js +1 -1
- package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
- package/src/sap/cux/home/BaseNewsItem.ts +3 -3
- package/src/sap/cux/home/BaseNewsPanel-dbg.js +4 -5
- package/src/sap/cux/home/BaseNewsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js +1 -1
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +5 -4
- package/src/sap/cux/home/BasePanel-dbg.js +1 -1
- package/src/sap/cux/home/BasePanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BasePanel.js +1 -1
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +1 -1
- package/src/sap/cux/home/BaseSettingsDialog-dbg.js +11 -0
- package/src/sap/cux/home/BaseSettingsDialog-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsDialog.ts +12 -0
- package/src/sap/cux/home/BaseSettingsPanel-dbg.js +67 -2
- package/src/sap/cux/home/BaseSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.d.ts +42 -0
- package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +75 -0
- package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseSettingsPanel.ts +70 -2
- package/src/sap/cux/home/CardsPanel-dbg.js +548 -168
- package/src/sap/cux/home/CardsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.d.ts +121 -15
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.gen.d.ts +78 -0
- package/src/sap/cux/home/CardsPanel.js +1 -1
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +450 -97
- package/src/sap/cux/home/ContentAdditionDialog-dbg.js +353 -0
- package/src/sap/cux/home/ContentAdditionDialog-dbg.js.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +82 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.js +6 -0
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -0
- package/src/sap/cux/home/ContentAdditionDialog.ts +214 -0
- package/src/sap/cux/home/ErrorPanel-dbg.js +3 -3
- package/src/sap/cux/home/ErrorPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.js +1 -1
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +4 -2
- package/src/sap/cux/home/FavAppPanel-dbg.js +352 -333
- package/src/sap/cux/home/FavAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +1 -1
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +63 -54
- package/src/sap/cux/home/InsightsAdditionPanel-dbg.js +97 -0
- package/src/sap/cux/home/InsightsAdditionPanel-dbg.js.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +57 -0
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.js +6 -0
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -0
- package/src/sap/cux/home/InsightsAdditionPanel.ts +94 -0
- package/src/sap/cux/home/InsightsContainer-dbg.js +22 -2
- package/src/sap/cux/home/InsightsContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.d.ts +14 -0
- package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsContainer.js +1 -1
- package/src/sap/cux/home/InsightsContainer.js.map +1 -1
- package/src/sap/cux/home/InsightsContainer.ts +22 -1
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js +401 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/InsightsContainerGenericPlaceholder.ts +391 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js +10 -9
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +9 -8
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js +2 -2
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js +6 -6
- package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +6 -6
- package/src/sap/cux/home/Layout-dbg.js +58 -33
- package/src/sap/cux/home/Layout-dbg.js.map +1 -1
- package/src/sap/cux/home/Layout.d.ts +13 -0
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +1 -1
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +48 -20
- package/src/sap/cux/home/LayoutSettingsPanel-dbg.js +1 -10
- package/src/sap/cux/home/LayoutSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +2 -10
- package/src/sap/cux/home/NewsAndPagesContainer-dbg.js +35 -17
- package/src/sap/cux/home/NewsAndPagesContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts +7 -0
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
- package/src/sap/cux/home/NewsAndPagesContainer.ts +40 -16
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js +164 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.ts +154 -0
- package/src/sap/cux/home/NewsGroup-dbg.js +112 -79
- package/src/sap/cux/home/NewsGroup-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.d.ts +1 -0
- package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
- package/src/sap/cux/home/NewsGroup.js +1 -1
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +136 -100
- package/src/sap/cux/home/NewsPanel-dbg.js +541 -173
- package/src/sap/cux/home/NewsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.d.ts +156 -16
- package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsPanel.js +1 -1
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +452 -82
- package/src/sap/cux/home/NewsSettingsPanel-dbg.js +61 -20
- package/src/sap/cux/home/NewsSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.d.ts +14 -0
- package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +75 -21
- package/src/sap/cux/home/NoDataContainer-dbg.js +3 -3
- package/src/sap/cux/home/NoDataContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.d.ts +1 -0
- package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
- package/src/sap/cux/home/NoDataContainer.js +1 -1
- package/src/sap/cux/home/NoDataContainer.js.map +1 -1
- package/src/sap/cux/home/NoDataContainer.ts +4 -2
- package/src/sap/cux/home/PagePanel-dbg.js +86 -75
- package/src/sap/cux/home/PagePanel-dbg.js.map +1 -1
- package/src/sap/cux/home/PagePanel.d.ts +25 -3
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +1 -1
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +91 -76
- package/src/sap/cux/home/PageSettingsPanel-dbg.js +16 -15
- package/src/sap/cux/home/PageSettingsPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js +1 -1
- package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/PageSettingsPanel.ts +15 -14
- package/src/sap/cux/home/RecentAppPanel-dbg.js +2 -2
- package/src/sap/cux/home/RecentAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.js +1 -1
- package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecentAppPanel.ts +2 -2
- package/src/sap/cux/home/RecommendedAppPanel-dbg.js +4 -3
- package/src/sap/cux/home/RecommendedAppPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
- package/src/sap/cux/home/RecommendedAppPanel.ts +4 -2
- package/src/sap/cux/home/SettingsDialog-dbg.js +4 -3
- package/src/sap/cux/home/SettingsDialog-dbg.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +1 -1
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +4 -2
- package/src/sap/cux/home/TaskPanel-dbg.js +16 -12
- package/src/sap/cux/home/TaskPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.d.ts +1 -2
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +1 -1
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +19 -12
- package/src/sap/cux/home/TilesPanel-dbg.js +9 -8
- package/src/sap/cux/home/TilesPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +1 -1
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +15 -8
- package/src/sap/cux/home/ToDoPanel-dbg.js +34 -25
- package/src/sap/cux/home/ToDoPanel-dbg.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.d.ts +0 -7
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +1 -1
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +27 -29
- package/src/sap/cux/home/ToDosContainer-dbg.js +27 -18
- package/src/sap/cux/home/ToDosContainer-dbg.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.d.ts +7 -0
- package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
- package/src/sap/cux/home/ToDosContainer.js +1 -1
- package/src/sap/cux/home/ToDosContainer.js.map +1 -1
- package/src/sap/cux/home/ToDosContainer.ts +10 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js +84 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js +6 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +1 -0
- package/src/sap/cux/home/ToDosContainerGenericPlaceholder.ts +74 -0
- package/src/sap/cux/home/i18n/messagebundle.properties +63 -1
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_da.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_de.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_el.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_en.properties +43 -246
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +31 -1
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_es.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_et.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_id.properties +47 -5
- package/src/sap/cux/home/i18n/messagebundle_it.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_no.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +44 -2
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_th.properties +43 -2
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +42 -1
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +43 -1
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +42 -1
- package/src/sap/cux/home/interface/AppsInterface-dbg.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -3
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +5 -3
- package/src/sap/cux/home/interface/CardsInterface-dbg.js +32 -0
- package/src/sap/cux/home/interface/CardsInterface-dbg.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.d.ts +320 -55
- package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.js +5 -1
- package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/CardsInterface.ts +359 -55
- package/src/sap/cux/home/library-preload.js +88 -45
- package/src/sap/cux/home/library-preload.js.map +1 -1
- package/src/sap/cux/home/manifest.json +4 -4
- package/src/sap/cux/home/themes/base/AppsContainer.less +12 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +1 -0
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +69 -0
- package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +37 -12
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1374 -0
- package/src/sap/cux/home/themes/base/ToDosContainer.less +1 -1
- package/src/sap/cux/home/themes/base/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/base/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/base/library.css +2 -2
- package/src/sap/cux/home/themes/base/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_fiori_3/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_dark/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.css +2 -2
- package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_horizon/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_dark/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_dark/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_dark/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_horizon_hcb/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_hcb/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcb/library.source.less +2 -0
- package/src/sap/cux/home/themes/sap_horizon_hcw/AppsContainer.less +1 -0
- package/src/sap/cux/home/themes/sap_horizon_hcw/library-RTL.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcw/library-parameters.json +1 -1
- package/src/sap/cux/home/themes/sap_horizon_hcw/library.css +2 -2
- package/src/sap/cux/home/themes/sap_horizon_hcw/library.source.less +2 -0
- package/src/sap/cux/home/utils/AppManager-dbg.js +405 -440
- package/src/sap/cux/home/utils/AppManager-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.d.ts +88 -124
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +1 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +351 -542
- package/src/sap/cux/home/utils/Constants-dbg.js +25 -1
- package/src/sap/cux/home/utils/Constants-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.d.ts +17 -0
- package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Constants.js +1 -1
- package/src/sap/cux/home/utils/Constants.js.map +1 -1
- package/src/sap/cux/home/utils/Constants.ts +20 -1
- package/src/sap/cux/home/utils/Device-dbg.js +49 -1
- package/src/sap/cux/home/utils/Device-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/Device.d.ts +13 -0
- package/src/sap/cux/home/utils/Device.d.ts.map +1 -1
- package/src/sap/cux/home/utils/Device.js +1 -1
- package/src/sap/cux/home/utils/Device.js.map +1 -1
- package/src/sap/cux/home/utils/Device.ts +58 -1
- package/src/sap/cux/home/utils/InsightsUtils-dbg.js +25 -0
- package/src/sap/cux/home/utils/InsightsUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.d.ts +14 -0
- package/src/sap/cux/home/utils/InsightsUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
- package/src/sap/cux/home/utils/InsightsUtils.ts +25 -0
- package/src/sap/cux/home/utils/PerformanceUtils-dbg.js +5 -2
- package/src/sap/cux/home/utils/PerformanceUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +1 -0
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -1
- package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js +1599 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts +534 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.js +6 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -0
- package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1945 -0
- package/src/sap/cux/home/utils/SituationUtils-dbg.js +1 -1
- package/src/sap/cux/home/utils/SituationUtils-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js +1 -1
- package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
- package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer-dbg.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +4 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
- package/src/sap/cux/home/utils/UshellPersonalizer.ts +2 -1
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +126 -0
|
@@ -19,6 +19,7 @@ import BaseLayoutRenderer from "./BaseLayoutRenderer";
|
|
|
19
19
|
import BasePanel from "./BasePanel";
|
|
20
20
|
import BaseSettingsDialog from "./BaseSettingsDialog";
|
|
21
21
|
import BaseSettingsPanel from "./BaseSettingsPanel";
|
|
22
|
+
import ContentAdditionDialog from "./ContentAdditionDialog";
|
|
22
23
|
import InsightsCardsSettingsPanel from "./InsightsCardsSettingsPanel";
|
|
23
24
|
import InsightsTilesSettingsPanel from "./InsightsTilesSettingsPanel";
|
|
24
25
|
import KeyUserLayoutSettingsPanel from "./KeyUserLayoutSettingsPanel";
|
|
@@ -213,8 +214,11 @@ export default class Layout extends BaseLayout {
|
|
|
213
214
|
public async onBeforeRendering(event: Event): Promise<void> {
|
|
214
215
|
super.onBeforeRendering(event);
|
|
215
216
|
|
|
216
|
-
//
|
|
217
|
-
|
|
217
|
+
//setup common layout features
|
|
218
|
+
this._setupSettingsDialog();
|
|
219
|
+
|
|
220
|
+
//setup content addition dialog
|
|
221
|
+
this._setupContentAdditionDialog();
|
|
218
222
|
|
|
219
223
|
// If PersContainerId provided set to PersonalisationUtils
|
|
220
224
|
const persContainerId = this.getProperty("persContainerId") as string;
|
|
@@ -222,31 +226,21 @@ export default class Layout extends BaseLayout {
|
|
|
222
226
|
PersonalisationUtils.setPersContainerId(persContainerId);
|
|
223
227
|
}
|
|
224
228
|
|
|
225
|
-
|
|
226
|
-
if (!this._noDataContainer) {
|
|
227
|
-
this._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;
|
|
228
|
-
|
|
229
|
-
// if no data container is already present, use it
|
|
230
|
-
if (!this._noDataContainer) {
|
|
231
|
-
this._customNoDataContainerPresent = false;
|
|
232
|
-
this._noDataContainer = new NoDataContainer(`${this.getId()}-noDataContainer`);
|
|
233
|
-
}
|
|
234
|
-
this._noDataContainer.setVisible(false);
|
|
235
|
-
}
|
|
229
|
+
this.getNoDataContainer();
|
|
236
230
|
|
|
237
231
|
//prepare layout data, if not already done
|
|
238
232
|
if (!this._aOrderedSections) {
|
|
239
233
|
setTimeout(this._prepareLayoutData.bind(this));
|
|
240
234
|
}
|
|
241
235
|
|
|
242
|
-
//setup common layout features
|
|
243
|
-
this._setupSettingsDialog();
|
|
244
|
-
|
|
245
236
|
// Setup KeyUserPersonalization
|
|
246
237
|
this._setupKeyUserSettingsDialog();
|
|
247
238
|
|
|
248
239
|
//configure user action button if the layout is in an ushell environment
|
|
249
240
|
await this._addUserActions();
|
|
241
|
+
|
|
242
|
+
// Initialize Performance Metrics
|
|
243
|
+
await setupPerformanceTracking(this);
|
|
250
244
|
}
|
|
251
245
|
|
|
252
246
|
/**
|
|
@@ -401,6 +395,26 @@ export default class Layout extends BaseLayout {
|
|
|
401
395
|
return this._layoutSettingsPanel;
|
|
402
396
|
}
|
|
403
397
|
|
|
398
|
+
/**
|
|
399
|
+
* Setup of no data container
|
|
400
|
+
*
|
|
401
|
+
* @private
|
|
402
|
+
* @returns {NoDataContainer} No data container
|
|
403
|
+
*/
|
|
404
|
+
private getNoDataContainer(): NoDataContainer {
|
|
405
|
+
if (!this._noDataContainer) {
|
|
406
|
+
this._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;
|
|
407
|
+
|
|
408
|
+
// if no data container is already present, use it
|
|
409
|
+
if (!this._noDataContainer) {
|
|
410
|
+
this._customNoDataContainerPresent = false;
|
|
411
|
+
this._noDataContainer = new NoDataContainer(`${this.getId()}-noDataContainer`);
|
|
412
|
+
}
|
|
413
|
+
this._noDataContainer.setVisible(false);
|
|
414
|
+
}
|
|
415
|
+
return this._noDataContainer;
|
|
416
|
+
}
|
|
417
|
+
|
|
404
418
|
/**
|
|
405
419
|
* Prepares the layout data.
|
|
406
420
|
*
|
|
@@ -415,7 +429,7 @@ export default class Layout extends BaseLayout {
|
|
|
415
429
|
// set aelementsMap as elementMap[] | [];
|
|
416
430
|
const aElementMap: IElement[] = [];
|
|
417
431
|
aElements.forEach((element: BaseContainer) => {
|
|
418
|
-
if (element !== this.
|
|
432
|
+
if (element !== this.getNoDataContainer()) {
|
|
419
433
|
const sId = element.getId();
|
|
420
434
|
|
|
421
435
|
//if no title set for container , then layout setting should show tooltip as title within the settings dialog
|
|
@@ -451,12 +465,13 @@ export default class Layout extends BaseLayout {
|
|
|
451
465
|
* @private
|
|
452
466
|
*/
|
|
453
467
|
public setNoDataContainerVisibility(contentVisible: boolean): void {
|
|
454
|
-
this.
|
|
468
|
+
const noDataContainer = this.getNoDataContainer();
|
|
469
|
+
noDataContainer?.setVisible(contentVisible);
|
|
455
470
|
if (!this._customNoDataContainerPresent) {
|
|
456
471
|
if (contentVisible) {
|
|
457
|
-
this.insertItem(
|
|
472
|
+
this.insertItem(noDataContainer, 0);
|
|
458
473
|
} else {
|
|
459
|
-
this.removeItem(
|
|
474
|
+
this.removeItem(noDataContainer);
|
|
460
475
|
}
|
|
461
476
|
}
|
|
462
477
|
}
|
|
@@ -621,4 +636,17 @@ export default class Layout extends BaseLayout {
|
|
|
621
636
|
public resetSections(): void {
|
|
622
637
|
this._prepareLayoutData();
|
|
623
638
|
}
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* Sets up the content addition dialog for the layout.
|
|
642
|
+
*
|
|
643
|
+
* @private
|
|
644
|
+
*/
|
|
645
|
+
private _setupContentAdditionDialog(): void {
|
|
646
|
+
let contentAdditionDialog = this.getAggregation("contentAdditionDialog") as ContentAdditionDialog;
|
|
647
|
+
if (!contentAdditionDialog) {
|
|
648
|
+
contentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);
|
|
649
|
+
this.setAggregation("contentAdditionDialog", contentAdditionDialog);
|
|
650
|
+
}
|
|
651
|
+
}
|
|
624
652
|
}
|
|
@@ -57,7 +57,7 @@ sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/Column", "sap/m/ColumnList
|
|
|
57
57
|
press: () => this.resetMyhomeSettings()
|
|
58
58
|
});
|
|
59
59
|
// Add button to actionButtons aggregation
|
|
60
|
-
this.
|
|
60
|
+
this.addActionButton(this._resetActionButton);
|
|
61
61
|
//setup layout content
|
|
62
62
|
this.addAggregation("content", this._getContent());
|
|
63
63
|
//fired every time on panel navigation
|
|
@@ -80,15 +80,6 @@ sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/Column", "sap/m/ColumnList
|
|
|
80
80
|
_this._getPanel().getSections().find(section => section.completeId === oContext.completeId).visible = bValue;
|
|
81
81
|
const sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;
|
|
82
82
|
const oWrapperItem = Element.getElementById(oContext.completeId);
|
|
83
|
-
// visibility handling
|
|
84
|
-
// const layout = this._getPanel() as Layout;
|
|
85
|
-
// const isPagesAvailable = layout?.getPagesAvailable();
|
|
86
|
-
// const isCustomNewsVisible = layout?.customNewAvailable();
|
|
87
|
-
|
|
88
|
-
//****review this code */
|
|
89
|
-
// const isPageSection = oContext.sContainerType === "sap.cux.home.NewsAndPagesContainer",
|
|
90
|
-
// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;
|
|
91
|
-
// if (!bIsPageSectionDisabled) {
|
|
92
83
|
_this._manageSectionsChanges.push({
|
|
93
84
|
selectorElement: oWrapperItem,
|
|
94
85
|
changeSpecificData: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutSettingsPanel-dbg.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.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 ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addAggregation(\"actionButtons\", this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\t\t// visibility handling\n\t\t// const layout = this._getPanel() as Layout;\n\t\t// const isPagesAvailable = layout?.getPagesAvailable();\n\t\t// const isCustomNewsVisible = layout?.customNewAvailable();\n\n\t\t//****review this code */\n\t\t// const isPageSection = oContext.sContainerType === \"sap.cux.home.NewsAndPagesContainer\",\n\t\t// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;\n\t\t// if (!bIsPageSectionDisabled) {\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\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(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\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\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\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})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\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 * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\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}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LayoutSettingsPanel-dbg.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addActionButton","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.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 ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addActionButton(this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\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(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\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\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\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})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\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 * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\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}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAS/F;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;
|
|
1
|
+
{"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAS/F;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;QA2BtC;;;;;;WAMG;QACH,OAAO,CAAC,gCAAgC;QAWxC;;;;WAIG;gBACW,aAAa;QA6E3B;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAkBlC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAiBnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAcvB;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAkBtB;;;;WAIG;gBACW,yBAAyB;QAevC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;QAgC3B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAgBvB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAgBhC;;;;WAIG;gBACW,oBAAoB;QAuDlC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;KAmC3B;CAEA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* * (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/m/Button","sap/m/Column","sap/m/ColumnListItem","sap/m/HBox","sap/m/MessageBox","sap/m/ObjectIdentifier","sap/m/Table","sap/m/Text","sap/m/ToggleButton","sap/m/VBox","sap/ui/core/Element","sap/ui/core/Icon","sap/ui/core/Lib","sap/ui/model/json/JSONModel","./BaseSettingsPanel","./flexibility/Layout.flexibility","./utils/Accessibility","./utils/Constants","./utils/DragDropUtils","./utils/PersonalisationUtils"],function(e,t,n,s,i,o,a,r,l,c,d,u,g,h,m,p,_,f,y,I,S){"use strict";function C(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const x=C(p);const T=_["CHANGE_TYPES"];const E=f["getInvisibleText"];const P=y["SETTINGS_PANELS_KEYS"];const B=I["focusDraggedItem"];const b=C(S);const L=x.extend("sap.cux.home.LayoutSettingsPanel",{metadata:{library:"sap.cux.home"},constructor:function e(t,n){x.prototype.constructor.call(this,t,n);this._isCollapseHandlerAttached=false},init:function e(){x.prototype.init.call(this);this.setProperty("key",P.LAYOUT);this.setProperty("title",this._i18nBundle.getText("layout"));this.setProperty("icon","sap-icon://grid");this._resetActionButton=new t({id:`${this.getId()}-layoutResetBtn`,text:this._i18nBundle.getText("resetButton"),press:()=>this.resetMyhomeSettings()});this.
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/m/Button","sap/m/Column","sap/m/ColumnListItem","sap/m/HBox","sap/m/MessageBox","sap/m/ObjectIdentifier","sap/m/Table","sap/m/Text","sap/m/ToggleButton","sap/m/VBox","sap/ui/core/Element","sap/ui/core/Icon","sap/ui/core/Lib","sap/ui/model/json/JSONModel","./BaseSettingsPanel","./flexibility/Layout.flexibility","./utils/Accessibility","./utils/Constants","./utils/DragDropUtils","./utils/PersonalisationUtils"],function(e,t,n,s,i,o,a,r,l,c,d,u,g,h,m,p,_,f,y,I,S){"use strict";function C(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const x=C(p);const T=_["CHANGE_TYPES"];const E=f["getInvisibleText"];const P=y["SETTINGS_PANELS_KEYS"];const B=I["focusDraggedItem"];const b=C(S);const L=x.extend("sap.cux.home.LayoutSettingsPanel",{metadata:{library:"sap.cux.home"},constructor:function e(t,n){x.prototype.constructor.call(this,t,n);this._isCollapseHandlerAttached=false},init:function e(){x.prototype.init.call(this);this.setProperty("key",P.LAYOUT);this.setProperty("title",this._i18nBundle.getText("layout"));this.setProperty("icon","sap-icon://grid");this._resetActionButton=new t({id:`${this.getId()}-layoutResetBtn`,text:this._i18nBundle.getText("resetButton"),press:()=>this.resetMyhomeSettings()});this.addActionButton(this._resetActionButton);this.addAggregation("content",this._getContent());this.attachPanelNavigated(()=>void this._loadSections());this._manageSectionsChanges=[]},createShowHideChangeFile:function e(t){try{const e=this;const n=t.getSource();const s=!n.getPressed();const i=n.getBindingContext()?.getObject();i.visible=s;e._getPanel().getSections().find(e=>e.completeId===i.completeId).visible=s;const o=s?T.UNHIDE:T.HIDE;const a=u.getElementById(i.completeId);e._manageSectionsChanges.push({selectorElement:a,changeSpecificData:{changeType:o}});return Promise.resolve(e._saveManageSectionsDialog()).then(function(){setTimeout(()=>a.adjustLayout());if(!s){e._switchToCollapsedViewIfRequired([a])}})}catch(e){return Promise.reject(e)}},_switchToCollapsedViewIfRequired:function e(t){const n=this._getPanel();const s=n.getProperty("expanded");if(s){t.forEach(e=>{n.toggleFullScreen(e._getSelectedPanel())})}},_loadSections:function e(){try{const e=this;const t=e._getPanel();return Promise.resolve(t._calculateSectionsState()).then(function(){e._orderedSections=JSON.parse(JSON.stringify(t.getSections()));e._orderedSections.forEach(t=>{if(t.sContainerType==="sap.cux.home.InsightsContainer"&&!t.title){t.title=String(e._i18nBundle?.getText("insights"))}});e._controlModel=new m(e._orderedSections);e._layoutTable.setModel(e._controlModel);e._layoutTable.bindItems({path:"/",factory:t=>{if(!e._dndInvisibleText||e._dndInvisibleText.isDestroyed()){e._dndInvisibleText=E(e.getId()+"--layoutDndText",e._i18nBundle.getText("keyPressAriaText"))}return new s(`${t}--columnListItem`,{type:"Inactive",cells:[new i(`${t}--columnListHBox`,{alignItems:"Center",items:[new g(`${t}--columnListIcon`,{src:"sap-icon://vertical-grip"}).addStyleClass("sapUiSmallMarginEnd"),new i(`${t}--columnListItemHBox`,{justifyContent:"SpaceBetween",alignItems:"Center",width:"100%",items:[new a(`${t}--columnListObjectIdentifier`,{title:"{title}",text:"{text}",tooltip:"{title}"}),new c(`${t}--layoutSettingstoggleButton`,{tooltip:"{= ${visible} ? '"+e._i18nBundle.getText("hideBtn")+"' : '"+e._i18nBundle.getText("showBtn")+"' }",icon:"sap-icon://show",type:"Emphasized",enabled:"{= !${blocked}}",press:t=>{void e.createShowHideChangeFile(t)},pressed:"{= !${visible}}",ariaLabelledBy:["selectLabel"]}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]}),e._dndInvisibleText],width:"100%"})],ariaLabelledBy:[e._dndInvisibleText.getId()]}).addStyleClass("insightsListItem insightsListMargin")}});if(!e._isCollapseHandlerAttached){e._isCollapseHandlerAttached=true;t.attachEvent("onCollapse",()=>e._rearrangeLayoutIfRequired())}})}catch(e){return Promise.reject(e)}},_rearrangeLayoutIfRequired:function e(){const t=this._getPanel();const n=t.getItems();if(Array.isArray(this._allLayoutElements)&&n.length===this._allLayoutElements.length){const e=n.some((e,t)=>e.getId()!==this._allLayoutElements[t].getId());if(e){t.removeAllItems();this._allLayoutElements.forEach(e=>{t.addItem(e)})}}},_getContent:function e(){const t=this._setHeaderIntro();const n=this.setLayoutTable();const s=E(this.getId()+"--titleText",this._i18nBundle.getText("layout"));const i=new d(this.getId()+"--idNewsPageOuterVBoX",{alignItems:"Start",justifyContent:"SpaceBetween",renderType:"Bare",items:[s,t,n]});[s,t].forEach(e=>{this._resetActionButton.addAriaLabelledBy(e.getId())});return i},_setHeaderIntro:function e(){const t=new l(this.getId()+"--idCustLayoutText",{text:this._i18nBundle.getText("layoutIntroMsg")});const n=new d(this.getId()+"--idLayoutIntroText",{backgroundDesign:"Solid",alignItems:"Start",justifyContent:"SpaceBetween",items:[t],renderType:"Bare"}).addStyleClass("sapUiSmallMargin");return n},setLayoutTable:function e(){if(!this._layoutTable){this._layoutTable=new r(this.getId()+"--idManageSectionsTable",{width:"calc(100% - 2rem)",items:[],columns:[new n(this.getId()+"--idSectionTitleColumn",{width:"100%"})]}).addStyleClass("sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom");this.addDragDropConfigTo(this._layoutTable,e=>void this.onDropManageSections(e))}return this._layoutTable},_saveManageSectionsDialog:function e(){try{const e=this;return Promise.resolve(e._persistUserChanges({changes:e._manageSectionsChanges,appComponent:b.getOwnerComponent(e._getPanel())}).then(()=>{const t=e._layoutTable.getModel();t.refresh();e._controlModel.refresh()}).finally(()=>{e._manageSectionsChanges=[]}))}catch(e){return Promise.reject(e)}},_persistUserChanges:function t(n){return h.load({name:"sap.ui.fl"}).then(function(){return new Promise(function(t,s){sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],function(i){i.add({changes:n.changes,ignoreVariantManagement:true}).then(function(e){return t(i.save({selector:{appComponent:n.appComponent},changes:e}))}).catch(function(t){if(t instanceof Error){e.error("Unable to Save User Change: "+t.message);return s(t)}})})})})},_getActualIndex:function e(t){const n=this._getPanel();this._allLayoutElements=this._allLayoutElements||[...n.getItems()];const s=n.getProperty("expanded");const i=n._getCurrentExpandedElement();if(s&&i){if(!this._allLayoutElements.some(e=>e.getId()===i.targetContainer.getId())){this._allLayoutElements.splice(i.index,0,i.targetContainer)}}return this._allLayoutElements.findIndex(e=>e.getId()===t)},_rearrangeLayoutElements:function e(t,n){const s=this._allLayoutElements.splice(t,1)[0];this._allLayoutElements.splice(n,0,s);const i=this._getPanel();const o=i.getProperty("expanded");const a=i._getCurrentExpandedElement();if(o&&a){const e=a.sourceElements.values().next().value;i.updateFullScreenElement(e,{index:this._allLayoutElements.indexOf(a.targetContainer)})}},onDropManageSections:function e(t){try{const n=this;function s(){B(n._layoutTable,c)}const i=n._getPanel();const o=i.getId();const a=t.getParameter?.("draggedControl")||t.draggedControl;const r=a.getParent()?.indexOfItem(a);const l=t.getParameter?.("droppedControl")||t.droppedControl;const c=a.getParent()?.indexOfItem(l);const d=function(){if(r!==c){const e=n._orderedSections;const t=a.getBindingContext()?.getObject();const s=l.getBindingContext()?.getObject();const d=n._getActualIndex(t.completeId);const g=n._getActualIndex(s.completeId);n._rearrangeLayoutElements(d,g);e.splice(r,1);e.splice(c,0,t);i.setSections(e);n._manageSectionsChanges.push({selectorElement:i,changeSpecificData:{changeType:T.MOVE,movedElements:[{id:t.completeId,sourceIndex:d,targetIndex:g}],source:{id:o,aggregation:"items"},target:{id:o,aggregation:"items"}}});return Promise.resolve(n._saveManageSectionsDialog()).then(function(){const e=u.getElementById(t.completeId);const i=u.getElementById(s.completeId);n._switchToCollapsedViewIfRequired([e,i])})}}();return Promise.resolve(d&&d.then?d.then(s):s(d))}catch(g){return Promise.reject(g)}},resetMyhomeSettings:function e(){const t=this;o.show(this._i18nBundle.getText("reset_cards_confirmation_msg"),{id:"resetCardsConfirmation",icon:o.Icon.QUESTION,title:this._i18nBundle.getText("reset_cards_confirmation_title"),actions:[this._i18nBundle.getText("reset_cards_button"),o.Action.CANCEL],onClose:function(e){try{const n=function(){if(e===t._i18nBundle.getText("reset_cards_button")){const e=[];for(let n of t._orderedSections){const t=u.getElementById(n.completeId);e.push(t)}e.push(t._getPanel());return Promise.resolve(h.load({name:"sap.ui.fl"}).then(()=>{sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],n=>{void n.reset({selectors:e,changeTypes:[T.MOVE,T.UNHIDE,T.HIDE]}).finally(()=>{const e=t._getPanel();e.resetSections();e.closeSettingsDialog()})})})).then(function(){})}}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}})}});return L});
|
|
6
6
|
//# sourceMappingURL=LayoutSettingsPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutSettingsPanel.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","this","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.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 ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addAggregation(\"actionButtons\", this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\t\t// visibility handling\n\t\t// const layout = this._getPanel() as Layout;\n\t\t// const isPagesAvailable = layout?.getPagesAvailable();\n\t\t// const isCustomNewsVisible = layout?.customNewAvailable();\n\n\t\t//****review this code */\n\t\t// const isPageSection = oContext.sContainerType === \"sap.cux.home.NewsAndPagesContainer\",\n\t\t// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;\n\t\t// if (!bIsPageSectionDisabled) {\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\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(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\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\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\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})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\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 * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\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}\n\t\t});\n\t}\n}\n"],"mappings":";;;;AAAAA,IAAAC,GAAAC,OAAA,0bAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,sBAAAC,EAAAC,GAAA,OAAAA,KAAAC,mBAAAD,EAAAE,UAAA,YAAAF,EAAAE,QAAAF,CAAA,OA4BOG,EAAiBJ,EAAAN,GAAA,MAEfW,EAAYV,EAAA,sBAEZW,EAAgBV,EAAA,0BAChBW,EAAoBV,EAAA,8BACpBW,EAAgBV,EAAA,0BAClBW,EAAoBT,EAAAD,GAE3B,MAgBqBW,EAA4BN,EAAiBO,OAAA,oCAiBjDC,SAA4B,CAC3CC,QAAS,gBALVC,YAAW,SAAAC,EAACC,EAAaC,GACxBC,6BAAAC,KAAMH,EAAIC,GAAUE,KAPbC,2BAAsC,KAQ9C,EAYOC,KAAI,SAAAC,IACVC,sBAAAJ,MAGAA,KAAKK,YAAY,MAAOjB,EAAqBkB,QAC7CN,KAAKK,YAAY,QAASL,KAAKO,YAAYC,QAAQ,WACnDR,KAAKK,YAAY,OAAQ,mBACzBL,KAAKS,mBAAqB,IAAIhD,EAAO,CACpCoC,GAAI,GAAGG,KAAKU,yBACZC,KAAMX,KAAKO,YAAYC,QAAQ,eAC/BI,MAAOA,IAAMZ,KAAKa,wBAGnBb,KAAKc,eAAe,gBAAiBd,KAAKS,oBAE1CT,KAAKc,eAAe,UAAWd,KAAKe,eAEpCf,KAAKgB,qBAAqB,SAAWhB,KAAKiB,iBAC1CjB,KAAKkB,uBAAyB,EAC/B,EAQcC,yBAAwB,SAAAC,EAACC,GAAoB,IAAiB,MAAAC,EAM1EtB,KALD,MAAMuB,EAASF,EAAcG,YAC7B,MAAMC,GAAUF,EAAOG,aACvB,MAAMC,EAAWJ,EAAOK,qBAAqBC,YAE7CF,EAASG,QAAUL,EAClBH,EAAKS,YAAuBC,cAAcC,KAAMC,GAAYA,EAAQC,aAAeR,EAASQ,YAAaL,QAAUL,EAEpH,MAAMW,EAAcX,EAASvC,EAAamD,OAASnD,EAAaoD,KAChE,MAAMC,EAAepE,EAAQqE,eAAeb,EAASQ,YAUrDb,EAAKJ,uBAAuBuB,KAAK,CAChCC,gBAAiBH,EACjBI,mBAAoB,CACnBC,WAAYR,KAGd,OAAAS,QAAAC,QACMxB,EAAKyB,6BAA2BC,KAAA,WACtCC,WAAW,IAAMV,EAAaW,gBAE9B,IACKzB,EAAM,CACVH,EAAK6B,iCAAiC,CAACZ,GAAe,GAExD,CAAC,MAAAa,GAAA,OAAAP,QAAAQ,OAAAD,EAAA,GASOD,iCAAgC,SAAAA,EAACG,GACxC,MAAMC,EAASvD,KAAK+B,YACpB,MAAMyB,EAAmBD,EAAOE,YAAY,YAE5C,GAAID,EAAkB,CACrBF,EAAWI,QAASC,IACnBJ,EAAOK,iBAAiBD,EAAUE,oBAAoB,EAExD,CACD,EAOc5C,cAAa,SAAAA,IAAA,IAAkB,MAAA6C,EAC7B9D,KAAf,MAAMuD,EAASO,EAAK/B,YAAsB,OAAAc,QAAAC,QACpCS,EAAOQ,2BAAyBf,KAAA,WAEtCc,EAAKE,iBAAmBC,KAAKC,MAAMD,KAAKE,UAAUZ,EAAOvB,gBAEzD8B,EAAKE,iBAAiBN,QAASU,IAC9B,GAAIA,EAASC,iBAAmB,mCAAqCD,EAASE,MAAO,CACpFF,EAASE,MAAQC,OAAOT,EAAKvD,aAAaC,QAAQ,YACnD,IAEDsD,EAAKU,cAAgB,IAAIlG,EAAUwF,EAAKE,kBACxCF,EAAKW,aAAaC,SAASZ,EAAKU,eAEhCV,EAAKW,aAAaE,UAAU,CAC3BC,KAAM,IACNC,QAAUhF,IACT,IAAKiE,EAAKgB,mBAAqBhB,EAAKgB,kBAAkBC,cAAe,CACpEjB,EAAKgB,kBAAoB3F,EACxB2E,EAAKpD,QAAU,kBACfoD,EAAKvD,YAAYC,QAAQ,oBAE3B,CACA,OAAO,IAAI7C,EAAe,GAAGkC,oBAAsB,CAClDmF,KAAM,WACNC,MAAO,CACN,IAAIrH,EAAK,GAAGiC,oBAAsB,CACjCqF,WAAY,SACZC,MAAO,CACN,IAAI/G,EAAK,GAAGyB,oBAAsB,CACjCuF,IAAK,6BACHC,cAAc,uBACjB,IAAIzH,EAAK,GAAGiC,wBAA0B,CACrCyF,eAAgB,eAChBJ,WAAY,SACZK,MAAO,OACPJ,MAAO,CACN,IAAIrH,EAAiB,GAAG+B,gCAAkC,CACzDyE,MAAO,UACP3D,KAAM,SACN6E,QAAS,YAEV,IAAIvH,EAAa,GAAG4B,gCAAkC,CACrD2F,QACC,oBACA1B,EAAKvD,YAAYC,QAAQ,WACzB,QACAsD,EAAKvD,YAAYC,QAAQ,WACzB,MACDiF,KAAM,kBACNT,KAAM,aACNU,QAAS,kBACT9E,MAAQ+E,SACF7B,EAAK3C,yBAAyBwE,EAAM,EAE1CC,QAAS,kBACTC,eAAgB,CAAC,iBACfR,cAAc,4CAGnBvB,EAAKgB,mBAENS,MAAO,UAGTM,eAAgB,CAAC/B,EAAKgB,kBAAkBpE,WACtC2E,cAAc,sCAAsC,IAEtD,IAGEvB,EAAK7D,2BAA0B,CACnC6D,EAAK7D,2BAA6B,KAClCsD,EAAOuC,YAAY,aAAc,IAAMhC,EAAKiC,6BAA8B,GAE5E,CAAC,MAAA3C,GAAA,OAAAP,QAAAQ,OAAAD,EAAA,GAOO2C,2BAA0B,SAAAA,IACjC,MAAMxC,EAASvD,KAAK+B,YACpB,MAAMiE,EAAwBzC,EAAO0C,WAErC,GAAIC,MAAMC,QAAQnG,KAAKoG,qBAAuBJ,EAAsBK,SAAWrG,KAAKoG,mBAAmBC,OAAQ,CAC9G,MAAMC,EAAiBN,EAAsBO,KAAK,CAACC,EAASC,IACpDD,EAAQ9F,UAAYV,KAAKoG,mBAAmBK,GAAO/F,SAG3D,GAAI4F,EAAgB,CACnB/C,EAAOmD,iBACP1G,KAAKoG,mBAAmB1C,QAAS8C,IAChCjD,EAAOoD,QAAQH,EAAQ,EAEzB,CACD,CACD,EAQQzF,YAAW,SAAAA,IAClB,MAAM6F,EAAU5G,KAAK6G,kBACrB,MAAMC,EAAS9G,KAAK+G,iBACpB,MAAMC,EAAiB7H,EAAiBa,KAAKU,QAAU,cAAeV,KAAKO,YAAYC,QAAQ,WAE/F,MAAMyG,EAAe,IAAI/I,EAAK8B,KAAKU,QAAU,wBAAyB,CACrEwE,WAAY,QACZI,eAAgB,eAChB4B,WAAY,OACZ/B,MAAO,CAAC6B,EAAgBJ,EAASE,KAElC,CAACE,EAAgBJ,GAASlD,QAASyD,IAClCnH,KAAKS,mBAAmB2G,kBAAkBD,EAAQzG,QAAQ,GAE3D,OAAOuG,CACR,EAQQJ,gBAAe,SAAAA,IACtB,MAAMQ,EAAc,IAAIrJ,EAAKgC,KAAKU,QAAU,qBAAsB,CACjEC,KAAMX,KAAKO,YAAYC,QAAQ,oBAEhC,MAAM8G,EAAc,IAAIpJ,EAAK8B,KAAKU,QAAU,sBAAuB,CAClE6G,iBAAkB,QAClBrC,WAAY,QACZI,eAAgB,eAChBH,MAAO,CAACkC,GACRH,WAAY,SACV7B,cAAc,oBACjB,OAAOiC,CACR,EAQQP,eAAc,SAAAS,IACrB,IAAKxH,KAAKyE,aAAc,CACvBzE,KAAKyE,aAAe,IAAI1G,EAAMiC,KAAKU,QAAU,0BAA2B,CACvE6E,MAAO,oBACPJ,MAAO,GAEPsC,QAAS,CACR,IAAI/J,EAAOsC,KAAKU,QAAU,yBAA0B,CACnD6E,MAAO,YAGPF,cAAc,kEACjBrF,KAAK0H,oBAAoB1H,KAAKyE,aAAekB,QAAe3F,KAAK2H,qBAAqBhC,GACvF,CAEA,OAAO3F,KAAKyE,YACb,EAOc1B,0BAAyB,SAAAA,IAAA,IAAkB,MAAA6E,EACjD5H,KAAP,OAAA6C,QAAAC,QAAO8E,EAAKC,oBAAoB,CAC/BC,QAASF,EAAK1G,uBACd6G,aAAczI,EAAqB0I,kBAAkBJ,EAAK7F,eAEzDiB,KAAK,KACL,MAAMiF,EAAaL,EAAKnD,aAAayD,WACrCD,EAAWE,UACXP,EAAKpD,cAAc2D,SAAS,GAE5BC,QAAQ,KACRR,EAAK1G,uBAAyB,EAAE,GAEnC,CAAC,MAAAkC,GAAA,OAAAP,QAAAQ,OAAAD,EAAA,GAOOyE,oBAAmB,SAAAA,EAACQ,GAC3B,OAAOhK,EAAIiK,KAAK,CAAEC,KAAM,cAAevF,KAAK,WAC3C,OAAO,IAAIH,QAAQ,SAAUC,EAASO,GACrChG,IAAIC,GAAGkL,QACN,CAAC,sDACD,SAAUC,GACTA,EAA+BC,IAAI,CAClCZ,QAASO,EAAYP,QACrBa,wBAAyB,OAExB3F,KAAK,SAAU4F,GACf,OAAO9F,EACN2F,EAA+BI,KAAK,CACnCC,SAAU,CACTf,aAAcM,EAAYN,cAE3BD,QAASc,IAGZ,GACCG,MAAM,SAAUC,GAChB,GAAIA,aAAkBC,MAAO,CAC5BzL,EAAI0L,MAAM,+BAAiCF,EAAOG,SAClD,OAAO9F,EAAO2F,EACf,CACD,EACF,EAEF,EACD,EACD,EASQI,gBAAe,SAAAA,EAACvJ,GACvB,MAAM0D,EAASvD,KAAK+B,YACpB/B,KAAKoG,mBAAqBpG,KAAKoG,oBAAsB,IAAI7C,EAAO0C,YAChE,MAAMzC,EAAmBD,EAAOE,YAAY,YAC5C,MAAM4F,EAAwB9F,EAAO+F,6BAErC,GAAI9F,GAAoB6F,EAAuB,CAE9C,IAAKrJ,KAAKoG,mBAAmBG,KAAMC,GAAYA,EAAQ9F,UAAY2I,EAAsBE,gBAAgB7I,SAAU,CAClHV,KAAKoG,mBAAmBoD,OAAOH,EAAsB5C,MAAO,EAAG4C,EAAsBE,gBACtF,CACD,CAEA,OAAOvJ,KAAKoG,mBAAmBqD,UAAWjD,GAAYA,EAAQ9F,UAAYb,EAC3E,EASQ6J,yBAAwB,SAAAA,EAACC,EAAqBC,GACrD,MAAMjG,EAAY3D,KAAKoG,mBAAmBoD,OAAOG,EAAa,GAAG,GACjE3J,KAAKoG,mBAAmBoD,OAAOI,EAAa,EAAGjG,GAG/C,MAAMJ,EAASvD,KAAK+B,YACpB,MAAMyB,EAAmBD,EAAOE,YAAY,YAC5C,MAAM4F,EAAwB9F,EAAO+F,6BACrC,GAAI9F,GAAoB6F,EAAuB,CAC9C,MAAMQ,EAAgBR,EAAsBS,eAAeC,SAASC,OAAOC,MAC3E1G,EAAO2G,wBAAwBL,EAAe,CAC7CpD,MAAOzG,KAAKoG,mBAAmB+D,QAAQd,EAAsBE,kBAE/D,CACD,EAOc5B,qBAAoB,SAAAyC,EAACC,GAAuC,IAAiB,MAAAC,EACzEtK,KAAI,SAAAuK,IAmDrBlL,EAAiBiL,EAAK7F,aAAc+F,EAAgB,CAnDpD,MAAMC,EAAWH,EAAKvI,YACtB,MAAM2I,EAAYD,EAAS/J,QAC3B,MAAMiK,EAAcN,EAA8BO,eAAe,mBAC/DP,EAAsBQ,eACxB,MAAMC,EAAkBH,EAAUI,aAAuBC,YAAYL,GACrE,MAAMM,EAAcZ,EAA8BO,eAAe,mBAC/DP,EAAsBa,eACxB,MAAMV,EAAkBG,EAAUI,aAAuBC,YAAYC,GAAW,MAAAE,EAAA,cAE5EL,IAAmBN,EAAc,CACpC,MAAMY,EAAed,EAAKtG,iBAC1B,MAAMqH,EAAaV,EAAU/I,qBAAqBC,YAClD,MAAMyJ,EAAaL,EAAUrJ,qBAAqBC,YAElD,MAAM0J,EAAsBjB,EAAKlB,gBAAgBiC,EAAWlJ,YAC5D,MAAMqJ,EAAsBlB,EAAKlB,gBAAgBkC,EAAWnJ,YAC5DmI,EAAKZ,yBAAyB6B,EAAqBC,GAEnDJ,EAAa5B,OAAOsB,EAAgB,GACpCM,EAAa5B,OAAOgB,EAAgB,EAAGa,GACvCZ,EAASgB,YAAYL,GAErBd,EAAKpJ,uBAAuBuB,KAAK,CAChCC,gBAAiB+H,EACjB9H,mBAAoB,CACnBC,WAAY1D,EAAawM,KACzBC,cAAe,CACd,CACC9L,GAAIwL,EAAWlJ,WACfwH,YAAa4B,EACb3B,YAAa4B,IAGfI,OAAQ,CACP/L,GAAI6K,EACJmB,YAAa,SAEdC,OAAQ,CACPjM,GAAI6K,EACJmB,YAAa,YAGb,OAAAhJ,QAAAC,QAEGwH,EAAKvH,6BAA2BC,KAAA,WAGtC,MAAM+I,EAAmB5N,EAAQqE,eAAe6I,EAAWlJ,YAC3D,MAAM6J,EAAmB7N,EAAQqE,eAAe8I,EAAWnJ,YAC3DmI,EAAKnH,iCAAiC,CAAC4I,EAAkBC,GAAmB,IA1CG,GA0CH,OAAAnJ,QAAAC,QAAAqI,KAAAnI,KAAAmI,EAAAnI,KAAAuH,KAAAY,GAG9E,CAAC,MAAA/H,GAAA,OAAAP,QAAAQ,OAAAD,EAAA,GAOOvC,oBAAmB,SAAAoL,IAAS,MAAAC,EAOjBlM,KANlBnC,EAAWsO,KAAKnM,KAAKO,YAAYC,QAAQ,gCAA2C,CACnFX,GAAI,yBACJ4F,KAAM5H,EAAWO,KAAKgO,SACtB9H,MAAOtE,KAAKO,YAAYC,QAAQ,kCAChC6L,QAAS,CAACrM,KAAKO,YAAYC,QAAQ,sBAAiC3C,EAAWyO,OAAOC,QACtFC,QAAO,SAASC,GAAe,IAAK,MAAAC,EAAA,cAC/BD,IAAYP,EAAK3L,YAAYC,QAAQ,sBAAqB,CAC7D,MAAMmM,EAAsD,GAE5D,IAAK,IAAIzK,KAAWgK,EAAKlI,iBAAkB,CAC1C,MAAMwC,EAAUrI,EAAQqE,eAAeN,EAAQC,YAC/CwK,EAAoBlK,KAAK+D,EAC1B,CAEAmG,EAAoBlK,KAAKyJ,EAAKnK,aAAuB,OAAAc,QAAAC,QAC/CzE,EAAIiK,KAAK,CAAEC,KAAM,cAAevF,KAAK,KAC1C3F,IAAIC,GAAGkL,QACN,CAAC,sDACAC,SACKA,EAA+BmE,MAAM,CACzCC,UAAWF,EACXG,YAAa,CAAC5N,EAAawM,KAAMxM,EAAamD,OAAQnD,EAAaoD,QACjE8F,QAAQ,KACV,MAAM7E,EAAS2I,EAAKnK,YACpBwB,EAAOwJ,gBACPxJ,EAAOyJ,qBAAqB,EAC3B,EAEH,IACAhK,KAAA,eAxBgC,GAwBhC,OAAAH,QAAAC,QAAA4J,KAAA1J,KAAA0J,EAAA1J,KAAA,qBAEJ,CAAC,MAAAI,GAAA,OAAAP,QAAAQ,OAAAD,EAAA,IAEH,IAAC,OAjemB7D,CAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LayoutSettingsPanel.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","this","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addActionButton","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.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 ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addActionButton(this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\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(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\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\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\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})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\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 * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\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}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -91,7 +91,7 @@ export default class LayoutSettingsPanel extends BaseSettingsPanel {
|
|
|
91
91
|
press: () => this.resetMyhomeSettings()
|
|
92
92
|
});
|
|
93
93
|
// Add button to actionButtons aggregation
|
|
94
|
-
this.
|
|
94
|
+
this.addActionButton(this._resetActionButton);
|
|
95
95
|
//setup layout content
|
|
96
96
|
this.addAggregation("content", this._getContent());
|
|
97
97
|
//fired every time on panel navigation
|
|
@@ -115,15 +115,7 @@ export default class LayoutSettingsPanel extends BaseSettingsPanel {
|
|
|
115
115
|
|
|
116
116
|
const sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;
|
|
117
117
|
const oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;
|
|
118
|
-
|
|
119
|
-
// const layout = this._getPanel() as Layout;
|
|
120
|
-
// const isPagesAvailable = layout?.getPagesAvailable();
|
|
121
|
-
// const isCustomNewsVisible = layout?.customNewAvailable();
|
|
122
|
-
|
|
123
|
-
//****review this code */
|
|
124
|
-
// const isPageSection = oContext.sContainerType === "sap.cux.home.NewsAndPagesContainer",
|
|
125
|
-
// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;
|
|
126
|
-
// if (!bIsPageSectionDisabled) {
|
|
118
|
+
|
|
127
119
|
this._manageSectionsChanges.push({
|
|
128
120
|
selectorElement: oWrapperItem,
|
|
129
121
|
changeSpecificData: {
|