@sapui5/sap.cux.home 1.142.0 → 1.143.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/cux/home/.library +4 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
- package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.js +6 -5
- package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -5
- package/src/sap/cux/home/App.d.ts.map +1 -1
- package/src/sap/cux/home/App.js +3 -0
- package/src/sap/cux/home/App.js.map +1 -1
- package/src/sap/cux/home/App.ts +3 -0
- package/src/sap/cux/home/AppsAdditionPanel.d.ts +74 -34
- package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.js +344 -146
- package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/AppsAdditionPanel.ts +367 -149
- package/src/sap/cux/home/AppsContainer.js +2 -1
- package/src/sap/cux/home/AppsContainer.js.map +1 -1
- package/src/sap/cux/home/AppsContainer.ts +2 -2
- package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainer.js +9 -1
- package/src/sap/cux/home/BaseContainer.js.map +1 -1
- package/src/sap/cux/home/BaseContainer.ts +6 -2
- package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
- package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
- package/src/sap/cux/home/BaseContainerRenderer.ts +6 -0
- package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
- package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
- package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
- package/src/sap/cux/home/BasePanel.js +3 -2
- package/src/sap/cux/home/BasePanel.js.map +1 -1
- package/src/sap/cux/home/BasePanel.ts +2 -1
- package/src/sap/cux/home/CardsContainer.d.ts +108 -0
- package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/CardsContainer.js +207 -0
- package/src/sap/cux/home/CardsContainer.js.map +1 -0
- package/src/sap/cux/home/CardsContainer.ts +202 -0
- package/src/sap/cux/home/CardsPanel.d.ts +25 -59
- package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/CardsPanel.js +157 -155
- package/src/sap/cux/home/CardsPanel.js.map +1 -1
- package/src/sap/cux/home/CardsPanel.ts +152 -175
- package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
- package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.js +12 -6
- package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
- package/src/sap/cux/home/ContentAdditionDialog.ts +13 -5
- package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
- package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
- package/src/sap/cux/home/ErrorPanel.js +11 -16
- package/src/sap/cux/home/ErrorPanel.js.map +1 -1
- package/src/sap/cux/home/ErrorPanel.ts +7 -19
- package/src/sap/cux/home/FavAppPanel.d.ts +1 -2
- package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
- package/src/sap/cux/home/FavAppPanel.js +296 -301
- package/src/sap/cux/home/FavAppPanel.js.map +1 -1
- package/src/sap/cux/home/FavAppPanel.ts +18 -14
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
- package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.js +10 -9
- package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsAdditionPanel.ts +9 -8
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +3 -3
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
- package/src/sap/cux/home/Layout.d.ts +3 -1
- package/src/sap/cux/home/Layout.d.ts.map +1 -1
- package/src/sap/cux/home/Layout.js +45 -8
- package/src/sap/cux/home/Layout.js.map +1 -1
- package/src/sap/cux/home/Layout.ts +55 -8
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
- package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
- package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
- package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -14
- package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
- package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
- package/src/sap/cux/home/NewsContainer.js.map +1 -0
- package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +29 -118
- package/src/sap/cux/home/NewsGroup.js.map +1 -1
- package/src/sap/cux/home/NewsGroup.ts +1 -1
- package/src/sap/cux/home/NewsPanel.js +2 -2
- package/src/sap/cux/home/NewsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsPanel.ts +3 -3
- package/src/sap/cux/home/NewsSettingsPanel.js +3 -3
- package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
- package/src/sap/cux/home/NewsSettingsPanel.ts +4 -4
- package/src/sap/cux/home/PagePanel.d.ts +1 -1
- package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
- package/src/sap/cux/home/PagePanel.js +18 -10
- package/src/sap/cux/home/PagePanel.js.map +1 -1
- package/src/sap/cux/home/PagePanel.ts +25 -15
- package/src/sap/cux/home/PagesContainer.d.ts +72 -0
- package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
- package/src/sap/cux/home/PagesContainer.js +333 -0
- package/src/sap/cux/home/PagesContainer.js.map +1 -0
- package/src/sap/cux/home/PagesContainer.ts +179 -0
- package/src/sap/cux/home/SettingsDialog.d.ts +7 -0
- package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
- package/src/sap/cux/home/SettingsDialog.js +18 -10
- package/src/sap/cux/home/SettingsDialog.js.map +1 -1
- package/src/sap/cux/home/SettingsDialog.ts +20 -13
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
- package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.js +66 -132
- package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
- package/src/sap/cux/home/SpaceInsightsPanel.ts +69 -151
- package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TaskPanel.js +14 -12
- package/src/sap/cux/home/TaskPanel.js.map +1 -1
- package/src/sap/cux/home/TaskPanel.ts +17 -15
- package/src/sap/cux/home/TilesContainer.d.ts +111 -0
- package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
- package/src/sap/cux/home/TilesContainer.js +218 -0
- package/src/sap/cux/home/TilesContainer.js.map +1 -0
- package/src/sap/cux/home/TilesContainer.ts +216 -0
- package/src/sap/cux/home/TilesPanel.d.ts +22 -52
- package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
- package/src/sap/cux/home/TilesPanel.js +184 -165
- package/src/sap/cux/home/TilesPanel.js.map +1 -1
- package/src/sap/cux/home/TilesPanel.ts +160 -154
- package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
- package/src/sap/cux/home/ToDoPanel.js +30 -58
- package/src/sap/cux/home/ToDoPanel.js.map +1 -1
- package/src/sap/cux/home/ToDoPanel.ts +29 -28
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
- package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
- package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
- package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
- package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
- package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
- package/src/sap/cux/home/i18n/messagebundle.properties +33 -13
- package/src/sap/cux/home/i18n/messagebundle_ar.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_bg.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ca.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cnr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cs.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_cy.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_da.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_de.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_el.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_en.properties +9 -5
- package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +14 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +14 -6
- package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_es.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_et.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_hu.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_id.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_it.properties +10 -6
- package/src/sap/cux/home/i18n/messagebundle_iw.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ja.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_kk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ko.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_lt.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_lv.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_mk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ms.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_nl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_no.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_pl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_pt.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ro.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_ru.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sh.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sl.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_sv.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_th.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_tr.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_uk.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_vi.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +8 -4
- package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +8 -4
- package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
- package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
- package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
- package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
- package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
- package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
- package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
- package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
- package/src/sap/cux/home/library.d.ts.map +1 -1
- package/src/sap/cux/home/library.js +7 -4
- package/src/sap/cux/home/library.js.map +1 -1
- package/src/sap/cux/home/library.ts +10 -5
- package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
- package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
- package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +0 -45
- package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
- package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
- package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
- package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
- package/src/sap/cux/home/themes/base/library.source.less +2 -1
- package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
- package/src/sap/cux/home/utils/AppManager.js +2 -1
- package/src/sap/cux/home/utils/AppManager.js.map +1 -1
- package/src/sap/cux/home/utils/AppManager.ts +2 -2
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
- package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
- package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
- package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +155 -151
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
- package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
- package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
- package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
- package/ui5.yaml +1 -0
- package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
- package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
- package/src/sap/cux/home/InsightsContainer.js +0 -459
- package/src/sap/cux/home/InsightsContainer.js.map +0 -1
- package/src/sap/cux/home/InsightsContainer.ts +0 -489
- package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
- package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
- package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
|
@@ -2,14 +2,16 @@
|
|
|
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/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/ObjectIdentifier", "sap/m/Table", "sap/m/ToggleButton", "sap/ui/core/CustomData", "sap/ui/core/Element", "sap/ui/core/Icon", "./BaseSettingsPanel", "./flexibility/Layout.flexibility", "./utils/Constants", "./utils/DataFormatUtils", "./utils/DragDropUtils"], function (Column, ColumnListItem, HBox, ObjectIdentifier, Table, ToggleButton, CustomData, Element, Icon, __BaseSettingsPanel, ___flexibility_Layoutflexibility, ___utils_Constants, ___utils_DataFormatUtils, ___utils_DragDropUtils) {
|
|
5
|
+
sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/ObjectIdentifier", "sap/m/Table", "sap/m/ToggleButton", "sap/m/VBox", "sap/ui/core/CustomData", "sap/ui/core/Element", "sap/ui/core/Icon", "./BaseContainer", "./BaseSettingsPanel", "./flexibility/Layout.flexibility", "./NoDataContainer", "./utils/Constants", "./utils/DataFormatUtils", "./utils/DragDropUtils"], function (Column, ColumnListItem, HBox, ObjectIdentifier, Table, ToggleButton, VBox, CustomData, Element, Icon, __BaseContainer, __BaseSettingsPanel, ___flexibility_Layoutflexibility, __NoDataContainer, ___utils_Constants, ___utils_DataFormatUtils, ___utils_DragDropUtils) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
function _interopRequireDefault(obj) {
|
|
9
9
|
return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
|
|
10
10
|
}
|
|
11
|
+
const BaseContainer = _interopRequireDefault(__BaseContainer);
|
|
11
12
|
const BaseSettingsPanel = _interopRequireDefault(__BaseSettingsPanel);
|
|
12
13
|
const CHANGE_TYPES = ___flexibility_Layoutflexibility["CHANGE_TYPES"];
|
|
14
|
+
const NoDataContainer = _interopRequireDefault(__NoDataContainer);
|
|
13
15
|
const KEYUSER_SETTINGS_PANELS_KEYS = ___utils_Constants["KEYUSER_SETTINGS_PANELS_KEYS"];
|
|
14
16
|
const recycleId = ___utils_DataFormatUtils["recycleId"];
|
|
15
17
|
const focusDraggedItem = ___utils_DragDropUtils["focusDraggedItem"];
|
|
@@ -83,47 +85,183 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
83
85
|
const layout = _this._getPanel();
|
|
84
86
|
return Promise.resolve(layout._calculateSectionsState()).then(function () {
|
|
85
87
|
_this.orderedSections = layout.getSections() || [];
|
|
86
|
-
|
|
88
|
+
//loop through this._orderedSections and take out the children items from composite items and add them to same list
|
|
89
|
+
// create composite list item
|
|
90
|
+
// map through this.orderedSections and replace items with compositeId with a single composite item containing its children
|
|
91
|
+
//filter this.orderedSections to remove items which has same composite item with no children
|
|
92
|
+
_this.orderedSections = _this.orderedSections.reduce((accumulator, section) => {
|
|
93
|
+
if (section.isComposite && section.children) {
|
|
94
|
+
accumulator.push(...section.children);
|
|
95
|
+
} else {
|
|
96
|
+
accumulator.push(section);
|
|
97
|
+
}
|
|
98
|
+
return accumulator;
|
|
99
|
+
}, []);
|
|
100
|
+
const createEmptyCompositeItem = () => ({
|
|
101
|
+
completeId: "",
|
|
102
|
+
sContainerType: "",
|
|
103
|
+
blocked: false,
|
|
104
|
+
visible: false,
|
|
105
|
+
title: "",
|
|
106
|
+
text: "",
|
|
107
|
+
isComposite: false,
|
|
108
|
+
compositeId: null,
|
|
109
|
+
children: []
|
|
110
|
+
});
|
|
111
|
+
const compositeMap = {};
|
|
112
|
+
_this.orderedSections.forEach(section => {
|
|
113
|
+
const container = Element.getElementById(section.completeId);
|
|
114
|
+
if (container instanceof BaseContainer) {
|
|
115
|
+
const compositeId = container.getProperty("compositeId");
|
|
116
|
+
if (compositeId) {
|
|
117
|
+
if (!compositeMap[compositeId]) {
|
|
118
|
+
compositeMap[compositeId] = [];
|
|
119
|
+
}
|
|
120
|
+
section.compositeId = compositeId;
|
|
121
|
+
section.groupTitle = container.getCustomSettings().groupTitle || "";
|
|
122
|
+
compositeMap[compositeId].push(section);
|
|
123
|
+
} else {
|
|
124
|
+
section.compositeId = null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
_this.orderedSections = _this.orderedSections.map(section => {
|
|
129
|
+
if (section.compositeId && compositeMap[section.compositeId]) {
|
|
130
|
+
const compositeItem = createEmptyCompositeItem();
|
|
131
|
+
compositeMap[section.compositeId].forEach(section => {
|
|
132
|
+
_this.addToCompositeItem(section, compositeItem, section.groupTitle);
|
|
133
|
+
});
|
|
134
|
+
delete compositeMap[section.compositeId];
|
|
135
|
+
return compositeItem;
|
|
136
|
+
}
|
|
137
|
+
return section;
|
|
138
|
+
});
|
|
139
|
+
_this.orderedSections = _this.orderedSections.filter(section => {
|
|
140
|
+
if (section.compositeId) {
|
|
141
|
+
return section.children && section.children.length > 0;
|
|
142
|
+
}
|
|
143
|
+
return true;
|
|
144
|
+
});
|
|
87
145
|
_this.layoutTable.removeAllItems();
|
|
88
146
|
_this.orderedSections.forEach((section, index) => {
|
|
89
|
-
_this.layoutTable.addItem(
|
|
90
|
-
type: _this.getParent()?.hasDetailsPage?.(section.completeId) ? "Navigation" : "Inactive",
|
|
91
|
-
cells: [new HBox(recycleId(`${_this.getId()}--layoutColumnListHBox--${index}`), {
|
|
92
|
-
alignItems: "Center",
|
|
93
|
-
items: [new Icon(recycleId(`${_this.getId()}--layoutColumnListItemIcon--${index}`), {
|
|
94
|
-
src: "sap-icon://vertical-grip"
|
|
95
|
-
}).addStyleClass("sapUiSmallMarginEnd"), new HBox(recycleId(`${_this.getId()}--layoutColumnListItemHBox--${index}`), {
|
|
96
|
-
justifyContent: "SpaceBetween",
|
|
97
|
-
alignItems: "Center",
|
|
98
|
-
width: "100%",
|
|
99
|
-
items: [new ObjectIdentifier(recycleId(`${_this.getId()}--layoutColumnListObjectIdentifier--${index}`), {
|
|
100
|
-
title: section.title,
|
|
101
|
-
text: section.text,
|
|
102
|
-
tooltip: section.title
|
|
103
|
-
}), new ToggleButton(recycleId(`${_this.getId()}--layoutColumnListToggleButton--${index}`), {
|
|
104
|
-
tooltip: section.visible ? _this._i18nBundle.getText("hideBtn") : _this._i18nBundle.getText("showBtn"),
|
|
105
|
-
icon: "sap-icon://show",
|
|
106
|
-
type: "Emphasized",
|
|
107
|
-
enabled: !section.blocked,
|
|
108
|
-
press: event => _this.createShowHideChangeFile(event, section),
|
|
109
|
-
pressed: !section.visible,
|
|
110
|
-
ariaLabelledBy: ["selectLabel"]
|
|
111
|
-
}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]
|
|
112
|
-
}).addStyleClass("sapUiTinyMarginBegin")],
|
|
113
|
-
width: "100%"
|
|
114
|
-
})],
|
|
115
|
-
press: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),
|
|
116
|
-
customData: new CustomData(recycleId(`${_this.getId()}--custom-data--${index}`), {
|
|
117
|
-
key: "sectionObject",
|
|
118
|
-
value: section
|
|
119
|
-
})
|
|
120
|
-
})).addStyleClass("insightsListItem insightsListMargin");
|
|
147
|
+
_this.layoutTable.addItem(_this.getLayoutListItem(section, index)).addStyleClass("insightsListItem insightsListMargin");
|
|
121
148
|
});
|
|
122
149
|
});
|
|
123
150
|
} catch (e) {
|
|
124
151
|
return Promise.reject(e);
|
|
125
152
|
}
|
|
126
153
|
},
|
|
154
|
+
getLayoutListItem: function _getLayoutListItem(section, index) {
|
|
155
|
+
const keyUserSettingsDialog = this.getParent();
|
|
156
|
+
|
|
157
|
+
//check the condition for news and pages as it is a composite container
|
|
158
|
+
if (section?.isComposite === true) {
|
|
159
|
+
return this.getCompositeLayoutListItem(section, index);
|
|
160
|
+
}
|
|
161
|
+
return new ColumnListItem(recycleId(`${this.getId()}--layoutSettingsColumnListItem--${index}`), {
|
|
162
|
+
type: this.getParent()?.hasDetailsPage?.(section.completeId) ? "Navigation" : "Inactive",
|
|
163
|
+
cells: [new HBox(recycleId(`${this.getId()}--layoutColumnListHBox--${index}`), {
|
|
164
|
+
alignItems: "Center",
|
|
165
|
+
items: [new Icon(recycleId(`${this.getId()}--layoutColumnListItemIcon--${index}`), {
|
|
166
|
+
src: "sap-icon://vertical-grip"
|
|
167
|
+
}).addStyleClass("sapUiSmallMarginEnd"), new HBox(recycleId(`${this.getId()}--layoutColumnListItemHBox--${index}`), {
|
|
168
|
+
justifyContent: "SpaceBetween",
|
|
169
|
+
alignItems: "Center",
|
|
170
|
+
width: "100%",
|
|
171
|
+
items: [new ObjectIdentifier(recycleId(`${this.getId()}--layoutColumnListObjectIdentifier--${index}`), {
|
|
172
|
+
title: section.title,
|
|
173
|
+
text: section.text,
|
|
174
|
+
tooltip: section.title
|
|
175
|
+
}), new ToggleButton(recycleId(`${this.getId()}--layoutColumnListToggleButton--${index}`), {
|
|
176
|
+
tooltip: section.visible ? this._i18nBundle.getText("hideBtn") : this._i18nBundle.getText("showBtn"),
|
|
177
|
+
icon: "sap-icon://show",
|
|
178
|
+
type: "Emphasized",
|
|
179
|
+
enabled: !section.blocked,
|
|
180
|
+
press: event => this.createShowHideChangeFile(event, section),
|
|
181
|
+
pressed: !section.visible,
|
|
182
|
+
ariaLabelledBy: ["selectLabel"]
|
|
183
|
+
}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]
|
|
184
|
+
}).addStyleClass("sapUiTinyMarginBegin")],
|
|
185
|
+
width: "100%"
|
|
186
|
+
})],
|
|
187
|
+
press: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),
|
|
188
|
+
customData: new CustomData(recycleId(`${this.getId()}--custom-data--${index}`), {
|
|
189
|
+
key: "sectionObject",
|
|
190
|
+
value: section
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
getCompositeLayoutListItem: function _getCompositeLayoutListItem(section, index) {
|
|
195
|
+
const keyUserSettingsDialog = this.getParent();
|
|
196
|
+
|
|
197
|
+
// Create child HBoxes dynamically based on number of children
|
|
198
|
+
const childBoxes = (section.children || []).map((child, childIndex) => {
|
|
199
|
+
return new HBox(recycleId(`${this.getId()}--columnListItemChildHBox--${index}-${childIndex}`), {
|
|
200
|
+
justifyContent: "SpaceBetween",
|
|
201
|
+
alignItems: "Center",
|
|
202
|
+
items: [new ObjectIdentifier(recycleId(`${this.getId()}--childObjectIdentifier--${index}-${childIndex}`), {
|
|
203
|
+
title: child.title,
|
|
204
|
+
text: child.text,
|
|
205
|
+
tooltip: child.title
|
|
206
|
+
}), new ToggleButton(recycleId(`${this.getId()}--layoutSettingstoggleButtonChild--${index}-${childIndex}`), {
|
|
207
|
+
tooltip: child.visible ? this._i18nBundle.getText("hideBtn") : this._i18nBundle.getText("showBtn"),
|
|
208
|
+
icon: "sap-icon://show",
|
|
209
|
+
type: "Emphasized",
|
|
210
|
+
enabled: !child.blocked,
|
|
211
|
+
press: event => this.createShowHideChangeFile(event, child),
|
|
212
|
+
pressed: !child.visible,
|
|
213
|
+
ariaLabelledBy: ["selectLabel"]
|
|
214
|
+
}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]
|
|
215
|
+
}).addStyleClass("sapCuxCompositeItem");
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
// Now build the main composite item layout
|
|
219
|
+
return new ColumnListItem(recycleId(`${this.getId()}--layoutSettingsColumnListItem--${index}`), {
|
|
220
|
+
type: keyUserSettingsDialog?.hasDetailsPage?.(section.completeId) ? "Navigation" : "Inactive",
|
|
221
|
+
press: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),
|
|
222
|
+
customData: new CustomData(recycleId(`${this.getId()}--custom-data--${index}`), {
|
|
223
|
+
key: "sectionObject",
|
|
224
|
+
value: section
|
|
225
|
+
}),
|
|
226
|
+
cells: [new VBox(recycleId(`${this.getId()}--compositeVBox--${index}`), {
|
|
227
|
+
items: [
|
|
228
|
+
// Parent section header (with main title)
|
|
229
|
+
new HBox(recycleId(`${this.getId()}--columnListHBox--${index}`), {
|
|
230
|
+
alignItems: "Center",
|
|
231
|
+
items: [new Icon(recycleId(`${this.getId()}--columnListIcon--${index}`), {
|
|
232
|
+
src: "sap-icon://vertical-grip"
|
|
233
|
+
}).addStyleClass("sapUiSmallMarginEnd"), new HBox(recycleId(`${this.getId()}--columnListItemHBox--${index}`), {
|
|
234
|
+
justifyContent: "SpaceBetween",
|
|
235
|
+
alignItems: "Center",
|
|
236
|
+
width: "100%",
|
|
237
|
+
items: [new ObjectIdentifier(recycleId(`${this.getId()}--columnListObjectIdentifier--${index}`), {
|
|
238
|
+
title: section.title,
|
|
239
|
+
text: section.text,
|
|
240
|
+
tooltip: section.title
|
|
241
|
+
})]
|
|
242
|
+
})],
|
|
243
|
+
width: "100%"
|
|
244
|
+
}).addStyleClass("sapUiTinyMarginTopBottom"),
|
|
245
|
+
// All dynamically created child boxes
|
|
246
|
+
...childBoxes]
|
|
247
|
+
})]
|
|
248
|
+
}).addStyleClass("insightsListItem insightsListMargin");
|
|
249
|
+
},
|
|
250
|
+
addToCompositeItem: function _addToCompositeItem(section, compositeItem, compositeTitle) {
|
|
251
|
+
compositeItem.isComposite = true;
|
|
252
|
+
compositeItem.title = compositeTitle;
|
|
253
|
+
if (!compositeItem.completeId) {
|
|
254
|
+
compositeItem.completeId = section.completeId;
|
|
255
|
+
}
|
|
256
|
+
//Add compositeId
|
|
257
|
+
compositeItem.compositeId = section.compositeId;
|
|
258
|
+
compositeItem.children?.push({
|
|
259
|
+
...section
|
|
260
|
+
});
|
|
261
|
+
compositeItem.text = section.text;
|
|
262
|
+
compositeItem.blocked = section.blocked;
|
|
263
|
+
compositeItem.visible = section.visible;
|
|
264
|
+
},
|
|
127
265
|
/**
|
|
128
266
|
* Function to execute drag and drop among sections
|
|
129
267
|
*
|
|
@@ -140,12 +278,43 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
140
278
|
const sectionOrder = this.orderedSections;
|
|
141
279
|
const dragObject = dragItem.data("sectionObject");
|
|
142
280
|
const dropObject = dropItem.data("sectionObject");
|
|
143
|
-
|
|
144
|
-
|
|
281
|
+
let actualDragItemIndex = this._getActualIndex(dragObject.completeId);
|
|
282
|
+
let actualDropItemIndex = this._getActualIndex(dropObject.completeId);
|
|
145
283
|
this._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);
|
|
146
284
|
sectionOrder.splice(dragItemIndex, 1);
|
|
147
285
|
sectionOrder.splice(dropItemIndex, 0, dragObject);
|
|
148
286
|
wrapper.setSections(sectionOrder);
|
|
287
|
+
//loop through the wrapper.getItems() and find the index and noData Container
|
|
288
|
+
let noDataContainerIndex = -1;
|
|
289
|
+
const items = wrapper.getItems();
|
|
290
|
+
let noDataContainer = null;
|
|
291
|
+
for (let i = 0; i < items.length; i++) {
|
|
292
|
+
const item = items[i];
|
|
293
|
+
if (item instanceof NoDataContainer) {
|
|
294
|
+
noDataContainerIndex = i;
|
|
295
|
+
noDataContainer = item;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//now insert the noDataContainer back to its noDataContainerIndex in sectionOrder
|
|
299
|
+
if (noDataContainer && noDataContainerIndex !== -1) {
|
|
300
|
+
sectionOrder.splice(noDataContainerIndex, 0, noDataContainer);
|
|
301
|
+
}
|
|
302
|
+
let finalTargetIndex = 0;
|
|
303
|
+
const elementList = this.orderedSections.reduce((accumulator, section) => {
|
|
304
|
+
if (section.isComposite && section.children) {
|
|
305
|
+
accumulator.push(...section.children);
|
|
306
|
+
} else {
|
|
307
|
+
accumulator.push(section);
|
|
308
|
+
}
|
|
309
|
+
return accumulator;
|
|
310
|
+
}, []);
|
|
311
|
+
finalTargetIndex = elementList.findIndex(element => element.completeId === dragObject.completeId);
|
|
312
|
+
//find the composite child for this dragObject if it has a composite id
|
|
313
|
+
const compositeChildren = elementList.filter(element => dragObject.compositeId && dragObject.compositeId === element.compositeId && element.completeId !== dragObject.completeId);
|
|
314
|
+
if (noDataContainer && noDataContainerIndex !== -1) {
|
|
315
|
+
//remove noDataContainer from sectionOrder to avoid the display of an empty item in myhome Settings dialog
|
|
316
|
+
sectionOrder.splice(noDataContainerIndex, 1);
|
|
317
|
+
}
|
|
149
318
|
this.addKeyUserChanges({
|
|
150
319
|
selectorControl: wrapper,
|
|
151
320
|
changeSpecificData: {
|
|
@@ -154,7 +323,7 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
154
323
|
movedElements: [{
|
|
155
324
|
id: dragObject.completeId,
|
|
156
325
|
sourceIndex: actualDragItemIndex,
|
|
157
|
-
targetIndex:
|
|
326
|
+
targetIndex: dragItemIndex < dropItemIndex && dragObject.isComposite ? finalTargetIndex + 1 : finalTargetIndex
|
|
158
327
|
}],
|
|
159
328
|
source: {
|
|
160
329
|
id: wrapperId,
|
|
@@ -167,6 +336,31 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
167
336
|
}
|
|
168
337
|
}
|
|
169
338
|
});
|
|
339
|
+
if (compositeChildren.length > 0) {
|
|
340
|
+
compositeChildren.forEach(compositeChild => {
|
|
341
|
+
this.addKeyUserChanges({
|
|
342
|
+
selectorControl: wrapper,
|
|
343
|
+
changeSpecificData: {
|
|
344
|
+
changeType: CHANGE_TYPES.MOVE,
|
|
345
|
+
content: {
|
|
346
|
+
movedElements: [{
|
|
347
|
+
id: compositeChild.completeId,
|
|
348
|
+
sourceIndex: actualDragItemIndex,
|
|
349
|
+
targetIndex: finalTargetIndex + 1 // +1 as it will be after the main dragObject
|
|
350
|
+
}],
|
|
351
|
+
source: {
|
|
352
|
+
id: wrapperId,
|
|
353
|
+
aggregation: "items"
|
|
354
|
+
},
|
|
355
|
+
target: {
|
|
356
|
+
id: wrapperId,
|
|
357
|
+
aggregation: "items"
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
}
|
|
170
364
|
void this.loadSections();
|
|
171
365
|
}
|
|
172
366
|
focusDraggedItem(this.layoutTable, dropItemIndex);
|
|
@@ -180,7 +374,7 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
180
374
|
*/
|
|
181
375
|
_getActualIndex: function _getActualIndex(id) {
|
|
182
376
|
const layout = this._getPanel();
|
|
183
|
-
this._allLayoutElements =
|
|
377
|
+
this._allLayoutElements = layout.getItems();
|
|
184
378
|
const isLayoutExpanded = layout.getProperty("expanded");
|
|
185
379
|
const expandedElementConfig = layout._getCurrentExpandedElement();
|
|
186
380
|
if (isLayoutExpanded && expandedElementConfig) {
|
|
@@ -210,7 +404,9 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
210
404
|
*/
|
|
211
405
|
createShowHideChangeFile: function _createShowHideChangeFile(oControlEvent, section) {
|
|
212
406
|
const isCheckBoxSelected = !oControlEvent.getParameter("pressed");
|
|
407
|
+
const selectedCompleteId = section.completeId;
|
|
213
408
|
const keyUserChanges = this.getKeyUserChanges();
|
|
409
|
+
const wrapperItem = Element.getElementById(section.completeId);
|
|
214
410
|
const changeType = isCheckBoxSelected ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;
|
|
215
411
|
const oExistingChange = keyUserChanges.find(oChange => {
|
|
216
412
|
return oChange.selectorControl.getId() === section.completeId;
|
|
@@ -223,10 +419,27 @@ sap.ui.define(["sap/m/Column", "sap/m/ColumnListItem", "sap/m/HBox", "sap/m/Obje
|
|
|
223
419
|
this.addKeyUserChanges({
|
|
224
420
|
selectorControl: Element.getElementById(section.completeId),
|
|
225
421
|
changeSpecificData: {
|
|
226
|
-
changeType
|
|
422
|
+
changeType: changeType,
|
|
423
|
+
content: {
|
|
424
|
+
compositeId: wrapperItem.getProperty("compositeId")
|
|
425
|
+
}
|
|
227
426
|
}
|
|
228
427
|
});
|
|
229
428
|
}
|
|
429
|
+
//update this.orderedSections
|
|
430
|
+
this.orderedSections.forEach(section => {
|
|
431
|
+
//now check if oWrapperItem has composite id and check if section has same composite id and composite id is not undefined
|
|
432
|
+
// if yes, then loop through the children item and update its visibility
|
|
433
|
+
if (section.compositeId === wrapperItem.getProperty("compositeId") && section.compositeId !== undefined) {
|
|
434
|
+
section.children?.forEach(child => {
|
|
435
|
+
if (child.completeId === selectedCompleteId) {
|
|
436
|
+
child.visible = isCheckBoxSelected;
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
} else if (section.completeId === selectedCompleteId) {
|
|
440
|
+
section.visible = isCheckBoxSelected;
|
|
441
|
+
}
|
|
442
|
+
});
|
|
230
443
|
}
|
|
231
444
|
});
|
|
232
445
|
return KeyUserLayoutSettingsPanel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyUserLayoutSettingsPanel.js","names":["sap","ui","define","Column","ColumnListItem","HBox","ObjectIdentifier","Table","ToggleButton","CustomData","Element","Icon","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Constants","___utils_DataFormatUtils","___utils_DragDropUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","KEYUSER_SETTINGS_PANELS_KEYS","recycleId","focusDraggedItem","KeyUserLayoutSettingsPanel","extend","metadata","library","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","addAggregation","getContent","attachPanelNavigated","layout","_getPanel","resetSections","loadSections","_getContent","layoutTable","getId","width","items","columns","addStyleClass","addDragDropConfigTo","event","onDropLayoutSettings","_loadSections","_this","Promise","resolve","_calculateSectionsState","then","orderedSections","getSections","keyUserSettingsDialog","getParent","removeAllItems","forEach","section","index","addItem","type","hasDetailsPage","completeId","cells","alignItems","src","justifyContent","title","text","tooltip","visible","icon","enabled","blocked","press","createShowHideChangeFile","pressed","ariaLabelledBy","navigateToPage","getDetailsPage","customData","key","value","e","reject","_onDropLayoutSettings","wrapper","wrapperId","dragItem","getParameter","draggedControl","dragItemIndex","indexOfItem","dropItem","droppedControl","dropItemIndex","sectionOrder","dragObject","data","dropObject","actualDragItemIndex","_getActualIndex","actualDropItemIndex","_rearrangeLayoutElements","splice","setSections","addKeyUserChanges","selectorControl","changeSpecificData","changeType","MOVE","content","movedElements","id","sourceIndex","targetIndex","source","aggregation","target","_allLayoutElements","getItems","isLayoutExpanded","getProperty","expandedElementConfig","_getCurrentExpandedElement","some","element","targetContainer","findIndex","container","_createShowHideChangeFile","oControlEvent","isCheckBoxSelected","keyUserChanges","getKeyUserChanges","UNHIDE","HIDE","oExistingChange","find","oChange","getElementById"],"sources":["KeyUserLayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport ToggleButton, { ToggleButton$PressEvent } from \"sap/m/ToggleButton\";\nimport Control from \"sap/ui/core/Control\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IDragEvent, IElement } from \"./interface/LayoutInterface\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport Layout from \"./Layout\";\nimport { KEYUSER_SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\n\n/**\n *\n * Class for Layout Settings Panel for KeyUser Settings Dialog.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.KeyUserLayoutSettingsPanel\n */\nexport default class KeyUserLayoutSettingsPanel extends BaseSettingsPanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\tprivate layoutTable!: Table;\n\tprivate orderedSections!: IElement[];\n\tprivate _allLayoutElements!: BaseContainer[];\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\", KEYUSER_SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"editModeTitle\"));\n\n\t\t// //setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\tlayout.resetSections();\n\t\t\tvoid this.loadSections();\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(): Table {\n\t\tif (!this.layoutTable) {\n\t\t\tthis.layoutTable = new Table(this.getId() + \"--idLayoutSettingsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\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(\"layoutSettingsTable sapContrastPlus sapUiSmallMarginBegin\");\n\t\t\tthis.addDragDropConfigTo(this.layoutTable, (event) => this.onDropLayoutSettings(event));\n\t\t}\n\t\treturn this.layoutTable;\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\t\tthis.orderedSections = layout.getSections() || [];\n\n\t\tconst keyUserSettingsDialog = this.getParent() as KeyUserSettingsDialog;\n\n\t\tthis.layoutTable.removeAllItems();\n\t\tthis.orderedSections.forEach((section: IElement, index: number) => {\n\t\t\tthis.layoutTable\n\t\t\t\t.addItem(\n\t\t\t\t\tnew ColumnListItem(recycleId(`${this.getId()}--layoutSettingsColumnListItem--${index}`), {\n\t\t\t\t\t\ttype: (this.getParent() as KeyUserSettingsDialog)?.hasDetailsPage?.(section.completeId) ? \"Navigation\" : \"Inactive\",\n\t\t\t\t\t\tcells: [\n\t\t\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--layoutColumnListHBox--${index}`), {\n\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew Icon(recycleId(`${this.getId()}--layoutColumnListItemIcon--${index}`), {\n\t\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--layoutColumnListItemHBox--${index}`), {\n\t\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(recycleId(`${this.getId()}--layoutColumnListObjectIdentifier--${index}`), {\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: section.title,\n\t\t\t\t\t\t\t\t\t\t\t\ttext: section.text,\n\t\t\t\t\t\t\t\t\t\t\t\ttooltip: section.title\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\tnew ToggleButton(recycleId(`${this.getId()}--layoutColumnListToggleButton--${index}`), {\n\t\t\t\t\t\t\t\t\t\t\t\ttooltip: section.visible\n\t\t\t\t\t\t\t\t\t\t\t\t\t? this._i18nBundle.getText(\"hideBtn\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t: this._i18nBundle.getText(\"showBtn\"),\n\t\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\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\t\tenabled: !section.blocked,\n\t\t\t\t\t\t\t\t\t\t\t\tpress: (event) => this.createShowHideChangeFile(event, section),\n\t\t\t\t\t\t\t\t\t\t\t\tpressed: !section.visible,\n\t\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin\")\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t],\n\t\t\t\t\t\tpress: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),\n\t\t\t\t\t\tcustomData: new CustomData(recycleId(`${this.getId()}--custom-data--${index}`), {\n\t\t\t\t\t\t\tkey: \"sectionObject\",\n\t\t\t\t\t\t\tvalue: section\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\t.addStyleClass(\"insightsListItem insightsListMargin\");\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 onDropLayoutSettings(event: DropInfo$DropEvent | IDragEvent) {\n\t\tconst wrapper = this._getPanel() as Layout | Control;\n\t\tconst wrapperId = wrapper.getId();\n\t\tconst dragItem = ((event as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(event as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst dragItemIndex = (dragItem.getParent() as Table)?.indexOfItem(dragItem);\n\t\tconst dropItem = ((event as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(event as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst dropItemIndex = (dragItem.getParent() as Table)?.indexOfItem(dropItem);\n\n\t\tif (dragItemIndex !== dropItemIndex) {\n\t\t\tconst sectionOrder = this.orderedSections;\n\t\t\tconst dragObject = dragItem.data(\"sectionObject\") as IElement;\n\t\t\tconst dropObject = dropItem.data(\"sectionObject\") 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(dragItemIndex, 1);\n\t\t\tsectionOrder.splice(dropItemIndex, 0, dragObject);\n\t\t\t(wrapper as Layout).setSections(sectionOrder);\n\n\t\t\tthis.addKeyUserChanges({\n\t\t\t\tselectorControl: wrapper as Control,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvoid this.loadSections();\n\t\t}\n\t\tfocusDraggedItem(this.layoutTable, dropItemIndex);\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(\n\t\t\t\t\tlayout.indexOfItem(expandedElementConfig.targetContainer),\n\t\t\t\t\t0,\n\t\t\t\t\texpandedElementConfig.targetContainer\n\t\t\t\t);\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\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 createShowHideChangeFile(oControlEvent: ToggleButton$PressEvent, section: IElement): void {\n\t\tconst isCheckBoxSelected: boolean = !oControlEvent.getParameter(\"pressed\");\n\t\tconst keyUserChanges = this.getKeyUserChanges();\n\t\tconst changeType = isCheckBoxSelected ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oExistingChange = keyUserChanges.find((oChange) => {\n\t\t\treturn oChange.selectorControl.getId() === section.completeId;\n\t\t});\n\n\t\t//Check if the change already exists\n\t\tif (oExistingChange) {\n\t\t\toExistingChange.changeSpecificData.changeType = changeType;\n\t\t} else {\n\t\t\tthis.addKeyUserChanges({\n\t\t\t\tselectorControl: Element.getElementById(section.completeId) as Control,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType\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":"KeyUserLayoutSettingsPanel.js","names":["sap","ui","define","Column","ColumnListItem","HBox","ObjectIdentifier","Table","ToggleButton","VBox","CustomData","Element","Icon","__BaseContainer","__BaseSettingsPanel","___flexibility_Layoutflexibility","__NoDataContainer","___utils_Constants","___utils_DataFormatUtils","___utils_DragDropUtils","_interopRequireDefault","obj","__esModule","default","BaseContainer","BaseSettingsPanel","CHANGE_TYPES","NoDataContainer","KEYUSER_SETTINGS_PANELS_KEYS","recycleId","focusDraggedItem","KeyUserLayoutSettingsPanel","extend","metadata","library","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","addAggregation","getContent","attachPanelNavigated","layout","_getPanel","resetSections","loadSections","_getContent","layoutTable","getId","width","items","columns","addStyleClass","addDragDropConfigTo","event","onDropLayoutSettings","_loadSections","_this","Promise","resolve","_calculateSectionsState","then","orderedSections","getSections","reduce","accumulator","section","isComposite","children","push","createEmptyCompositeItem","completeId","sContainerType","blocked","visible","title","text","compositeId","compositeMap","forEach","container","getElementById","getProperty","groupTitle","getCustomSettings","map","compositeItem","addToCompositeItem","filter","length","removeAllItems","index","addItem","getLayoutListItem","e","reject","_getLayoutListItem","keyUserSettingsDialog","getParent","getCompositeLayoutListItem","type","hasDetailsPage","cells","alignItems","src","justifyContent","tooltip","icon","enabled","press","createShowHideChangeFile","pressed","ariaLabelledBy","navigateToPage","getDetailsPage","customData","key","value","_getCompositeLayoutListItem","childBoxes","child","childIndex","_addToCompositeItem","compositeTitle","_onDropLayoutSettings","wrapper","wrapperId","dragItem","getParameter","draggedControl","dragItemIndex","indexOfItem","dropItem","droppedControl","dropItemIndex","sectionOrder","dragObject","data","dropObject","actualDragItemIndex","_getActualIndex","actualDropItemIndex","_rearrangeLayoutElements","splice","setSections","noDataContainerIndex","getItems","noDataContainer","i","item","finalTargetIndex","elementList","findIndex","element","compositeChildren","addKeyUserChanges","selectorControl","changeSpecificData","changeType","MOVE","content","movedElements","id","sourceIndex","targetIndex","source","aggregation","target","compositeChild","_allLayoutElements","isLayoutExpanded","expandedElementConfig","_getCurrentExpandedElement","some","targetContainer","_createShowHideChangeFile","oControlEvent","isCheckBoxSelected","selectedCompleteId","keyUserChanges","getKeyUserChanges","wrapperItem","UNHIDE","HIDE","oExistingChange","find","oChange","undefined"],"sources":["KeyUserLayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport ToggleButton, { ToggleButton$PressEvent } from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IDragEvent, IElement } from \"./interface/LayoutInterface\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport Layout from \"./Layout\";\nimport NoDataContainer from \"./NoDataContainer\";\nimport { KEYUSER_SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\n\n/**\n *\n * Class for Layout Settings Panel for KeyUser Settings Dialog.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.KeyUserLayoutSettingsPanel\n */\nexport default class KeyUserLayoutSettingsPanel extends BaseSettingsPanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\tprivate layoutTable!: Table;\n\tprivate orderedSections!: IElement[];\n\tprivate _allLayoutElements!: BaseContainer[];\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\", KEYUSER_SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"editModeTitle\"));\n\n\t\t// //setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => {\n\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\tlayout.resetSections();\n\t\t\tvoid this.loadSections();\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(): Table {\n\t\tif (!this.layoutTable) {\n\t\t\tthis.layoutTable = new Table(this.getId() + \"--idLayoutSettingsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\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(\"layoutSettingsTable sapContrastPlus sapUiSmallMarginBegin\");\n\t\t\tthis.addDragDropConfigTo(this.layoutTable, (event) => this.onDropLayoutSettings(event));\n\t\t}\n\t\treturn this.layoutTable;\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\t\tthis.orderedSections = layout.getSections() || [];\n\t\t//loop through this._orderedSections and take out the children items from composite items and add them to same list\n\t\tthis.orderedSections = this.orderedSections.reduce((accumulator, section) => {\n\t\t\tif (section.isComposite && section.children) {\n\t\t\t\taccumulator.push(...section.children);\n\t\t\t} else {\n\t\t\t\taccumulator.push(section);\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] as IElement[]);\n\n\t\t// create composite list item\n\t\tconst createEmptyCompositeItem = (): IElement => ({\n\t\t\tcompleteId: \"\",\n\t\t\tsContainerType: \"\",\n\t\t\tblocked: false,\n\t\t\tvisible: false,\n\t\t\ttitle: \"\",\n\t\t\ttext: \"\",\n\t\t\tisComposite: false,\n\t\t\tcompositeId: null,\n\t\t\tchildren: []\n\t\t});\n\n\t\tconst compositeMap: { [key: string]: IElement[] } = {};\n\n\t\tthis.orderedSections.forEach((section) => {\n\t\t\tconst container = Element.getElementById(section.completeId) as BaseContainer | null;\n\n\t\t\tif (container instanceof BaseContainer) {\n\t\t\t\tconst compositeId = container.getProperty(\"compositeId\") as string;\n\t\t\t\tif (compositeId) {\n\t\t\t\t\tif (!compositeMap[compositeId]) {\n\t\t\t\t\t\tcompositeMap[compositeId] = [];\n\t\t\t\t\t}\n\t\t\t\t\tsection.compositeId = compositeId;\n\t\t\t\t\tsection.groupTitle = container.getCustomSettings().groupTitle || \"\";\n\t\t\t\t\tcompositeMap[compositeId].push(section);\n\t\t\t\t} else {\n\t\t\t\t\tsection.compositeId = null;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// map through this.orderedSections and replace items with compositeId with a single composite item containing its children\n\t\tthis.orderedSections = this.orderedSections.map((section) => {\n\t\t\tif (section.compositeId && compositeMap[section.compositeId]) {\n\t\t\t\tconst compositeItem = createEmptyCompositeItem();\n\t\t\t\tcompositeMap[section.compositeId].forEach((section) => {\n\t\t\t\t\tthis.addToCompositeItem(section, compositeItem, section.groupTitle as string);\n\t\t\t\t});\n\t\t\t\tdelete compositeMap[section.compositeId];\n\t\t\t\treturn compositeItem;\n\t\t\t}\n\t\t\treturn section;\n\t\t});\n\t\t//filter this.orderedSections to remove items which has same composite item with no children\n\t\tthis.orderedSections = this.orderedSections.filter((section) => {\n\t\t\tif (section.compositeId) {\n\t\t\t\treturn section.children && section.children.length > 0;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tthis.layoutTable.removeAllItems();\n\t\tthis.orderedSections.forEach((section: IElement, index: number) => {\n\t\t\tthis.layoutTable.addItem(this.getLayoutListItem(section, index)).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t});\n\t}\n\n\tprivate getLayoutListItem(section: IElement, index: number): ColumnListItem {\n\t\tconst keyUserSettingsDialog = this.getParent() as KeyUserSettingsDialog;\n\n\t\t//check the condition for news and pages as it is a composite container\n\t\tif (section?.isComposite === true) {\n\t\t\treturn this.getCompositeLayoutListItem(section, index);\n\t\t}\n\t\treturn new ColumnListItem(recycleId(`${this.getId()}--layoutSettingsColumnListItem--${index}`), {\n\t\t\ttype: (this.getParent() as KeyUserSettingsDialog)?.hasDetailsPage?.(section.completeId) ? \"Navigation\" : \"Inactive\",\n\t\t\tcells: [\n\t\t\t\tnew HBox(recycleId(`${this.getId()}--layoutColumnListHBox--${index}`), {\n\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\titems: [\n\t\t\t\t\t\tnew Icon(recycleId(`${this.getId()}--layoutColumnListItemIcon--${index}`), {\n\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--layoutColumnListItemHBox--${index}`), {\n\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew ObjectIdentifier(recycleId(`${this.getId()}--layoutColumnListObjectIdentifier--${index}`), {\n\t\t\t\t\t\t\t\t\ttitle: section.title,\n\t\t\t\t\t\t\t\t\ttext: section.text,\n\t\t\t\t\t\t\t\t\ttooltip: section.title\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tnew ToggleButton(recycleId(`${this.getId()}--layoutColumnListToggleButton--${index}`), {\n\t\t\t\t\t\t\t\t\ttooltip: section.visible ? this._i18nBundle.getText(\"hideBtn\") : this._i18nBundle.getText(\"showBtn\"),\n\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\tenabled: !section.blocked,\n\t\t\t\t\t\t\t\t\tpress: (event) => this.createShowHideChangeFile(event, section),\n\t\t\t\t\t\t\t\t\tpressed: !section.visible,\n\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin\")\n\t\t\t\t\t],\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t})\n\t\t\t],\n\t\t\tpress: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),\n\t\t\tcustomData: new CustomData(recycleId(`${this.getId()}--custom-data--${index}`), {\n\t\t\t\tkey: \"sectionObject\",\n\t\t\t\tvalue: section\n\t\t\t})\n\t\t});\n\t}\n\n\tprivate getCompositeLayoutListItem(section: IElement, index: number): ColumnListItem {\n\t\tconst keyUserSettingsDialog = this.getParent() as KeyUserSettingsDialog;\n\n\t\t// Create child HBoxes dynamically based on number of children\n\t\tconst childBoxes = (section.children || []).map((child, childIndex) => {\n\t\t\treturn new HBox(recycleId(`${this.getId()}--columnListItemChildHBox--${index}-${childIndex}`), {\n\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\talignItems: \"Center\",\n\t\t\t\titems: [\n\t\t\t\t\tnew ObjectIdentifier(recycleId(`${this.getId()}--childObjectIdentifier--${index}-${childIndex}`), {\n\t\t\t\t\t\ttitle: child.title,\n\t\t\t\t\t\ttext: child.text,\n\t\t\t\t\t\ttooltip: child.title\n\t\t\t\t\t}),\n\t\t\t\t\tnew ToggleButton(recycleId(`${this.getId()}--layoutSettingstoggleButtonChild--${index}-${childIndex}`), {\n\t\t\t\t\t\ttooltip: child.visible ? this._i18nBundle.getText(\"hideBtn\") : this._i18nBundle.getText(\"showBtn\"),\n\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\tenabled: !child.blocked,\n\t\t\t\t\t\tpress: (event) => this.createShowHideChangeFile(event, child),\n\t\t\t\t\t\tpressed: !child.visible,\n\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapCuxCompositeItem\");\n\t\t});\n\n\t\t// Now build the main composite item layout\n\t\treturn new ColumnListItem(recycleId(`${this.getId()}--layoutSettingsColumnListItem--${index}`), {\n\t\t\ttype: keyUserSettingsDialog?.hasDetailsPage?.(section.completeId) ? \"Navigation\" : \"Inactive\",\n\t\t\tpress: () => keyUserSettingsDialog?.navigateToPage?.(keyUserSettingsDialog.getDetailsPage(section.completeId)),\n\t\t\tcustomData: new CustomData(recycleId(`${this.getId()}--custom-data--${index}`), {\n\t\t\t\tkey: \"sectionObject\",\n\t\t\t\tvalue: section\n\t\t\t}),\n\t\t\tcells: [\n\t\t\t\tnew VBox(recycleId(`${this.getId()}--compositeVBox--${index}`), {\n\t\t\t\t\titems: [\n\t\t\t\t\t\t// Parent section header (with main title)\n\t\t\t\t\t\tnew HBox(recycleId(`${this.getId()}--columnListHBox--${index}`), {\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(recycleId(`${this.getId()}--columnListIcon--${index}`), {\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(recycleId(`${this.getId()}--columnListItemHBox--${index}`), {\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(recycleId(`${this.getId()}--columnListObjectIdentifier--${index}`), {\n\t\t\t\t\t\t\t\t\t\t\ttitle: section.title,\n\t\t\t\t\t\t\t\t\t\t\ttext: section.text,\n\t\t\t\t\t\t\t\t\t\t\ttooltip: section.title\n\t\t\t\t\t\t\t\t\t\t})\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\twidth: \"100%\"\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTopBottom\"),\n\n\t\t\t\t\t\t// All dynamically created child boxes\n\t\t\t\t\t\t...childBoxes\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t}\n\n\tprivate addToCompositeItem(section: IElement, compositeItem: IElement, compositeTitle: string) {\n\t\tcompositeItem.isComposite = true;\n\t\tcompositeItem.title = compositeTitle;\n\n\t\tif (!compositeItem.completeId) {\n\t\t\tcompositeItem.completeId = section.completeId;\n\t\t}\n\t\t//Add compositeId\n\t\tcompositeItem.compositeId = section.compositeId;\n\n\t\tcompositeItem.children?.push({ ...section });\n\n\t\tcompositeItem.text = section.text;\n\t\tcompositeItem.blocked = section.blocked;\n\t\tcompositeItem.visible = section.visible;\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate onDropLayoutSettings(event: DropInfo$DropEvent | IDragEvent) {\n\t\tconst wrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = wrapper.getId();\n\t\tconst dragItem = ((event as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(event as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst dragItemIndex = (dragItem.getParent() as Table)?.indexOfItem(dragItem);\n\t\tconst dropItem = ((event as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(event as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst dropItemIndex = (dragItem.getParent() as Table)?.indexOfItem(dropItem);\n\n\t\tif (dragItemIndex !== dropItemIndex) {\n\t\t\tconst sectionOrder = this.orderedSections;\n\t\t\tconst dragObject = dragItem.data(\"sectionObject\") as IElement;\n\t\t\tconst dropObject = dropItem.data(\"sectionObject\") as IElement;\n\n\t\t\tlet actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tlet actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(dragItemIndex, 1);\n\t\t\tsectionOrder.splice(dropItemIndex, 0, dragObject);\n\t\t\twrapper.setSections(sectionOrder);\n\t\t\t//loop through the wrapper.getItems() and find the index and noData Container\n\t\t\tlet noDataContainerIndex = -1;\n\t\t\tconst items = wrapper.getItems();\n\t\t\tlet noDataContainer: NoDataContainer | null = null;\n\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\tconst item = items[i];\n\t\t\t\tif (item instanceof NoDataContainer) {\n\t\t\t\t\tnoDataContainerIndex = i;\n\t\t\t\t\tnoDataContainer = item;\n\t\t\t\t}\n\t\t\t}\n\t\t\t//now insert the noDataContainer back to its noDataContainerIndex in sectionOrder\n\t\t\tif (noDataContainer && noDataContainerIndex !== -1) {\n\t\t\t\tsectionOrder.splice(noDataContainerIndex, 0, noDataContainer as unknown as IElement);\n\t\t\t}\n\t\t\tlet finalTargetIndex = 0;\n\t\t\tconst elementList = this.orderedSections.reduce((accumulator, section) => {\n\t\t\t\tif (section.isComposite && section.children) {\n\t\t\t\t\taccumulator.push(...section.children);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.push(section);\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] as IElement[]);\n\t\t\tfinalTargetIndex = elementList.findIndex((element) => element.completeId === dragObject.completeId);\n\t\t\t//find the composite child for this dragObject if it has a composite id\n\t\t\tconst compositeChildren = elementList.filter(\n\t\t\t\t(element) =>\n\t\t\t\t\tdragObject.compositeId && dragObject.compositeId === element.compositeId && element.completeId !== dragObject.completeId\n\t\t\t);\n\t\t\tif (noDataContainer && noDataContainerIndex !== -1) {\n\t\t\t\t//remove noDataContainer from sectionOrder to avoid the display of an empty item in myhome Settings dialog\n\t\t\t\tsectionOrder.splice(noDataContainerIndex, 1);\n\t\t\t}\n\t\t\tthis.addKeyUserChanges({\n\t\t\t\tselectorControl: wrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\t\ttargetIndex:\n\t\t\t\t\t\t\t\t\tdragItemIndex < dropItemIndex && dragObject.isComposite ? finalTargetIndex + 1 : finalTargetIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\taggregation: \"items\"\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\tif (compositeChildren.length > 0) {\n\t\t\t\tcompositeChildren.forEach((compositeChild) => {\n\t\t\t\t\tthis.addKeyUserChanges({\n\t\t\t\t\t\tselectorControl: wrapper,\n\t\t\t\t\t\tchangeSpecificData: {\n\t\t\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: compositeChild.completeId,\n\t\t\t\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\t\t\t\ttargetIndex: finalTargetIndex + 1 // +1 as it will be after the main dragObject\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\tsource: {\n\t\t\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\t\t\t\taggregation: \"items\"\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\n\t\t\tvoid this.loadSections();\n\t\t}\n\t\tfocusDraggedItem(this.layoutTable, dropItemIndex);\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 = 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(\n\t\t\t\t\tlayout.indexOfItem(expandedElementConfig.targetContainer),\n\t\t\t\t\t0,\n\t\t\t\t\texpandedElementConfig.targetContainer\n\t\t\t\t);\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\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 createShowHideChangeFile(oControlEvent: ToggleButton$PressEvent, section: IElement): void {\n\t\tconst isCheckBoxSelected: boolean = !oControlEvent.getParameter(\"pressed\");\n\t\tconst selectedCompleteId = section.completeId;\n\t\tconst keyUserChanges = this.getKeyUserChanges();\n\t\tconst wrapperItem = Element.getElementById(section.completeId) as BaseContainer;\n\t\tconst changeType = isCheckBoxSelected ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oExistingChange = keyUserChanges.find((oChange) => {\n\t\t\treturn oChange.selectorControl.getId() === section.completeId;\n\t\t});\n\n\t\t//Check if the change already exists\n\t\tif (oExistingChange) {\n\t\t\toExistingChange.changeSpecificData.changeType = changeType;\n\t\t} else {\n\t\t\tthis.addKeyUserChanges({\n\t\t\t\tselectorControl: Element.getElementById(section.completeId) as BaseContainer,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: changeType,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\tcompositeId: wrapperItem.getProperty(\"compositeId\") as string\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t//update this.orderedSections\n\t\tthis.orderedSections.forEach((section) => {\n\t\t\t//now check if oWrapperItem has composite id and check if section has same composite id and composite id is not undefined\n\t\t\t// if yes, then loop through the children item and update its visibility\n\t\t\tif (section.compositeId === wrapperItem.getProperty(\"compositeId\") && section.compositeId !== undefined) {\n\t\t\t\tsection.children?.forEach((child) => {\n\t\t\t\t\tif (child.completeId === selectedCompleteId) {\n\t\t\t\t\t\tchild.visible = isCheckBoxSelected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (section.completeId === selectedCompleteId) {\n\t\t\t\tsection.visible = isCheckBoxSelected;\n\t\t\t}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|