@sapui5/sap.cux.home 1.139.0 → 1.141.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.
Files changed (315) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +116 -64
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +50 -15
  8. package/src/sap/cux/home/App.d.ts +2 -2
  9. package/src/sap/cux/home/App.js +2 -2
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +2 -2
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
  16. package/src/sap/cux/home/AppsContainer.d.ts +2 -2
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +16 -24
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +16 -23
  21. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  22. package/src/sap/cux/home/BaseApp.js +2 -2
  23. package/src/sap/cux/home/BaseApp.js.map +1 -1
  24. package/src/sap/cux/home/BaseApp.ts +2 -2
  25. package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
  26. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  27. package/src/sap/cux/home/BaseAppPanel.js +22 -2
  28. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  29. package/src/sap/cux/home/BaseAppPanel.ts +16 -2
  30. package/src/sap/cux/home/BaseContainer.d.ts +10 -27
  31. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
  33. package/src/sap/cux/home/BaseContainer.js +39 -71
  34. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainer.ts +33 -77
  36. package/src/sap/cux/home/BaseContainerRenderer.d.ts +2 -0
  37. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  38. package/src/sap/cux/home/BaseContainerRenderer.js +31 -3
  39. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  40. package/src/sap/cux/home/BaseContainerRenderer.ts +39 -2
  41. package/src/sap/cux/home/BaseLayout.d.ts +2 -2
  42. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  43. package/src/sap/cux/home/BaseLayout.js +5 -4
  44. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  45. package/src/sap/cux/home/BaseLayout.ts +5 -4
  46. package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
  47. package/src/sap/cux/home/BaseNewsItem.js +2 -2
  48. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  49. package/src/sap/cux/home/BaseNewsItem.ts +2 -2
  50. package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
  51. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  52. package/src/sap/cux/home/BaseNewsPanel.js +14 -3
  53. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  54. package/src/sap/cux/home/BaseNewsPanel.ts +11 -5
  55. package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
  56. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  57. package/src/sap/cux/home/BasePagePanel.js +10 -2
  58. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  59. package/src/sap/cux/home/BasePagePanel.ts +6 -2
  60. package/src/sap/cux/home/BasePanel.d.ts +2 -21
  61. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  62. package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
  63. package/src/sap/cux/home/BasePanel.js +15 -31
  64. package/src/sap/cux/home/BasePanel.js.map +1 -1
  65. package/src/sap/cux/home/BasePanel.ts +11 -34
  66. package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
  67. package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
  68. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  69. package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
  70. package/src/sap/cux/home/BaseSettingsPanel.d.ts +11 -2
  71. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  72. package/src/sap/cux/home/BaseSettingsPanel.js +15 -2
  73. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  74. package/src/sap/cux/home/BaseSettingsPanel.ts +17 -2
  75. package/src/sap/cux/home/CardsPanel.d.ts +2 -2
  76. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  77. package/src/sap/cux/home/CardsPanel.js +15 -7
  78. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  79. package/src/sap/cux/home/CardsPanel.ts +11 -7
  80. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  81. package/src/sap/cux/home/ContentAdditionDialog.js +0 -1
  82. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  83. package/src/sap/cux/home/ContentAdditionDialog.ts +0 -1
  84. package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
  85. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/ErrorPanel.js +15 -5
  87. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  88. package/src/sap/cux/home/ErrorPanel.ts +11 -5
  89. package/src/sap/cux/home/FavAppPanel.d.ts +6 -2
  90. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  91. package/src/sap/cux/home/FavAppPanel.js +196 -154
  92. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  93. package/src/sap/cux/home/FavAppPanel.ts +59 -37
  94. package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
  95. package/src/sap/cux/home/FrequentAppPanel.js +2 -2
  96. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  97. package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
  98. package/src/sap/cux/home/Group.d.ts +2 -2
  99. package/src/sap/cux/home/Group.js +2 -2
  100. package/src/sap/cux/home/Group.js.map +1 -1
  101. package/src/sap/cux/home/Group.ts +2 -2
  102. package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
  103. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  104. package/src/sap/cux/home/IToDoPanel.ts +2 -2
  105. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  106. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  107. package/src/sap/cux/home/InsightsAdditionPanel.ts +3 -1
  108. package/src/sap/cux/home/InsightsContainer.d.ts +4 -4
  109. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  110. package/src/sap/cux/home/InsightsContainer.js +8 -13
  111. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  112. package/src/sap/cux/home/InsightsContainer.ts +7 -12
  113. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  114. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +2 -2
  115. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  116. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -3
  117. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  118. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -4
  119. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  120. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +6 -4
  121. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  122. package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
  123. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  124. package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
  125. package/src/sap/cux/home/Layout.d.ts +2 -3
  126. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  127. package/src/sap/cux/home/Layout.js +35 -42
  128. package/src/sap/cux/home/Layout.js.map +1 -1
  129. package/src/sap/cux/home/Layout.ts +15 -19
  130. package/src/sap/cux/home/MenuItem.d.ts +2 -2
  131. package/src/sap/cux/home/MenuItem.js +2 -2
  132. package/src/sap/cux/home/MenuItem.js.map +1 -1
  133. package/src/sap/cux/home/MenuItem.ts +2 -2
  134. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +11 -7
  135. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  136. package/src/sap/cux/home/NewsAndPagesContainer.js +22 -26
  137. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  138. package/src/sap/cux/home/NewsAndPagesContainer.ts +26 -32
  139. package/src/sap/cux/home/NewsPanel.d.ts +10 -2
  140. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  141. package/src/sap/cux/home/NewsPanel.js +23 -16
  142. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  143. package/src/sap/cux/home/NewsPanel.ts +24 -18
  144. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  145. package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
  146. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  147. package/src/sap/cux/home/NewsSettingsPanel.ts +2 -2
  148. package/src/sap/cux/home/NoDataContainer.d.ts +2 -2
  149. package/src/sap/cux/home/NoDataContainer.js +3 -3
  150. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  151. package/src/sap/cux/home/NoDataContainer.ts +3 -3
  152. package/src/sap/cux/home/PagePanel.d.ts +11 -3
  153. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  154. package/src/sap/cux/home/PagePanel.js +21 -7
  155. package/src/sap/cux/home/PagePanel.js.map +1 -1
  156. package/src/sap/cux/home/PagePanel.ts +22 -8
  157. package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
  158. package/src/sap/cux/home/RecentAppPanel.js +2 -2
  159. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  160. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  161. package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
  162. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  163. package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
  164. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  165. package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
  166. package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
  167. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  168. package/src/sap/cux/home/SettingsDialog.js +13 -6
  169. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  170. package/src/sap/cux/home/SettingsDialog.ts +14 -6
  171. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
  172. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
  173. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
  174. package/src/sap/cux/home/SideBySideIconTabFilter.js +84 -0
  175. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
  176. package/src/sap/cux/home/SideBySideIconTabFilter.ts +88 -0
  177. package/src/sap/cux/home/SituationPanel.d.ts +2 -2
  178. package/src/sap/cux/home/SituationPanel.js +2 -2
  179. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  180. package/src/sap/cux/home/SituationPanel.ts +2 -2
  181. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
  182. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  183. package/src/sap/cux/home/SpaceInsightsPanel.js +11 -3
  184. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  185. package/src/sap/cux/home/SpaceInsightsPanel.ts +7 -3
  186. package/src/sap/cux/home/SpacePanel.d.ts +2 -2
  187. package/src/sap/cux/home/SpacePanel.js +2 -2
  188. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  189. package/src/sap/cux/home/SpacePanel.ts +2 -2
  190. package/src/sap/cux/home/TaskPanel.d.ts +2 -2
  191. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  192. package/src/sap/cux/home/TaskPanel.js +5 -3
  193. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  194. package/src/sap/cux/home/TaskPanel.ts +4 -3
  195. package/src/sap/cux/home/TilesPanel.d.ts +2 -3
  196. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/TilesPanel.js +89 -59
  198. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  199. package/src/sap/cux/home/TilesPanel.ts +93 -70
  200. package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
  201. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/ToDoPanel.js +13 -3
  203. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  204. package/src/sap/cux/home/ToDoPanel.ts +9 -3
  205. package/src/sap/cux/home/ToDosContainer.d.ts +2 -3
  206. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  207. package/src/sap/cux/home/ToDosContainer.js +3 -8
  208. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  209. package/src/sap/cux/home/ToDosContainer.ts +2 -9
  210. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
  211. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
  212. package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
  213. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  214. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
  215. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  216. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
  217. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  218. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
  219. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  220. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -3
  221. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  222. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -3
  223. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  224. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
  225. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  226. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
  227. package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
  228. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  229. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
  230. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  231. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
  232. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
  233. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  234. package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
  235. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  236. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
  237. package/src/sap/cux/home/i18n/messagebundle.properties +6 -9
  238. package/src/sap/cux/home/i18n/messagebundle_ar.properties +12 -8
  239. package/src/sap/cux/home/i18n/messagebundle_bg.properties +12 -8
  240. package/src/sap/cux/home/i18n/messagebundle_ca.properties +12 -8
  241. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +12 -8
  242. package/src/sap/cux/home/i18n/messagebundle_cs.properties +12 -8
  243. package/src/sap/cux/home/i18n/messagebundle_cy.properties +12 -8
  244. package/src/sap/cux/home/i18n/messagebundle_da.properties +12 -8
  245. package/src/sap/cux/home/i18n/messagebundle_de.properties +12 -8
  246. package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -14
  247. package/src/sap/cux/home/i18n/messagebundle_en.properties +12 -8
  248. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +12 -8
  249. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +5 -7
  250. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +5 -7
  251. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +12 -8
  252. package/src/sap/cux/home/i18n/messagebundle_es.properties +12 -8
  253. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +12 -8
  254. package/src/sap/cux/home/i18n/messagebundle_et.properties +12 -8
  255. package/src/sap/cux/home/i18n/messagebundle_fi.properties +12 -8
  256. package/src/sap/cux/home/i18n/messagebundle_fr.properties +14 -10
  257. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +12 -8
  258. package/src/sap/cux/home/i18n/messagebundle_hi.properties +12 -8
  259. package/src/sap/cux/home/i18n/messagebundle_hr.properties +12 -8
  260. package/src/sap/cux/home/i18n/messagebundle_hu.properties +12 -8
  261. package/src/sap/cux/home/i18n/messagebundle_id.properties +16 -12
  262. package/src/sap/cux/home/i18n/messagebundle_it.properties +13 -9
  263. package/src/sap/cux/home/i18n/messagebundle_iw.properties +12 -8
  264. package/src/sap/cux/home/i18n/messagebundle_ja.properties +12 -8
  265. package/src/sap/cux/home/i18n/messagebundle_kk.properties +12 -8
  266. package/src/sap/cux/home/i18n/messagebundle_ko.properties +12 -8
  267. package/src/sap/cux/home/i18n/messagebundle_lt.properties +12 -8
  268. package/src/sap/cux/home/i18n/messagebundle_lv.properties +12 -8
  269. package/src/sap/cux/home/i18n/messagebundle_mk.properties +12 -8
  270. package/src/sap/cux/home/i18n/messagebundle_ms.properties +12 -8
  271. package/src/sap/cux/home/i18n/messagebundle_nl.properties +12 -8
  272. package/src/sap/cux/home/i18n/messagebundle_no.properties +12 -8
  273. package/src/sap/cux/home/i18n/messagebundle_pl.properties +12 -8
  274. package/src/sap/cux/home/i18n/messagebundle_pt.properties +12 -8
  275. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +12 -8
  276. package/src/sap/cux/home/i18n/messagebundle_ro.properties +12 -8
  277. package/src/sap/cux/home/i18n/messagebundle_ru.properties +22 -18
  278. package/src/sap/cux/home/i18n/messagebundle_sh.properties +12 -8
  279. package/src/sap/cux/home/i18n/messagebundle_sk.properties +12 -8
  280. package/src/sap/cux/home/i18n/messagebundle_sl.properties +12 -8
  281. package/src/sap/cux/home/i18n/messagebundle_sr.properties +12 -8
  282. package/src/sap/cux/home/i18n/messagebundle_sv.properties +12 -8
  283. package/src/sap/cux/home/i18n/messagebundle_th.properties +12 -8
  284. package/src/sap/cux/home/i18n/messagebundle_tr.properties +12 -8
  285. package/src/sap/cux/home/i18n/messagebundle_uk.properties +12 -8
  286. package/src/sap/cux/home/i18n/messagebundle_vi.properties +12 -8
  287. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +12 -8
  288. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +12 -8
  289. package/src/sap/cux/home/library.d.ts +10 -6
  290. package/src/sap/cux/home/library.d.ts.map +1 -1
  291. package/src/sap/cux/home/library.js +11 -6
  292. package/src/sap/cux/home/library.js.map +1 -1
  293. package/src/sap/cux/home/library.ts +11 -6
  294. package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
  295. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
  296. package/src/sap/cux/home/themes/base/ToDosContainer.less +0 -4
  297. package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
  298. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  299. package/src/sap/cux/home/utils/AppManager.js +1 -1
  300. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  301. package/src/sap/cux/home/utils/AppManager.ts +9 -10
  302. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  303. package/src/sap/cux/home/utils/BatchHelper.js +1 -1
  304. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  305. package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
  306. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
  307. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  308. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  309. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  310. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -2
  311. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
  312. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
  313. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -126
  314. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
  315. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -93
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendedAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","Dialog","IllustratedMessageSize","IllustratedMessageType","sap_m_library","Link","MessageStrip","MessageToast","ScrollContainer","Text","Title","VBox","Element","EventBus","__BaseAppPersPanel","__MenuItem","___utils_Constants","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BackgroundDesign","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseAppPersPanel","_catch","recover","MenuItem","_finallyRethrows","finalizer","REPO_BASE_URL","SETTINGS_PANELS_KEYS","DeviceType","addFESRId","HttpHelper","CONSTANTS","USER_PREFERENCE_SRVC_URL","KEY","RecommendedAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","eventBus","getInstance","subscribe","channelId","eventId","data","showRecommendation","fireSupported","isSupported","_createAddToFavouritesMenuItem","addToFavouritesMenuItem","getId","title","icon","press","_openAddRecommendedDialog","visible","insertAggregation","dialogId","dialog","_generateAddRecommendedDialog","open","_controlMap","get","_createAddRecommendedDialogControls","appsWrapper","_generateAppsScrollContainer","getContent","destroyAggregation","getApps","tiles","map","app","_createAppTile","_setAggregation","_updateSelectedAppCount","set","text","level","addButton","Promise","resolve","_addSelectedApps","_closeAddRecommendedDialog","enabled","cancelButton","mainTitleText","content","items","justifyContent","alignItems","addStyleClass","contentHeight","contentWidth","buttons","escapeHandler","appCopy","clone","appTile","getParent","_getAppTile","_onPress","_highlightApp","layout","columnSize","gap","vertical","height","_updateAddButtonState","getElementById","setEnabled","toggleAppTileHighlight","close","_resetAddRecommendedDialog","_toggleAppTileHighlight","isAppSelected","appsScrollContainer","getItems","forEach","oTile","hasStyleClass","removeStyleClass","_this2","setBusy","_temp3","_refreshAllPanels","message","show","_temp2","vizId","getVizId","_temp","appManagerInstance","addVisualization","error","_wasThrown","_result","event","selectedApp","getSource","bIsSelected","splice","findIndex","oApp","getUrl","toggleStyleClass","selectedAppsTitle","selectedAppsCount","setText","_generateWrapper","wrapperId","_generateMessageStrip","BaseAppPersPanel.prototype._generateWrapper.call","backgroundDesign","Transparent","loadApps","_loadApps","_this3","getDeviceType","Mobile","getRecommendedVisualizations","recommendedVisualizations","visualization","index","menuItems","_getActions","recommendedApps","generateApps","setApps","setVisible","messageStripId","showIcon","showCloseButton","link","_getLayout","openSettingsDialog","ADVANCED","addToFavoritesItem","getKey","_addAppToFavorites","notRelevantItem","_rejectRecommendation","actions","_this4","_temp5","source","getTitle","find","viz","url","fioriId","_temp4","rejectPayload","AppId","Decision","Post","refresh","_wasThrown2","_result2","_isRecommendationEnabled","_this5","getPersonalization","personalisation","_enableRecommendationTab","_this6","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setIllustrationSize","Small","setIllustrationType","NoData","setTitle","setDescription","addAdditionalContent","tooltip"],"sources":["RecommendedAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Link from \"sap/m/Link\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport MenuItem, { MenuItem$PressEvent } from \"./MenuItem\";\nimport { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\nconst CONSTANTS = {\n\tUSER_PREFERENCE_SRVC_URL: `${REPO_BASE_URL}UserPreference`,\n\tKEY: \"recommendedApps\"\n};\n\n/**\n *\n * Provides the RecommendedAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.128.0\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.RecommendedAppPanel\n */\nexport default class RecommendedAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Recommended apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new Recommended Apps Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", CONSTANTS.KEY);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\t//subscribe to recommendation setting change event\n\t\tconst eventBus = EventBus.getInstance();\n\t\teventBus.subscribe(\"importChannel\", \"recommendationSettingChanged\", (channelId?: string, eventId?: string, data?: object) => {\n\t\t\tconst showRecommendation = (data as { showRecommendation: boolean }).showRecommendation;\n\t\t\tthis.fireSupported({ isSupported: showRecommendation });\n\t\t});\n\t\tthis._createAddToFavouritesMenuItem();\n\t}\n\n\t/**\n\t * Creates and inserts the \"Add to Favourites\" menu item.\n\t * @private\n\t */\n\tprivate _createAddToFavouritesMenuItem(): void {\n\t\tconst addToFavouritesMenuItem = new MenuItem(`${this.getId()}-addtofavouritesmenuitem`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavoritesRecommended\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: this._openAddRecommendedDialog.bind(this),\n\t\t\tvisible: false\n\t\t});\n\t\taddFESRId(addToFavouritesMenuItem, \"addToFavouritesMenuItem\");\n\t\tthis.insertAggregation(\"menuItems\", addToFavouritesMenuItem, 0);\n\t}\n\n\t/**\n\t * Opens the dialog for adding recommended apps.\n\t * @private\n\t */\n\tprivate _openAddRecommendedDialog(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst dialog = this._generateAddRecommendedDialog(dialogId);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Creates and returns the dialog for adding recommended apps.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t * @returns {sap.m.Dialog} - The generated dialog control.\n\t */\n\tprivate _generateAddRecommendedDialog(dialogId: string): Dialog {\n\t\tif (!this._controlMap.get(dialogId)) {\n\t\t\tthis._createAddRecommendedDialogControls(dialogId);\n\t\t}\n\t\tconst appsWrapper = this._generateAppsScrollContainer()?.getContent()?.[0] as GridContainer;\n\t\tappsWrapper.destroyAggregation(\"items\");\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tconst tiles = this._selectedApps.map((app) => this._createAppTile(app));\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tthis._updateSelectedAppCount();\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\treturn dialog;\n\t}\n\n\t/**\n\t * Creates the controls for the dialog, including the title, subtitle, and buttons.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t */\n\tprivate _createAddRecommendedDialogControls(dialogId: string): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-mainTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-mainTitle`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addToFavoritesRecommended\")\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-headerContainer-count`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-headerContainer-count`\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-selectedAppsTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-selectedAppsTitle`,\n\t\t\t\ttext: `${this._i18nBundle.getText(\"recommendedAppsTab\")} (0 ${this._i18nBundle.getText(\"selected\")})`,\n\t\t\t\tlevel: \"H3\"\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-subtitleText`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-subtitleText`,\n\t\t\t\ttext: this._i18nBundle.getText(\"selectAtLeastOneApp\")\n\t\t\t})\n\t\t);\n\t\tconst addButton = new Button({\n\t\t\tid: `${dialogId}-addBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"addButton\"),\n\t\t\ttype: \"Emphasized\",\n\t\t\tpress: async () => {\n\t\t\t\tawait this._addSelectedApps();\n\t\t\t\tthis._closeAddRecommendedDialog(dialogId);\n\t\t\t},\n\t\t\tenabled: this._selectedApps.length > 0\n\t\t});\n\t\tconst cancelButton = new Button({\n\t\t\tid: `${dialogId}-cancelBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\tpress: () => this._closeAddRecommendedDialog(dialogId)\n\t\t});\n\t\tconst mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();\n\t\tthis._controlMap.set(\n\t\t\tdialogId,\n\t\t\tnew Dialog(dialogId, {\n\t\t\t\ttitle: mainTitleText,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew VBox({\n\t\t\t\t\t\tid: `${dialogId}-headerContainer`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-subtitleText`) as Text\n\t\t\t\t\t\t],\n\t\t\t\t\t\tjustifyContent: \"Start\",\n\t\t\t\t\t\talignItems: \"Start\"\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\tthis._generateAppsScrollContainer()\n\t\t\t\t],\n\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\tbuttons: [addButton, cancelButton],\n\t\t\t\tescapeHandler: () => this._closeAddRecommendedDialog(dialogId)\n\t\t\t}).addStyleClass(\"sapCuxRecommendedAppsDialog sapContrastPlus\")\n\t\t);\n\t}\n\n\t/**\n\t * Creates and returns an app tile for the given app.\n\t * @private\n\t * @param {App} app - The app to create a tile for.\n\t * @returns {sap.m.GenericTile} - The created app tile.\n\t */\n\tprivate _createAppTile(app: App): GenericTile {\n\t\tconst appCopy = app.clone();\n\t\tconst appTile = (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\tappTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy);\n\t\treturn appTile;\n\t}\n\n\t/**\n\t * Generates and returns the scroll container for the dialog's apps list.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} - The scroll container for the apps.\n\t */\n\tprivate _generateAppsScrollContainer(): ScrollContainer {\n\t\tconst id = `${this.getId()}-addRecommendedDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}-apps-containerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"20rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd sapUiTinyMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Updates the state of the \"Add\" button in the dialog based on the selected apps.\n\t * @private\n\t */\n\tprivate _updateAddButtonState() {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst addButton = Element.getElementById(`${dialogId}-addBtn`) as Button;\n\t\tif (addButton) {\n\t\t\taddButton.setEnabled(this._selectedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Closes the dialog and resets the selected apps state.\n\t * @private\n\t * @param {string} dialogId - The unique ID of the dialog to close.\n\t */\n\tprivate _closeAddRecommendedDialog(dialogId: string): void {\n\t\tthis.toggleAppTileHighlight(true);\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\tif (dialog) {\n\t\t\tdialog.close();\n\t\t}\n\t\tthis._resetAddRecommendedDialog();\n\t}\n\n\t/**\n\t * Toggles the highlight style for app tiles based on the selection state.\n\t * @private\n\t * @param {boolean} isAppSelected - Flag indicating whether to add or remove the style class.\n\t */\n\tprivate toggleAppTileHighlight(isAppSelected: boolean): void {\n\t\tconst appsScrollContainer = this._generateAppsScrollContainer();\n\t\tconst appsWrapper = appsScrollContainer.getContent()[0] as GridContainer;\n\t\tif (appsWrapper) {\n\t\t\tappsWrapper.getItems().forEach((oTile) => {\n\t\t\t\tif (oTile) {\n\t\t\t\t\tif (isAppSelected) {\n\t\t\t\t\t\toTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (oTile.hasStyleClass(\"sapCuxHighlightApp\")) {\n\t\t\t\t\t\t\toTile.removeStyleClass(\"sapCuxHighlightApp\");\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\t/**\n\t * Resets the selected apps and updates the UI.\n\t * @private\n\t */\n\tprivate _resetAddRecommendedDialog(): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Adds the selected apps to the user's favorites.\n\t * @private\n\t * @returns {Promise<void>} - A promise that resolves when the apps have been added.\n\t */\n\tprivate async _addSelectedApps(): Promise<void> {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tfor (const app of this._selectedApps) {\n\t\t\t\tconst vizId = app.getVizId?.();\n\t\t\t\tif (vizId) {\n\t\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\tconst message = this._i18nBundle.getText(\"moveRecommendedMessage\") as string;\n\t\t\tMessageToast.show(message);\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t\tthis._selectedApps = [];\n\t\t\tthis._closeAddRecommendedDialog(`${this.getId()}-addRecommendedDialog-appsPage`);\n\t\t}\n\t}\n\n\t/**\n\t * Highlights or un-highlights the selected app based on the user's action.\n\t * @private\n\t * @param {Event} event - The event triggered by the user's action.\n\t * @param {App} selectedApp - The selected app to highlight or un-highlight.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App): void {\n\t\tconst oTile = event.getSource<GenericTile>();\n\t\tconst bIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\");\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Updates the count of selected apps displayed in the dialog.\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst selectedAppsTitle = this._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title;\n\t\tconst selectedAppsCount = this._selectedApps.length;\n\t\tselectedAppsTitle.setText(\n\t\t\t`${this._i18nBundle.getText(\"recommendedAppsTab\")} (${selectedAppsCount} ${this._i18nBundle.getText(\"selected\")})`\n\t\t);\n\t}\n\n\t/**\n\t * Overrides the wrapper for the apps panel to add message strip.\n\t *\n\t * @private\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tconst wrapperId = `${this.getId()}-recommendedPanelWrapper`;\n\t\tif (!this._controlMap.get(wrapperId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\twrapperId,\n\t\t\t\tnew VBox(wrapperId, {\n\t\t\t\t\titems: [this._generateMessageStrip(), super._generateWrapper()],\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(wrapperId) as VBox;\n\t}\n\n\t/**\n\t * Fetch recommended apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn; // Do not load recommended apps on mobile devices\n\t\t}\n\t\tlet recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations(true);\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\trecommendedVisualizations = recommendedVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst recommendedApps = this.generateApps(recommendedVisualizations);\n\t\tthis.setApps(recommendedApps);\n\t\tconst addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;\n\t\tif (addToFavouritesMenuItem) {\n\t\t\taddToFavouritesMenuItem.setVisible(recommendedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Returns message strip for recommended tab\n\t * @private\n\t * @returns {sap.cux.home.MessageStrip} - Message strip control.\n\t */\n\tprivate _generateMessageStrip() {\n\t\tconst messageStripId = `${this.getId()}-messageStrip`;\n\t\tif (!this._controlMap.get(messageStripId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tmessageStripId,\n\t\t\t\tnew MessageStrip(messageStripId, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationMessageStrip\"),\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tlink: new Link(`${messageStripId}-settings`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED)\n\t\t\t\t\t}).addStyleClass(\"sapUiNoMargin\")\n\t\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(messageStripId) as MessageStrip;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(index?: number): MenuItem[] {\n\t\tconst addToFavoritesItem = new MenuItem(`${this.getKey()}--addToFavoritesItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(addToFavoritesItem, \"acceptRecommendation\");\n\t\tconst notRelevantItem = new MenuItem(`${this.getKey()}--notRelevantItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"notRelevantRecommendation\"),\n\t\t\ticon: \"sap-icon://decline\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._rejectRecommendation(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(notRelevantItem, \"rejectRecommendation\");\n\t\tconst actions = [addToFavoritesItem, notRelevantItem];\n\t\treturn actions;\n\t}\n\n\t/**\n\t * Rejects the selected app as recommendation\n\t * @private\n\t * @param {sap.ui.base.MenuItem$PressEvent} event - Event object.\n\t */\n\tprivate async _rejectRecommendation(event: MenuItem$PressEvent) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst title = app.getTitle();\n\t\t\tconst recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations();\n\t\t\tconst visualization = recommendedVisualizations.find((viz) => viz.url === app.getUrl());\n\t\t\tconst fioriId = visualization?.fioriId;\n\t\t\tif (fioriId) {\n\t\t\t\tconst rejectPayload = {\n\t\t\t\t\tAppId: fioriId,\n\t\t\t\t\tDecision: 1\n\t\t\t\t};\n\t\t\t\tawait HttpHelper.Post(CONSTANTS.USER_PREFERENCE_SRVC_URL, rejectPayload);\n\t\t\t\tawait this.refresh();\n\t\t\t\tconst message = this._i18nBundle.getText(\"rejectRecommendationMsg\", [title]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if recommendation is enabled based on recommendation feature toggle and user personalization.\n\t * @private\n\t * @returns {Boolean} - Returns true if recommendation is enabled otherwise false.\n\t */\n\tprivate async _isRecommendationEnabled() {\n\t\tconst personalisation = await this.getPersonalization();\n\t\treturn personalisation?.showRecommendation ?? true;\n\t}\n\n\t/**\n\t * Show recommendation tab if recommendation is enabled\n\t * @private\n\t */\n\tpublic async _enableRecommendationTab() {\n\t\tconst isSupported = await this._isRecommendationEnabled();\n\t\tthis.setSupported(isSupported);\n\t\tthis.fireSupported({ isSupported });\n\t}\n\n\t/**\n\t * Generates illustrated message for recommended apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default illustrated message, title, description and add additional content\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.Small);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.NoData);\n\t\tillustratedMessage.setTitle(this._i18nBundle.getText(\"noRecommendationsTitle\"));\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noRecommendationsDescription\"));\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button({\n\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"settings\"),\n\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED),\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RecommendedAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","Button","Dialog","IllustratedMessageSize","IllustratedMessageType","sap_m_library","Link","MessageStrip","MessageToast","ScrollContainer","Text","Title","VBox","Element","EventBus","__BaseAppPersPanel","__MenuItem","___utils_Constants","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BackgroundDesign","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseAppPersPanel","_catch","recover","MenuItem","_finallyRethrows","finalizer","REPO_BASE_URL","SETTINGS_PANELS_KEYS","DeviceType","addFESRId","HttpHelper","CONSTANTS","USER_PREFERENCE_SRVC_URL","KEY","RecommendedAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","_selectedApps","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","eventBus","getInstance","subscribe","channelId","eventId","data","showRecommendation","fireSupported","isSupported","_createAddToFavouritesMenuItem","addToFavouritesMenuItem","getId","title","icon","press","_openAddRecommendedDialog","visible","insertAggregation","dialogId","dialog","_generateAddRecommendedDialog","open","_controlMap","get","_createAddRecommendedDialogControls","appsWrapper","_generateAppsScrollContainer","getContent","destroyAggregation","getApps","tiles","map","app","_createAppTile","_setAggregation","_updateSelectedAppCount","set","text","level","addButton","Promise","resolve","_addSelectedApps","_closeAddRecommendedDialog","enabled","cancelButton","mainTitleText","content","items","justifyContent","alignItems","addStyleClass","contentHeight","contentWidth","buttons","escapeHandler","appCopy","clone","appTile","getParent","_getAppTile","_onPress","_highlightApp","layout","columnSize","gap","vertical","height","_updateAddButtonState","getElementById","setEnabled","toggleAppTileHighlight","close","_resetAddRecommendedDialog","_toggleAppTileHighlight","isAppSelected","appsScrollContainer","getItems","forEach","oTile","hasStyleClass","removeStyleClass","_this2","setBusy","_temp3","_refreshAllPanels","message","show","_temp2","vizId","getVizId","_temp","appManagerInstance","addVisualization","error","_wasThrown","_result","event","selectedApp","getSource","bIsSelected","splice","findIndex","oApp","getUrl","toggleStyleClass","selectedAppsTitle","selectedAppsCount","setText","_generateWrapper","wrapperId","_generateMessageStrip","BaseAppPersPanel.prototype._generateWrapper.call","backgroundDesign","Transparent","loadApps","_loadApps","_this3","getDeviceType","Mobile","getRecommendedVisualizations","recommendedVisualizations","visualization","index","menuItems","_getActions","generateApps","fetchTileVisualization","prepareAppsBeforeLoad","setApps","setVisible","messageStripId","showIcon","showCloseButton","link","_getLayout","openSettingsDialog","ADVANCED","addToFavoritesItem","getKey","_addAppToFavorites","notRelevantItem","_rejectRecommendation","actions","_this4","_temp5","source","getTitle","find","viz","url","fioriId","_temp4","rejectPayload","AppId","Decision","Post","refresh","_wasThrown2","_result2","_isRecommendationEnabled","_this5","getPersonalization","personalisation","_enableRecommendationTab","_this6","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setIllustrationSize","ExtraSmall","setIllustrationType","NoData","setTitle","setDescription","addAdditionalContent","tooltip"],"sources":["RecommendedAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport Dialog from \"sap/m/Dialog\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Link from \"sap/m/Link\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport MenuItem, { MenuItem$PressEvent } from \"./MenuItem\";\nimport { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { DeviceType } from \"./utils/Device\";\nimport { addFESRId } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\nconst CONSTANTS = {\n\tUSER_PREFERENCE_SRVC_URL: `${REPO_BASE_URL}UserPreference`,\n\tKEY: \"recommendedApps\"\n};\n\n/**\n *\n * Provides the RecommendedAppPanel Class.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.128.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.RecommendedAppPanel\n */\nexport default class RecommendedAppPanel extends BaseAppPersPanel {\n\tprivate _selectedApps: App[] = [];\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Apps aggregation for Recommended apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new Recommended Apps Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", CONSTANTS.KEY);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"recommendedAppsTab\"));\n\t\t//subscribe to recommendation setting change event\n\t\tconst eventBus = EventBus.getInstance();\n\t\teventBus.subscribe(\"importChannel\", \"recommendationSettingChanged\", (channelId?: string, eventId?: string, data?: object) => {\n\t\t\tconst showRecommendation = (data as { showRecommendation: boolean }).showRecommendation;\n\t\t\tthis.fireSupported({ isSupported: showRecommendation });\n\t\t});\n\t\tthis._createAddToFavouritesMenuItem();\n\t}\n\n\t/**\n\t * Creates and inserts the \"Add to Favourites\" menu item.\n\t * @private\n\t */\n\tprivate _createAddToFavouritesMenuItem(): void {\n\t\tconst addToFavouritesMenuItem = new MenuItem(`${this.getId()}-addtofavouritesmenuitem`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavoritesRecommended\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: this._openAddRecommendedDialog.bind(this),\n\t\t\tvisible: false\n\t\t});\n\t\taddFESRId(addToFavouritesMenuItem, \"addToFavouritesMenuItem\");\n\t\tthis.insertAggregation(\"menuItems\", addToFavouritesMenuItem, 0);\n\t}\n\n\t/**\n\t * Opens the dialog for adding recommended apps.\n\t * @private\n\t */\n\tprivate _openAddRecommendedDialog(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst dialog = this._generateAddRecommendedDialog(dialogId);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Creates and returns the dialog for adding recommended apps.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t * @returns {sap.m.Dialog} - The generated dialog control.\n\t */\n\tprivate _generateAddRecommendedDialog(dialogId: string): Dialog {\n\t\tif (!this._controlMap.get(dialogId)) {\n\t\t\tthis._createAddRecommendedDialogControls(dialogId);\n\t\t}\n\t\tconst appsWrapper = this._generateAppsScrollContainer()?.getContent()?.[0] as GridContainer;\n\t\tappsWrapper.destroyAggregation(\"items\");\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tconst tiles = this._selectedApps.map((app) => this._createAppTile(app));\n\t\tthis._setAggregation(appsWrapper, tiles);\n\t\tthis._updateSelectedAppCount();\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\treturn dialog;\n\t}\n\n\t/**\n\t * Creates the controls for the dialog, including the title, subtitle, and buttons.\n\t * @private\n\t * @param {string} dialogId - The unique ID for the dialog.\n\t */\n\tprivate _createAddRecommendedDialogControls(dialogId: string): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-mainTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-mainTitle`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addToFavoritesRecommended\")\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-headerContainer-count`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-headerContainer-count`\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-selectedAppsTitle`,\n\t\t\tnew Title({\n\t\t\t\tid: `${dialogId}-selectedAppsTitle`,\n\t\t\t\ttext: `${this._i18nBundle.getText(\"recommendedAppsTab\")} (0 ${this._i18nBundle.getText(\"selected\")})`,\n\t\t\t\tlevel: \"H3\"\n\t\t\t})\n\t\t);\n\t\tthis._controlMap.set(\n\t\t\t`${dialogId}-subtitleText`,\n\t\t\tnew Text({\n\t\t\t\tid: `${dialogId}-subtitleText`,\n\t\t\t\ttext: this._i18nBundle.getText(\"selectAtLeastOneApp\")\n\t\t\t})\n\t\t);\n\t\tconst addButton = new Button({\n\t\t\tid: `${dialogId}-addBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"addButton\"),\n\t\t\ttype: \"Emphasized\",\n\t\t\tpress: async () => {\n\t\t\t\tawait this._addSelectedApps();\n\t\t\t\tthis._closeAddRecommendedDialog(dialogId);\n\t\t\t},\n\t\t\tenabled: this._selectedApps.length > 0\n\t\t});\n\t\tconst cancelButton = new Button({\n\t\t\tid: `${dialogId}-cancelBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\tpress: () => this._closeAddRecommendedDialog(dialogId)\n\t\t});\n\t\tconst mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();\n\t\tthis._controlMap.set(\n\t\t\tdialogId,\n\t\t\tnew Dialog(dialogId, {\n\t\t\t\ttitle: mainTitleText,\n\t\t\t\tcontent: [\n\t\t\t\t\tnew VBox({\n\t\t\t\t\t\tid: `${dialogId}-headerContainer`,\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title,\n\t\t\t\t\t\t\tthis._controlMap.get(`${dialogId}-subtitleText`) as Text\n\t\t\t\t\t\t],\n\t\t\t\t\t\tjustifyContent: \"Start\",\n\t\t\t\t\t\talignItems: \"Start\"\n\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginTop sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\"),\n\t\t\t\t\tthis._generateAppsScrollContainer()\n\t\t\t\t],\n\t\t\t\tcontentHeight: \"25rem\",\n\t\t\t\tcontentWidth: \"41.75rem\",\n\t\t\t\tbuttons: [addButton, cancelButton],\n\t\t\t\tescapeHandler: () => this._closeAddRecommendedDialog(dialogId)\n\t\t\t}).addStyleClass(\"sapCuxRecommendedAppsDialog sapContrastPlus\")\n\t\t);\n\t}\n\n\t/**\n\t * Creates and returns an app tile for the given app.\n\t * @private\n\t * @param {App} app - The app to create a tile for.\n\t * @returns {sap.m.GenericTile} - The created app tile.\n\t */\n\tprivate _createAppTile(app: App): GenericTile {\n\t\tconst appCopy = app.clone();\n\t\tconst appTile = (this.getParent() as AppsContainer)._getAppTile(appCopy);\n\t\tappTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\tappCopy._onPress = (e) => this._highlightApp(e, appCopy);\n\t\treturn appTile;\n\t}\n\n\t/**\n\t * Generates and returns the scroll container for the dialog's apps list.\n\t * @private\n\t * @returns {sap.m.ScrollContainer} - The scroll container for the apps.\n\t */\n\tprivate _generateAppsScrollContainer(): ScrollContainer {\n\t\tconst id = `${this.getId()}-addRecommendedDialog-appsPage-scrollContainer`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-apps`,\n\t\t\t\tnew GridContainer({\n\t\t\t\t\tid: `${id}-apps`,\n\t\t\t\t\tlayout: new GridContainerSettings(`${id}-apps-containerSettings`, {\n\t\t\t\t\t\tcolumnSize: \"19rem\",\n\t\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t\t})\n\t\t\t\t}).addStyleClass(\"sapCuxAppsGridContainerPadding\")\n\t\t\t);\n\t\t\tthis._controlMap.set(\n\t\t\t\tid,\n\t\t\t\tnew ScrollContainer(id, {\n\t\t\t\t\tid,\n\t\t\t\t\tvertical: true,\n\t\t\t\t\tvisible: true,\n\t\t\t\t\theight: \"20rem\",\n\t\t\t\t\tcontent: [this._controlMap.get(`${id}-apps`) as GridContainer]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMarginBeginEnd sapUiTinyMarginTop\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(id) as ScrollContainer;\n\t}\n\n\t/**\n\t * Updates the state of the \"Add\" button in the dialog based on the selected apps.\n\t * @private\n\t */\n\tprivate _updateAddButtonState() {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst addButton = Element.getElementById(`${dialogId}-addBtn`) as Button;\n\t\tif (addButton) {\n\t\t\taddButton.setEnabled(this._selectedApps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Closes the dialog and resets the selected apps state.\n\t * @private\n\t * @param {string} dialogId - The unique ID of the dialog to close.\n\t */\n\tprivate _closeAddRecommendedDialog(dialogId: string): void {\n\t\tthis.toggleAppTileHighlight(true);\n\t\tconst dialog = this._controlMap.get(dialogId) as Dialog;\n\t\tif (dialog) {\n\t\t\tdialog.close();\n\t\t}\n\t\tthis._resetAddRecommendedDialog();\n\t}\n\n\t/**\n\t * Toggles the highlight style for app tiles based on the selection state.\n\t * @private\n\t * @param {boolean} isAppSelected - Flag indicating whether to add or remove the style class.\n\t */\n\tprivate toggleAppTileHighlight(isAppSelected: boolean): void {\n\t\tconst appsScrollContainer = this._generateAppsScrollContainer();\n\t\tconst appsWrapper = appsScrollContainer.getContent()[0] as GridContainer;\n\t\tif (appsWrapper) {\n\t\t\tappsWrapper.getItems().forEach((oTile) => {\n\t\t\t\tif (oTile) {\n\t\t\t\t\tif (isAppSelected) {\n\t\t\t\t\t\toTile.addStyleClass(\"sapCuxHighlightApp\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (oTile.hasStyleClass(\"sapCuxHighlightApp\")) {\n\t\t\t\t\t\t\toTile.removeStyleClass(\"sapCuxHighlightApp\");\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\t/**\n\t * Resets the selected apps and updates the UI.\n\t * @private\n\t */\n\tprivate _resetAddRecommendedDialog(): void {\n\t\tthis._selectedApps = [...this.getApps()];\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Adds the selected apps to the user's favorites.\n\t * @private\n\t * @returns {Promise<void>} - A promise that resolves when the apps have been added.\n\t */\n\tprivate async _addSelectedApps(): Promise<void> {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tfor (const app of this._selectedApps) {\n\t\t\t\tconst vizId = app.getVizId?.();\n\t\t\t\tif (vizId) {\n\t\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\tconst message = this._i18nBundle.getText(\"moveRecommendedMessage\") as string;\n\t\t\tMessageToast.show(message);\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t\tthis._selectedApps = [];\n\t\t\tthis._closeAddRecommendedDialog(`${this.getId()}-addRecommendedDialog-appsPage`);\n\t\t}\n\t}\n\n\t/**\n\t * Highlights or un-highlights the selected app based on the user's action.\n\t * @private\n\t * @param {Event} event - The event triggered by the user's action.\n\t * @param {App} selectedApp - The selected app to highlight or un-highlight.\n\t */\n\tprivate _highlightApp(event: Event, selectedApp: App): void {\n\t\tconst oTile = event.getSource<GenericTile>();\n\t\tconst bIsSelected = !oTile.hasStyleClass(\"sapCuxHighlightApp\");\n\t\tthis._selectedApps = this._selectedApps || [];\n\t\tif (bIsSelected) {\n\t\t\tthis._selectedApps.push(selectedApp);\n\t\t} else {\n\t\t\tthis._selectedApps.splice(\n\t\t\t\tthis._selectedApps.findIndex((oApp) => selectedApp.getUrl() === oApp.getUrl()),\n\t\t\t\t1\n\t\t\t);\n\t\t}\n\t\toTile.toggleStyleClass(\"sapCuxHighlightApp\", bIsSelected);\n\t\tthis._updateSelectedAppCount();\n\t\tthis._updateAddButtonState();\n\t}\n\n\t/**\n\t * Updates the count of selected apps displayed in the dialog.\n\t * @private\n\t */\n\tprivate _updateSelectedAppCount(): void {\n\t\tconst dialogId = `${this.getId()}-addRecommendedDialog-appsPage`;\n\t\tconst selectedAppsTitle = this._controlMap.get(`${dialogId}-selectedAppsTitle`) as Title;\n\t\tconst selectedAppsCount = this._selectedApps.length;\n\t\tselectedAppsTitle.setText(\n\t\t\t`${this._i18nBundle.getText(\"recommendedAppsTab\")} (${selectedAppsCount} ${this._i18nBundle.getText(\"selected\")})`\n\t\t);\n\t}\n\n\t/**\n\t * Overrides the wrapper for the apps panel to add message strip.\n\t *\n\t * @private\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tconst wrapperId = `${this.getId()}-recommendedPanelWrapper`;\n\t\tif (!this._controlMap.get(wrapperId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\twrapperId,\n\t\t\t\tnew VBox(wrapperId, {\n\t\t\t\t\titems: [this._generateMessageStrip(), super._generateWrapper()],\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Transparent\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(wrapperId) as VBox;\n\t}\n\n\t/**\n\t * Fetch recommended apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn; // Do not load recommended apps on mobile devices\n\t\t}\n\t\tlet recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations(true);\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\trecommendedVisualizations = recommendedVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst apps = this.generateApps(recommendedVisualizations);\n\t\tlet tiles: GenericTile[] = [];\n\t\ttiles = this.fetchTileVisualization(tiles);\n\t\t// calling prepareAppsBeforeLoad fn to filter out the recommended apps from deprecated ones.\n\t\tawait this.prepareAppsBeforeLoad(apps, tiles);\n\t\tthis.setApps(apps);\n\t\tconst addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;\n\t\tif (addToFavouritesMenuItem) {\n\t\t\taddToFavouritesMenuItem.setVisible(apps.length > 0);\n\t\t}\n\t}\n\n\t/**\n\t * Returns message strip for recommended tab\n\t * @private\n\t * @returns {sap.cux.home.MessageStrip} - Message strip control.\n\t */\n\tprivate _generateMessageStrip() {\n\t\tconst messageStripId = `${this.getId()}-messageStrip`;\n\t\tif (!this._controlMap.get(messageStripId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tmessageStripId,\n\t\t\t\tnew MessageStrip(messageStripId, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"recommendationMessageStrip\"),\n\t\t\t\t\tshowIcon: true,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tlink: new Link(`${messageStripId}-settings`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED)\n\t\t\t\t\t}).addStyleClass(\"sapUiNoMargin\")\n\t\t\t\t}).addStyleClass(\"sapUiNoMarginBegin sapUiTinyMarginBottom\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(messageStripId) as MessageStrip;\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(index?: number): MenuItem[] {\n\t\tconst addToFavoritesItem = new MenuItem(`${this.getKey()}--addToFavoritesItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(addToFavoritesItem, \"acceptRecommendation\");\n\t\tconst notRelevantItem = new MenuItem(`${this.getKey()}--notRelevantItem--${index}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"notRelevantRecommendation\"),\n\t\t\ticon: \"sap-icon://decline\",\n\t\t\tpress: (event) => {\n\t\t\t\tvoid this._rejectRecommendation(event);\n\t\t\t}\n\t\t});\n\t\taddFESRId(notRelevantItem, \"rejectRecommendation\");\n\t\tconst actions = [addToFavoritesItem, notRelevantItem];\n\t\treturn actions;\n\t}\n\n\t/**\n\t * Rejects the selected app as recommendation\n\t * @private\n\t * @param {sap.ui.base.MenuItem$PressEvent} event - Event object.\n\t */\n\tprivate async _rejectRecommendation(event: MenuItem$PressEvent) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst title = app.getTitle();\n\t\t\tconst recommendedVisualizations = await this.appManagerInstance.getRecommendedVisualizations();\n\t\t\tconst visualization = recommendedVisualizations.find((viz) => viz.url === app.getUrl());\n\t\t\tconst fioriId = visualization?.fioriId;\n\t\t\tif (fioriId) {\n\t\t\t\tconst rejectPayload = {\n\t\t\t\t\tAppId: fioriId,\n\t\t\t\t\tDecision: 1\n\t\t\t\t};\n\t\t\t\tawait HttpHelper.Post(CONSTANTS.USER_PREFERENCE_SRVC_URL, rejectPayload);\n\t\t\t\tawait this.refresh();\n\t\t\t\tconst message = this._i18nBundle.getText(\"rejectRecommendationMsg\", [title]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if recommendation is enabled based on recommendation feature toggle and user personalization.\n\t * @private\n\t * @returns {Boolean} - Returns true if recommendation is enabled otherwise false.\n\t */\n\tprivate async _isRecommendationEnabled() {\n\t\tconst personalisation = await this.getPersonalization();\n\t\treturn personalisation?.showRecommendation ?? true;\n\t}\n\n\t/**\n\t * Show recommendation tab if recommendation is enabled\n\t * @private\n\t */\n\tpublic async _enableRecommendationTab() {\n\t\tconst isSupported = await this._isRecommendationEnabled();\n\t\tthis.setSupported(isSupported);\n\t\tthis.fireSupported({ isSupported });\n\t}\n\n\t/**\n\t * Generates illustrated message for recommended apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//overrride the default illustrated message, title, description and add additional content\n\t\tillustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);\n\t\tillustratedMessage.setIllustrationType(IllustratedMessageType.NoData);\n\t\tillustratedMessage.setTitle(this._i18nBundle.getText(\"noRecommendationsTitle\"));\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noRecommendationsDescription\"));\n\t\tillustratedMessage.addAdditionalContent(\n\t\t\tnew Button({\n\t\t\t\ttext: this._i18nBundle.getText(\"settings\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"settings\"),\n\t\t\t\tpress: () => (this.getParent() as BaseContainer)?._getLayout()?.openSettingsDialog(SETTINGS_PANELS_KEYS.ADVANCED),\n\t\t\t\ttype: \"Emphasized\"\n\t\t\t})\n\t\t);\n\t\tillustratedMessage.addStyleClass(\"sapUiTinyMarginTop\");\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,8 +48,8 @@ const CONSTANTS = {
48
48
  * @version 0.0.1
49
49
  * @since 1.128.0
50
50
  *
51
- * @internal
52
- * @public
51
+ * @private
52
+ * @ui5-restricted ux.eng.s4producthomes1
53
53
  *
54
54
  * @alias sap.cux.home.RecommendedAppPanel
55
55
  */
@@ -416,11 +416,15 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
416
416
  };
417
417
  });
418
418
  //convert apps objects array to apps instances
419
- const recommendedApps = this.generateApps(recommendedVisualizations);
420
- this.setApps(recommendedApps);
419
+ const apps = this.generateApps(recommendedVisualizations);
420
+ let tiles: GenericTile[] = [];
421
+ tiles = this.fetchTileVisualization(tiles);
422
+ // calling prepareAppsBeforeLoad fn to filter out the recommended apps from deprecated ones.
423
+ await this.prepareAppsBeforeLoad(apps, tiles);
424
+ this.setApps(apps);
421
425
  const addToFavouritesMenuItem = Element.getElementById(`${this.getId()}-addtofavouritesmenuitem`) as MenuItem;
422
426
  if (addToFavouritesMenuItem) {
423
- addToFavouritesMenuItem.setVisible(recommendedApps.length > 0);
427
+ addToFavouritesMenuItem.setVisible(apps.length > 0);
424
428
  }
425
429
  }
426
430
 
@@ -534,7 +538,7 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
534
538
  protected generateIllustratedMessage() {
535
539
  const illustratedMessage = super.generateIllustratedMessage();
536
540
  //overrride the default illustrated message, title, description and add additional content
537
- illustratedMessage.setIllustrationSize(IllustratedMessageSize.Small);
541
+ illustratedMessage.setIllustrationSize(IllustratedMessageSize.ExtraSmall);
538
542
  illustratedMessage.setIllustrationType(IllustratedMessageType.NoData);
539
543
  illustratedMessage.setTitle(this._i18nBundle.getText("noRecommendationsTitle"));
540
544
  illustratedMessage.setDescription(this._i18nBundle.getText("noRecommendationsDescription"));
@@ -546,6 +550,7 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
546
550
  type: "Emphasized"
547
551
  })
548
552
  );
553
+ illustratedMessage.addStyleClass("sapUiTinyMarginTop");
549
554
  return illustratedMessage;
550
555
  }
551
556
  }
@@ -25,6 +25,7 @@ declare module "sap/cux/home/SettingsDialog" {
25
25
  private _masterPage;
26
26
  private _splitApp;
27
27
  private _deviceType;
28
+ private _showHamburger;
28
29
  static renderer: {
29
30
  apiVersion: number;
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;QAEjC,MAAM,CAAC,QAAQ;;UAEb;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QA4BnB;;;;;WAKG;QAEH,OAAO,CAAC,oBAAoB;QAY5B;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAkBxB;;;;;;WAMG;QACH,OAAO,CAAC,iBAAiB;QAezB;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QAuBrC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAmBvB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA8B7B;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAK7B;;;;;;WAMG;QACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAelD;;;;;;;WAOG;gBACW,gBAAgB;QAmB9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KAsBtB;CAEA"}
1
+ {"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SettingsDialog.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;IAa9C,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;IAIjE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;QAC7D,OAAO,CAAC,WAAW,CAAkC;QACrD,OAAO,CAAC,QAAQ,CAAU;QAC1B,OAAO,CAAC,SAAS,CAAQ;QACzB,OAAO,CAAC,WAAW,CAAQ;QAC3B,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,WAAW,CAAc;QACjC,OAAO,CAAC,cAAc,CAAuB;QAE7C,MAAM,CAAC,QAAQ;;UAEb;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QA4BnB;;;;;WAKG;QAEH,OAAO,CAAC,oBAAoB;QAa5B;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAkBxB;;;;;;WAMG;QACH,OAAO,CAAC,iBAAiB;QAkBzB;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QA0BrC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAmBvB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA8B7B;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAK7B;;;;;;WAMG;QACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;QAelD;;;;;;;WAOG;gBACW,gBAAgB;QAmB9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KAsBtB;CAEA"}
@@ -69,6 +69,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
69
69
  Device.resize.attachHandler(() => {
70
70
  const deviceType = calculateDeviceType();
71
71
  this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
72
+ this._showHamburger = undefined;
72
73
  const isMasterShown = this._splitApp.isMasterShown();
73
74
  this._updateHeaderButtonVisibility(isMasterShown);
74
75
  });
@@ -104,13 +105,16 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
104
105
  _toggleMasterPage: function _toggleMasterPage() {
105
106
  const isMasterShown = this._splitApp.isMasterShown();
106
107
  const deviceType = this._deviceType || calculateDeviceType();
107
- if (deviceType !== DeviceType.Tablet) {
108
+ if (deviceType === DeviceType.Mobile) {
108
109
  this._splitApp.toMaster(this._masterPage.getId(), "slide");
110
+ this._splitApp.showMaster();
109
111
  } else {
110
112
  if (isMasterShown) {
111
113
  this._splitApp.hideMaster();
114
+ this._showHamburger = true;
112
115
  } else {
113
116
  this._splitApp.showMaster();
117
+ this._showHamburger = false;
114
118
  }
115
119
  }
116
120
  this._updateHeaderButtonVisibility(!isMasterShown);
@@ -130,17 +134,20 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
130
134
  if (Device.orientation?.portrait) {
131
135
  // Show menu button in portrait mode with a tooltip
132
136
  const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
133
- this._menuBtn.setVisible(true);
134
137
  if (tooltipText) {
135
138
  // Only set the tooltip if a valid string is available
136
139
  this._menuBtn.setTooltip(tooltipText);
137
140
  }
138
- } else {
139
- // Hide or show the menu button in other orientations
140
- this._menuBtn.setVisible(isMasterShown);
141
141
  }
142
+ this._menuBtn.setVisible(true);
142
143
  } else {
143
- this._menuBtn.setVisible(false);
144
+ let visibility = true;
145
+ if (this._showHamburger === undefined) {
146
+ if (this._splitApp.isMasterShown()) {
147
+ visibility = false;
148
+ }
149
+ }
150
+ this._menuBtn.setVisible(visibility);
144
151
  }
145
152
  },
146
153
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Tablet","toMaster","_masterPage","hideMaster","showMaster","Mobile","setVisible","orientation","portrait","tooltipText","setTooltip","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\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\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType !== DeviceType.Tablet) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tthis._menuBtn.setVisible(true);\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Hide or show the menu button in other orientations\n\t\t\t\tthis._menuBtn.setVisible(isMasterShown);\n\t\t\t}\n\t\t} else {\n\t\t\tthis._menuBtn.setVisible(false);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oOAAAC,GAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,QAAA,EAAAC,gBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,oBAAA,EAAAC,eAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAAA,MAQSG,YAAY,GAAAd,aAAA;EAAA,MAUde,kBAAkB,GAAAL,sBAAA,CAAAF,oBAAA;EAAA,MAEhBQ,mBAAmB,GAAAP,eAAA;EAAA,MAAEQ,UAAU,GAAAR,eAAA;EAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqBS,cAAc,GAASH,kBAAkB,CAAAI,MAAA;IAQtDC,QAAQ,EAAG;MACjBC,UAAU,EAAE;IACb,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQC,IAAI,WAAAC,MAAA,EAAS;MACnBC,sCAAA;MACA,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;;MAE5B;MACA,IAAI,CAACC,eAAe,CAAC,OAAO,CAAC;MAC7B,IAAI,CAACC,UAAU,CAAC,KAAK,CAAC;MACtB,IAAI,CAACC,eAAe,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC;;MAE7C;MACA,IAAI,CAACC,SAAS,CACb,IAAIhC,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,YAAY,EAAE;QACvCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC;QAC5CC,IAAI,EAAE,aAAa;QACnBC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,KAAK,CAAC;MACzB,CAAC,CACF,CAAC;;MAED;MACA,IAAI,CAACC,UAAU,CACd,IAAIrC,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,eAAe,EAAE;QACxCQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,IAAI,CAACC,eAAe,CAAC;MAC/B,CAAC,CACF,CAAC;MACD,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC5B,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IAESA,oBAAoB,WAAAA,qBAAA,EAAS;MACpCrC,MAAM,CAACsC,MAAM,CAACC,aAAa,CAAC,MAAM;QACjC,MAAMC,UAAU,GAAG/B,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAACgC,SAAS,CAACC,OAAO,CACrBF,UAAU,KAAK9B,UAAU,CAACiC,OAAO,IAAIH,UAAU,KAAK9B,UAAU,CAACkC,YAAY,IAAIJ,UAAU,KAAK9B,UAAU,CAACmC,aAAa,GACnH,cAAc,GACd,UACJ,CAAC;QACD,MAAMC,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;QACpD,IAAI,CAACC,6BAA6B,CAACD,aAAa,CAAC;MAClD,CAAC,CAAC;IACH,CAAC;IACD;AACD;AACA;AACA;AACA;AACA;IACSvB,gBAAgB,WAAAA,iBAAA,EAAQ;MAC/B,IAAI,CAACyB,QAAQ,GAAG,IAAIxD,MAAM,CAAC,GAAG,IAAI,CAACiC,KAAK,CAAC,CAAC,WAAW,EAAE;QACtDwB,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,IAAI,CAACvB,WAAW,CAACC,OAAO,CAAC,UAAU,CAAC;QAC7CE,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACqB,iBAAiB,CAAC,CAAC;QACrCC,OAAO,EAAE;MACV,CAAC,CAAC;MACF,OAAO,IAAI7D,GAAG,CAAC,GAAG,IAAI,CAACkC,KAAK,CAAC,CAAC,SAAS,EAAE;QACxC4B,WAAW,EAAE,CAAC,IAAI,CAACL,QAAQ,CAAC;QAC5BM,aAAa,EAAE,CACd,IAAIxD,KAAK,CAAC,GAAG,IAAI,CAAC2B,KAAK,CAAC,CAAC,eAAe,EAAE;UACzCC,IAAI,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;UAChD2B,KAAK,EAAE;QACR,CAAC,CAAC;MAEJ,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSJ,iBAAiB,WAAAA,kBAAA,EAAS;MACjC,MAAML,aAAa,GAAG,IAAI,CAACL,SAAS,CAACK,aAAa,CAAC,CAAC;MACpD,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QACrC,IAAI,CAAChB,SAAS,CAACiB,QAAQ,CAAC,IAAI,CAACC,WAAW,CAAClC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MAC3D,CAAC,MAAM;QACN,IAAIqB,aAAa,EAAE;UAClB,IAAI,CAACL,SAAS,CAACmB,UAAU,CAAC,CAAC;QAC5B,CAAC,MAAM;UACN,IAAI,CAACnB,SAAS,CAACoB,UAAU,CAAC,CAAC;QAC5B;MACD;MACA,IAAI,CAACd,6BAA6B,CAAC,CAACD,aAAa,CAAC;IACnD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSC,6BAA6B,WAAAA,8BAACD,aAAsB,EAAQ;MACnE,MAAMN,UAAU,GAAG,IAAI,CAACgB,WAAW,IAAI/C,mBAAmB,CAAC,CAAC;MAC5D,IAAI+B,UAAU,KAAK9B,UAAU,CAACoD,MAAM,EAAE;QACrC;QACA,IAAI,CAACd,QAAQ,CAACe,UAAU,CAAC,CAACjB,aAAa,CAAC;MACzC,CAAC,MAAM,IAAIN,UAAU,KAAK9B,UAAU,CAAC+C,MAAM,EAAE;QAC5C,IAAIzD,MAAM,CAACgE,WAAW,EAAEC,QAAQ,EAAE;UACjC;UACA,MAAMC,WAAW,GAAG,IAAI,CAACvC,WAAW,CAACC,OAAO,CAACkB,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;UACrG,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,IAAI,CAAC;UAC9B,IAAIG,WAAW,EAAE;YAChB;YACA,IAAI,CAAClB,QAAQ,CAACmB,UAAU,CAACD,WAAW,CAAC;UACtC;QACD,CAAC,MAAM;UACN;UACA,IAAI,CAAClB,QAAQ,CAACe,UAAU,CAACjB,aAAa,CAAC;QACxC;MACD,CAAC,MAAM;QACN,IAAI,CAACE,QAAQ,CAACe,UAAU,CAAC,KAAK,CAAC;MAChC;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS3B,eAAe,WAAAA,gBAAA,EAAa;MACnC,IAAI,CAACgC,SAAS,GAAG,IAAI1E,IAAI,CAAC,GAAG,IAAI,CAAC+B,KAAK,CAAC,CAAC,oBAAoB,EAAE;QAC9D4C,IAAI,EAAE,oBAAoB;QAC1BC,SAAS,EAAGC,KAAY,IAAK,IAAI,CAACC,qBAAqB,CAACD,KAAK;MAC9D,CAAC,CAAC,CAACE,aAAa,CAAC,sBAAsB,CAAC;MACxC,IAAI,CAACd,WAAW,GAAG,IAAIhE,IAAI,CAAC,GAAG,IAAI,CAAC8B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC1DQ,KAAK,EAAE,IAAI,CAACN,WAAW,CAACC,OAAO,CAAC,gBAAgB,CAAC;QACjDM,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE,CAAC,IAAI,CAACiC,SAAS;MACzB,CAAC,CAAC;MACF,IAAI,CAAC3B,SAAS,GAAG,IAAI7C,QAAQ,CAAC,GAAG,IAAI,CAAC6B,KAAK,CAAC,CAAC,cAAc,EAAE;QAC5D4C,IAAI,EAAE,cAAc;QACpBK,WAAW,EAAE,CAAC,IAAI,CAACf,WAAW,CAAC;QAC/BgB,YAAY,EAAGJ,KAAY,IAAK,IAAI,CAACK,qBAAqB,CAACL,KAAK;MACjE,CAAC,CAAC;MAEF,OAAO,IAAI,CAAC9B,SAAS;IACtB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS+B,qBAAqB,WAAAA,sBAACD,KAAsD,EAAEM,OAAgB,EAAQ;MAC7G;MACA,MAAMC,QAAQ,GAAG,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACQ,YAAY,GAAG,UAAU,CAAC;MACrF,MAAMC,UAAU,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MACtC,MAAMC,WAAW,GAAKJ,QAAQ,EAAuBK,IAAI,GAAG,KAAK,CAAC,IAAIZ,KAAK,IAAIS,UAAU,EAAEI,WAAW,CAAC,KAAK,CAAY;MACxH,IAAI,CAACC,WAAW,CAAC,aAAa,EAAEH,WAAW,EAAE,IAAI,CAAC;;MAElD;MACA,MAAMI,UAAU,GAAGvF,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,cAAc,CAAS;MAC/E,IAAI,CAACzC,SAAS,CAAC+C,QAAQ,CAACF,UAAU,CAAC7D,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;MACpD,IAAI,CAACgB,SAAS,CAACmB,UAAU,CAAC,CAAC;MAC3B,IAAI,IAAI,CAACnB,SAAS,CAACgD,OAAO,CAAC,CAAC,KAAKlF,YAAY,CAACmF,YAAY,EAAE;QAC3D,IAAI,CAAC3C,6BAA6B,CAAC,KAAK,CAAC;MAC1C;;MAEA;MACA,MAAM4C,aAAa,GAAG,IAAI,CAACV,SAAS,CAAC,CAAC,CAACW,IAAI,CACzCC,KAAwB,IAAKA,KAAK,CAACT,WAAW,CAAC,KAAK,CAAC,KAAKF,WAC5D,CAAsB;MACtBS,aAAa,EAAEG,kBAAkB,CAAC;QAAEjB;MAAQ,CAAC,CAAC;;MAE9C;MACA,IAAI,CAACT,SAAS,CAAC2B,gBAAgB,CAAC,IAAI,CAAC;MACrC,MAAMC,QAAQ,GAAGjG,OAAO,CAACwF,cAAc,CAAC,GAAGL,WAAW,YAAY,CAAqB;MACvFe,UAAU,CAAC,MAAM;QAChB,IAAI,CAAC7B,SAAS,CAAC8B,eAAe,CAACF,QAAQ,CAAC;QACxCA,QAAQ,CAACG,KAAK,CAAC,CAAC;MACjB,CAAC,EAAE,CAAC,CAAC;IACN,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSvB,qBAAqB,WAAAA,sBAACL,KAAY,EAAQ;MACjD,MAAM6B,gBAAgB,GAAGrG,OAAO,CAACwF,cAAc,CAAC,GAAGhB,KAAK,CAAC8B,SAAS,CAAW,CAAC,CAAC5E,KAAK,CAAC,CAAC,YAAY,CAAW;MAC7G2E,gBAAgB,EAAEE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQC,iBAAiB,WAAAC,mBAACjC,KAAkB,EAAQ;MAClDkC,mDAAA,OAAwBlC,KAAK;;MAE7B;MACA,IAAI,CAACU,SAAS,CAAC,CAAC,CAACyB,OAAO,CAAEb,KAAwB,IAAK;QACtD,KAAK,IAAI,CAACc,gBAAgB,CAACd,KAAK,CAAC,CAACe,IAAI,CAAEC,IAAI,IAAK,IAAI,CAACzC,SAAS,CAAC0C,OAAO,CAACD,IAAI,CAAC,CAAC;QAC9E,IAAI,CAACpE,SAAS,CAACsE,aAAa,CAAC,IAAI,CAACC,cAAc,CAACnB,KAAK,CAAC,CAAC;MACzD,CAAC,CAAC;;MAEF;MACA,MAAMX,WAAW,GAAG,IAAI,CAACE,WAAW,CAAC,aAAa,CAAW;MAC7D,MAAMP,OAAO,GAAG,IAAI,CAACO,WAAW,CAAC,SAAS,CAAW;MACrD,IAAI,CAACZ,qBAAqB,CAACU,WAAW,EAAEL,OAAO,CAAC;IACjD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACe8B,gBAAgB,WAAAA,iBAACM,aAAgC;MAAA,IAA6B;QAAA,MAAAC,KAAA,GAE5E,IAAI;QADnB,MAAMC,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,YAAY;QAC1D,IAAIN,QAAQ,GAAGoC,KAAA,CAAKhG,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAqB;QAE3D,IAAI,CAACrC,QAAQ,EAAE;UACdA,QAAQ,GAAG,IAAIjF,gBAAgB,CAACsH,EAAE,EAAE;YACnClF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;YACnDnC,IAAI,EAAEgE,aAAa,CAAC7B,WAAW,CAAC,MAAM,CAAW;YACjDvD,IAAI,EAAE,YAAY;YAClBwF,gBAAgB,EAAE;UACnB,CAAC,CAAC;UACFvC,QAAQ,CAACK,IAAI,CAAC,KAAK,EAAE8B,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,CAAC;UACtD8B,KAAA,CAAKhG,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAErC,QAAQ,CAAC;QACnC;QAAC,MAAAyC,SAAA,GAEDzC,QAAQ;UAAA0C,WAAA,GAARD,SAAA,CAASxD,UAAU;QAAA,OAAA0D,OAAA,CAAAC,OAAA,CAAOT,aAAa,CAACU,WAAW,CAAC,CAAC,EAAAf,IAAA,WAAAgB,qBAAA;UAArDJ,WAAA,CAAAK,IAAA,CAAAN,SAAA,EAAAK,qBAAA;UACA,OAAO9C,QAAQ;QAAC;MACjB,CAAC,QAAAgD,CAAA;QAAA,OAAAL,OAAA,CAAAM,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSd,cAAc,WAAAA,eAACC,aAAgC,EAAQ;MAC9D,MAAME,EAAE,GAAG,GAAGF,aAAa,CAAC7B,WAAW,CAAC,KAAK,CAAC,cAAc;MAC5D,IAAI,CAAC,IAAI,CAAClE,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,EAAE;QAC9B,MAAMa,IAAI,GAAG,IAAIrI,IAAI,CAACwH,EAAE,EAAE;UACzBlF,KAAK,EAAEgF,aAAa,CAAC7B,WAAW,CAAC,OAAO,CAAW;UACnD6C,gBAAgB,EAAE,MAAM;UACxB/F,UAAU,EAAE+E,aAAa,CAAC7B,WAAW,CAAC,YAAY;QACnD,CAAC,CAAC;;QAEF;QACA6B,aAAa,CAACiB,gBAAgB,CAAC,CAAC,CAACxB,OAAO,CAAEyB,YAAY,IAAK;UAC1DH,IAAI,CAACI,gBAAgB,CAACD,YAAY,CAAC;QACpC,CAAC,CAAC;QAEF,IAAI,CAACjH,WAAW,CAACoG,GAAG,CAACH,EAAE,EAAEa,IAAI,CAAC;MAC/B;;MAEA;MACCf,aAAa,CAACoB,cAAc,CAAC,SAAS,CAAC,CAAe3B,OAAO,CAAEvE,OAAO,IAAM,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC,CAAUnF,UAAU,CAACG,OAAO,CAAC,CAAC;MAEnI,OAAO,IAAI,CAACjB,WAAW,CAACkG,GAAG,CAACD,EAAE,CAAC;IAChC;EAAC;EAAA,OAjSmBxG,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","calculateDeviceType","DeviceType","SettingsDialog","extend","renderer","apiVersion","init","_init","BaseSettingsDialog.prototype.init.call","_controlMap","Map","setContentWidth","setStretch","setCustomHeader","_setCustomHeader","addButton","getId","text","_i18nBundle","getText","type","press","close","addContent","title","showHeader","content","_getPageContent","_attachResizeHandler","resize","attachHandler","deviceType","_splitApp","setMode","Desktop","LargeDesktop","XLargeDesktop","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","ShowHideMode","selectedPanel","find","panel","firePanelNavigated","removeSelections","pageItem","setTimeout","setSelectedItem","focus","navigationButton","getSource","destroy","onBeforeRendering","_onBeforeRendering","BaseSettingsDialog.prototype.onBeforeRendering.call","forEach","_getPageListItem","then","item","addItem","addDetailPage","_getDetailPage","settingsPanel","_this","id","get","iconDensityAware","set","_listItem","_setVisible","Promise","resolve","isSupported","_settingsPanel$isSupp","call","e","reject","page","backgroundDesign","getActionButtons","actionButton","addHeaderContent","getAggregation"],"sources":["SettingsDialog.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event as JQueryEvent } from \"jquery\";\nimport Bar from \"sap/m/Bar\";\nimport Button from \"sap/m/Button\";\nimport { SplitAppMode } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport Page from \"sap/m/Page\";\nimport SplitApp from \"sap/m/SplitApp\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Title from \"sap/m/Title\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport Element from \"sap/ui/core/Element\";\nimport Device from \"sap/ui/Device\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Dialog class for My Home Settings.\n *\n * @extends BaseSettingsDialog\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.SettingsDialog\n */\nexport default class SettingsDialog extends BaseSettingsDialog {\n\tprivate _controlMap!: Map<string, Control | Element>;\n\tprivate _menuBtn!: Button;\n\tprivate _menuList!: List;\n\tprivate _masterPage!: Page;\n\tprivate _splitApp!: SplitApp;\n\tprivate _deviceType!: DeviceType;\n\tprivate _showHamburger!: boolean | undefined;\n\n\tstatic renderer = {\n\t\tapiVersion: 2\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\t\tthis._controlMap = new Map();\n\n\t\t//setup dialog\n\t\tthis.setContentWidth(\"72rem\");\n\t\tthis.setStretch(false);\n\t\tthis.setCustomHeader(this._setCustomHeader());\n\n\t\t//setup dialog buttons\n\t\tthis.addButton(\n\t\t\tnew Button(`${this.getId()}-close-btn`, {\n\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\ttype: \"Transparent\",\n\t\t\t\tpress: () => this.close()\n\t\t\t})\n\t\t);\n\n\t\t//setup dialog content\n\t\tthis.addContent(\n\t\t\tnew Page(`${this.getId()}-settingsPage`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._getPageContent()\n\t\t\t})\n\t\t);\n\t\tthis._attachResizeHandler();\n\t}\n\t/**\n\t * Attaches a resize event handler to dynamically adjust the split app mode and\n\t * header button visibility based on the current device type.\n\t *\n\t * @returns {void}\n\t */\n\n\tprivate _attachResizeHandler(): void {\n\t\tDevice.resize.attachHandler(() => {\n\t\t\tconst deviceType = calculateDeviceType();\n\t\t\tthis._splitApp.setMode(\n\t\t\t\tdeviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t\t\t? \"ShowHideMode\"\n\t\t\t\t\t: \"HideMode\"\n\t\t\t);\n\t\t\tthis._showHamburger = undefined;\n\t\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\t\tthis._updateHeaderButtonVisibility(isMasterShown);\n\t\t});\n\t}\n\t/**\n\t * Creates and sets a custom header for the SettingsDialog.\n\t *\n\t * @private\n\t * @returns {Bar} The custom header bar for the SettingsDialog.\n\t */\n\tprivate _setCustomHeader(): Bar {\n\t\tthis._menuBtn = new Button(`${this.getId()}-menu-btn`, {\n\t\t\ticon: \"sap-icon://menu2\",\n\t\t\ttooltip: this._i18nBundle.getText(\"showMenu\"),\n\t\t\tpress: () => this._toggleMasterPage(),\n\t\t\tvisible: false\n\t\t});\n\t\treturn new Bar(`${this.getId()}-header`, {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(`${this.getId()}-dialog-title`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\t\t\tlevel: \"H1\"\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Toggles the visibility of the master page in the SettingsDialog based on the current device width.\n\t * If the device width is less than 600 pixels or equal to or greater than 1024 pixels, the master\n\t * page is always shown. Otherwise, it toggles the visibility of the master page.\n\t *\n\t * @private\n\t */\n\tprivate _toggleMasterPage(): void {\n\t\tconst isMasterShown = this._splitApp.isMasterShown();\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\tthis._splitApp.toMaster(this._masterPage.getId(), \"slide\");\n\t\t\tthis._splitApp.showMaster();\n\t\t} else {\n\t\t\tif (isMasterShown) {\n\t\t\t\tthis._splitApp.hideMaster();\n\t\t\t\tthis._showHamburger = true;\n\t\t\t} else {\n\t\t\t\tthis._splitApp.showMaster();\n\t\t\t\tthis._showHamburger = false;\n\t\t\t}\n\t\t}\n\t\tthis._updateHeaderButtonVisibility(!isMasterShown);\n\t}\n\n\t/**\n\t * Update header button\n\t *\n\t * @param {boolean} isMasterShown If master page is shown\n\t * @private\n\t */\n\tprivate _updateHeaderButtonVisibility(isMasterShown: boolean): void {\n\t\tconst deviceType = this._deviceType || calculateDeviceType();\n\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t// Hide or show the menu button on mobile\n\t\t\tthis._menuBtn.setVisible(!isMasterShown);\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\tif (Device.orientation?.portrait) {\n\t\t\t\t// Show menu button in portrait mode with a tooltip\n\t\t\t\tconst tooltipText = this._i18nBundle.getText(isMasterShown ? \"ToggleButtonHide\" : \"ToggleButtonShow\");\n\t\t\t\tif (tooltipText) {\n\t\t\t\t\t// Only set the tooltip if a valid string is available\n\t\t\t\t\tthis._menuBtn.setTooltip(tooltipText);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(true);\n\t\t} else {\n\t\t\tlet visibility = true;\n\t\t\tif (this._showHamburger === undefined) {\n\t\t\t\tif (this._splitApp.isMasterShown()) {\n\t\t\t\t\tvisibility = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._menuBtn.setVisible(visibility);\n\t\t}\n\t}\n\n\t/**\n\t * Generates the content for the SettingsDialog, including the master page and split app.\n\t *\n\t * @private\n\t * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.\n\t */\n\tprivate _getPageContent(): SplitApp {\n\t\tthis._menuList = new List(`${this.getId()}-master-pages-list`, {\n\t\t\tmode: \"SingleSelectMaster\",\n\t\t\titemPress: (event: Event) => this._navigateToDetailPage(event)\n\t\t}).addStyleClass(\"sapCuxMasterPageList\");\n\t\tthis._masterPage = new Page(`${this.getId()}-master-page`, {\n\t\t\ttitle: this._i18nBundle.getText(\"myHomeSettings\"),\n\t\t\tshowHeader: false,\n\t\t\tcontent: [this._menuList]\n\t\t});\n\t\tthis._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {\n\t\t\tmode: \"ShowHideMode\",\n\t\t\tmasterPages: [this._masterPage],\n\t\t\tmasterButton: (event: Event) => this._hideNavigationButton(event)\n\t\t});\n\n\t\treturn this._splitApp;\n\t}\n\n\t/**\n\t * Navigates to the detail page associated with the selected item in the master page list.\n\t *\n\t * @private\n\t * @param {Event} event The item press event from the master page list.\n\t */\n\tprivate _navigateToDetailPage(event: Event<{ listItem?: StandardListItem }> | string, context?: object): void {\n\t\t//update selected key\n\t\tconst listItem = typeof event === \"string\" ? event : event.getParameter?.(\"listItem\");\n\t\tconst firstPanel = this.getPanels()[0];\n\t\tconst selectedKey = ((listItem as StandardListItem)?.data?.(\"key\") || event || firstPanel?.getProperty(\"key\")) as string;\n\t\tthis.setProperty(\"selectedKey\", selectedKey, true);\n\n\t\t//navigate to detail page\n\t\tconst detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;\n\t\tthis._splitApp.toDetail(detailPage.getId(), \"slide\");\n\t\tthis._splitApp.hideMaster();\n\t\tif (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {\n\t\t\tthis._updateHeaderButtonVisibility(false);\n\t\t}\n\n\t\t//fire panel navigated event\n\t\tconst selectedPanel = this.getPanels().find(\n\t\t\t(panel: BaseSettingsPanel) => panel.getProperty(\"key\") === selectedKey\n\t\t) as BaseSettingsPanel;\n\t\tselectedPanel?.firePanelNavigated({ context });\n\n\t\t//select list item\n\t\tthis._menuList.removeSelections(true);\n\t\tconst pageItem = Element.getElementById(`${selectedKey}-page-item`) as StandardListItem;\n\t\tsetTimeout(() => {\n\t\t\tthis._menuList.setSelectedItem(pageItem);\n\t\t\tpageItem.focus();\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Hides the navigation button associated with the provided event.\n\t *\n\t * @private\n\t * @param {Event} event The event triggering the hide action.\n\t */\n\tprivate _hideNavigationButton(event: Event): void {\n\t\tconst navigationButton = Element.getElementById(`${event.getSource<SplitApp>().getId()}-MasterBtn`) as Button;\n\t\tnavigationButton?.destroy();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method.\n\t * Prepares the SettingsDialog content and navigate to the selected detail page.\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic onBeforeRendering(event: JQueryEvent): void {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup master and detail page content\n\t\tthis.getPanels().forEach((panel: BaseSettingsPanel) => {\n\t\t\tvoid this._getPageListItem(panel).then((item) => this._menuList.addItem(item));\n\t\t\tthis._splitApp.addDetailPage(this._getDetailPage(panel));\n\t\t});\n\n\t\t//navigate to detail page\n\t\tconst selectedKey = this.getProperty(\"selectedKey\") as string;\n\t\tconst context = this.getProperty(\"context\") as object;\n\t\tthis._navigateToDetailPage(selectedKey, context);\n\t}\n\n\t/**\n\t * Generates a list item for the master page list based on the settings panel.\n\t * The list item displays the title and icon of the settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the list item.\n\t * @returns {StandardListItem} The list item control representing the settings panel in the master page list.\n\t */\n\tprivate async _getPageListItem(settingsPanel: BaseSettingsPanel): Promise<StandardListItem> {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-page-item`;\n\t\tlet listItem = this._controlMap.get(id) as StandardListItem;\n\n\t\tif (!listItem) {\n\t\t\tlistItem = new StandardListItem(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\ticon: settingsPanel.getProperty(\"icon\") as string,\n\t\t\t\ttype: \"Navigation\",\n\t\t\t\ticonDensityAware: false\n\t\t\t});\n\t\t\tlistItem.data(\"key\", settingsPanel.getProperty(\"key\"));\n\t\t\tthis._controlMap.set(id, listItem);\n\t\t}\n\n\t\tlistItem.setVisible(await settingsPanel.isSupported());\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Generates a detail page for the SettingsDialog based on the provided settings panel.\n\t *\n\t * @private\n\t * @param {BaseSettingsPanel} settingsPanel The settings panel for which to generate the detail page.\n\t * @returns {Page} The detail page control representing the settings panel.\n\t */\n\tprivate _getDetailPage(settingsPanel: BaseSettingsPanel): Page {\n\t\tconst id = `${settingsPanel.getProperty(\"key\")}-detail-page`;\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst page = new Page(id, {\n\t\t\t\ttitle: settingsPanel.getProperty(\"title\") as string,\n\t\t\t\tbackgroundDesign: \"List\",\n\t\t\t\tshowHeader: settingsPanel.getProperty(\"showHeader\") as boolean\n\t\t\t});\n\n\t\t\t//add settings panel action buttons\n\t\t\tsettingsPanel.getActionButtons().forEach((actionButton) => {\n\t\t\t\tpage.addHeaderContent(actionButton);\n\t\t\t});\n\n\t\t\tthis._controlMap.set(id, page);\n\t\t}\n\n\t\t//add settings panel content\n\t\t(settingsPanel.getAggregation(\"content\") as Control[]).forEach((content) => (this._controlMap.get(id) as Page).addContent(content));\n\n\t\treturn this._controlMap.get(id) as Page;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
40
40
  private _masterPage!: Page;
41
41
  private _splitApp!: SplitApp;
42
42
  private _deviceType!: DeviceType;
43
+ private _showHamburger!: boolean | undefined;
43
44
 
44
45
  static renderer = {
45
46
  apiVersion: 2
@@ -94,6 +95,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
94
95
  ? "ShowHideMode"
95
96
  : "HideMode"
96
97
  );
98
+ this._showHamburger = undefined;
97
99
  const isMasterShown = this._splitApp.isMasterShown();
98
100
  this._updateHeaderButtonVisibility(isMasterShown);
99
101
  });
@@ -132,13 +134,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
132
134
  private _toggleMasterPage(): void {
133
135
  const isMasterShown = this._splitApp.isMasterShown();
134
136
  const deviceType = this._deviceType || calculateDeviceType();
135
- if (deviceType !== DeviceType.Tablet) {
137
+ if (deviceType === DeviceType.Mobile) {
136
138
  this._splitApp.toMaster(this._masterPage.getId(), "slide");
139
+ this._splitApp.showMaster();
137
140
  } else {
138
141
  if (isMasterShown) {
139
142
  this._splitApp.hideMaster();
143
+ this._showHamburger = true;
140
144
  } else {
141
145
  this._splitApp.showMaster();
146
+ this._showHamburger = false;
142
147
  }
143
148
  }
144
149
  this._updateHeaderButtonVisibility(!isMasterShown);
@@ -159,17 +164,20 @@ export default class SettingsDialog extends BaseSettingsDialog {
159
164
  if (Device.orientation?.portrait) {
160
165
  // Show menu button in portrait mode with a tooltip
161
166
  const tooltipText = this._i18nBundle.getText(isMasterShown ? "ToggleButtonHide" : "ToggleButtonShow");
162
- this._menuBtn.setVisible(true);
163
167
  if (tooltipText) {
164
168
  // Only set the tooltip if a valid string is available
165
169
  this._menuBtn.setTooltip(tooltipText);
166
170
  }
167
- } else {
168
- // Hide or show the menu button in other orientations
169
- this._menuBtn.setVisible(isMasterShown);
170
171
  }
172
+ this._menuBtn.setVisible(true);
171
173
  } else {
172
- this._menuBtn.setVisible(false);
174
+ let visibility = true;
175
+ if (this._showHamburger === undefined) {
176
+ if (this._splitApp.isMasterShown()) {
177
+ visibility = false;
178
+ }
179
+ }
180
+ this._menuBtn.setVisible(visibility);
173
181
  }
174
182
  }
175
183
 
@@ -0,0 +1,48 @@
1
+ declare module "sap/cux/home/SideBySideIconTabFilter" {
2
+ /*!
3
+ * SAP UI development toolkit for HTML5 (SAPUI5)
4
+ * * (c) Copyright 2009-2025 SAP SE. All rights reserved
5
+ */
6
+ import IconTabFilter from "sap/m/IconTabFilter";
7
+ import { MetadataOptions } from "sap/ui/base/ManagedObject";
8
+ import Control from "sap/ui/core/Control";
9
+ import { $SideBySideIconTabFilterSettings } from "sap/cux/home/SideBySideIconTabFilter";
10
+ /**
11
+ *
12
+ * Custom IconTabFilter for SideBySide orientation in the BaseContainer.
13
+ *
14
+ * @extends sap.m.IconTabFilter
15
+ *
16
+ * @author SAP SE
17
+ * @version 0.0.1
18
+ * @since 1.139.0
19
+ *
20
+ * @private
21
+ *
22
+ * @alias sap.cux.home.SideBySideIconTabFilter
23
+ */
24
+ export default class SideBySideIconTabFilter extends IconTabFilter {
25
+ constructor(id?: string | $SideBySideIconTabFilterSettings);
26
+ constructor(id?: string, settings?: $SideBySideIconTabFilterSettings);
27
+ static readonly renderer = "sap.m.IconTabFilterRenderer";
28
+ static readonly metadata: MetadataOptions;
29
+ /**
30
+ * Returns the content controls from the associated panel.
31
+ *
32
+ * @public
33
+ * @override
34
+ * @returns {Control[]} An array of controls contained in the associated panel, or an empty array if no panel is associated.
35
+ */
36
+ getContent(): Control[];
37
+ /**
38
+ * Adds a control to the content aggregation of the associated panel.
39
+ *
40
+ * @public
41
+ * @override
42
+ * @param {Control} content - The control to add to the panel's content.
43
+ * @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.
44
+ */
45
+ addContent(content: Control): this;
46
+ }
47
+ }
48
+ //# sourceMappingURL=SideBySideIconTabFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideBySideIconTabFilter.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/SideBySideIconTabFilter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,sCAAsC,CAAC;IACtD;;;OAGG;IAEH,OAAO,aAAa,MAAM,qBAAqB,CAAC;IAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;IAC5D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;IAExF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;oBACrD,EAAE,CAAC,EAAE,MAAM,GAAG,gCAAgC;oBAC9C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gCAAgC;QAWpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,iCAAiC;QACzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAiBF;;;;;;WAMG;QACI,UAAU,IAAI,OAAO,EAAE;QAK9B;;;;;;;WAOG;QACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;KAKzC;CAEA"}
@@ -0,0 +1,33 @@
1
+ declare module "sap/cux/home/SideBySideIconTabFilter" {
2
+ /*!
3
+ * SAP UI development toolkit for HTML5 (SAPUI5)
4
+ * * (c) Copyright 2009-2025 SAP SE. All rights reserved
5
+ */
6
+ import BasePanel from "sap/cux/home/BasePanel";
7
+ import { $IconTabFilterSettings } from "sap/m/IconTabFilter";
8
+
9
+ /**
10
+ * Interface defining the settings object used in constructor calls
11
+ */
12
+ interface $SideBySideIconTabFilterSettings extends $IconTabFilterSettings {
13
+ panel?: BasePanel | string;
14
+ }
15
+
16
+ export default interface SideBySideIconTabFilter {
17
+
18
+ // association: panel
19
+
20
+ /**
21
+ * ID of the element which is the current target of the association "panel", or "null".
22
+ */
23
+ getPanel(): string;
24
+
25
+ /**
26
+ * Sets the associated panel.
27
+ *
28
+ * @param panel ID of an element which becomes the new target of this "panel" association; alternatively, an element instance may be given
29
+ * @returns Reference to "this" in order to allow method chaining
30
+ */
31
+ setPanel(panel?: string | BasePanel): this;
32
+ }
33
+ }