@sapui5/sap.cux.home 1.136.3 → 1.139.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 (446) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +0 -3
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +11 -7
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +13 -7
  8. package/src/sap/cux/home/App.d.ts +1 -2
  9. package/src/sap/cux/home/App.d.ts.map +1 -1
  10. package/src/sap/cux/home/App.js +7 -2
  11. package/src/sap/cux/home/App.js.map +1 -1
  12. package/src/sap/cux/home/App.ts +8 -3
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts +0 -2
  14. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.js +31 -15
  16. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  17. package/src/sap/cux/home/AppsAdditionPanel.ts +36 -16
  18. package/src/sap/cux/home/AppsContainer.d.ts +0 -2
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.js +5 -8
  21. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  22. package/src/sap/cux/home/AppsContainer.ts +3 -8
  23. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  24. package/src/sap/cux/home/BaseApp.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseApp.js +10 -3
  26. package/src/sap/cux/home/BaseApp.js.map +1 -1
  27. package/src/sap/cux/home/BaseApp.ts +11 -4
  28. package/src/sap/cux/home/BaseAppPanel.d.ts +0 -2
  29. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  30. package/src/sap/cux/home/BaseAppPanel.js +5 -6
  31. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  32. package/src/sap/cux/home/BaseAppPanel.ts +3 -5
  33. package/src/sap/cux/home/BaseAppPersPanel.d.ts +0 -2
  34. package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
  35. package/src/sap/cux/home/BaseAppPersPanel.js +6 -6
  36. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  37. package/src/sap/cux/home/BaseAppPersPanel.ts +9 -7
  38. package/src/sap/cux/home/BaseContainer.d.ts +0 -1
  39. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  40. package/src/sap/cux/home/BaseContainer.js +10 -5
  41. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  42. package/src/sap/cux/home/BaseContainer.ts +10 -5
  43. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  44. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  45. package/src/sap/cux/home/BaseContainerRenderer.js +17 -19
  46. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  47. package/src/sap/cux/home/BaseContainerRenderer.ts +21 -25
  48. package/src/sap/cux/home/BaseLayout.d.ts +0 -1
  49. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  50. package/src/sap/cux/home/BaseLayout.js +1 -2
  51. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  52. package/src/sap/cux/home/BaseLayout.ts +1 -2
  53. package/src/sap/cux/home/BaseNewsItem.d.ts +1 -2
  54. package/src/sap/cux/home/BaseNewsItem.d.ts.map +1 -1
  55. package/src/sap/cux/home/BaseNewsItem.js +7 -2
  56. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  57. package/src/sap/cux/home/BaseNewsItem.ts +8 -3
  58. package/src/sap/cux/home/BaseNewsPanel.d.ts +1 -2
  59. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  60. package/src/sap/cux/home/BaseNewsPanel.js +7 -2
  61. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  62. package/src/sap/cux/home/BaseNewsPanel.ts +8 -3
  63. package/src/sap/cux/home/BasePagePanel.d.ts +1 -2
  64. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  65. package/src/sap/cux/home/BasePagePanel.gen.d.ts +34 -0
  66. package/src/sap/cux/home/BasePagePanel.js +16 -2
  67. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  68. package/src/sap/cux/home/BasePagePanel.ts +17 -3
  69. package/src/sap/cux/home/BasePanel.d.ts +0 -1
  70. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  71. package/src/sap/cux/home/BasePanel.js +0 -1
  72. package/src/sap/cux/home/BasePanel.js.map +1 -1
  73. package/src/sap/cux/home/BasePanel.ts +0 -1
  74. package/src/sap/cux/home/BaseSettingsDialog.d.ts +0 -1
  75. package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
  76. package/src/sap/cux/home/BaseSettingsDialog.js +0 -1
  77. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  78. package/src/sap/cux/home/BaseSettingsDialog.ts +0 -1
  79. package/src/sap/cux/home/BaseSettingsPanel.d.ts +0 -1
  80. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  81. package/src/sap/cux/home/BaseSettingsPanel.js +2 -2
  82. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  83. package/src/sap/cux/home/BaseSettingsPanel.ts +3 -2
  84. package/src/sap/cux/home/CardsPanel.d.ts +0 -1
  85. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/CardsPanel.js +3 -4
  87. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  88. package/src/sap/cux/home/CardsPanel.ts +3 -7
  89. package/src/sap/cux/home/ContentAdditionDialog.d.ts +0 -3
  90. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  91. package/src/sap/cux/home/ContentAdditionDialog.js +4 -8
  92. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  93. package/src/sap/cux/home/ContentAdditionDialog.ts +4 -8
  94. package/src/sap/cux/home/ErrorPanel.d.ts +1 -2
  95. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  96. package/src/sap/cux/home/ErrorPanel.gen.d.ts +24 -0
  97. package/src/sap/cux/home/ErrorPanel.js +16 -2
  98. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  99. package/src/sap/cux/home/ErrorPanel.ts +17 -3
  100. package/src/sap/cux/home/FavAppPanel.d.ts +0 -1
  101. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/FavAppPanel.js +15 -12
  103. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  104. package/src/sap/cux/home/FavAppPanel.ts +20 -15
  105. package/src/sap/cux/home/FrequentAppPanel.d.ts +0 -1
  106. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  107. package/src/sap/cux/home/FrequentAppPanel.js +0 -1
  108. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  109. package/src/sap/cux/home/FrequentAppPanel.ts +0 -1
  110. package/src/sap/cux/home/Group.d.ts +2 -2
  111. package/src/sap/cux/home/Group.d.ts.map +1 -1
  112. package/src/sap/cux/home/Group.gen.d.ts +47 -1
  113. package/src/sap/cux/home/Group.js +30 -3
  114. package/src/sap/cux/home/Group.js.map +1 -1
  115. package/src/sap/cux/home/Group.ts +26 -6
  116. package/src/sap/cux/home/IToDoPanel.d.ts +1 -2
  117. package/src/sap/cux/home/IToDoPanel.d.ts.map +1 -1
  118. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  119. package/src/sap/cux/home/IToDoPanel.ts +1 -2
  120. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +0 -4
  121. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  122. package/src/sap/cux/home/InsightsAdditionPanel.js +5 -14
  123. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  124. package/src/sap/cux/home/InsightsAdditionPanel.ts +5 -16
  125. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +0 -3
  126. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
  127. package/src/sap/cux/home/InsightsCardsSettingsPanel.js +0 -3
  128. package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
  129. package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +0 -3
  130. package/src/sap/cux/home/InsightsContainer.d.ts +1 -2
  131. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  132. package/src/sap/cux/home/InsightsContainer.js +21 -5
  133. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  134. package/src/sap/cux/home/InsightsContainer.ts +24 -5
  135. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts +0 -3
  136. package/src/sap/cux/home/InsightsTilesSettingsPanel.d.ts.map +1 -1
  137. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +5 -5
  138. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  139. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +5 -5
  140. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +0 -3
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +0 -3
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  144. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +0 -3
  145. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts +0 -3
  146. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +0 -3
  148. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  149. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +0 -3
  150. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +0 -3
  151. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  152. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -6
  153. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  154. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +13 -8
  155. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts +0 -3
  156. package/src/sap/cux/home/KeyUserPagesSettingsPanel.d.ts.map +1 -1
  157. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +0 -3
  158. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  159. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +0 -3
  160. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +0 -3
  161. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  162. package/src/sap/cux/home/KeyUserSettingsDialog.js +0 -3
  163. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  164. package/src/sap/cux/home/KeyUserSettingsDialog.ts +0 -3
  165. package/src/sap/cux/home/Layout.d.ts +0 -2
  166. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  167. package/src/sap/cux/home/Layout.js +0 -2
  168. package/src/sap/cux/home/Layout.js.map +1 -1
  169. package/src/sap/cux/home/Layout.ts +0 -3
  170. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +0 -3
  171. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  172. package/src/sap/cux/home/LayoutSettingsPanel.js +0 -3
  173. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  174. package/src/sap/cux/home/LayoutSettingsPanel.ts +0 -3
  175. package/src/sap/cux/home/MenuItem.d.ts +0 -1
  176. package/src/sap/cux/home/MenuItem.d.ts.map +1 -1
  177. package/src/sap/cux/home/MenuItem.js +0 -1
  178. package/src/sap/cux/home/MenuItem.js.map +1 -1
  179. package/src/sap/cux/home/MenuItem.ts +0 -1
  180. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +12 -14
  181. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  182. package/src/sap/cux/home/NewsAndPagesContainer.js +10 -12
  183. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  184. package/src/sap/cux/home/NewsAndPagesContainer.ts +20 -18
  185. package/src/sap/cux/home/NewsGroup.d.ts +0 -3
  186. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  187. package/src/sap/cux/home/NewsGroup.js +0 -3
  188. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  189. package/src/sap/cux/home/NewsGroup.ts +0 -3
  190. package/src/sap/cux/home/NewsItem.d.ts +0 -3
  191. package/src/sap/cux/home/NewsItem.d.ts.map +1 -1
  192. package/src/sap/cux/home/NewsItem.js +0 -3
  193. package/src/sap/cux/home/NewsItem.js.map +1 -1
  194. package/src/sap/cux/home/NewsItem.ts +0 -3
  195. package/src/sap/cux/home/NewsPanel.d.ts +7 -10
  196. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/NewsPanel.js +13 -14
  198. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  199. package/src/sap/cux/home/NewsPanel.ts +15 -14
  200. package/src/sap/cux/home/NewsSettingsPanel.d.ts +0 -3
  201. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/NewsSettingsPanel.js +1 -4
  203. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  204. package/src/sap/cux/home/NewsSettingsPanel.ts +1 -4
  205. package/src/sap/cux/home/NoDataContainer.d.ts +0 -2
  206. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  207. package/src/sap/cux/home/NoDataContainer.js +0 -1
  208. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  209. package/src/sap/cux/home/NoDataContainer.ts +0 -1
  210. package/src/sap/cux/home/Page.d.ts +0 -3
  211. package/src/sap/cux/home/Page.d.ts.map +1 -1
  212. package/src/sap/cux/home/Page.gen.d.ts +0 -12
  213. package/src/sap/cux/home/Page.js +0 -7
  214. package/src/sap/cux/home/Page.js.map +1 -1
  215. package/src/sap/cux/home/Page.ts +0 -7
  216. package/src/sap/cux/home/PagePanel.d.ts +0 -4
  217. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  218. package/src/sap/cux/home/PagePanel.js +0 -4
  219. package/src/sap/cux/home/PagePanel.js.map +1 -1
  220. package/src/sap/cux/home/PagePanel.ts +0 -4
  221. package/src/sap/cux/home/PageSettingsPanel.d.ts +0 -3
  222. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  223. package/src/sap/cux/home/PageSettingsPanel.js +3 -5
  224. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  225. package/src/sap/cux/home/PageSettingsPanel.ts +3 -5
  226. package/src/sap/cux/home/RecentAppPanel.d.ts +0 -1
  227. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  228. package/src/sap/cux/home/RecentAppPanel.js +0 -1
  229. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  230. package/src/sap/cux/home/RecentAppPanel.ts +0 -1
  231. package/src/sap/cux/home/RecommendedAppPanel.d.ts +0 -1
  232. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  233. package/src/sap/cux/home/RecommendedAppPanel.js +0 -1
  234. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  235. package/src/sap/cux/home/RecommendedAppPanel.ts +0 -1
  236. package/src/sap/cux/home/SettingsDialog.d.ts +0 -3
  237. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  238. package/src/sap/cux/home/SettingsDialog.js +2 -4
  239. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  240. package/src/sap/cux/home/SettingsDialog.ts +2 -4
  241. package/src/sap/cux/home/SituationPanel.d.ts +0 -1
  242. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  243. package/src/sap/cux/home/SituationPanel.js +0 -1
  244. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  245. package/src/sap/cux/home/SituationPanel.ts +0 -1
  246. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +207 -0
  247. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -0
  248. package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +200 -0
  249. package/src/sap/cux/home/SpaceInsightsPanel.js +789 -0
  250. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -0
  251. package/src/sap/cux/home/SpaceInsightsPanel.ts +631 -0
  252. package/src/sap/cux/home/SpacePanel.d.ts +117 -0
  253. package/src/sap/cux/home/SpacePanel.d.ts.map +1 -0
  254. package/src/sap/cux/home/SpacePanel.gen.d.ts +77 -0
  255. package/src/sap/cux/home/SpacePanel.js +599 -0
  256. package/src/sap/cux/home/SpacePanel.js.map +1 -0
  257. package/src/sap/cux/home/SpacePanel.ts +461 -0
  258. package/src/sap/cux/home/TaskPanel.d.ts +0 -1
  259. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  260. package/src/sap/cux/home/TaskPanel.js +8 -20
  261. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  262. package/src/sap/cux/home/TaskPanel.ts +9 -20
  263. package/src/sap/cux/home/TilesPanel.d.ts +0 -1
  264. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  265. package/src/sap/cux/home/TilesPanel.js +5 -6
  266. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  267. package/src/sap/cux/home/TilesPanel.ts +5 -12
  268. package/src/sap/cux/home/ToDoPanel.d.ts +11 -1
  269. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  270. package/src/sap/cux/home/ToDoPanel.js +59 -22
  271. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  272. package/src/sap/cux/home/ToDoPanel.ts +63 -22
  273. package/src/sap/cux/home/ToDosContainer.d.ts +0 -2
  274. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  275. package/src/sap/cux/home/ToDosContainer.js +2 -3
  276. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  277. package/src/sap/cux/home/ToDosContainer.ts +1 -2
  278. package/src/sap/cux/home/i18n/messagebundle.properties +22 -13
  279. package/src/sap/cux/home/i18n/messagebundle_ar.properties +6 -3
  280. package/src/sap/cux/home/i18n/messagebundle_bg.properties +6 -3
  281. package/src/sap/cux/home/i18n/messagebundle_ca.properties +6 -3
  282. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +6 -3
  283. package/src/sap/cux/home/i18n/messagebundle_cs.properties +6 -3
  284. package/src/sap/cux/home/i18n/messagebundle_cy.properties +6 -3
  285. package/src/sap/cux/home/i18n/messagebundle_da.properties +6 -3
  286. package/src/sap/cux/home/i18n/messagebundle_de.properties +6 -3
  287. package/src/sap/cux/home/i18n/messagebundle_el.properties +6 -3
  288. package/src/sap/cux/home/i18n/messagebundle_en.properties +6 -3
  289. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +6 -3
  290. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +65 -13
  291. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +19 -9
  292. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +57 -11
  293. package/src/sap/cux/home/i18n/messagebundle_es.properties +6 -3
  294. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +6 -3
  295. package/src/sap/cux/home/i18n/messagebundle_et.properties +6 -3
  296. package/src/sap/cux/home/i18n/messagebundle_fi.properties +6 -3
  297. package/src/sap/cux/home/i18n/messagebundle_fr.properties +6 -3
  298. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +6 -3
  299. package/src/sap/cux/home/i18n/messagebundle_hi.properties +6 -3
  300. package/src/sap/cux/home/i18n/messagebundle_hr.properties +6 -3
  301. package/src/sap/cux/home/i18n/messagebundle_hu.properties +6 -3
  302. package/src/sap/cux/home/i18n/messagebundle_id.properties +6 -3
  303. package/src/sap/cux/home/i18n/messagebundle_it.properties +6 -3
  304. package/src/sap/cux/home/i18n/messagebundle_iw.properties +6 -3
  305. package/src/sap/cux/home/i18n/messagebundle_ja.properties +6 -3
  306. package/src/sap/cux/home/i18n/messagebundle_kk.properties +6 -3
  307. package/src/sap/cux/home/i18n/messagebundle_ko.properties +6 -3
  308. package/src/sap/cux/home/i18n/messagebundle_lt.properties +6 -3
  309. package/src/sap/cux/home/i18n/messagebundle_lv.properties +6 -3
  310. package/src/sap/cux/home/i18n/messagebundle_mk.properties +6 -3
  311. package/src/sap/cux/home/i18n/messagebundle_ms.properties +6 -3
  312. package/src/sap/cux/home/i18n/messagebundle_nl.properties +6 -3
  313. package/src/sap/cux/home/i18n/messagebundle_no.properties +6 -3
  314. package/src/sap/cux/home/i18n/messagebundle_pl.properties +6 -3
  315. package/src/sap/cux/home/i18n/messagebundle_pt.properties +6 -3
  316. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +6 -3
  317. package/src/sap/cux/home/i18n/messagebundle_ro.properties +6 -3
  318. package/src/sap/cux/home/i18n/messagebundle_ru.properties +6 -3
  319. package/src/sap/cux/home/i18n/messagebundle_sh.properties +6 -3
  320. package/src/sap/cux/home/i18n/messagebundle_sk.properties +6 -3
  321. package/src/sap/cux/home/i18n/messagebundle_sl.properties +6 -3
  322. package/src/sap/cux/home/i18n/messagebundle_sr.properties +6 -3
  323. package/src/sap/cux/home/i18n/messagebundle_sv.properties +6 -3
  324. package/src/sap/cux/home/i18n/messagebundle_th.properties +6 -3
  325. package/src/sap/cux/home/i18n/messagebundle_tr.properties +6 -3
  326. package/src/sap/cux/home/i18n/messagebundle_uk.properties +6 -3
  327. package/src/sap/cux/home/i18n/messagebundle_vi.properties +6 -3
  328. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +6 -3
  329. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +6 -3
  330. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
  331. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  332. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  333. package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
  334. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
  335. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  336. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  337. package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
  338. package/src/sap/cux/home/library.d.ts +3 -4
  339. package/src/sap/cux/home/library.d.ts.map +1 -1
  340. package/src/sap/cux/home/library.js +3 -4
  341. package/src/sap/cux/home/library.js.map +1 -1
  342. package/src/sap/cux/home/library.ts +3 -4
  343. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +1 -9
  344. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  345. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +0 -5
  346. package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -1
  347. package/src/sap/cux/home/utils/Accessibility.js +2 -2
  348. package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
  349. package/src/sap/cux/home/utils/Accessibility.ts +2 -2
  350. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +0 -1
  351. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts.map +1 -1
  352. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +0 -1
  353. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
  354. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +0 -1
  355. package/src/sap/cux/home/utils/AppManager.d.ts +4 -7
  356. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  357. package/src/sap/cux/home/utils/AppManager.js +12 -13
  358. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  359. package/src/sap/cux/home/utils/AppManager.ts +20 -13
  360. package/src/sap/cux/home/utils/BatchHelper.d.ts +0 -3
  361. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  362. package/src/sap/cux/home/utils/BatchHelper.js +0 -3
  363. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  364. package/src/sap/cux/home/utils/BatchHelper.ts +0 -3
  365. package/src/sap/cux/home/utils/CommonUtils.d.ts +9 -0
  366. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  367. package/src/sap/cux/home/utils/CommonUtils.js +23 -2
  368. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  369. package/src/sap/cux/home/utils/CommonUtils.ts +28 -1
  370. package/src/sap/cux/home/utils/Constants.d.ts +4 -5
  371. package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
  372. package/src/sap/cux/home/utils/Constants.js +5 -5
  373. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  374. package/src/sap/cux/home/utils/Constants.ts +4 -5
  375. package/src/sap/cux/home/utils/DecisionDialog.d.ts +0 -3
  376. package/src/sap/cux/home/utils/DecisionDialog.d.ts.map +1 -1
  377. package/src/sap/cux/home/utils/DecisionDialog.js +0 -3
  378. package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
  379. package/src/sap/cux/home/utils/DecisionDialog.ts +0 -3
  380. package/src/sap/cux/home/utils/FESRUtil.js +1 -1
  381. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  382. package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
  383. package/src/sap/cux/home/utils/FeatureUtils.d.ts +20 -13
  384. package/src/sap/cux/home/utils/FeatureUtils.d.ts.map +1 -1
  385. package/src/sap/cux/home/utils/FeatureUtils.js +33 -29
  386. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  387. package/src/sap/cux/home/utils/FeatureUtils.ts +38 -31
  388. package/src/sap/cux/home/utils/HttpHelper.d.ts +7 -3
  389. package/src/sap/cux/home/utils/HttpHelper.d.ts.map +1 -1
  390. package/src/sap/cux/home/utils/HttpHelper.js +43 -3
  391. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  392. package/src/sap/cux/home/utils/HttpHelper.ts +25 -3
  393. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +1 -1
  394. package/src/sap/cux/home/utils/KeyUserPersonalization.js +32 -13
  395. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +1 -1
  396. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +2 -3
  397. package/src/sap/cux/home/utils/PageManager.d.ts +0 -3
  398. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  399. package/src/sap/cux/home/utils/PageManager.js +0 -3
  400. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  401. package/src/sap/cux/home/utils/PageManager.ts +0 -3
  402. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +0 -3
  403. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts.map +1 -1
  404. package/src/sap/cux/home/utils/PersonalisationUtils.js +0 -3
  405. package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
  406. package/src/sap/cux/home/utils/PersonalisationUtils.ts +0 -3
  407. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -3
  408. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  409. package/src/sap/cux/home/utils/UshellPersonalizer.js +0 -3
  410. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  411. package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -3
  412. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +20 -16
  413. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
  414. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
  415. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
  416. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
  417. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
  418. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
  419. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
  420. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
  421. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
  422. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
  423. package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
  424. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
  425. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
  426. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
  427. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
  428. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
  429. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
  430. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
  431. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
  432. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
  433. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
  434. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
  435. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
  436. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
  437. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
  438. package/src/sap/cux/home/utils/CardSkeleton.d.ts +0 -54
  439. package/src/sap/cux/home/utils/CardSkeleton.d.ts.map +0 -1
  440. package/src/sap/cux/home/utils/CardSkeleton.js +0 -61
  441. package/src/sap/cux/home/utils/CardSkeleton.js.map +0 -1
  442. package/src/sap/cux/home/utils/CardSkeleton.ts +0 -53
  443. /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
  444. /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
  445. /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
  446. /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","HeaderContainer","IllustratedMessage","IllustratedMessageSize","MessageToast","VBox","sap_m_library","Config","Container","__App","__BasePanel","__AppManager","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","App","BasePanel","AppManager","getLeanURL","recycleId","DeviceType","BaseAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","events","persistDialog","supported","parameters","isSupported","properties","tileWidth","group","defaultValue","visibility","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_isDirty","_isMobileDirty","_isLoaded","_isSupported","_setAggregation","control","items","aggregationName","forEach","oItem","addAggregation","init","_init","BasePanel.prototype.init.call","appManagerInstance","getInstance","_controlMap","Map","_appsPanelWrapper","_generateWrapper","_addContent","getId","_generateDesktopAppsWrapper","_generateMobileAppsWrapper","_generateErrorMessage","width","addStyleClass","controlId","get","set","_generateAppsWrapper","visible","getDeviceType","Mobile","backgroundDesign","Solid","_appsWrapper","layout","columnSize","getProperty","rowSize","gap","_mobileAppsWrapper","gridLayout","showDividers","height","content","_errorCard","wrap","generateIllustratedMessage","getApps","length","justifyContent","setHeight","generateApps","_generateApps","visualizationsData","map","visualizationData","index","groupId","persConfig","sectionId","defaultSection","isDefaultSection","getKey","app","title","subTitle","subtitle","bgColor","BGColor","key","icon","url","vizId","visualization","status","oldAppId","data","menuItems","menuItem","setApps","_setApps","fetchTileVisualization","_fetchTileVisualization","tiles","cards","getContent","card","concat","getItems","convertActivitiesToVisualizations","_convertActivitiesToVisualizations","activities","_this","Promise","resolve","all","_getAllAvailableVisualizations","getServiceAsync","availableVisualizations","URLParsingService","appActivities","filter","activity","appType","orgAppId","appId","visualizations","_convertToVisualization","undefined","_updateVisualizationAvailability","reject","_this2","_temp2","_allAvailableVisualizations","_temp","_getCatalogApps","catalogApps","reduce","catalogApp","_this3","fetchFavVizs","favoriteVisualizations","addedInFavorites","some","favoriteVisualization","_updateActivityInfo","updatedVizConfig","_catalogVisualizationCache","targetURL","_findBestMatchingVisualization","matchingVisualizations","matchedVisualization","find","matchingViz","matchedVisualizationCache","matchedVisualizations","viz","params","parseShellHash","prio","push","filteredVisualizations","_filterMatchingVisualization","sort","val1","val2","parshedShellHash","activityParameters","activityParameterKeys","Object","keys","visualizationParams","visualizationParamKeys","bMatch","every","includes","catalogVisualizations","catalogVisualization","target","semanticObject","action","_addAppToFavorites","event","_this4","setBusy","source","getSource","getParent","getVizId","_temp3","addVisualization","_refreshAllPanels","message","_i18nBundle","getText","getTitle","show","error","_wasThrown","_result","isLoaded","setLoaded","_setLoaded","val","isDirty","setDesktopViewDirty","_setDesktopViewDirty","isMobileDirty","setMobileViewDirty","_setMobileViewDirty","_setBusy","isBusy","oAppsWrapper","_getGroup","groups","getAggregation","getGroupId","setSupported","_setSupported","_attachUserActivityTracking","last","on","do","isTrackingActivityEnabled","fireSupported","refresh","_refresh","_this5","refreshPanel","_generateIllustratedMessage","_errorMessage","illustrationSize","Base","description","_applyUngroupedTileColor","item","color","isA","updatedTileIndex","findIndex","tile","getUrl","setBackgroundColor","exit","_exit","destroy"],"sources":["BaseAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Panel from \"sap/m/Panel\";\nimport VBox from \"sap/m/VBox\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport type UI5Element from \"sap/ui/core/Element\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport URLParsing from \"sap/ushell/services/URLParsing\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { $BaseAppPanelSettings } from \"./BaseAppPanel\";\nimport BasePanel from \"./BasePanel\";\nimport Group from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport { IActivity, ICustomVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Base App Panel class for managing and storing Apps.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.BaseAppPanel\n */\n\nexport default abstract class BaseAppPanel extends BasePanel {\n\tprivate _isDirty: boolean = true;\n\tprivate _isMobileDirty: boolean = true;\n\tprivate _isLoaded: boolean = false;\n\tprivate _appsWrapper!: GridContainer;\n\tprivate _errorCard!: VBox;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _appsPanelWrapper!: VBox;\n\tprivate _allAvailableVisualizations!: IVisualization[];\n\tprivate _catalogVisualizationCache!: Map<string, IVisualization>;\n\tprotected appManagerInstance!: AppManager;\n\tprivate _isSupported: boolean = true;\n\tprivate _mobileAppsWrapper!: HeaderContainer;\n\tprotected _menuItems!: MenuItem[];\n\tprotected _actionButtons!: Button[];\n\tprotected _controlMap!: Map<string, Control | UI5Element>;\n\n\tconstructor(idOrSettings?: string | $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Holds the apps aggregation\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Fired when OnBeforeRendering of container is triggered.\n\t\t\t */\n\t\t\tpersistDialog: {},\n\t\t\t/**\n\t\t\t * Fired when the panel supported property is changed.\n\t\t\t */\n\t\t\tsupported: {\n\t\t\t\tparameters: {\n\t\t\t\t\tisSupported: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies the width of the tile in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\ttileWidth: { type: \"number\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * This method must be implemented by panel, to set the apps that needs to be shown in the panel.\n\t * @abstract\n\t */\n\tabstract loadApps(): Promise<void>;\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t//Add Wrapper to Panel\n\t\tthis._appsPanelWrapper = this._generateWrapper();\n\t\tthis._addContent(this._appsPanelWrapper);\n\t}\n\n\t/**\n\t * Generates the wrapper for the apps panel, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tif (!this._appsPanelWrapper) {\n\t\t\tthis._appsPanelWrapper = new VBox(`${this.getId()}-appsPanelWrapper`, {\n\t\t\t\titems: [this._generateDesktopAppsWrapper(), this._generateMobileAppsWrapper(), this._generateErrorMessage()],\n\t\t\t\twidth: \"100%\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsPanelWrapper\");\n\t\t}\n\t\treturn this._appsPanelWrapper;\n\t}\n\n\t/**\n\t * Generates desktop apps wrapper for displaying apps.\n\t * @private\n\t * @returns {sap.m.VBox} The generated apps wrapper.\n\t */\n\tpublic _generateDesktopAppsWrapper() {\n\t\tconst controlId = `${this.getId()}-desktopAppsWrapper`;\n\t\tif (!this._controlMap.get(controlId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tcontrolId,\n\t\t\t\tnew VBox({\n\t\t\t\t\tid: `${this.getId()}-desktopAppsWrapper`,\n\t\t\t\t\titems: [this._generateAppsWrapper()],\n\t\t\t\t\tvisible: this.getDeviceType() !== DeviceType.Mobile,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid\n\t\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsContainerBorder\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(controlId) as VBox;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying apps.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated apps wrapper.\n\t */\n\tpublic _generateAppsWrapper(): GridContainer {\n\t\t//create container\n\t\tif (!this._appsWrapper) {\n\t\t\tthis._appsWrapper = new GridContainer({\n\t\t\t\tid: `${this.getId()}-appsWrapper`,\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-appsWrapperLayout`, {\n\t\t\t\t\tcolumnSize: `${this.getProperty(\"tileWidth\") / 16}rem`,\n\t\t\t\t\trowSize: \"4.375rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn this._appsWrapper;\n\t}\n\n\t/**\n\t * Generates wrapper for displaying apps in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated apps wrapper.\n\t */\n\tpublic _generateMobileAppsWrapper() {\n\t\tif (!this._mobileAppsWrapper) {\n\t\t\tthis._mobileAppsWrapper = new HeaderContainer({\n\t\t\t\tid: `${this.getId()}-mobileAppsWrapper`,\n\t\t\t\tgridLayout: true,\n\t\t\t\tshowDividers: false,\n\t\t\t\theight: \"23.5rem\",\n\t\t\t\tcontent: [],\n\t\t\t\tvisible: this.getDeviceType() === DeviceType.Mobile\n\t\t\t}).addStyleClass(\"sapUiMargin-26Bottom sapMHeaderContainerAlign\");\n\t\t}\n\t\treturn this._mobileAppsWrapper;\n\t}\n\n\t/**\n\t * Generates the error message wrapper with illustrated message.\n\t * @private\n\t * @returns {sap.m.VBox} Wrapper with illustrated message.\n\t */\n\tpublic _generateErrorMessage(): VBox {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorCard = new VBox(`${this.getId()}-errorCard`, {\n\t\t\t\twrap: \"Wrap\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\titems: [this.generateIllustratedMessage()],\n\t\t\t\tvisible: this.getApps().length === 0,\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel\");\n\t\t}\n\t\tthis._errorCard.setHeight(this.getDeviceType() === DeviceType.Mobile ? \"23.5rem\" : \"auto\");\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Creates and returns app instances for given app objects\n\t * @private\n\t * @param {object[]} appObjects - Array of app object.\n\t * @returns {sap.cux.home.App[]} - Array of app instances\n\t */\n\tpublic generateApps(visualizationsData: ICustomVisualization[]) {\n\t\treturn visualizationsData.map((visualizationData, index) => {\n\t\t\tconst groupId = visualizationData.persConfig?.sectionId;\n\t\t\tconst defaultSection = visualizationData.persConfig?.isDefaultSection;\n\t\t\tconst id =\n\t\t\t\tgroupId && !defaultSection ? recycleId(`${this.getKey()}-groupApp-${index}`) : recycleId(`${this.getKey()}-app-${index}`);\n\t\t\tconst app = new App(id, {\n\t\t\t\ttitle: visualizationData.title,\n\t\t\t\tsubTitle: visualizationData.subtitle,\n\t\t\t\tbgColor: typeof visualizationData.BGColor === \"object\" ? visualizationData.BGColor.key : visualizationData.BGColor,\n\t\t\t\ticon: visualizationData.icon,\n\t\t\t\turl: visualizationData.url,\n\t\t\t\tvizId: visualizationData.vizId || visualizationData.visualization?.vizId,\n\t\t\t\tstatus: visualizationData.status\n\t\t\t});\n\t\t\tif (visualizationData.oldAppId) {\n\t\t\t\tapp.data(\"oldAppId\", visualizationData.oldAppId);\n\t\t\t}\n\t\t\tvisualizationData.menuItems?.forEach((menuItem) => {\n\t\t\t\tapp.addAggregation(\"menuItems\", menuItem, true);\n\t\t\t});\n\t\t\treturn app;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple apps in the apps aggregation.\n\t * @param {sap.cux.home.App[]} apps - Array of apps.\n\t */\n\tpublic setApps(apps: App[]) {\n\t\tapps.forEach((app) => {\n\t\t\tthis.addAggregation(\"apps\", app, true);\n\t\t});\n\t}\n\n\t/**\n\t * Fetches and returns the tile visualizations for the current device type (Mobile or Desktop).\n\t *\n\t * @public\n\t * @param {GenericTile[]} tiles - This array will be updated with new tile data based on the device type.\n\t *\n\t * @returns {GenericTile[]} - returns updated tiles\n\t */\n\tpublic fetchTileVisualization(tiles: GenericTile[] = []): GenericTile[] {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\tconst cards = (this._generateMobileAppsWrapper()?.getContent() || []) as Panel[];\n\t\t\tfor (const card of cards) {\n\t\t\t\ttiles = tiles.concat((card?.getContent() || []) as GenericTile[]);\n\t\t\t}\n\t\t} else {\n\t\t\ttiles = (this._generateAppsWrapper()?.getItems() || []) as GenericTile[];\n\t\t}\n\t\treturn tiles;\n\t}\n\n\t/**\n\t * Convert array of provided activities to app\n\t * @private\n\t * @param {object[]} activities - Array of activities.\n\t * @returns {object[]} - Array of apps\n\t */\n\tprotected async convertActivitiesToVisualizations(activities: IActivity[]) {\n\t\tconst [availableVisualizations, URLParsingService] = await Promise.all([\n\t\t\tthis._getAllAvailableVisualizations(),\n\t\t\tContainer.getServiceAsync<URLParsing>(\"URLParsing\")\n\t\t]);\n\t\tconst appActivities = activities\n\t\t\t.filter((activity) => activity.appType === \"Application\")\n\t\t\t.map((activity) => {\n\t\t\t\tactivity.orgAppId = activity.appId;\n\t\t\t\tactivity.appId = activity.url;\n\t\t\t\treturn activity;\n\t\t\t});\n\t\tconst visualizations = appActivities\n\t\t\t.map((activity) => this._convertToVisualization(activity, availableVisualizations, URLParsingService))\n\t\t\t.filter((activity): activity is IActivity => activity !== undefined);\n\t\tconst updatedVisualizations = await this._updateVisualizationAvailability(visualizations);\n\t\treturn updatedVisualizations;\n\t}\n\n\t/**\n\t * Returns promise that resolves to array of all available visualizations\n\t * @private\n\t * @returns {Promise} A Promise that resolves to array of all available visualizations.\n\t */\n\tprivate async _getAllAvailableVisualizations() {\n\t\tif (!this._allAvailableVisualizations) {\n\t\t\tconst catalogApps = await this.appManagerInstance._getCatalogApps();\n\t\t\tthis._allAvailableVisualizations = catalogApps.reduce((visualizations: IVisualization[], catalogApp) => {\n\t\t\t\treturn visualizations.concat(catalogApp.visualizations || []);\n\t\t\t}, []);\n\t\t}\n\t\treturn this._allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Updates vizualization array with information - if vizualization is present in favorites .\n\t * @private\n\t * @param {object[]} visualizations - Array of vizualizations.\n\t * @returns {object[]} - Array of updated vizualizations.\n\t */\n\tprivate async _updateVisualizationAvailability(visualizations: IActivity[]) {\n\t\tconst favoriteVisualizations: ICustomVisualization[] = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\tvisualizations.forEach((visualization) => {\n\t\t\tvisualization.addedInFavorites = favoriteVisualizations.some(\n\t\t\t\t(favoriteVisualization) => favoriteVisualization.oldAppId === visualization.orgAppId\n\t\t\t);\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Updates user activity with provided vizualization info\n\t * @private\n\t * @param {object} activity - User activity.\n\t * @param {object} updatedVizConfig - Updated vizualization config.\n\t * @returns {object} - Updated user acitvity.\n\t */\n\tprivate _updateActivityInfo(activity: IActivity, updatedVizConfig: IVisualization) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tactivity.targetURL = updatedVizConfig.targetURL;\n\t\tactivity.vizId = updatedVizConfig.vizId;\n\t\tthis._catalogVisualizationCache.set(activity.orgAppId, updatedVizConfig);\n\t\treturn activity;\n\t}\n\n\t/**\n\t * Finds the best matching visualization for a given activity from a list of matching visualizations.\n\t *\n\t * This method first attempts to find an exact match for the target URL of the activity among the matching visualizations.\n\t * If no exact match is found, it uses the URLParsingService to compare parameters of the target URLs to find the best match.\n\t * It then updates the activity information with the best matching visualization.\n\t *\n\t * @private\n\t * @param {IActivity} activity - The activity for which to find the best matching visualization.\n\t * @param {IVisualization[]} matchingVisualizations - A list of visualizations that match the activity.\n\t * @param {URLParsing} URLParsingService - A service used to parse and compare target URLs.\n\t * @returns {IVisualization | undefined} The best matching visualization, or undefined if no match is found.\n\t */\n\tprivate _findBestMatchingVisualization(activity: IActivity, matchingVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\t//if there are multiple matching apps, compare the target urls\n\t\tconst matchedVisualization = matchingVisualizations.find((matchingViz) => matchingViz.targetURL === activity.url);\n\t\tif (matchedVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, matchedVisualization);\n\t\t} else {\n\t\t\t//edge cases, when no exact targetUrl match\n\t\t\tconst matchedVisualizationCache = new Map<string, object>();\n\t\t\tconst matchedVisualizations: { viz: IVisualization; params: unknown; prio: number }[] = [];\n\n\t\t\tmatchingVisualizations.forEach((visualization) => {\n\t\t\t\tconst targetURL: string = visualization.targetURL;\n\t\t\t\tif (!matchedVisualizationCache.get(targetURL)) {\n\t\t\t\t\tconst matchedVisualization = {\n\t\t\t\t\t\tviz: visualization,\n\t\t\t\t\t\tparams: (URLParsingService.parseShellHash(visualization.targetURL) as { params: { [key: string]: unknown[] } })\n\t\t\t\t\t\t\t.params,\n\t\t\t\t\t\tprio: 0\n\t\t\t\t\t};\n\t\t\t\t\tmatchedVisualizationCache.set(targetURL, matchedVisualization);\n\t\t\t\t\tmatchedVisualizations.push(matchedVisualization);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst filteredVisualizations = matchedVisualizations.filter((matchedVisualization) =>\n\t\t\t\tthis._filterMatchingVisualization(activity, matchedVisualization, URLParsingService)\n\t\t\t);\n\t\t\tif (filteredVisualizations.length) {\n\t\t\t\t// more than 1 matching condition for unique targetUrls\n\t\t\t\t// this could be either because there is exact match and/or also allItems true and/or no params in VizData param keys\n\t\t\t\t// then find best match possible, based on prio\n\t\t\t\tfilteredVisualizations.sort((val1, val2) => val1.prio - val2.prio);\n\t\t\t\treturn this._updateActivityInfo(activity, filteredVisualizations[0].viz);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters matching visualizations based on activity parameters and assigns priority.\n\t *\n\t * This method compares the parameters of the activity with those of a matched visualization\n\t * to determine if they match.\n\t *\n\t * @private\n\t * @returns {boolean} Returns true if the visualization matches the activity, false otherwise.\n\t */\n\tprivate _filterMatchingVisualization(\n\t\tactivity: IActivity,\n\t\tmatchedVisualization: { viz: IVisualization; params: unknown; prio: number },\n\t\tURLParsingService: URLParsing\n\t) {\n\t\tconst parshedShellHash = URLParsingService.parseShellHash(activity.url) as { params: { [key: string]: unknown[] } };\n\t\tconst activityParameters = parshedShellHash.params;\n\n\t\tconst activityParameterKeys = Object.keys(activityParameters);\n\t\tconst visualizationParams = matchedVisualization.params as { [key: string]: unknown[] };\n\t\t//filter keys other than 'allItems', for myinbox tasks allItems key is a generally common key hence filter that\n\t\tconst visualizationParamKeys = Object.keys(visualizationParams).filter((key) => key !== \"allItems\");\n\t\tif (visualizationParamKeys.length === activityParameterKeys.length) {\n\t\t\tconst bMatch = activityParameterKeys.every(\n\t\t\t\t(key) => visualizationParamKeys.includes(key) && visualizationParams[key][0] === activityParameters[key][0]\n\t\t\t);\n\t\t\tif (bMatch) {\n\t\t\t\tmatchedVisualization.prio = 1;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} else if (!visualizationParamKeys.length) {\n\t\t\t//this could mean either visualizationParamKeys did not have any key or the only key present was 'allItems'\n\t\t\t//if 'allItems' present give prio 2 else prio 3\n\t\t\tmatchedVisualization.prio = Object.keys(matchedVisualization.params as { [key: string]: unknown[] }).length ? 2 : 3;\n\t\t\treturn true;\n\t\t}\n\t\t//filtered visualizationParamKeys length doesnt match aAppParamKeys length & visualizationParamKeys length is not 0\n\t\treturn false;\n\t}\n\n\t/**\n\t * Converts given user activity to vizualization\n\t * @private\n\t * @param {object} activity - User Activity.\n\t * @param {object[]} catalogVisualizations - array of all available visualizations in catalog.\n\t * @param {object} URLParsingService - URL parsing service.\n\t * @returns {object} - visualization\n\t */\n\tprivate _convertToVisualization(activity: IActivity, catalogVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tconst catalogVisualization = this._catalogVisualizationCache.get(activity.orgAppId);\n\t\tif (catalogVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, catalogVisualization);\n\t\t} else {\n\t\t\tconst matchingVisualizations = catalogVisualizations.filter(\n\t\t\t\t(visualization) =>\n\t\t\t\t\tvisualization.vizId && `#${visualization.target?.semanticObject}-${visualization.target?.action}` === activity.orgAppId\n\t\t\t);\n\t\t\tif (matchingVisualizations.length > 1) {\n\t\t\t\treturn this._findBestMatchingVisualization(activity, matchingVisualizations, URLParsingService);\n\t\t\t} else if (matchingVisualizations.length === 1) {\n\t\t\t\treturn this._updateActivityInfo(activity, matchingVisualizations[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds visualization to favorite apps\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprotected async _addAppToFavorites(event: Event) {\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 vizId = app.getVizId?.();\n\t\t\tif (vizId) {\n\t\t\t\t//Add Apps to the 'Recently Added Apps' section\n\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\t\tconst message = this._i18nBundle.getText(\"appMovedToFavorites\", [app.getTitle()]) 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 the panel is loaded. If the panel is not loaded then placholders are shown otherwise not\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic isLoaded(): boolean {\n\t\treturn this._isLoaded;\n\t}\n\n\t/**\n\t * Set the loaded status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new loaded status to set for the app panel.\n\t */\n\tpublic setLoaded(val: boolean): void {\n\t\tthis._isLoaded = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isDirty(): boolean {\n\t\treturn this._isDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app panel.\n\t */\n\tpublic setDesktopViewDirty(val: boolean): void {\n\t\tthis._isDirty = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app mobile panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isMobileDirty(): boolean {\n\t\treturn this._isMobileDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app mobile panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app mobile panel.\n\t */\n\tpublic setMobileViewDirty(val: boolean): void {\n\t\tthis._isMobileDirty = val;\n\t}\n\n\t/**\n\t * Sets aggregation for give control.\n\t * @param {Object} control - Control for which aggregation has to be set.\n\t * @param {Object[]} items - Items to be added in aggregation.\n\t * @param {string} aggregationName - Aggregation name\n\t * @private\n\t */\n\tpublic _setAggregation = function (control: Control | Group, items: Control[] | App[] = [], aggregationName = \"items\") {\n\t\titems.forEach((oItem) => {\n\t\t\tcontrol.addAggregation(aggregationName, oItem, true);\n\t\t});\n\t};\n\n\t/**\n\t * Sets the busy state of panel.\n\t * @private\n\t * @param {boolean} isBusy - Indicates whether the panel should be set to busy state.\n\t */\n\tprotected setBusy(isBusy: boolean) {\n\t\tconst oAppsWrapper = this._generateAppsWrapper();\n\t\toAppsWrapper.setBusy(isBusy);\n\t}\n\n\t/**\n\t * Retrieves the group with the specified group Id.\n\t * @private\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {sap.cux.home.Group} The group with the specified group Id, or null if not found.\n\t */\n\tprotected _getGroup(groupId: string) {\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\treturn groups.find((group) => group.getGroupId() === groupId);\n\t}\n\n\t/**\n\t * Checks if the panel is supported.\n\t * @returns {boolean} True if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic isSupported() {\n\t\treturn this._isSupported;\n\t}\n\n\t/**\n\t * Sets panel as supported or unsupported.\n\t * @param {boolean} isSupported true if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic setSupported(isSupported: boolean) {\n\t\tthis._isSupported = isSupported;\n\t}\n\n\t/**\n\t * Attaches user activity tracking based on the configuration.\n\t * If user activity tracking is enabled, it listens to changes in tracking activity configuration\n\t * and fires a 'supported' event accordingly.\n\t * @private\n\t */\n\tprotected _attachUserActivityTracking() {\n\t\tif (Config.last(\"/core/shell/enableRecentActivity\")) {\n\t\t\tConfig.on(\"/core/shell/model/enableTrackingActivity\").do((isTrackingActivityEnabled: boolean) => {\n\t\t\t\tthis.fireSupported({ isSupported: isTrackingActivityEnabled });\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the panel.\n\t * @public\n\t */\n\tprotected async refresh() {\n\t\tawait (this.getParent() as AppsContainer).refreshPanel(this);\n\t}\n\n\t/**\n\t * Generates default illustrated message for panel.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message for panel.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tif (!this._errorMessage) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noData\")\n\t\t\t}).addStyleClass(\"appsSectionMessageCard\");\n\t\t}\n\t\treturn this._errorMessage;\n\t}\n\n\t/**\n\t * Applies the selected color to an ungrouped tile.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @private\n\t */\n\tprotected _applyUngroupedTileColor(item: App | Group, color: string) {\n\t\tconst tiles: GenericTile[] = this.fetchTileVisualization();\n\t\tconst groupId = item.isA(\"sap.cux.home.Group\") ? (item as Group).getGroupId() : null;\n\t\tconst updatedTileIndex = tiles.findIndex((tile) =>\n\t\t\tgroupId ? tile.data(\"groupId\") === groupId : tile.getUrl() === getLeanURL((item as App).getUrl())\n\t\t);\n\t\ttiles[updatedTileIndex]?.setBackgroundColor(color);\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BaseAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","HeaderContainer","IllustratedMessage","IllustratedMessageSize","MessageToast","VBox","sap_m_library","Config","Container","__App","__BasePanel","__Group","__AppManager","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","App","BasePanel","Group","AppManager","getLeanURL","recycleId","DeviceType","BaseAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","events","persistDialog","supported","parameters","isSupported","properties","tileWidth","group","defaultValue","visibility","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_isDirty","_isMobileDirty","_isLoaded","_isSupported","_setAggregation","control","items","aggregationName","forEach","oItem","addAggregation","init","_init","BasePanel.prototype.init.call","appManagerInstance","getInstance","_controlMap","Map","_appsPanelWrapper","_generateWrapper","_addContent","getId","_generateDesktopAppsWrapper","_generateMobileAppsWrapper","_generateErrorMessage","width","addStyleClass","controlId","get","set","_generateAppsWrapper","visible","getDeviceType","Mobile","backgroundDesign","Solid","_appsWrapper","layout","columnSize","getProperty","rowSize","gap","_mobileAppsWrapper","gridLayout","showDividers","height","content","_errorCard","wrap","generateIllustratedMessage","getApps","length","justifyContent","setHeight","generateApps","_generateApps","visualizationsData","map","visualizationData","index","groupId","persConfig","sectionId","defaultSection","isDefaultSection","getKey","app","title","subTitle","subtitle","bgColor","BGColor","key","icon","url","vizId","visualization","status","oldAppId","data","menuItems","menuItem","setApps","_setApps","fetchTileVisualization","_fetchTileVisualization","tiles","cards","getContent","card","concat","getItems","convertActivitiesToVisualizations","_convertActivitiesToVisualizations","activities","_this","Promise","resolve","all","_getAllAvailableVisualizations","getServiceAsync","availableVisualizations","URLParsingService","appActivities","filter","activity","appType","orgAppId","appId","visualizations","_convertToVisualization","undefined","_updateVisualizationAvailability","reject","_this2","_temp2","_allAvailableVisualizations","_temp","_getCatalogApps","catalogApps","reduce","catalogApp","_this3","fetchFavVizs","favoriteVisualizations","addedInFavorites","some","favoriteVisualization","_updateActivityInfo","updatedVizConfig","_catalogVisualizationCache","targetURL","_findBestMatchingVisualization","matchingVisualizations","matchedVisualization","find","matchingViz","matchedVisualizationCache","matchedVisualizations","viz","params","parseShellHash","prio","push","filteredVisualizations","_filterMatchingVisualization","sort","val1","val2","parshedShellHash","activityParameters","activityParameterKeys","Object","keys","visualizationParams","visualizationParamKeys","bMatch","every","includes","catalogVisualizations","catalogVisualization","target","semanticObject","action","_addAppToFavorites","event","_this4","setBusy","source","getSource","getParent","getVizId","_temp3","addVisualization","_refreshAllPanels","message","_i18nBundle","getText","getTitle","show","error","_wasThrown","_result","isLoaded","setLoaded","_setLoaded","val","isDirty","setDesktopViewDirty","_setDesktopViewDirty","isMobileDirty","setMobileViewDirty","_setMobileViewDirty","_setBusy","isBusy","oAppsWrapper","_getGroup","groups","getAggregation","getGroupId","setSupported","_setSupported","_attachUserActivityTracking","last","on","do","isTrackingActivityEnabled","fireSupported","refresh","_refresh","_this5","refreshPanel","_generateIllustratedMessage","_errorMessage","illustrationSize","Base","description","_applyUngroupedTileColor","item","color","updatedTileIndex","findIndex","tile","getUrl","setBackgroundColor","exit","_exit","destroy"],"sources":["BaseAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Panel from \"sap/m/Panel\";\nimport VBox from \"sap/m/VBox\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport type UI5Element from \"sap/ui/core/Element\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport URLParsing from \"sap/ushell/services/URLParsing\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { $BaseAppPanelSettings } from \"./BaseAppPanel\";\nimport BasePanel from \"./BasePanel\";\nimport Group from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport { IActivity, ICustomVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Base App Panel class for managing and storing Apps.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @private\n *\n * @alias sap.cux.home.BaseAppPanel\n */\n\nexport default abstract class BaseAppPanel extends BasePanel {\n\tprivate _isDirty: boolean = true;\n\tprivate _isMobileDirty: boolean = true;\n\tprivate _isLoaded: boolean = false;\n\tprivate _appsWrapper!: GridContainer;\n\tprivate _errorCard!: VBox;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _appsPanelWrapper!: VBox;\n\tprivate _allAvailableVisualizations!: IVisualization[];\n\tprivate _catalogVisualizationCache!: Map<string, IVisualization>;\n\tprotected appManagerInstance!: AppManager;\n\tprivate _isSupported: boolean = true;\n\tprivate _mobileAppsWrapper!: HeaderContainer;\n\tprotected _menuItems!: MenuItem[];\n\tprotected _actionButtons!: Button[];\n\tprotected _controlMap!: Map<string, Control | UI5Element>;\n\n\tconstructor(idOrSettings?: string | $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Holds the apps aggregation\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Fired when OnBeforeRendering of container is triggered.\n\t\t\t */\n\t\t\tpersistDialog: {},\n\t\t\t/**\n\t\t\t * Fired when the panel supported property is changed.\n\t\t\t */\n\t\t\tsupported: {\n\t\t\t\tparameters: {\n\t\t\t\t\tisSupported: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies the width of the tile in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\ttileWidth: { type: \"float\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * This method must be implemented by panel, to set the apps that needs to be shown in the panel.\n\t * @abstract\n\t */\n\tabstract loadApps(): Promise<void>;\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t//Add Wrapper to Panel\n\t\tthis._appsPanelWrapper = this._generateWrapper();\n\t\tthis._addContent(this._appsPanelWrapper);\n\t}\n\n\t/**\n\t * Generates the wrapper for the apps panel, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tif (!this._appsPanelWrapper) {\n\t\t\tthis._appsPanelWrapper = new VBox(`${this.getId()}-appsPanelWrapper`, {\n\t\t\t\titems: [this._generateDesktopAppsWrapper(), this._generateMobileAppsWrapper(), this._generateErrorMessage()],\n\t\t\t\twidth: \"100%\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsPanelWrapper\");\n\t\t}\n\t\treturn this._appsPanelWrapper;\n\t}\n\n\t/**\n\t * Generates desktop apps wrapper for displaying apps.\n\t * @private\n\t * @returns {sap.m.VBox} The generated apps wrapper.\n\t */\n\tpublic _generateDesktopAppsWrapper() {\n\t\tconst controlId = `${this.getId()}-desktopAppsWrapper`;\n\t\tif (!this._controlMap.get(controlId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tcontrolId,\n\t\t\t\tnew VBox({\n\t\t\t\t\tid: `${this.getId()}-desktopAppsWrapper`,\n\t\t\t\t\titems: [this._generateAppsWrapper()],\n\t\t\t\t\tvisible: this.getDeviceType() !== DeviceType.Mobile,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid\n\t\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsContainerBorder\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(controlId) as VBox;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying apps.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated apps wrapper.\n\t */\n\tpublic _generateAppsWrapper(): GridContainer {\n\t\t//create container\n\t\tif (!this._appsWrapper) {\n\t\t\tthis._appsWrapper = new GridContainer({\n\t\t\t\tid: `${this.getId()}-appsWrapper`,\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-appsWrapperLayout`, {\n\t\t\t\t\tcolumnSize: `${this.getProperty(\"tileWidth\") / 16}rem`,\n\t\t\t\t\trowSize: \"4.375rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn this._appsWrapper;\n\t}\n\n\t/**\n\t * Generates wrapper for displaying apps in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated apps wrapper.\n\t */\n\tpublic _generateMobileAppsWrapper() {\n\t\tif (!this._mobileAppsWrapper) {\n\t\t\tthis._mobileAppsWrapper = new HeaderContainer({\n\t\t\t\tid: `${this.getId()}-mobileAppsWrapper`,\n\t\t\t\tgridLayout: true,\n\t\t\t\tshowDividers: false,\n\t\t\t\theight: \"23.5rem\",\n\t\t\t\tcontent: [],\n\t\t\t\tvisible: this.getDeviceType() === DeviceType.Mobile\n\t\t\t}).addStyleClass(\"sapUiMargin-26Bottom\");\n\t\t}\n\t\treturn this._mobileAppsWrapper;\n\t}\n\n\t/**\n\t * Generates the error message wrapper with illustrated message.\n\t * @private\n\t * @returns {sap.m.VBox} Wrapper with illustrated message.\n\t */\n\tpublic _generateErrorMessage(): VBox {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorCard = new VBox(`${this.getId()}-errorCard`, {\n\t\t\t\twrap: \"Wrap\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\titems: [this.generateIllustratedMessage()],\n\t\t\t\tvisible: this.getApps().length === 0,\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel\");\n\t\t}\n\t\tthis._errorCard.setHeight(this.getDeviceType() === DeviceType.Mobile ? \"23.5rem\" : \"auto\");\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Creates and returns app instances for given app objects\n\t * @private\n\t * @param {object[]} appObjects - Array of app object.\n\t * @returns {sap.cux.home.App[]} - Array of app instances\n\t */\n\tpublic generateApps(visualizationsData: ICustomVisualization[]) {\n\t\treturn visualizationsData.map((visualizationData, index) => {\n\t\t\tconst groupId = visualizationData.persConfig?.sectionId;\n\t\t\tconst defaultSection = visualizationData.persConfig?.isDefaultSection;\n\t\t\tconst id =\n\t\t\t\tgroupId && !defaultSection ? recycleId(`${this.getKey()}-groupApp-${index}`) : recycleId(`${this.getKey()}-app-${index}`);\n\t\t\tconst app = new App(id, {\n\t\t\t\ttitle: visualizationData.title,\n\t\t\t\tsubTitle: visualizationData.subtitle,\n\t\t\t\tbgColor: typeof visualizationData.BGColor === \"object\" ? visualizationData.BGColor.key : visualizationData.BGColor,\n\t\t\t\ticon: visualizationData.icon,\n\t\t\t\turl: visualizationData.url,\n\t\t\t\tvizId: visualizationData.vizId || visualizationData.visualization?.vizId,\n\t\t\t\tstatus: visualizationData.status\n\t\t\t});\n\t\t\tif (visualizationData.oldAppId) {\n\t\t\t\tapp.data(\"oldAppId\", visualizationData.oldAppId);\n\t\t\t}\n\t\t\tvisualizationData.menuItems?.forEach((menuItem) => {\n\t\t\t\tapp.addAggregation(\"menuItems\", menuItem, true);\n\t\t\t});\n\t\t\treturn app;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple apps in the apps aggregation.\n\t * @param {sap.cux.home.App[]} apps - Array of apps.\n\t */\n\tpublic setApps(apps: App[]) {\n\t\tapps.forEach((app) => {\n\t\t\tthis.addAggregation(\"apps\", app, true);\n\t\t});\n\t}\n\n\t/**\n\t * Fetches and returns the tile visualizations for the current device type (Mobile or Desktop).\n\t *\n\t * @public\n\t * @param {GenericTile[]} tiles - This array will be updated with new tile data based on the device type.\n\t *\n\t * @returns {GenericTile[]} - returns updated tiles\n\t */\n\tpublic fetchTileVisualization(tiles: GenericTile[] = []): GenericTile[] {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\tconst cards = (this._generateMobileAppsWrapper()?.getContent() || []) as Panel[];\n\t\t\tfor (const card of cards) {\n\t\t\t\ttiles = tiles.concat((card?.getContent() || []) as GenericTile[]);\n\t\t\t}\n\t\t} else {\n\t\t\ttiles = (this._generateAppsWrapper()?.getItems() || []) as GenericTile[];\n\t\t}\n\t\treturn tiles;\n\t}\n\n\t/**\n\t * Convert array of provided activities to app\n\t * @private\n\t * @param {object[]} activities - Array of activities.\n\t * @returns {object[]} - Array of apps\n\t */\n\tprotected async convertActivitiesToVisualizations(activities: IActivity[]) {\n\t\tconst [availableVisualizations, URLParsingService] = await Promise.all([\n\t\t\tthis._getAllAvailableVisualizations(),\n\t\t\tContainer.getServiceAsync<URLParsing>(\"URLParsing\")\n\t\t]);\n\t\tconst appActivities = activities\n\t\t\t.filter((activity) => activity.appType === \"Application\")\n\t\t\t.map((activity) => {\n\t\t\t\tactivity.orgAppId = activity.appId;\n\t\t\t\tactivity.appId = activity.url;\n\t\t\t\treturn activity;\n\t\t\t});\n\t\tconst visualizations = appActivities\n\t\t\t.map((activity) => this._convertToVisualization(activity, availableVisualizations, URLParsingService))\n\t\t\t.filter((activity): activity is IActivity => activity !== undefined);\n\t\tconst updatedVisualizations = await this._updateVisualizationAvailability(visualizations);\n\t\treturn updatedVisualizations;\n\t}\n\n\t/**\n\t * Returns promise that resolves to array of all available visualizations\n\t * @private\n\t * @returns {Promise} A Promise that resolves to array of all available visualizations.\n\t */\n\tprivate async _getAllAvailableVisualizations() {\n\t\tif (!this._allAvailableVisualizations) {\n\t\t\tconst catalogApps = await this.appManagerInstance._getCatalogApps();\n\t\t\tthis._allAvailableVisualizations = catalogApps.reduce((visualizations: IVisualization[], catalogApp) => {\n\t\t\t\treturn visualizations.concat(catalogApp.visualizations || []);\n\t\t\t}, []);\n\t\t}\n\t\treturn this._allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Updates vizualization array with information - if vizualization is present in favorites .\n\t * @private\n\t * @param {object[]} visualizations - Array of vizualizations.\n\t * @returns {object[]} - Array of updated vizualizations.\n\t */\n\tprivate async _updateVisualizationAvailability(visualizations: IActivity[]) {\n\t\tconst favoriteVisualizations: ICustomVisualization[] = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\tvisualizations.forEach((visualization) => {\n\t\t\tvisualization.addedInFavorites = favoriteVisualizations.some(\n\t\t\t\t(favoriteVisualization) => favoriteVisualization.oldAppId === visualization.orgAppId\n\t\t\t);\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Updates user activity with provided vizualization info\n\t * @private\n\t * @param {object} activity - User activity.\n\t * @param {object} updatedVizConfig - Updated vizualization config.\n\t * @returns {object} - Updated user acitvity.\n\t */\n\tprivate _updateActivityInfo(activity: IActivity, updatedVizConfig: IVisualization) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tactivity.targetURL = updatedVizConfig.targetURL;\n\t\tactivity.vizId = updatedVizConfig.vizId;\n\t\tthis._catalogVisualizationCache.set(activity.orgAppId, updatedVizConfig);\n\t\treturn activity;\n\t}\n\n\t/**\n\t * Finds the best matching visualization for a given activity from a list of matching visualizations.\n\t *\n\t * This method first attempts to find an exact match for the target URL of the activity among the matching visualizations.\n\t * If no exact match is found, it uses the URLParsingService to compare parameters of the target URLs to find the best match.\n\t * It then updates the activity information with the best matching visualization.\n\t *\n\t * @private\n\t * @param {IActivity} activity - The activity for which to find the best matching visualization.\n\t * @param {IVisualization[]} matchingVisualizations - A list of visualizations that match the activity.\n\t * @param {URLParsing} URLParsingService - A service used to parse and compare target URLs.\n\t * @returns {IVisualization | undefined} The best matching visualization, or undefined if no match is found.\n\t */\n\tprivate _findBestMatchingVisualization(activity: IActivity, matchingVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\t//if there are multiple matching apps, compare the target urls\n\t\tconst matchedVisualization = matchingVisualizations.find((matchingViz) => matchingViz.targetURL === activity.url);\n\t\tif (matchedVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, matchedVisualization);\n\t\t} else {\n\t\t\t//edge cases, when no exact targetUrl match\n\t\t\tconst matchedVisualizationCache = new Map<string, object>();\n\t\t\tconst matchedVisualizations: { viz: IVisualization; params: unknown; prio: number }[] = [];\n\n\t\t\tmatchingVisualizations.forEach((visualization) => {\n\t\t\t\tconst targetURL: string = visualization.targetURL;\n\t\t\t\tif (!matchedVisualizationCache.get(targetURL)) {\n\t\t\t\t\tconst matchedVisualization = {\n\t\t\t\t\t\tviz: visualization,\n\t\t\t\t\t\tparams: (URLParsingService.parseShellHash(visualization.targetURL) as { params: { [key: string]: unknown[] } })\n\t\t\t\t\t\t\t.params,\n\t\t\t\t\t\tprio: 0\n\t\t\t\t\t};\n\t\t\t\t\tmatchedVisualizationCache.set(targetURL, matchedVisualization);\n\t\t\t\t\tmatchedVisualizations.push(matchedVisualization);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst filteredVisualizations = matchedVisualizations.filter((matchedVisualization) =>\n\t\t\t\tthis._filterMatchingVisualization(activity, matchedVisualization, URLParsingService)\n\t\t\t);\n\t\t\tif (filteredVisualizations.length) {\n\t\t\t\t// more than 1 matching condition for unique targetUrls\n\t\t\t\t// this could be either because there is exact match and/or also allItems true and/or no params in VizData param keys\n\t\t\t\t// then find best match possible, based on prio\n\t\t\t\tfilteredVisualizations.sort((val1, val2) => val1.prio - val2.prio);\n\t\t\t\treturn this._updateActivityInfo(activity, filteredVisualizations[0].viz);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters matching visualizations based on activity parameters and assigns priority.\n\t *\n\t * This method compares the parameters of the activity with those of a matched visualization\n\t * to determine if they match.\n\t *\n\t * @private\n\t * @returns {boolean} Returns true if the visualization matches the activity, false otherwise.\n\t */\n\tprivate _filterMatchingVisualization(\n\t\tactivity: IActivity,\n\t\tmatchedVisualization: { viz: IVisualization; params: unknown; prio: number },\n\t\tURLParsingService: URLParsing\n\t) {\n\t\tconst parshedShellHash = URLParsingService.parseShellHash(activity.url) as { params: { [key: string]: unknown[] } };\n\t\tconst activityParameters = parshedShellHash.params;\n\n\t\tconst activityParameterKeys = Object.keys(activityParameters);\n\t\tconst visualizationParams = matchedVisualization.params as { [key: string]: unknown[] };\n\t\t//filter keys other than 'allItems', for myinbox tasks allItems key is a generally common key hence filter that\n\t\tconst visualizationParamKeys = Object.keys(visualizationParams).filter((key) => key !== \"allItems\");\n\t\tif (visualizationParamKeys.length === activityParameterKeys.length) {\n\t\t\tconst bMatch = activityParameterKeys.every(\n\t\t\t\t(key) => visualizationParamKeys.includes(key) && visualizationParams[key][0] === activityParameters[key][0]\n\t\t\t);\n\t\t\tif (bMatch) {\n\t\t\t\tmatchedVisualization.prio = 1;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} else if (!visualizationParamKeys.length) {\n\t\t\t//this could mean either visualizationParamKeys did not have any key or the only key present was 'allItems'\n\t\t\t//if 'allItems' present give prio 2 else prio 3\n\t\t\tmatchedVisualization.prio = Object.keys(matchedVisualization.params as { [key: string]: unknown[] }).length ? 2 : 3;\n\t\t\treturn true;\n\t\t}\n\t\t//filtered visualizationParamKeys length doesnt match aAppParamKeys length & visualizationParamKeys length is not 0\n\t\treturn false;\n\t}\n\n\t/**\n\t * Converts given user activity to vizualization\n\t * @private\n\t * @param {object} activity - User Activity.\n\t * @param {object[]} catalogVisualizations - array of all available visualizations in catalog.\n\t * @param {object} URLParsingService - URL parsing service.\n\t * @returns {object} - visualization\n\t */\n\tprivate _convertToVisualization(activity: IActivity, catalogVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tconst catalogVisualization = this._catalogVisualizationCache.get(activity.orgAppId);\n\t\tif (catalogVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, catalogVisualization);\n\t\t} else {\n\t\t\tconst matchingVisualizations = catalogVisualizations.filter(\n\t\t\t\t(visualization) =>\n\t\t\t\t\tvisualization.vizId && `#${visualization.target?.semanticObject}-${visualization.target?.action}` === activity.orgAppId\n\t\t\t);\n\t\t\tif (matchingVisualizations.length > 1) {\n\t\t\t\treturn this._findBestMatchingVisualization(activity, matchingVisualizations, URLParsingService);\n\t\t\t} else if (matchingVisualizations.length === 1) {\n\t\t\t\treturn this._updateActivityInfo(activity, matchingVisualizations[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds visualization to favorite apps\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprotected async _addAppToFavorites(event: Event) {\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 vizId = app.getVizId?.();\n\t\t\tif (vizId) {\n\t\t\t\t//Add Apps to the 'Recently Added Apps' section\n\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\t\tconst message = this._i18nBundle.getText(\"appMovedToFavorites\", [app.getTitle()]) 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 the panel is loaded. If the panel is not loaded then placholders are shown otherwise not\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic isLoaded(): boolean {\n\t\treturn this._isLoaded;\n\t}\n\n\t/**\n\t * Set the loaded status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new loaded status to set for the app panel.\n\t */\n\tpublic setLoaded(val: boolean): void {\n\t\tthis._isLoaded = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isDirty(): boolean {\n\t\treturn this._isDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app panel.\n\t */\n\tpublic setDesktopViewDirty(val: boolean): void {\n\t\tthis._isDirty = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app mobile panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isMobileDirty(): boolean {\n\t\treturn this._isMobileDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app mobile panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app mobile panel.\n\t */\n\tpublic setMobileViewDirty(val: boolean): void {\n\t\tthis._isMobileDirty = val;\n\t}\n\n\t/**\n\t * Sets aggregation for give control.\n\t * @param {Object} control - Control for which aggregation has to be set.\n\t * @param {Object[]} items - Items to be added in aggregation.\n\t * @param {string} aggregationName - Aggregation name\n\t * @private\n\t */\n\tpublic _setAggregation = function (control: Control | Group, items: Control[] | App[] = [], aggregationName = \"items\") {\n\t\titems.forEach((oItem) => {\n\t\t\tcontrol.addAggregation(aggregationName, oItem, true);\n\t\t});\n\t};\n\n\t/**\n\t * Sets the busy state of panel.\n\t * @private\n\t * @param {boolean} isBusy - Indicates whether the panel should be set to busy state.\n\t */\n\tprotected setBusy(isBusy: boolean) {\n\t\tconst oAppsWrapper = this._generateAppsWrapper();\n\t\toAppsWrapper.setBusy(isBusy);\n\t}\n\n\t/**\n\t * Retrieves the group with the specified group Id.\n\t * @private\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {sap.cux.home.Group} The group with the specified group Id, or null if not found.\n\t */\n\tprotected _getGroup(groupId: string) {\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\treturn groups.find((group) => group.getGroupId() === groupId);\n\t}\n\n\t/**\n\t * Checks if the panel is supported.\n\t * @returns {boolean} True if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic isSupported() {\n\t\treturn this._isSupported;\n\t}\n\n\t/**\n\t * Sets panel as supported or unsupported.\n\t * @param {boolean} isSupported true if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic setSupported(isSupported: boolean) {\n\t\tthis._isSupported = isSupported;\n\t}\n\n\t/**\n\t * Attaches user activity tracking based on the configuration.\n\t * If user activity tracking is enabled, it listens to changes in tracking activity configuration\n\t * and fires a 'supported' event accordingly.\n\t * @private\n\t */\n\tprotected _attachUserActivityTracking() {\n\t\tif (Config.last(\"/core/shell/enableRecentActivity\")) {\n\t\t\tConfig.on(\"/core/shell/model/enableTrackingActivity\").do((isTrackingActivityEnabled: boolean) => {\n\t\t\t\tthis.fireSupported({ isSupported: isTrackingActivityEnabled });\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the panel.\n\t * @public\n\t */\n\tprotected async refresh() {\n\t\tawait (this.getParent() as AppsContainer).refreshPanel(this);\n\t}\n\n\t/**\n\t * Generates default illustrated message for panel.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message for panel.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tif (!this._errorMessage) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noData\")\n\t\t\t}).addStyleClass(\"appsSectionMessageCard\");\n\t\t}\n\t\treturn this._errorMessage;\n\t}\n\n\t/**\n\t * Applies the selected color to an ungrouped tile.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @private\n\t */\n\tprotected _applyUngroupedTileColor(item: App | Group, color: string) {\n\t\tconst tiles: GenericTile[] = this.fetchTileVisualization();\n\t\tconst groupId = item instanceof Group ? item.getGroupId() : null;\n\t\tconst updatedTileIndex = tiles.findIndex((tile) =>\n\t\t\tgroupId ? tile.data(\"groupId\") === groupId : tile.getUrl() === getLeanURL((item as App).getUrl())\n\t\t);\n\t\ttiles[updatedTileIndex]?.setBackgroundColor(color);\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -44,8 +44,6 @@ import { DeviceType } from "./utils/Device";
44
44
  * @since 1.121.0
45
45
  *
46
46
  * @abstract
47
- * @internal
48
- * @experimental Since 1.121
49
47
  * @private
50
48
  *
51
49
  * @alias sap.cux.home.BaseAppPanel
@@ -103,7 +101,7 @@ export default abstract class BaseAppPanel extends BasePanel {
103
101
  *
104
102
  * @private
105
103
  */
106
- tileWidth: { type: "number", group: "Misc", defaultValue: 304, visibility: "hidden" }
104
+ tileWidth: { type: "float", group: "Misc", defaultValue: 304, visibility: "hidden" }
107
105
  }
108
106
  };
109
107
 
@@ -194,7 +192,7 @@ export default abstract class BaseAppPanel extends BasePanel {
194
192
  height: "23.5rem",
195
193
  content: [],
196
194
  visible: this.getDeviceType() === DeviceType.Mobile
197
- }).addStyleClass("sapUiMargin-26Bottom sapMHeaderContainerAlign");
195
+ }).addStyleClass("sapUiMargin-26Bottom");
198
196
  }
199
197
  return this._mobileAppsWrapper;
200
198
  }
@@ -642,7 +640,7 @@ export default abstract class BaseAppPanel extends BasePanel {
642
640
  */
643
641
  protected _applyUngroupedTileColor(item: App | Group, color: string) {
644
642
  const tiles: GenericTile[] = this.fetchTileVisualization();
645
- const groupId = item.isA("sap.cux.home.Group") ? (item as Group).getGroupId() : null;
643
+ const groupId = item instanceof Group ? item.getGroupId() : null;
646
644
  const updatedTileIndex = tiles.findIndex((tile) =>
647
645
  groupId ? tile.data("groupId") === groupId : tile.getUrl() === getLeanURL((item as App).getUrl())
648
646
  );
@@ -20,8 +20,6 @@ declare module "sap/cux/home/BaseAppPersPanel" {
20
20
  * @since 1.121.0
21
21
  *
22
22
  * @abstract
23
- * @internal
24
- * @experimental Since 1.121
25
23
  * @private
26
24
  *
27
25
  * @alias sap.cux.home.BaseAppPersPanel
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAppPersPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseAppPersPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAC/C;;;OAGG;IAEH,OAAO,WAAW,MAAM,mBAAmB,CAAC;IAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAG3D,OAAO,YAAY,MAAM,2BAA2B,CAAC;IACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;IAE1E,OAAO,EAAE,mBAAmB,EAA8C,MAAM,sCAAsC,CAAC;IAMvH,OAA2B,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;IAEjG;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAiB,SAAQ,YAAY;QAClE,OAAO,CAAC,oBAAoB,CAAe;QAC3C,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,SAAS,CAAQ;oBAEb,YAAY,CAAC,EAAE,MAAM,GAAG,yBAAyB;oBACjD,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,yBAAyB;QAK7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAEK,IAAI;QAcX;;;;;WAKG;gBACW,gBAAgB;QAY9B;;;;WAIG;kBACa,kBAAkB;QAMlC;;;;;WAKG;kBACa,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB;QAKjE;;;;WAIG;kBACa,sBAAsB;QAKtC;;;;;WAKG;kBACa,yBAAyB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAQpG;;;;;;;WAOG;QACU,oBAAoB,CAAC,YAAY,GAAE,OAAe;QAQ/D;;;;;;;WAOG;kBACa,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,UAAQ;QAqBvG;;;;;;;WAOG;QACH,OAAO,CAAC,QAAQ;QAShB;;;;;;;;WAQG;QACH,OAAO,CAAC,uBAAuB;QAgD/B;;;;WAIG;gBACW,YAAY;QAQ1B;;;;WAIG;QACH,SAAS,CAAC,UAAU,IAAI,MAAM;QAI9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;QAItB,OAAO,CAAC,uBAAuB;QAK/B,OAAO,CAAC,mBAAmB;KAO3B;CAEA"}
1
+ {"version":3,"file":"BaseAppPersPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseAppPersPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAC/C;;;OAGG;IAEH,OAAO,WAAW,MAAM,mBAAmB,CAAC;IAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAG3D,OAAO,YAAY,MAAM,2BAA2B,CAAC;IACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;IAE1E,OAAO,EAAE,mBAAmB,EAA8C,MAAM,sCAAsC,CAAC;IAMvH,OAA2B,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;IAEjG;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAiB,SAAQ,YAAY;QAClE,OAAO,CAAC,oBAAoB,CAAe;QAC3C,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,SAAS,CAAQ;oBAEb,YAAY,CAAC,EAAE,MAAM,GAAG,yBAAyB;oBACjD,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,yBAAyB;QAK7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAKvC;QAEK,IAAI;QAcX;;;;;WAKG;gBACW,gBAAgB;QAY9B;;;;WAIG;kBACa,kBAAkB;QAMlC;;;;;WAKG;kBACa,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB;QAKjE;;;;WAIG;kBACa,sBAAsB;QAKtC;;;;;WAKG;kBACa,yBAAyB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAQpG;;;;;;;WAOG;QACU,oBAAoB,CAAC,YAAY,GAAE,OAAe;QAQ/D;;;;;;;WAOG;kBACa,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,UAAQ;QAqBvG;;;;;;;WAOG;QACH,OAAO,CAAC,QAAQ;QAShB;;;;;;;;WAQG;QACH,OAAO,CAAC,uBAAuB;QAoD/B;;;;WAIG;gBACW,YAAY;QAQ1B;;;;WAIG;QACH,SAAS,CAAC,UAAU,IAAI,MAAM;QAI9B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;QAItB,OAAO,CAAC,uBAAuB;QAK/B,OAAO,CAAC,mBAAmB;KAO3B;CAEA"}
@@ -2,13 +2,14 @@
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/ui/core/EventBus", "./BaseAppPanel", "./utils/CommonUtils", "./utils/Constants", "./utils/DataFormatUtils", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (EventBus, __BaseAppPanel, ___utils_CommonUtils, ___utils_Constants, ___utils_DataFormatUtils, __PersonalisationUtils, __UshellPersonalizer) {
5
+ sap.ui.define(["sap/ui/core/EventBus", "./BaseAppPanel", "./Group", "./utils/CommonUtils", "./utils/Constants", "./utils/DataFormatUtils", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (EventBus, __BaseAppPanel, __Group, ___utils_CommonUtils, ___utils_Constants, ___utils_DataFormatUtils, __PersonalisationUtils, __UshellPersonalizer) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
9
9
  return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
10
10
  }
11
11
  const BaseAppPanel = _interopRequireDefault(__BaseAppPanel);
12
+ const Group = _interopRequireDefault(__Group);
12
13
  const getPageManagerInstance = ___utils_CommonUtils["getPageManagerInstance"];
13
14
  const DEFAULT_APP_ICON = ___utils_Constants["DEFAULT_APP_ICON"];
14
15
  const DEFAULT_BG_COLOR = ___utils_Constants["DEFAULT_BG_COLOR"];
@@ -28,8 +29,6 @@ sap.ui.define(["sap/ui/core/EventBus", "./BaseAppPanel", "./utils/CommonUtils",
28
29
  * @since 1.121.0
29
30
  *
30
31
  * @abstract
31
- * @internal
32
- * @experimental Since 1.121
33
32
  * @private
34
33
  *
35
34
  * @alias sap.cux.home.BaseAppPersPanel
@@ -235,7 +234,7 @@ sap.ui.define(["sap/ui/core/EventBus", "./BaseAppPanel", "./utils/CommonUtils",
235
234
  color,
236
235
  icon
237
236
  };
238
- if (item.isA("sap.cux.home.Group")) {
237
+ if (item instanceof Group) {
239
238
  const personalization = personalizations?.find(personalization => personalization.isSection && personalization.sectionId === item.getGroupId());
240
239
  color = personalization?.BGColor;
241
240
  } else {
@@ -246,11 +245,12 @@ sap.ui.define(["sap/ui/core/EventBus", "./BaseAppPanel", "./utils/CommonUtils",
246
245
  appIds.push(oldAppId);
247
246
  }
248
247
  const vizId = app.getVizId();
249
- const personalization = groupId ? personalizations?.find(personalization => !personalization.isSection && personalization.sectionId === groupId && personalization.appId && appIds.includes(personalization.appId)) : personalizations?.find(oPersonalization => this?.isA("sap.cux.home.FavAppPanel") ? oPersonalization.isRecentlyAddedApp && oPersonalization.appId && appIds.includes(oPersonalization.appId) : oPersonalization.appId && appIds.includes(oPersonalization.appId));
248
+ const personalization = groupId ? personalizations?.find(personalization => !personalization.isSection && personalization.sectionId === groupId && personalization.appId && appIds.includes(personalization.appId)) : personalizations?.find(oPersonalization => this?.getMetadata().getName() === "sap.cux.home.FavAppPanel" ? oPersonalization.isRecentlyAddedApp && oPersonalization.appId && appIds.includes(oPersonalization.appId) : oPersonalization.appId && appIds.includes(oPersonalization.appId));
250
249
  const favPageVisualization = favPageVisualizations.find(oVisualization => oVisualization.vizId === vizId || oVisualization.appId && appIds.includes(oVisualization.appId));
251
250
  const colorInfo = personalization?.BGColor || favPageVisualization?.BGColor || DEFAULT_BG_COLOR().key;
251
+ const panelName = this?.getMetadata().getName();
252
252
  color = typeof colorInfo === "object" ? colorInfo.key : colorInfo;
253
- icon = this?.isA("sap.cux.home.FavAppPanel") ? this._getFavAppIcon(app, favPageVisualization?.icon) : this.getAppIcon();
253
+ icon = panelName === "sap.cux.home.FavAppPanel" || panelName === "sap.cux.home.SpacePanel" ? this._getFavAppIcon(app, favPageVisualization?.icon) : this.getAppIcon();
254
254
  }
255
255
  return {
256
256
  color,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAppPersPanel.js","names":["sap","ui","define","EventBus","__BaseAppPanel","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","__PersonalisationUtils","__UshellPersonalizer","_interopRequireDefault","obj","__esModule","default","BaseAppPanel","getPageManagerInstance","DEFAULT_APP_ICON","DEFAULT_BG_COLOR","FALLBACK_ICON","MYHOME_PAGE_ID","getLeanURL","PersonalisationUtils","UshellPersonalizer","BaseAppPersPanel","extend","metadata","library","properties","persContainerId","type","group","defaultValue","visibility","constructor","_constructor","id","settings","BaseAppPanel.prototype.constructor.call","firstLoad","init","_init","BaseAppPanel.prototype.init.call","_eventBus","getInstance","subscribe","applyPersonalization","_getPersonalizer","_this","_getPersContainerId","Error","Promise","resolve","getOwnerComponent","e","reject","getPersonalization","_getPersonalization","_this2","then","personalizer","read","persData","setPersonalization","_setPersonalization","_this3","write","_getAppPersonalization","_this4","personalization","favoriteApps","setFavAppsPersonalization","_setFavAppsPersonalization","appsPersonalization","_this5","_temp","_applyPersonalization","shouldReload","_this6","tiles","fetchTileVisualization","_applyTilesPersonalization","undefined","groupId","_this7","all","_getFavPages","personalizations","favPages","appManagerInstance","_getAllFavPageApps","favPageVisualizations","groups","getAggregation","apps","_getGroup","getApps","tile","item","_getItem","color","icon","_getItemPersonalization","setProperty","setBackgroundColor","setTileIcon","tileGroupId","data","find","oGroup","getGroupId","oApp","getUrl","isA","isSection","sectionId","BGColor","app","appIds","oldAppId","push","vizId","getVizId","appId","includes","oPersonalization","isRecentlyAddedApp","favPageVisualization","oVisualization","colorInfo","key","_getFavAppIcon","getAppIcon","_this8","_getPageManagerInstance","getFavoritePages","aFavPages","concat","pageId","_getAppIcon","favPageIcon","getIcon","_pageManagerInstance","getProperty","getPersContainerId"],"sources":["BaseAppPersPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport GenericTile from \"sap/m/GenericTile\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport BaseAppPanel from \"./BaseAppPanel\";\nimport { $BaseAppPersPanelSettings } from \"./BaseAppPersPanel\";\nimport Group from \"./Group\";\nimport { IAppPersonalization, ICustomVisualization, IItemPersonalization } from \"./interface/AppsInterface\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { DEFAULT_APP_ICON, DEFAULT_BG_COLOR, FALLBACK_ICON, MYHOME_PAGE_ID } from \"./utils/Constants\";\nimport { getLeanURL } from \"./utils/DataFormatUtils\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UshellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\n/**\n *\n * Provides the BaseAppPersPanel Class which is BaseAppPanel with personalisation.\n *\n * @extends sap.cux.home.BaseAppPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.BaseAppPersPanel\n */\nexport default abstract class BaseAppPersPanel extends BaseAppPanel {\n\tprivate _pageManagerInstance!: PageManager;\n\tprivate _eventBus!: EventBus;\n\tprivate firstLoad = true;\n\n\tconstructor(idOrSettings?: string | $BaseAppPersPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPersPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPersPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\tpersContainerId: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis._eventBus = EventBus.getInstance();\n\t\t//apply personalization on page update\n\t\tthis._eventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.applyPersonalization(!this.firstLoad);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves the personalizer instance.\n\t * @returns {Promise<sap.cux.home.UshellPersonalizer>} A promise resolving to the personalizer instance.\n\t * @throws {Error} Throws an error if no container ID is provided for personalization.\n\t * @private\n\t */\n\tprivate async _getPersonalizer() {\n\t\tconst persContainerId = this._getPersContainerId();\n\t\tif (!persContainerId) {\n\t\t\tthrow new Error(\"No Container ID Provided for personalisation!\");\n\t\t}\n\t\tconst personalizer = await UshellPersonalizer?.getInstance(\n\t\t\tpersContainerId,\n\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t);\n\t\treturn personalizer;\n\t}\n\n\t/**\n\t * Retrieves personalization data.\n\t * @returns {Promise<IPersonalizationData>} A promise that resolves with the personalization data.\n\t * @private\n\t */\n\tprotected async getPersonalization() {\n\t\tconst personalizer = await this._getPersonalizer();\n\t\tconst persData = await personalizer?.read();\n\t\treturn persData || {};\n\t}\n\n\t/**\n\t * Sets the personalization data.\n\t * @param {IPersonalizationData} persData - The personalization data to set.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is set.\n\t * @private\n\t */\n\tprotected async setPersonalization(persData: IPersonalizationData) {\n\t\tconst personalizer = await this._getPersonalizer();\n\t\tawait personalizer.write(persData);\n\t}\n\n\t/**\n\t * Returns array of personalized favorite apps\n\t *\n\t * @returns {Promise} resolves to return array of personalized favorite apps\n\t */\n\tprotected async _getAppPersonalization() {\n\t\tconst personalization = await this.getPersonalization();\n\t\treturn personalization?.favoriteApps || ([] as IAppPersonalization[]);\n\t}\n\n\t/**\n\t * Sets the personalization data.\n\t * @param {IAppPersonalization[]} appsPersonalization - Personalization data for favorite apps.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is set.\n\t * @private\n\t */\n\tprotected async setFavAppsPersonalization(appsPersonalization: IAppPersonalization[]): Promise<void> {\n\t\tlet personalization = await this.getPersonalization();\n\t\tif (personalization) {\n\t\t\tpersonalization.favoriteApps = appsPersonalization;\n\t\t\tawait this.setPersonalization(personalization);\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization settings to the tiles.\n\t * Retrieves tiles from the generated apps wrapper and applies personalization settings to each tile.\n\t * Personalization settings include background color and icon customization.\n\t * @param {boolean} [shouldReload=true] - A flag indicating whether to reload page visualizations.\n\t * @private\n\t * @async\n\t */\n\tpublic async applyPersonalization(shouldReload: boolean = false) {\n\t\tlet tiles = this.fetchTileVisualization();\n\t\tawait this._applyTilesPersonalization(tiles, undefined, shouldReload);\n\t\tif (this.firstLoad) {\n\t\t\tthis.firstLoad = false;\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization settings to the provided tiles.\n\t * @param {Array} tiles - An array of tiles to apply personalization settings to.\n\t * @param {string} [groupId] - Optional group ID for filtering personalization settings.\n\t * @param {boolean} [shouldReload=true] - A flag indicating whether to reload page visualizations.\n\t * @returns {Promise<void>} A promise that resolves when personalization settings are applied to the tiles.\n\t * @private\n\t */\n\tprotected async _applyTilesPersonalization(tiles: GenericTile[], groupId?: string, shouldReload = false) {\n\t\tconst [personalizations, favPages] = await Promise.all([this._getAppPersonalization(), this._getFavPages()]);\n\t\tconst favPageVisualizations = await this.appManagerInstance._getAllFavPageApps(favPages, shouldReload);\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\tconst apps = groupId ? this._getGroup(groupId)?.getApps() || [] : this.getApps() || [];\n\t\tfor (const tile of tiles) {\n\t\t\tconst item = this._getItem(tile, groups, apps);\n\t\t\tconst { color, icon } = this._getItemPersonalization(item, personalizations, favPageVisualizations, groupId);\n\n\t\t\tif (color) {\n\t\t\t\titem?.setProperty(\"bgColor\", color, true);\n\t\t\t\ttile.setBackgroundColor(color);\n\t\t\t}\n\n\t\t\tif (icon) {\n\t\t\t\titem?.setProperty(\"icon\", icon, true);\n\t\t\t\ttile.setTileIcon(icon);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the corresponding App or Group object associated with the given tile.\n\t * @param {GenericTile} tile - The tile for which to retrieve the corresponding item.\n\t * @param {Group[]} groups - An array of Group objects.\n\t * @param {App[]} apps - An array of App objects.\n\t * @returns {App | Group | undefined} The corresponding App or Group object, or undefined if not found.\n\t * @private\n\t */\n\tprivate _getItem(tile: GenericTile, groups: Group[], apps: App[]): App | Group | undefined {\n\t\tconst tileGroupId = tile.data(\"groupId\") as string | undefined;\n\t\tif (tileGroupId) {\n\t\t\treturn groups.find((oGroup) => oGroup.getGroupId() === tileGroupId);\n\t\t} else {\n\t\t\treturn apps.find((oApp) => getLeanURL(oApp.getUrl()) === tile.getUrl());\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the color and icon associated with the specified item based on personalizations.\n\t * @param {App | Group | undefined} item - The App or Group object for which to retrieve personalization data.\n\t * @param {IAppPersonalization[] | undefined} personalizations - An array of personalization objects.\n\t * @param {ICustomVisualization[]} favPageVisualizations - An array of favorite page visualizations.\n\t * @param {string | undefined} groupId - The ID of the group to which the item belongs.\n\t * @returns {IItemPersonalization} An object containing the color and icon associated with the item.\n\t * @private\n\t */\n\tprivate _getItemPersonalization(\n\t\titem: App | Group | undefined,\n\t\tpersonalizations: IAppPersonalization[] | undefined,\n\t\tfavPageVisualizations: ICustomVisualization[],\n\t\tgroupId?: string\n\t): IItemPersonalization {\n\t\tlet color: string = \"\";\n\t\tlet icon: string = \"\";\n\n\t\tif (!item) return { color, icon };\n\n\t\tif (item.isA(\"sap.cux.home.Group\")) {\n\t\t\tconst personalization = personalizations?.find(\n\t\t\t\t(personalization) => personalization.isSection && personalization.sectionId === (item as Group).getGroupId()\n\t\t\t);\n\t\t\tcolor = personalization?.BGColor as string;\n\t\t} else {\n\t\t\tconst app = item as App;\n\t\t\tconst appIds = [app.getUrl()];\n\t\t\tconst oldAppId = app.data(\"oldAppId\") as string | undefined;\n\t\t\tif (oldAppId) {\n\t\t\t\tappIds.push(oldAppId);\n\t\t\t}\n\t\t\tconst vizId = app.getVizId();\n\t\t\tconst personalization = groupId\n\t\t\t\t? personalizations?.find(\n\t\t\t\t\t\t(personalization) =>\n\t\t\t\t\t\t\t!personalization.isSection &&\n\t\t\t\t\t\t\tpersonalization.sectionId === groupId &&\n\t\t\t\t\t\t\tpersonalization.appId &&\n\t\t\t\t\t\t\tappIds.includes(personalization.appId)\n\t\t\t\t\t)\n\t\t\t\t: personalizations?.find((oPersonalization) =>\n\t\t\t\t\t\tthis?.isA(\"sap.cux.home.FavAppPanel\")\n\t\t\t\t\t\t\t? oPersonalization.isRecentlyAddedApp && oPersonalization.appId && appIds.includes(oPersonalization.appId)\n\t\t\t\t\t\t\t: oPersonalization.appId && appIds.includes(oPersonalization.appId)\n\t\t\t\t\t);\n\t\t\tconst favPageVisualization = favPageVisualizations.find(\n\t\t\t\t(oVisualization) => oVisualization.vizId === vizId || (oVisualization.appId && appIds.includes(oVisualization.appId))\n\t\t\t);\n\t\t\tconst colorInfo = personalization?.BGColor || favPageVisualization?.BGColor || DEFAULT_BG_COLOR().key;\n\t\t\tcolor = typeof colorInfo === \"object\" ? colorInfo.key : colorInfo;\n\t\t\ticon = this?.isA(\"sap.cux.home.FavAppPanel\") ? this._getFavAppIcon(app, favPageVisualization?.icon) : this.getAppIcon();\n\t\t}\n\n\t\treturn { color, icon };\n\t}\n\n\t/**\n\t * Retrieves favorite pages.\n\t * @returns {Promise<Array>} A promise that resolves with an array of favorite pages.\n\t * @private\n\t */\n\tprivate async _getFavPages() {\n\t\tconst aFavPages = await this._getPageManagerInstance().getFavoritePages();\n\t\treturn aFavPages.concat({\n\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\tBGColor: DEFAULT_BG_COLOR().key\n\t\t});\n\t}\n\n\t/**\n\t * Returns default app icon.\n\t * @returns {string} The icon URL for the app.\n\t * @private\n\t */\n\tprotected getAppIcon(): string {\n\t\treturn DEFAULT_APP_ICON;\n\t}\n\n\t/**\n\t * Retrieves the icon for the specified app, prioritizing the favorite page icon if available.\n\t * @param {sap.cux.home.App} app - The app object.\n\t * @param {string} favPageIcon - The icon for the app from the favorite page.\n\t * @returns {string} The icon URL for the app.\n\t * @private\n\t */\n\tprivate _getFavAppIcon(app?: App, favPageIcon?: string): string {\n\t\treturn favPageIcon || app?.getIcon() || FALLBACK_ICON;\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tthis._pageManagerInstance = this._pageManagerInstance || getPageManagerInstance(this);\n\t\treturn this._pageManagerInstance;\n\t}\n\n\tprivate _getPersContainerId(): string {\n\t\tlet persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (!persContainerId) {\n\t\t\tpersContainerId = PersonalisationUtils.getPersContainerId(this);\n\t\t}\n\t\treturn persContainerId;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,4LAAAC,QAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,sBAAA,EAAAC,oBAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAAA,MAUOG,YAAY,GAAAJ,sBAAA,CAAAN,cAAA;EAAA,MAIVW,sBAAsB,GAAAV,oBAAA;EAAA,MACtBW,gBAAgB,GAAAV,kBAAA;EAAA,MAAEW,gBAAgB,GAAAX,kBAAA;EAAA,MAAEY,aAAa,GAAAZ,kBAAA;EAAA,MAAEa,cAAc,GAAAb,kBAAA;EAAA,MACjEc,UAAU,GAAAb,wBAAA;EAAA,MAEZc,oBAAoB,GAAAX,sBAAA,CAAAF,sBAAA;EAAA,MACpBc,kBAAkB,GAAAZ,sBAAA,CAAAD,oBAAA;EAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAhBA,MAiB8Bc,gBAAgB,GAAST,YAAY,CAAAU,MAAA;IAWlDC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,UAAU,EAAE;QACXC,eAAe,EAAE;UAAEC,IAAI,EAAE,QAAQ;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,EAAE;UAAEC,UAAU,EAAE;QAAS;MAC1F;IACD,CAAC;IATDC,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAAoC,EAAE;MAC9DC,uCAAA,OAAMF,EAAE,EAAEC,QAAQ;MAAE,KALbE,SAAS,GAAG,IAAI;IAMxB,CAAC;IASMC,IAAI,WAAAC,MAAA,EAAG;MACbC,gCAAA;MACA,IAAI,CAACC,SAAS,GAAGvC,QAAQ,CAACwC,WAAW,CAAC,CAAC;MACvC;MACA,IAAI,CAACD,SAAS,CAACE,SAAS,CACvB,aAAa,EACb,aAAa,EACb,MAAM;QACL,KAAK,IAAI,CAACC,oBAAoB,CAAC,CAAC,IAAI,CAACP,SAAS,CAAC;MAChD,CAAC,EACD,IACD,CAAC;IACF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACeQ,gBAAgB,WAAAA,iBAAA;MAAA,IAAG;QAAA,MAAAC,KAAA,GACR,IAAI;QAA5B,MAAMnB,eAAe,GAAGmB,KAAA,CAAKC,mBAAmB,CAAC,CAAC;QAClD,IAAI,CAACpB,eAAe,EAAE;UACrB,MAAM,IAAIqB,KAAK,CAAC,+CAA+C,CAAC;QACjE;QAAC,OAAAC,OAAA,CAAAC,OAAA,CAC0B7B,kBAAkB,EAAEqB,WAAW,CACzDf,eAAe,EACfP,oBAAoB,CAAC+B,iBAAiB,CAAAL,KAAK,CAC5C,CAAC;MAEF,CAAC,QAAAM,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACiBE,kBAAkB,WAAAC,oBAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GACT,IAAI;QAAA,OAAAP,OAAA,CAAAC,OAAA,CAAJM,MAAA,CAAKX,gBAAgB,CAAC,CAAC,EAAAY,IAAA,WAA5CC,YAAY;UAAA,OAAAT,OAAA,CAAAC,OAAA,CACKQ,YAAY,EAAEC,IAAI,CAAC,CAAC,EAAAF,IAAA,WAArCG,QAAQ;YACd,OAAOA,QAAQ,IAAI,CAAC,CAAC;UAAC;QAAA;MACvB,CAAC,QAAAR,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACiBS,kBAAkB,WAAAC,oBAACF,QAA8B;MAAA,IAAE;QAAA,MAAAG,MAAA,GACvC,IAAI;QAAA,OAAAd,OAAA,CAAAC,OAAA,CAAJa,MAAA,CAAKlB,gBAAgB,CAAC,CAAC,EAAAY,IAAA,WAA5CC,YAAY;UAAA,OAAAT,OAAA,CAAAC,OAAA,CACZQ,YAAY,CAACM,KAAK,CAACJ,QAAQ,CAAC,EAAAH,IAAA;QAAA;MACnC,CAAC,QAAAL,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACiBa,sBAAsB,WAAAA,uBAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GACV,IAAI;QAAA,OAAAjB,OAAA,CAAAC,OAAA,CAAJgB,MAAA,CAAKZ,kBAAkB,CAAC,CAAC,EAAAG,IAAA,WAAjDU,eAAe;UACrB,OAAOA,eAAe,EAAEC,YAAY,IAAK,EAA4B;QAAC;MACvE,CAAC,QAAAhB,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACiBiB,yBAAyB,WAAAC,2BAACC,mBAA0C;MAAA,IAAiB;QAAA,MAAAC,MAAA,GACxE,IAAI;QAAA,OAAAvB,OAAA,CAAAC,OAAA,CAAJsB,MAAA,CAAKlB,kBAAkB,CAAC,CAAC,EAAAG,IAAA,WAAjDU,eAAe;UAAA,MAAAM,KAAA;YAAA,IACfN,eAAe;cAClBA,eAAe,CAACC,YAAY,GAAGG,mBAAmB;cAAC,OAAAtB,OAAA,CAAAC,OAAA,CAC7CsB,MAAA,CAAKX,kBAAkB,CAACM,eAAe,CAAC,EAAAV,IAAA;YAAA;UAAA;UAAA,IAAAgB,KAAA,IAAAA,KAAA,CAAAhB,IAAA,SAAAgB,KAAA,CAAAhB,IAAA;QAAA;MAEhD,CAAC,QAAAL,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACcR,oBAAoB,WAAA8B,sBAACC,YAAqB,GAAG,KAAK;MAAA,IAAE;QAAA,MAAAC,MAAA,GACpD,IAAI;QAAhB,IAAIC,KAAK,GAAGD,MAAA,CAAKE,sBAAsB,CAAC,CAAC;QAAC,OAAA7B,OAAA,CAAAC,OAAA,CACpC0B,MAAA,CAAKG,0BAA0B,CAACF,KAAK,EAAEG,SAAS,EAAEL,YAAY,CAAC,EAAAlB,IAAA;UAAA,IACjEmB,MAAA,CAAKvC,SAAS;YACjBuC,MAAA,CAAKvC,SAAS,GAAG,KAAK;UAAC;QAAA;MAEzB,CAAC,QAAAe,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACiB2B,0BAA0B,WAAAA,2BAACF,KAAoB,EAAEI,OAAgB,EAAEN,YAAY,GAAG,KAAK;MAAA,IAAE;QAAA,MAAAO,MAAA,GAChD,IAAI;QAAA,OAAAjC,OAAA,CAAAC,OAAA,CAAjBD,OAAO,CAACkC,GAAG,CAAC,CAACD,MAAA,CAAKjB,sBAAsB,CAAC,CAAC,EAAEiB,MAAA,CAAKE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAA3B,IAAA,WAAtG,CAAC4B,gBAAgB,EAAEC,QAAQ,CAAC;UAAA,OAAArC,OAAA,CAAAC,OAAA,CACEgC,MAAA,CAAKK,kBAAkB,CAACC,kBAAkB,CAACF,QAAQ,EAAEX,YAAY,CAAC,EAAAlB,IAAA,WAAhGgC,qBAAqB;YAC3B,MAAMC,MAAM,GAAIR,MAAA,CAAKS,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAc;YAC/D,MAAMC,IAAI,GAAGX,OAAO,GAAGC,MAAA,CAAKW,SAAS,CAACZ,OAAO,CAAC,EAAEa,OAAO,CAAC,CAAC,IAAI,EAAE,GAAGZ,MAAA,CAAKY,OAAO,CAAC,CAAC,IAAI,EAAE;YACtF,KAAK,MAAMC,IAAI,IAAIlB,KAAK,EAAE;cACzB,MAAMmB,IAAI,GAAGd,MAAA,CAAKe,QAAQ,CAACF,IAAI,EAAEL,MAAM,EAAEE,IAAI,CAAC;cAC9C,MAAM;gBAAEM,KAAK;gBAAEC;cAAK,CAAC,GAAGjB,MAAA,CAAKkB,uBAAuB,CAACJ,IAAI,EAAEX,gBAAgB,EAAEI,qBAAqB,EAAER,OAAO,CAAC;cAE5G,IAAIiB,KAAK,EAAE;gBACVF,IAAI,EAAEK,WAAW,CAAC,SAAS,EAAEH,KAAK,EAAE,IAAI,CAAC;gBACzCH,IAAI,CAACO,kBAAkB,CAACJ,KAAK,CAAC;cAC/B;cAEA,IAAIC,IAAI,EAAE;gBACTH,IAAI,EAAEK,WAAW,CAAC,MAAM,EAAEF,IAAI,EAAE,IAAI,CAAC;gBACrCJ,IAAI,CAACQ,WAAW,CAACJ,IAAI,CAAC;cACvB;YACD;UAAC;QAAA;MACF,CAAC,QAAA/C,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACS6C,QAAQ,WAAAA,SAACF,IAAiB,EAAEL,MAAe,EAAEE,IAAW,EAA2B;MAC1F,MAAMY,WAAW,GAAGT,IAAI,CAACU,IAAI,CAAC,SAAS,CAAuB;MAC9D,IAAID,WAAW,EAAE;QAChB,OAAOd,MAAM,CAACgB,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,UAAU,CAAC,CAAC,KAAKJ,WAAW,CAAC;MACpE,CAAC,MAAM;QACN,OAAOZ,IAAI,CAACc,IAAI,CAAEG,IAAI,IAAK1F,UAAU,CAAC0F,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,KAAKf,IAAI,CAACe,MAAM,CAAC,CAAC,CAAC;MACxE;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACSV,uBAAuB,WAAAA,wBAC9BJ,IAA6B,EAC7BX,gBAAmD,EACnDI,qBAA6C,EAC7CR,OAAgB,EACO;MACvB,IAAIiB,KAAa,GAAG,EAAE;MACtB,IAAIC,IAAY,GAAG,EAAE;MAErB,IAAI,CAACH,IAAI,EAAE,OAAO;QAAEE,KAAK;QAAEC;MAAK,CAAC;MAEjC,IAAIH,IAAI,CAACe,GAAG,CAAC,oBAAoB,CAAC,EAAE;QACnC,MAAM5C,eAAe,GAAGkB,gBAAgB,EAAEqB,IAAI,CAC5CvC,eAAe,IAAKA,eAAe,CAAC6C,SAAS,IAAI7C,eAAe,CAAC8C,SAAS,KAAMjB,IAAI,CAAWY,UAAU,CAAC,CAC5G,CAAC;QACDV,KAAK,GAAG/B,eAAe,EAAE+C,OAAiB;MAC3C,CAAC,MAAM;QACN,MAAMC,GAAG,GAAGnB,IAAW;QACvB,MAAMoB,MAAM,GAAG,CAACD,GAAG,CAACL,MAAM,CAAC,CAAC,CAAC;QAC7B,MAAMO,QAAQ,GAAGF,GAAG,CAACV,IAAI,CAAC,UAAU,CAAuB;QAC3D,IAAIY,QAAQ,EAAE;UACbD,MAAM,CAACE,IAAI,CAACD,QAAQ,CAAC;QACtB;QACA,MAAME,KAAK,GAAGJ,GAAG,CAACK,QAAQ,CAAC,CAAC;QAC5B,MAAMrD,eAAe,GAAGc,OAAO,GAC5BI,gBAAgB,EAAEqB,IAAI,CACrBvC,eAAe,IACf,CAACA,eAAe,CAAC6C,SAAS,IAC1B7C,eAAe,CAAC8C,SAAS,KAAKhC,OAAO,IACrCd,eAAe,CAACsD,KAAK,IACrBL,MAAM,CAACM,QAAQ,CAACvD,eAAe,CAACsD,KAAK,CACvC,CAAC,GACApC,gBAAgB,EAAEqB,IAAI,CAAEiB,gBAAgB,IACxC,IAAI,EAAEZ,GAAG,CAAC,0BAA0B,CAAC,GAClCY,gBAAgB,CAACC,kBAAkB,IAAID,gBAAgB,CAACF,KAAK,IAAIL,MAAM,CAACM,QAAQ,CAACC,gBAAgB,CAACF,KAAK,CAAC,GACxGE,gBAAgB,CAACF,KAAK,IAAIL,MAAM,CAACM,QAAQ,CAACC,gBAAgB,CAACF,KAAK,CACpE,CAAC;QACH,MAAMI,oBAAoB,GAAGpC,qBAAqB,CAACiB,IAAI,CACrDoB,cAAc,IAAKA,cAAc,CAACP,KAAK,KAAKA,KAAK,IAAKO,cAAc,CAACL,KAAK,IAAIL,MAAM,CAACM,QAAQ,CAACI,cAAc,CAACL,KAAK,CACpH,CAAC;QACD,MAAMM,SAAS,GAAG5D,eAAe,EAAE+C,OAAO,IAAIW,oBAAoB,EAAEX,OAAO,IAAIlG,gBAAgB,CAAC,CAAC,CAACgH,GAAG;QACrG9B,KAAK,GAAG,OAAO6B,SAAS,KAAK,QAAQ,GAAGA,SAAS,CAACC,GAAG,GAAGD,SAAS;QACjE5B,IAAI,GAAG,IAAI,EAAEY,GAAG,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAACkB,cAAc,CAACd,GAAG,EAAEU,oBAAoB,EAAE1B,IAAI,CAAC,GAAG,IAAI,CAAC+B,UAAU,CAAC,CAAC;MACxH;MAEA,OAAO;QAAEhC,KAAK;QAAEC;MAAK,CAAC;IACvB,CAAC;IAED;AACD;AACA;AACA;AACA;IACef,YAAY,WAAAA,aAAA;MAAA,IAAG;QAAA,MAAA+C,MAAA,GACJ,IAAI;QAAA,OAAAlF,OAAA,CAAAC,OAAA,CAAJiF,MAAA,CAAKC,uBAAuB,CAAC,CAAC,CAACC,gBAAgB,CAAC,CAAC,EAAA5E,IAAA,WAAnE6E,SAAS;UACf,OAAOA,SAAS,CAACC,MAAM,CAAC;YACvBC,MAAM,EAAEtH,cAAc;YACtBgG,OAAO,EAAElG,gBAAgB,CAAC,CAAC,CAACgH;UAC7B,CAAC,CAAC;QAAC;MACJ,CAAC,QAAA5E,CAAA;QAAA,OAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACW8E,UAAU,WAAAO,YAAA,EAAW;MAC9B,OAAO1H,gBAAgB;IACxB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSkH,cAAc,WAAAA,eAACd,GAAS,EAAEuB,WAAoB,EAAU;MAC/D,OAAOA,WAAW,IAAIvB,GAAG,EAAEwB,OAAO,CAAC,CAAC,IAAI1H,aAAa;IACtD,CAAC;IAEOmH,uBAAuB,WAAAA,wBAAA,EAAG;MACjC,IAAI,CAACQ,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,IAAI9H,sBAAsB,CAAC,IAAI,CAAC;MACrF,OAAO,IAAI,CAAC8H,oBAAoB;IACjC,CAAC;IAEO7F,mBAAmB,WAAAA,oBAAA,EAAW;MACrC,IAAIpB,eAAe,GAAG,IAAI,CAACkH,WAAW,CAAC,iBAAiB,CAAW;MACnE,IAAI,CAAClH,eAAe,EAAE;QACrBA,eAAe,GAAGP,oBAAoB,CAAC0H,kBAAkB,CAAC,IAAI,CAAC;MAChE;MACA,OAAOnH,eAAe;IACvB;EAAC;EAAA,OAnQ4BL,gBAAgB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"BaseAppPersPanel.js","names":["sap","ui","define","EventBus","__BaseAppPanel","__Group","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","__PersonalisationUtils","__UshellPersonalizer","_interopRequireDefault","obj","__esModule","default","BaseAppPanel","Group","getPageManagerInstance","DEFAULT_APP_ICON","DEFAULT_BG_COLOR","FALLBACK_ICON","MYHOME_PAGE_ID","getLeanURL","PersonalisationUtils","UshellPersonalizer","BaseAppPersPanel","extend","metadata","library","properties","persContainerId","type","group","defaultValue","visibility","constructor","_constructor","id","settings","BaseAppPanel.prototype.constructor.call","firstLoad","init","_init","BaseAppPanel.prototype.init.call","_eventBus","getInstance","subscribe","applyPersonalization","_getPersonalizer","_this","_getPersContainerId","Error","Promise","resolve","getOwnerComponent","e","reject","getPersonalization","_getPersonalization","_this2","then","personalizer","read","persData","setPersonalization","_setPersonalization","_this3","write","_getAppPersonalization","_this4","personalization","favoriteApps","setFavAppsPersonalization","_setFavAppsPersonalization","appsPersonalization","_this5","_temp","_applyPersonalization","shouldReload","_this6","tiles","fetchTileVisualization","_applyTilesPersonalization","undefined","groupId","_this7","all","_getFavPages","personalizations","favPages","appManagerInstance","_getAllFavPageApps","favPageVisualizations","groups","getAggregation","apps","_getGroup","getApps","tile","item","_getItem","color","icon","_getItemPersonalization","setProperty","setBackgroundColor","setTileIcon","tileGroupId","data","find","oGroup","getGroupId","oApp","getUrl","isSection","sectionId","BGColor","app","appIds","oldAppId","push","vizId","getVizId","appId","includes","oPersonalization","getMetadata","getName","isRecentlyAddedApp","favPageVisualization","oVisualization","colorInfo","key","panelName","_getFavAppIcon","getAppIcon","_this8","_getPageManagerInstance","getFavoritePages","aFavPages","concat","pageId","_getAppIcon","favPageIcon","getIcon","_pageManagerInstance","getProperty","getPersContainerId"],"sources":["BaseAppPersPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport GenericTile from \"sap/m/GenericTile\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport App from \"./App\";\nimport BaseAppPanel from \"./BaseAppPanel\";\nimport { $BaseAppPersPanelSettings } from \"./BaseAppPersPanel\";\nimport Group from \"./Group\";\nimport { IAppPersonalization, ICustomVisualization, IItemPersonalization } from \"./interface/AppsInterface\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { DEFAULT_APP_ICON, DEFAULT_BG_COLOR, FALLBACK_ICON, MYHOME_PAGE_ID } from \"./utils/Constants\";\nimport { getLeanURL } from \"./utils/DataFormatUtils\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UshellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\n/**\n *\n * Provides the BaseAppPersPanel Class which is BaseAppPanel with personalisation.\n *\n * @extends sap.cux.home.BaseAppPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @private\n *\n * @alias sap.cux.home.BaseAppPersPanel\n */\nexport default abstract class BaseAppPersPanel extends BaseAppPanel {\n\tprivate _pageManagerInstance!: PageManager;\n\tprivate _eventBus!: EventBus;\n\tprivate firstLoad = true;\n\n\tconstructor(idOrSettings?: string | $BaseAppPersPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPersPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPersPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\tpersContainerId: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis._eventBus = EventBus.getInstance();\n\t\t//apply personalization on page update\n\t\tthis._eventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.applyPersonalization(!this.firstLoad);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves the personalizer instance.\n\t * @returns {Promise<sap.cux.home.UshellPersonalizer>} A promise resolving to the personalizer instance.\n\t * @throws {Error} Throws an error if no container ID is provided for personalization.\n\t * @private\n\t */\n\tprivate async _getPersonalizer() {\n\t\tconst persContainerId = this._getPersContainerId();\n\t\tif (!persContainerId) {\n\t\t\tthrow new Error(\"No Container ID Provided for personalisation!\");\n\t\t}\n\t\tconst personalizer = await UshellPersonalizer?.getInstance(\n\t\t\tpersContainerId,\n\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t);\n\t\treturn personalizer;\n\t}\n\n\t/**\n\t * Retrieves personalization data.\n\t * @returns {Promise<IPersonalizationData>} A promise that resolves with the personalization data.\n\t * @private\n\t */\n\tprotected async getPersonalization() {\n\t\tconst personalizer = await this._getPersonalizer();\n\t\tconst persData = await personalizer?.read();\n\t\treturn persData || {};\n\t}\n\n\t/**\n\t * Sets the personalization data.\n\t * @param {IPersonalizationData} persData - The personalization data to set.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is set.\n\t * @private\n\t */\n\tprotected async setPersonalization(persData: IPersonalizationData) {\n\t\tconst personalizer = await this._getPersonalizer();\n\t\tawait personalizer.write(persData);\n\t}\n\n\t/**\n\t * Returns array of personalized favorite apps\n\t *\n\t * @returns {Promise} resolves to return array of personalized favorite apps\n\t */\n\tprotected async _getAppPersonalization() {\n\t\tconst personalization = await this.getPersonalization();\n\t\treturn personalization?.favoriteApps || ([] as IAppPersonalization[]);\n\t}\n\n\t/**\n\t * Sets the personalization data.\n\t * @param {IAppPersonalization[]} appsPersonalization - Personalization data for favorite apps.\n\t * @returns {Promise<void>} A promise that resolves when the personalization data is set.\n\t * @private\n\t */\n\tprotected async setFavAppsPersonalization(appsPersonalization: IAppPersonalization[]): Promise<void> {\n\t\tlet personalization = await this.getPersonalization();\n\t\tif (personalization) {\n\t\t\tpersonalization.favoriteApps = appsPersonalization;\n\t\t\tawait this.setPersonalization(personalization);\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization settings to the tiles.\n\t * Retrieves tiles from the generated apps wrapper and applies personalization settings to each tile.\n\t * Personalization settings include background color and icon customization.\n\t * @param {boolean} [shouldReload=true] - A flag indicating whether to reload page visualizations.\n\t * @private\n\t * @async\n\t */\n\tpublic async applyPersonalization(shouldReload: boolean = false) {\n\t\tlet tiles = this.fetchTileVisualization();\n\t\tawait this._applyTilesPersonalization(tiles, undefined, shouldReload);\n\t\tif (this.firstLoad) {\n\t\t\tthis.firstLoad = false;\n\t\t}\n\t}\n\n\t/**\n\t * Applies personalization settings to the provided tiles.\n\t * @param {Array} tiles - An array of tiles to apply personalization settings to.\n\t * @param {string} [groupId] - Optional group ID for filtering personalization settings.\n\t * @param {boolean} [shouldReload=true] - A flag indicating whether to reload page visualizations.\n\t * @returns {Promise<void>} A promise that resolves when personalization settings are applied to the tiles.\n\t * @private\n\t */\n\tprotected async _applyTilesPersonalization(tiles: GenericTile[], groupId?: string, shouldReload = false) {\n\t\tconst [personalizations, favPages] = await Promise.all([this._getAppPersonalization(), this._getFavPages()]);\n\t\tconst favPageVisualizations = await this.appManagerInstance._getAllFavPageApps(favPages, shouldReload);\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\tconst apps = groupId ? this._getGroup(groupId)?.getApps() || [] : this.getApps() || [];\n\t\tfor (const tile of tiles) {\n\t\t\tconst item = this._getItem(tile, groups, apps);\n\t\t\tconst { color, icon } = this._getItemPersonalization(item, personalizations, favPageVisualizations, groupId);\n\n\t\t\tif (color) {\n\t\t\t\titem?.setProperty(\"bgColor\", color, true);\n\t\t\t\ttile.setBackgroundColor(color);\n\t\t\t}\n\n\t\t\tif (icon) {\n\t\t\t\titem?.setProperty(\"icon\", icon, true);\n\t\t\t\ttile.setTileIcon(icon);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the corresponding App or Group object associated with the given tile.\n\t * @param {GenericTile} tile - The tile for which to retrieve the corresponding item.\n\t * @param {Group[]} groups - An array of Group objects.\n\t * @param {App[]} apps - An array of App objects.\n\t * @returns {App | Group | undefined} The corresponding App or Group object, or undefined if not found.\n\t * @private\n\t */\n\tprivate _getItem(tile: GenericTile, groups: Group[], apps: App[]): App | Group | undefined {\n\t\tconst tileGroupId = tile.data(\"groupId\") as string | undefined;\n\t\tif (tileGroupId) {\n\t\t\treturn groups.find((oGroup) => oGroup.getGroupId() === tileGroupId);\n\t\t} else {\n\t\t\treturn apps.find((oApp) => getLeanURL(oApp.getUrl()) === tile.getUrl());\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the color and icon associated with the specified item based on personalizations.\n\t * @param {App | Group | undefined} item - The App or Group object for which to retrieve personalization data.\n\t * @param {IAppPersonalization[] | undefined} personalizations - An array of personalization objects.\n\t * @param {ICustomVisualization[]} favPageVisualizations - An array of favorite page visualizations.\n\t * @param {string | undefined} groupId - The ID of the group to which the item belongs.\n\t * @returns {IItemPersonalization} An object containing the color and icon associated with the item.\n\t * @private\n\t */\n\tprivate _getItemPersonalization(\n\t\titem: App | Group | undefined,\n\t\tpersonalizations: IAppPersonalization[] | undefined,\n\t\tfavPageVisualizations: ICustomVisualization[],\n\t\tgroupId?: string\n\t): IItemPersonalization {\n\t\tlet color: string = \"\";\n\t\tlet icon: string = \"\";\n\n\t\tif (!item) return { color, icon };\n\n\t\tif (item instanceof Group) {\n\t\t\tconst personalization = personalizations?.find(\n\t\t\t\t(personalization) => personalization.isSection && personalization.sectionId === item.getGroupId()\n\t\t\t);\n\t\t\tcolor = personalization?.BGColor as string;\n\t\t} else {\n\t\t\tconst app = item;\n\t\t\tconst appIds = [app.getUrl()];\n\t\t\tconst oldAppId = app.data(\"oldAppId\") as string | undefined;\n\t\t\tif (oldAppId) {\n\t\t\t\tappIds.push(oldAppId);\n\t\t\t}\n\t\t\tconst vizId = app.getVizId();\n\t\t\tconst personalization = groupId\n\t\t\t\t? personalizations?.find(\n\t\t\t\t\t\t(personalization) =>\n\t\t\t\t\t\t\t!personalization.isSection &&\n\t\t\t\t\t\t\tpersonalization.sectionId === groupId &&\n\t\t\t\t\t\t\tpersonalization.appId &&\n\t\t\t\t\t\t\tappIds.includes(personalization.appId)\n\t\t\t\t\t)\n\t\t\t\t: personalizations?.find((oPersonalization) =>\n\t\t\t\t\t\tthis?.getMetadata().getName() === \"sap.cux.home.FavAppPanel\"\n\t\t\t\t\t\t\t? oPersonalization.isRecentlyAddedApp && oPersonalization.appId && appIds.includes(oPersonalization.appId)\n\t\t\t\t\t\t\t: oPersonalization.appId && appIds.includes(oPersonalization.appId)\n\t\t\t\t\t);\n\t\t\tconst favPageVisualization = favPageVisualizations.find(\n\t\t\t\t(oVisualization) => oVisualization.vizId === vizId || (oVisualization.appId && appIds.includes(oVisualization.appId))\n\t\t\t);\n\t\t\tconst colorInfo = personalization?.BGColor || favPageVisualization?.BGColor || DEFAULT_BG_COLOR().key;\n\t\t\tconst panelName = this?.getMetadata().getName();\n\t\t\tcolor = typeof colorInfo === \"object\" ? colorInfo.key : colorInfo;\n\t\t\ticon =\n\t\t\t\tpanelName === \"sap.cux.home.FavAppPanel\" || panelName === \"sap.cux.home.SpacePanel\"\n\t\t\t\t\t? this._getFavAppIcon(app, favPageVisualization?.icon)\n\t\t\t\t\t: this.getAppIcon();\n\t\t}\n\n\t\treturn { color, icon };\n\t}\n\n\t/**\n\t * Retrieves favorite pages.\n\t * @returns {Promise<Array>} A promise that resolves with an array of favorite pages.\n\t * @private\n\t */\n\tprivate async _getFavPages() {\n\t\tconst aFavPages = await this._getPageManagerInstance().getFavoritePages();\n\t\treturn aFavPages.concat({\n\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\tBGColor: DEFAULT_BG_COLOR().key\n\t\t});\n\t}\n\n\t/**\n\t * Returns default app icon.\n\t * @returns {string} The icon URL for the app.\n\t * @private\n\t */\n\tprotected getAppIcon(): string {\n\t\treturn DEFAULT_APP_ICON;\n\t}\n\n\t/**\n\t * Retrieves the icon for the specified app, prioritizing the favorite page icon if available.\n\t * @param {sap.cux.home.App} app - The app object.\n\t * @param {string} favPageIcon - The icon for the app from the favorite page.\n\t * @returns {string} The icon URL for the app.\n\t * @private\n\t */\n\tprivate _getFavAppIcon(app?: App, favPageIcon?: string): string {\n\t\treturn favPageIcon || app?.getIcon() || FALLBACK_ICON;\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tthis._pageManagerInstance = this._pageManagerInstance || getPageManagerInstance(this);\n\t\treturn this._pageManagerInstance;\n\t}\n\n\tprivate _getPersContainerId(): string {\n\t\tlet persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (!persContainerId) {\n\t\t\tpersContainerId = PersonalisationUtils.getPersContainerId(this);\n\t\t}\n\t\treturn persContainerId;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -30,8 +30,6 @@ import UshellPersonalizer, { IPersonalizationData } from "./utils/UshellPersonal
30
30
  * @since 1.121.0
31
31
  *
32
32
  * @abstract
33
- * @internal
34
- * @experimental Since 1.121
35
33
  * @private
36
34
  *
37
35
  * @alias sap.cux.home.BaseAppPersPanel
@@ -214,13 +212,13 @@ export default abstract class BaseAppPersPanel extends BaseAppPanel {
214
212
 
215
213
  if (!item) return { color, icon };
216
214
 
217
- if (item.isA("sap.cux.home.Group")) {
215
+ if (item instanceof Group) {
218
216
  const personalization = personalizations?.find(
219
- (personalization) => personalization.isSection && personalization.sectionId === (item as Group).getGroupId()
217
+ (personalization) => personalization.isSection && personalization.sectionId === item.getGroupId()
220
218
  );
221
219
  color = personalization?.BGColor as string;
222
220
  } else {
223
- const app = item as App;
221
+ const app = item;
224
222
  const appIds = [app.getUrl()];
225
223
  const oldAppId = app.data("oldAppId") as string | undefined;
226
224
  if (oldAppId) {
@@ -236,7 +234,7 @@ export default abstract class BaseAppPersPanel extends BaseAppPanel {
236
234
  appIds.includes(personalization.appId)
237
235
  )
238
236
  : personalizations?.find((oPersonalization) =>
239
- this?.isA("sap.cux.home.FavAppPanel")
237
+ this?.getMetadata().getName() === "sap.cux.home.FavAppPanel"
240
238
  ? oPersonalization.isRecentlyAddedApp && oPersonalization.appId && appIds.includes(oPersonalization.appId)
241
239
  : oPersonalization.appId && appIds.includes(oPersonalization.appId)
242
240
  );
@@ -244,8 +242,12 @@ export default abstract class BaseAppPersPanel extends BaseAppPanel {
244
242
  (oVisualization) => oVisualization.vizId === vizId || (oVisualization.appId && appIds.includes(oVisualization.appId))
245
243
  );
246
244
  const colorInfo = personalization?.BGColor || favPageVisualization?.BGColor || DEFAULT_BG_COLOR().key;
245
+ const panelName = this?.getMetadata().getName();
247
246
  color = typeof colorInfo === "object" ? colorInfo.key : colorInfo;
248
- icon = this?.isA("sap.cux.home.FavAppPanel") ? this._getFavAppIcon(app, favPageVisualization?.icon) : this.getAppIcon();
247
+ icon =
248
+ panelName === "sap.cux.home.FavAppPanel" || panelName === "sap.cux.home.SpacePanel"
249
+ ? this._getFavAppIcon(app, favPageVisualization?.icon)
250
+ : this.getAppIcon();
249
251
  }
250
252
 
251
253
  return { color, icon };
@@ -34,7 +34,6 @@ declare module "sap/cux/home/BaseContainer" {
34
34
  *
35
35
  * @abstract
36
36
  * @internal
37
- * @experimental Since 1.121
38
37
  * @public
39
38
  *
40
39
  * @ui5-metamodel
@@ -1 +1 @@
1
- {"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,6 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
37
37
  *
38
38
  * @abstract
39
39
  * @internal
40
- * @experimental Since 1.121
41
40
  * @public
42
41
  *
43
42
  * @ui5-metamodel
@@ -311,7 +310,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
311
310
  _createHeader: function _createHeader(control) {
312
311
  const controlId = control.getId();
313
312
  const id = `${controlId}-header`;
314
- const isPanel = control.isA("sap.cux.home.BasePanel");
313
+ const isPanel = control instanceof BasePanel;
315
314
  const hasContainerTitle = this.getProperty("title")?.trim().length > 0;
316
315
  if (!this._controlMap.get(id)) {
317
316
  //create header elements
@@ -396,7 +395,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
396
395
  if (this.getProperty("orientation") === OrientationType.SideBySide) {
397
396
  this._getIconTabFilter(panel)?.addContent(control);
398
397
  } else {
399
- this._controlMap.get(`${panel.getId()}-wrapper`)?.addItem(control);
398
+ this._controlMap.get(`${panel.getId()}-contentWrapper`)?.addItem(control);
400
399
  }
401
400
  },
402
401
  /**
@@ -571,7 +570,7 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
571
570
  */
572
571
  _updateContainerHeader: function _updateContainerHeader(control) {
573
572
  const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
574
- const isContainer = control.isA("sap.cux.home.BaseContainer");
573
+ const isContainer = control instanceof BaseContainer;
575
574
  const targetControl = !isContainer && isSideBySideLayout ? this : control;
576
575
 
577
576
  //clear container header elements
@@ -589,12 +588,18 @@ sap.ui.define(["sap/m/Button", "sap/m/FlexBox", "sap/m/HBox", "sap/m/IconTabBar"
589
588
  */
590
589
  _updateHeader: function _updateHeader(control) {
591
590
  const isSideBySideLayout = this.getProperty("orientation") === OrientationType.SideBySide;
592
- const isContainer = control.isA("sap.cux.home.BaseContainer");
591
+ const isContainer = control instanceof BaseContainer;
592
+
593
593
  //Update Title
594
594
  const headerTitle = this._controlMap.get(control.getId() + "-header-title");
595
595
  headerTitle?.setText(control.getProperty("title"));
596
596
  headerTitle?.setVisible(control.getProperty("title")?.trim().length > 0);
597
597
 
598
+ //Update Panel Header, if applicable
599
+ if (!isContainer && isSideBySideLayout) {
600
+ this._getIconTabFilter(control)?.setText(control.getProperty("title"));
601
+ }
602
+
598
603
  //Add common header elements
599
604
  if (this._getLayout()) {
600
605
  this._addLayoutHeaderElements();