@sapui5/sap.cux.home 1.141.0 → 1.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +4 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +6 -6
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -6
  8. package/src/sap/cux/home/App.d.ts.map +1 -1
  9. package/src/sap/cux/home/App.js +9 -1
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +10 -1
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts +75 -34
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js +378 -179
  15. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  16. package/src/sap/cux/home/AppsAdditionPanel.ts +399 -175
  17. package/src/sap/cux/home/AppsContainer.d.ts +5 -1
  18. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  19. package/src/sap/cux/home/AppsContainer.js +32 -17
  20. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  21. package/src/sap/cux/home/AppsContainer.ts +31 -15
  22. package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
  23. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  24. package/src/sap/cux/home/BaseAppPanel.js +2 -1
  25. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  26. package/src/sap/cux/home/BaseAppPanel.ts +4 -2
  27. package/src/sap/cux/home/BaseContainer.d.ts +8 -0
  28. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  29. package/src/sap/cux/home/BaseContainer.js +35 -5
  30. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  31. package/src/sap/cux/home/BaseContainer.ts +32 -5
  32. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  33. package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
  34. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
  36. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  37. package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
  38. package/src/sap/cux/home/BasePanel.d.ts +7 -0
  39. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  40. package/src/sap/cux/home/BasePanel.js +23 -2
  41. package/src/sap/cux/home/BasePanel.js.map +1 -1
  42. package/src/sap/cux/home/BasePanel.ts +18 -1
  43. package/src/sap/cux/home/CardsContainer.d.ts +108 -0
  44. package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
  45. package/src/sap/cux/home/CardsContainer.js +207 -0
  46. package/src/sap/cux/home/CardsContainer.js.map +1 -0
  47. package/src/sap/cux/home/CardsContainer.ts +202 -0
  48. package/src/sap/cux/home/CardsPanel.d.ts +32 -59
  49. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/CardsPanel.js +270 -249
  51. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  52. package/src/sap/cux/home/CardsPanel.ts +169 -181
  53. package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
  54. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  55. package/src/sap/cux/home/ContentAdditionDialog.js +17 -7
  56. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  57. package/src/sap/cux/home/ContentAdditionDialog.ts +18 -6
  58. package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
  59. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  60. package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
  61. package/src/sap/cux/home/ErrorPanel.js +11 -16
  62. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  63. package/src/sap/cux/home/ErrorPanel.ts +7 -19
  64. package/src/sap/cux/home/FavAppPanel.d.ts +1 -12
  65. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  66. package/src/sap/cux/home/FavAppPanel.js +354 -414
  67. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  68. package/src/sap/cux/home/FavAppPanel.ts +25 -70
  69. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  70. package/src/sap/cux/home/FrequentAppPanel.js +5 -1
  71. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  72. package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
  73. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
  74. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  75. package/src/sap/cux/home/InsightsAdditionPanel.js +12 -9
  76. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  77. package/src/sap/cux/home/InsightsAdditionPanel.ts +11 -8
  78. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
  79. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  80. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +3 -3
  81. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
  82. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  83. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
  84. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  85. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
  86. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  87. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
  88. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  89. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
  90. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
  91. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  92. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
  93. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  94. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
  95. package/src/sap/cux/home/Layout.d.ts +3 -1
  96. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  97. package/src/sap/cux/home/Layout.js +45 -8
  98. package/src/sap/cux/home/Layout.js.map +1 -1
  99. package/src/sap/cux/home/Layout.ts +55 -8
  100. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
  101. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
  103. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  104. package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
  105. package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -18
  106. package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
  107. package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
  108. package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
  109. package/src/sap/cux/home/NewsContainer.js.map +1 -0
  110. package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +31 -120
  111. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  112. package/src/sap/cux/home/NewsGroup.ts +1 -1
  113. package/src/sap/cux/home/NewsPanel.d.ts +17 -0
  114. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  115. package/src/sap/cux/home/NewsPanel.js +90 -57
  116. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  117. package/src/sap/cux/home/NewsPanel.ts +51 -23
  118. package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
  119. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  120. package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
  121. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  122. package/src/sap/cux/home/NewsSettingsPanel.ts +216 -81
  123. package/src/sap/cux/home/Page.d.ts.map +1 -1
  124. package/src/sap/cux/home/Page.js +4 -1
  125. package/src/sap/cux/home/Page.js.map +1 -1
  126. package/src/sap/cux/home/Page.ts +2 -0
  127. package/src/sap/cux/home/PagePanel.d.ts +1 -1
  128. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  129. package/src/sap/cux/home/PagePanel.js +19 -11
  130. package/src/sap/cux/home/PagePanel.js.map +1 -1
  131. package/src/sap/cux/home/PagePanel.ts +26 -20
  132. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  133. package/src/sap/cux/home/PageSettingsPanel.js +6 -3
  134. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  135. package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
  136. package/src/sap/cux/home/PagesContainer.d.ts +72 -0
  137. package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
  138. package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
  139. package/src/sap/cux/home/PagesContainer.js +333 -0
  140. package/src/sap/cux/home/PagesContainer.js.map +1 -0
  141. package/src/sap/cux/home/PagesContainer.ts +179 -0
  142. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  143. package/src/sap/cux/home/RecentAppPanel.js +6 -0
  144. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  145. package/src/sap/cux/home/RecentAppPanel.ts +5 -1
  146. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
  148. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  149. package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
  150. package/src/sap/cux/home/SettingsDialog.d.ts +7 -0
  151. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  152. package/src/sap/cux/home/SettingsDialog.js +18 -10
  153. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  154. package/src/sap/cux/home/SettingsDialog.ts +20 -13
  155. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
  156. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  157. package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
  158. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  159. package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
  160. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  161. package/src/sap/cux/home/SituationPanel.js +7 -2
  162. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  163. package/src/sap/cux/home/SituationPanel.ts +2 -0
  164. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
  165. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  166. package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
  167. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  168. package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
  169. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  170. package/src/sap/cux/home/TaskPanel.js +17 -12
  171. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  172. package/src/sap/cux/home/TaskPanel.ts +19 -16
  173. package/src/sap/cux/home/TilesContainer.d.ts +111 -0
  174. package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
  175. package/src/sap/cux/home/TilesContainer.js +218 -0
  176. package/src/sap/cux/home/TilesContainer.js.map +1 -0
  177. package/src/sap/cux/home/TilesContainer.ts +216 -0
  178. package/src/sap/cux/home/TilesPanel.d.ts +22 -52
  179. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  180. package/src/sap/cux/home/TilesPanel.js +194 -168
  181. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  182. package/src/sap/cux/home/TilesPanel.ts +167 -157
  183. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  184. package/src/sap/cux/home/ToDoPanel.js +59 -66
  185. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  186. package/src/sap/cux/home/ToDoPanel.ts +46 -34
  187. package/src/sap/cux/home/ToDosContainer.js +3 -3
  188. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  189. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  190. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
  191. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  192. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
  193. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  194. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
  195. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
  196. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  197. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
  198. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  199. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
  200. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
  201. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
  202. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
  203. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
  204. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
  205. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
  206. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  207. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
  208. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  209. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
  210. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  211. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
  212. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  213. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
  214. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
  215. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  216. package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
  217. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  218. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
  219. package/src/sap/cux/home/i18n/messagebundle.properties +40 -14
  220. package/src/sap/cux/home/i18n/messagebundle_ar.properties +8 -4
  221. package/src/sap/cux/home/i18n/messagebundle_bg.properties +8 -4
  222. package/src/sap/cux/home/i18n/messagebundle_ca.properties +8 -4
  223. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +8 -4
  224. package/src/sap/cux/home/i18n/messagebundle_cs.properties +8 -4
  225. package/src/sap/cux/home/i18n/messagebundle_cy.properties +8 -4
  226. package/src/sap/cux/home/i18n/messagebundle_da.properties +8 -4
  227. package/src/sap/cux/home/i18n/messagebundle_de.properties +8 -4
  228. package/src/sap/cux/home/i18n/messagebundle_el.properties +8 -4
  229. package/src/sap/cux/home/i18n/messagebundle_en.properties +9 -5
  230. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +8 -4
  231. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +14 -6
  232. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +14 -6
  233. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +8 -4
  234. package/src/sap/cux/home/i18n/messagebundle_es.properties +8 -4
  235. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +8 -4
  236. package/src/sap/cux/home/i18n/messagebundle_et.properties +8 -4
  237. package/src/sap/cux/home/i18n/messagebundle_fi.properties +8 -4
  238. package/src/sap/cux/home/i18n/messagebundle_fr.properties +8 -4
  239. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +8 -4
  240. package/src/sap/cux/home/i18n/messagebundle_hi.properties +8 -4
  241. package/src/sap/cux/home/i18n/messagebundle_hr.properties +8 -4
  242. package/src/sap/cux/home/i18n/messagebundle_hu.properties +8 -4
  243. package/src/sap/cux/home/i18n/messagebundle_id.properties +8 -4
  244. package/src/sap/cux/home/i18n/messagebundle_it.properties +10 -6
  245. package/src/sap/cux/home/i18n/messagebundle_iw.properties +8 -4
  246. package/src/sap/cux/home/i18n/messagebundle_ja.properties +8 -4
  247. package/src/sap/cux/home/i18n/messagebundle_kk.properties +8 -4
  248. package/src/sap/cux/home/i18n/messagebundle_ko.properties +8 -4
  249. package/src/sap/cux/home/i18n/messagebundle_lt.properties +8 -4
  250. package/src/sap/cux/home/i18n/messagebundle_lv.properties +8 -4
  251. package/src/sap/cux/home/i18n/messagebundle_mk.properties +8 -4
  252. package/src/sap/cux/home/i18n/messagebundle_ms.properties +8 -4
  253. package/src/sap/cux/home/i18n/messagebundle_nl.properties +8 -4
  254. package/src/sap/cux/home/i18n/messagebundle_no.properties +8 -4
  255. package/src/sap/cux/home/i18n/messagebundle_pl.properties +8 -4
  256. package/src/sap/cux/home/i18n/messagebundle_pt.properties +9 -5
  257. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +8 -4
  258. package/src/sap/cux/home/i18n/messagebundle_ro.properties +8 -4
  259. package/src/sap/cux/home/i18n/messagebundle_ru.properties +8 -4
  260. package/src/sap/cux/home/i18n/messagebundle_sh.properties +8 -4
  261. package/src/sap/cux/home/i18n/messagebundle_sk.properties +8 -4
  262. package/src/sap/cux/home/i18n/messagebundle_sl.properties +8 -4
  263. package/src/sap/cux/home/i18n/messagebundle_sr.properties +8 -4
  264. package/src/sap/cux/home/i18n/messagebundle_sv.properties +8 -4
  265. package/src/sap/cux/home/i18n/messagebundle_th.properties +8 -4
  266. package/src/sap/cux/home/i18n/messagebundle_tr.properties +8 -4
  267. package/src/sap/cux/home/i18n/messagebundle_uk.properties +8 -4
  268. package/src/sap/cux/home/i18n/messagebundle_vi.properties +8 -4
  269. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +8 -4
  270. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +8 -4
  271. package/src/sap/cux/home/interface/AppsInterface.d.ts +6 -0
  272. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  273. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  274. package/src/sap/cux/home/interface/AppsInterface.ts +7 -0
  275. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
  276. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  277. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  278. package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
  279. package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
  280. package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
  281. package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
  282. package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
  283. package/src/sap/cux/home/library.d.ts.map +1 -1
  284. package/src/sap/cux/home/library.js +7 -4
  285. package/src/sap/cux/home/library.js.map +1 -1
  286. package/src/sap/cux/home/library.ts +10 -5
  287. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
  288. package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
  289. package/src/sap/cux/home/themes/base/BaseLayout.less +22 -0
  290. package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +4 -45
  291. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
  292. package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
  293. package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
  294. package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
  295. package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
  296. package/src/sap/cux/home/themes/base/library.source.less +2 -1
  297. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  298. package/src/sap/cux/home/utils/AppManager.js +2 -1
  299. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  300. package/src/sap/cux/home/utils/AppManager.ts +2 -2
  301. package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
  302. package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
  303. package/src/sap/cux/home/utils/FESRUtil.js +36 -1
  304. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  305. package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
  306. package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
  307. package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
  308. package/src/sap/cux/home/utils/PXFeedback.js +28 -0
  309. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
  310. package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
  311. package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
  312. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  313. package/src/sap/cux/home/utils/PageManager.js +6 -6
  314. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  315. package/src/sap/cux/home/utils/PageManager.ts +6 -5
  316. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
  317. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  318. package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
  319. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  320. package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
  321. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +155 -151
  322. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
  323. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
  324. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
  325. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
  326. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
  327. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
  328. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
  329. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
  330. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
  331. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
  332. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
  333. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
  334. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
  335. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
  336. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
  337. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
  338. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
  339. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
  340. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
  341. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
  342. package/ui5.yaml +1 -0
  343. package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
  344. package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
  345. package/src/sap/cux/home/InsightsContainer.js +0 -459
  346. package/src/sap/cux/home/InsightsContainer.js.map +0 -1
  347. package/src/sap/cux/home/InsightsContainer.ts +0 -489
  348. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
  349. package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
  350. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
  351. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
  352. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
  353. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
  354. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
  355. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
@@ -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","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":[]}
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","addFESRSemanticStepName","FESRNavigationSource","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","additionalInfo","fesrSource","Recommended","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, addFESRSemanticStepName, FESRNavigationSource } 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\tthis.additionalInfo = {\n\t\t\tfesrSource: FESRNavigationSource.Recommended\n\t\t};\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\taddFESRSemanticStepName(addButton, \"press\", \"acceptRecommended\");\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\taddFESRSemanticStepName(cancelButton, \"press\", \"cancelRecommended\");\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":[]}
@@ -30,7 +30,7 @@ import type { $BasePanelSettings } from "./BasePanel";
30
30
  import MenuItem, { MenuItem$PressEvent } from "./MenuItem";
31
31
  import { REPO_BASE_URL, SETTINGS_PANELS_KEYS } from "./utils/Constants";
32
32
  import { DeviceType } from "./utils/Device";
33
- import { addFESRId } from "./utils/FESRUtil";
33
+ import { addFESRId, addFESRSemanticStepName, FESRNavigationSource } from "./utils/FESRUtil";
34
34
  import HttpHelper from "./utils/HttpHelper";
35
35
 
36
36
  const CONSTANTS = {
@@ -89,6 +89,9 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
89
89
  this.fireSupported({ isSupported: showRecommendation });
90
90
  });
91
91
  this._createAddToFavouritesMenuItem();
92
+ this.additionalInfo = {
93
+ fesrSource: FESRNavigationSource.Recommended
94
+ };
92
95
  }
93
96
 
94
97
  /**
@@ -181,11 +184,13 @@ export default class RecommendedAppPanel extends BaseAppPersPanel {
181
184
  },
182
185
  enabled: this._selectedApps.length > 0
183
186
  });
187
+ addFESRSemanticStepName(addButton, "press", "acceptRecommended");
184
188
  const cancelButton = new Button({
185
189
  id: `${dialogId}-cancelBtn`,
186
190
  text: this._i18nBundle.getText("cancelBtn"),
187
191
  press: () => this._closeAddRecommendedDialog(dialogId)
188
192
  });
193
+ addFESRSemanticStepName(cancelButton, "press", "cancelRecommended");
189
194
  const mainTitleText = (this._controlMap.get(`${dialogId}-mainTitle`) as Title).getText();
190
195
  this._controlMap.set(
191
196
  dialogId,
@@ -72,6 +72,13 @@ declare module "sap/cux/home/SettingsDialog" {
72
72
  * @returns {SplitApp} The split app containing the master page and detail pages for the SettingsDialog.
73
73
  */
74
74
  private _getPageContent;
75
+ /**
76
+ * Determines the split app mode based on the current device type.
77
+ *
78
+ * @private
79
+ * @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
80
+ */
81
+ private _getSplitAppMode;
75
82
  /**
76
83
  * Navigates to the detail page associated with the selected item in the master page list.
77
84
  *
@@ -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;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"}
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;IAKjE;;;;;;;;;;;;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;QAQ5B;;;;;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,gBAAgB;QAOxB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QA4B7B;;;;;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"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/m/Page", "sap/m/SplitApp", "sap/m/StandardListItem", "sap/m/Title", "sap/ui/core/Element", "sap/ui/Device", "./BaseSettingsDialog", "./utils/Device"], function (Bar, Button, sap_m_library, List, Page, SplitApp, StandardListItem, Title, Element, Device, __BaseSettingsDialog, ___utils_Device) {
5
+ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/m/Page", "sap/m/SplitApp", "sap/m/StandardListItem", "sap/m/Title", "sap/ui/core/Element", "sap/ui/Device", "./BaseSettingsDialog", "./utils/DataFormatUtils", "./utils/Device"], function (Bar, Button, sap_m_library, List, Page, SplitApp, StandardListItem, Title, Element, Device, __BaseSettingsDialog, ___utils_DataFormatUtils, ___utils_Device) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -10,6 +10,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
10
10
  }
11
11
  const SplitAppMode = sap_m_library["SplitAppMode"];
12
12
  const BaseSettingsDialog = _interopRequireDefault(__BaseSettingsDialog);
13
+ const recycleId = ___utils_DataFormatUtils["recycleId"];
13
14
  const calculateDeviceType = ___utils_Device["calculateDeviceType"];
14
15
  const DeviceType = ___utils_Device["DeviceType"];
15
16
  /**
@@ -67,8 +68,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
67
68
  */
68
69
  _attachResizeHandler: function _attachResizeHandler() {
69
70
  Device.resize.attachHandler(() => {
70
- const deviceType = calculateDeviceType();
71
- this._splitApp.setMode(deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? "ShowHideMode" : "HideMode");
71
+ this._splitApp.setMode(this._getSplitAppMode());
72
72
  this._showHamburger = undefined;
73
73
  const isMasterShown = this._splitApp.isMasterShown();
74
74
  this._updateHeaderButtonVisibility(isMasterShown);
@@ -81,15 +81,15 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
81
81
  * @returns {Bar} The custom header bar for the SettingsDialog.
82
82
  */
83
83
  _setCustomHeader: function _setCustomHeader() {
84
- this._menuBtn = new Button(`${this.getId()}-menu-btn`, {
84
+ this._menuBtn = new Button(recycleId(`${this.getId()}-menu-btn`), {
85
85
  icon: "sap-icon://menu2",
86
86
  tooltip: this._i18nBundle.getText("showMenu"),
87
87
  press: () => this._toggleMasterPage(),
88
88
  visible: false
89
89
  });
90
- return new Bar(`${this.getId()}-header`, {
90
+ return new Bar(recycleId(`${this.getId()}-header`), {
91
91
  contentLeft: [this._menuBtn],
92
- contentMiddle: [new Title(`${this.getId()}-dialog-title`, {
92
+ contentMiddle: [new Title(recycleId(`${this.getId()}-dialog-title`), {
93
93
  text: this._i18nBundle.getText("myHomeSettings"),
94
94
  level: "H1"
95
95
  })]
@@ -167,12 +167,22 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
167
167
  content: [this._menuList]
168
168
  });
169
169
  this._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {
170
- mode: "ShowHideMode",
170
+ mode: this._getSplitAppMode(),
171
171
  masterPages: [this._masterPage],
172
172
  masterButton: event => this._hideNavigationButton(event)
173
173
  });
174
174
  return this._splitApp;
175
175
  },
176
+ /**
177
+ * Determines the split app mode based on the current device type.
178
+ *
179
+ * @private
180
+ * @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
181
+ */
182
+ _getSplitAppMode: function _getSplitAppMode() {
183
+ const deviceType = calculateDeviceType();
184
+ return deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop ? SplitAppMode.ShowHideMode : SplitAppMode.HideMode;
185
+ },
176
186
  /**
177
187
  * Navigates to the detail page associated with the selected item in the master page list.
178
188
  *
@@ -190,9 +200,7 @@ sap.ui.define(["sap/m/Bar", "sap/m/Button", "sap/m/library", "sap/m/List", "sap/
190
200
  const detailPage = Element.getElementById(`${selectedKey}-detail-page`);
191
201
  this._splitApp.toDetail(detailPage.getId(), "slide");
192
202
  this._splitApp.hideMaster();
193
- if (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {
194
- this._updateHeaderButtonVisibility(false);
195
- }
203
+ this._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);
196
204
 
197
205
  //fire panel navigated event
198
206
  const selectedPanel = this.getPanels().find(panel => panel.getProperty("key") === selectedKey);
@@ -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","_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":[]}
1
+ {"version":3,"file":"SettingsDialog.js","names":["sap","ui","define","Bar","Button","sap_m_library","List","Page","SplitApp","StandardListItem","Title","Element","Device","__BaseSettingsDialog","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","SplitAppMode","BaseSettingsDialog","recycleId","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","_splitApp","setMode","_getSplitAppMode","_showHamburger","undefined","isMasterShown","_updateHeaderButtonVisibility","_menuBtn","icon","tooltip","_toggleMasterPage","visible","contentLeft","contentMiddle","level","deviceType","_deviceType","Mobile","toMaster","_masterPage","showMaster","hideMaster","setVisible","Tablet","orientation","portrait","tooltipText","setTooltip","visibility","_menuList","mode","itemPress","event","_navigateToDetailPage","addStyleClass","masterPages","masterButton","_hideNavigationButton","Desktop","LargeDesktop","XLargeDesktop","ShowHideMode","HideMode","context","listItem","getParameter","firstPanel","getPanels","selectedKey","data","getProperty","setProperty","detailPage","getElementById","toDetail","getMode","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 { recycleId } from \"./utils/DataFormatUtils\";\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\tthis._splitApp.setMode(this._getSplitAppMode());\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(recycleId(`${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(recycleId(`${this.getId()}-header`), {\n\t\t\tcontentLeft: [this._menuBtn],\n\t\t\tcontentMiddle: [\n\t\t\t\tnew Title(recycleId(`${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: this._getSplitAppMode(),\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 * Determines the split app mode based on the current device type.\n\t *\n\t * @private\n\t * @returns {\"ShowHideMode\" | \"HideMode\"} The appropriate split app mode string.\n\t */\n\tprivate _getSplitAppMode(): SplitAppMode {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop\n\t\t\t? SplitAppMode.ShowHideMode\n\t\t\t: SplitAppMode.HideMode;\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\tthis._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);\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":[]}
@@ -18,6 +18,7 @@ import Element from "sap/ui/core/Element";
18
18
  import Device from "sap/ui/Device";
19
19
  import BaseSettingsDialog from "./BaseSettingsDialog";
20
20
  import BaseSettingsPanel from "./BaseSettingsPanel";
21
+ import { recycleId } from "./utils/DataFormatUtils";
21
22
  import { calculateDeviceType, DeviceType } from "./utils/Device";
22
23
 
23
24
  /**
@@ -89,12 +90,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
89
90
 
90
91
  private _attachResizeHandler(): void {
91
92
  Device.resize.attachHandler(() => {
92
- const deviceType = calculateDeviceType();
93
- this._splitApp.setMode(
94
- deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop
95
- ? "ShowHideMode"
96
- : "HideMode"
97
- );
93
+ this._splitApp.setMode(this._getSplitAppMode());
98
94
  this._showHamburger = undefined;
99
95
  const isMasterShown = this._splitApp.isMasterShown();
100
96
  this._updateHeaderButtonVisibility(isMasterShown);
@@ -107,16 +103,16 @@ export default class SettingsDialog extends BaseSettingsDialog {
107
103
  * @returns {Bar} The custom header bar for the SettingsDialog.
108
104
  */
109
105
  private _setCustomHeader(): Bar {
110
- this._menuBtn = new Button(`${this.getId()}-menu-btn`, {
106
+ this._menuBtn = new Button(recycleId(`${this.getId()}-menu-btn`), {
111
107
  icon: "sap-icon://menu2",
112
108
  tooltip: this._i18nBundle.getText("showMenu"),
113
109
  press: () => this._toggleMasterPage(),
114
110
  visible: false
115
111
  });
116
- return new Bar(`${this.getId()}-header`, {
112
+ return new Bar(recycleId(`${this.getId()}-header`), {
117
113
  contentLeft: [this._menuBtn],
118
114
  contentMiddle: [
119
- new Title(`${this.getId()}-dialog-title`, {
115
+ new Title(recycleId(`${this.getId()}-dialog-title`), {
120
116
  text: this._i18nBundle.getText("myHomeSettings"),
121
117
  level: "H1"
122
118
  })
@@ -198,7 +194,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
198
194
  content: [this._menuList]
199
195
  });
200
196
  this._splitApp = new SplitApp(`${this.getId()}-settingsApp`, {
201
- mode: "ShowHideMode",
197
+ mode: this._getSplitAppMode(),
202
198
  masterPages: [this._masterPage],
203
199
  masterButton: (event: Event) => this._hideNavigationButton(event)
204
200
  });
@@ -206,6 +202,19 @@ export default class SettingsDialog extends BaseSettingsDialog {
206
202
  return this._splitApp;
207
203
  }
208
204
 
205
+ /**
206
+ * Determines the split app mode based on the current device type.
207
+ *
208
+ * @private
209
+ * @returns {"ShowHideMode" | "HideMode"} The appropriate split app mode string.
210
+ */
211
+ private _getSplitAppMode(): SplitAppMode {
212
+ const deviceType = calculateDeviceType();
213
+ return deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop
214
+ ? SplitAppMode.ShowHideMode
215
+ : SplitAppMode.HideMode;
216
+ }
217
+
209
218
  /**
210
219
  * Navigates to the detail page associated with the selected item in the master page list.
211
220
  *
@@ -223,9 +232,7 @@ export default class SettingsDialog extends BaseSettingsDialog {
223
232
  const detailPage = Element.getElementById(`${selectedKey}-detail-page`) as Page;
224
233
  this._splitApp.toDetail(detailPage.getId(), "slide");
225
234
  this._splitApp.hideMaster();
226
- if (this._splitApp.getMode() === SplitAppMode.ShowHideMode) {
227
- this._updateHeaderButtonVisibility(false);
228
- }
235
+ this._updateHeaderButtonVisibility(this._splitApp.getMode() === SplitAppMode.ShowHideMode);
229
236
 
230
237
  //fire panel navigated event
231
238
  const selectedPanel = this.getPanels().find(
@@ -43,6 +43,16 @@ declare module "sap/cux/home/SideBySideIconTabFilter" {
43
43
  * @returns {this} The instance of SideBySideIconTabFilter, to allow method chaining.
44
44
  */
45
45
  addContent(content: Control): this;
46
+ /**
47
+ * Hides the badge on the tab filter.
48
+ *
49
+ * Overridden to prevent hiding the badge in Side-by-Side mode automatically.
50
+ * Show/hide of the badge is controlled via the 'showBadge' property of the associated panel.
51
+ *
52
+ * @private
53
+ * @override
54
+ */
55
+ _hideBadge(): void;
46
56
  }
47
57
  }
48
58
  //# sourceMappingURL=SideBySideIconTabFilter.d.ts.map
@@ -1 +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"}
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;QAMzC;;;;;;;;WAQG;QACI,UAAU,IAAI,IAAI;KACzB;CAEA"}