@sapui5/sap.cux.home 1.141.0 → 1.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +4 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +6 -6
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -6
  8. package/src/sap/cux/home/App.d.ts.map +1 -1
  9. package/src/sap/cux/home/App.js +9 -1
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +10 -1
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts +75 -34
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js +378 -179
  15. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  16. package/src/sap/cux/home/AppsAdditionPanel.ts +399 -175
  17. package/src/sap/cux/home/AppsContainer.d.ts +5 -1
  18. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  19. package/src/sap/cux/home/AppsContainer.js +32 -17
  20. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  21. package/src/sap/cux/home/AppsContainer.ts +31 -15
  22. package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
  23. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  24. package/src/sap/cux/home/BaseAppPanel.js +2 -1
  25. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  26. package/src/sap/cux/home/BaseAppPanel.ts +4 -2
  27. package/src/sap/cux/home/BaseContainer.d.ts +8 -0
  28. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  29. package/src/sap/cux/home/BaseContainer.js +35 -5
  30. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  31. package/src/sap/cux/home/BaseContainer.ts +32 -5
  32. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  33. package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
  34. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
  36. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  37. package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
  38. package/src/sap/cux/home/BasePanel.d.ts +7 -0
  39. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  40. package/src/sap/cux/home/BasePanel.js +23 -2
  41. package/src/sap/cux/home/BasePanel.js.map +1 -1
  42. package/src/sap/cux/home/BasePanel.ts +18 -1
  43. package/src/sap/cux/home/CardsContainer.d.ts +108 -0
  44. package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
  45. package/src/sap/cux/home/CardsContainer.js +207 -0
  46. package/src/sap/cux/home/CardsContainer.js.map +1 -0
  47. package/src/sap/cux/home/CardsContainer.ts +202 -0
  48. package/src/sap/cux/home/CardsPanel.d.ts +32 -59
  49. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/CardsPanel.js +270 -249
  51. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  52. package/src/sap/cux/home/CardsPanel.ts +169 -181
  53. package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
  54. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  55. package/src/sap/cux/home/ContentAdditionDialog.js +17 -7
  56. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  57. package/src/sap/cux/home/ContentAdditionDialog.ts +18 -6
  58. package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
  59. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  60. package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
  61. package/src/sap/cux/home/ErrorPanel.js +11 -16
  62. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  63. package/src/sap/cux/home/ErrorPanel.ts +7 -19
  64. package/src/sap/cux/home/FavAppPanel.d.ts +1 -12
  65. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  66. package/src/sap/cux/home/FavAppPanel.js +354 -414
  67. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  68. package/src/sap/cux/home/FavAppPanel.ts +25 -70
  69. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  70. package/src/sap/cux/home/FrequentAppPanel.js +5 -1
  71. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  72. package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
  73. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
  74. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  75. package/src/sap/cux/home/InsightsAdditionPanel.js +12 -9
  76. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  77. package/src/sap/cux/home/InsightsAdditionPanel.ts +11 -8
  78. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
  79. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  80. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +3 -3
  81. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
  82. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  83. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
  84. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  85. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
  86. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  87. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
  88. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  89. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
  90. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
  91. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  92. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
  93. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  94. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
  95. package/src/sap/cux/home/Layout.d.ts +3 -1
  96. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  97. package/src/sap/cux/home/Layout.js +45 -8
  98. package/src/sap/cux/home/Layout.js.map +1 -1
  99. package/src/sap/cux/home/Layout.ts +55 -8
  100. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
  101. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
  103. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  104. package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
  105. package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -18
  106. package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
  107. package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
  108. package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
  109. package/src/sap/cux/home/NewsContainer.js.map +1 -0
  110. package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +31 -120
  111. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  112. package/src/sap/cux/home/NewsGroup.ts +1 -1
  113. package/src/sap/cux/home/NewsPanel.d.ts +17 -0
  114. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  115. package/src/sap/cux/home/NewsPanel.js +90 -57
  116. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  117. package/src/sap/cux/home/NewsPanel.ts +51 -23
  118. package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
  119. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  120. package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
  121. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  122. package/src/sap/cux/home/NewsSettingsPanel.ts +216 -81
  123. package/src/sap/cux/home/Page.d.ts.map +1 -1
  124. package/src/sap/cux/home/Page.js +4 -1
  125. package/src/sap/cux/home/Page.js.map +1 -1
  126. package/src/sap/cux/home/Page.ts +2 -0
  127. package/src/sap/cux/home/PagePanel.d.ts +1 -1
  128. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  129. package/src/sap/cux/home/PagePanel.js +19 -11
  130. package/src/sap/cux/home/PagePanel.js.map +1 -1
  131. package/src/sap/cux/home/PagePanel.ts +26 -20
  132. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  133. package/src/sap/cux/home/PageSettingsPanel.js +6 -3
  134. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  135. package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
  136. package/src/sap/cux/home/PagesContainer.d.ts +72 -0
  137. package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
  138. package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
  139. package/src/sap/cux/home/PagesContainer.js +333 -0
  140. package/src/sap/cux/home/PagesContainer.js.map +1 -0
  141. package/src/sap/cux/home/PagesContainer.ts +179 -0
  142. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  143. package/src/sap/cux/home/RecentAppPanel.js +6 -0
  144. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  145. package/src/sap/cux/home/RecentAppPanel.ts +5 -1
  146. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
  148. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  149. package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
  150. package/src/sap/cux/home/SettingsDialog.d.ts +7 -0
  151. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  152. package/src/sap/cux/home/SettingsDialog.js +18 -10
  153. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  154. package/src/sap/cux/home/SettingsDialog.ts +20 -13
  155. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
  156. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  157. package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
  158. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  159. package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
  160. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  161. package/src/sap/cux/home/SituationPanel.js +7 -2
  162. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  163. package/src/sap/cux/home/SituationPanel.ts +2 -0
  164. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
  165. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  166. package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
  167. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  168. package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
  169. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  170. package/src/sap/cux/home/TaskPanel.js +17 -12
  171. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  172. package/src/sap/cux/home/TaskPanel.ts +19 -16
  173. package/src/sap/cux/home/TilesContainer.d.ts +111 -0
  174. package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
  175. package/src/sap/cux/home/TilesContainer.js +218 -0
  176. package/src/sap/cux/home/TilesContainer.js.map +1 -0
  177. package/src/sap/cux/home/TilesContainer.ts +216 -0
  178. package/src/sap/cux/home/TilesPanel.d.ts +22 -52
  179. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  180. package/src/sap/cux/home/TilesPanel.js +194 -168
  181. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  182. package/src/sap/cux/home/TilesPanel.ts +167 -157
  183. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  184. package/src/sap/cux/home/ToDoPanel.js +59 -66
  185. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  186. package/src/sap/cux/home/ToDoPanel.ts +46 -34
  187. package/src/sap/cux/home/ToDosContainer.js +3 -3
  188. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  189. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  190. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
  191. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  192. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
  193. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  194. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
  195. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
  196. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  197. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
  198. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  199. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
  200. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
  201. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
  202. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
  203. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
  204. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
  205. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
  206. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  207. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
  208. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  209. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
  210. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  211. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
  212. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  213. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
  214. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
  215. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  216. package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
  217. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  218. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
  219. package/src/sap/cux/home/i18n/messagebundle.properties +40 -14
  220. package/src/sap/cux/home/i18n/messagebundle_ar.properties +8 -4
  221. package/src/sap/cux/home/i18n/messagebundle_bg.properties +8 -4
  222. package/src/sap/cux/home/i18n/messagebundle_ca.properties +8 -4
  223. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +8 -4
  224. package/src/sap/cux/home/i18n/messagebundle_cs.properties +8 -4
  225. package/src/sap/cux/home/i18n/messagebundle_cy.properties +8 -4
  226. package/src/sap/cux/home/i18n/messagebundle_da.properties +8 -4
  227. package/src/sap/cux/home/i18n/messagebundle_de.properties +8 -4
  228. package/src/sap/cux/home/i18n/messagebundle_el.properties +8 -4
  229. package/src/sap/cux/home/i18n/messagebundle_en.properties +9 -5
  230. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +8 -4
  231. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +14 -6
  232. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +14 -6
  233. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +8 -4
  234. package/src/sap/cux/home/i18n/messagebundle_es.properties +8 -4
  235. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +8 -4
  236. package/src/sap/cux/home/i18n/messagebundle_et.properties +8 -4
  237. package/src/sap/cux/home/i18n/messagebundle_fi.properties +8 -4
  238. package/src/sap/cux/home/i18n/messagebundle_fr.properties +8 -4
  239. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +8 -4
  240. package/src/sap/cux/home/i18n/messagebundle_hi.properties +8 -4
  241. package/src/sap/cux/home/i18n/messagebundle_hr.properties +8 -4
  242. package/src/sap/cux/home/i18n/messagebundle_hu.properties +8 -4
  243. package/src/sap/cux/home/i18n/messagebundle_id.properties +8 -4
  244. package/src/sap/cux/home/i18n/messagebundle_it.properties +10 -6
  245. package/src/sap/cux/home/i18n/messagebundle_iw.properties +8 -4
  246. package/src/sap/cux/home/i18n/messagebundle_ja.properties +8 -4
  247. package/src/sap/cux/home/i18n/messagebundle_kk.properties +8 -4
  248. package/src/sap/cux/home/i18n/messagebundle_ko.properties +8 -4
  249. package/src/sap/cux/home/i18n/messagebundle_lt.properties +8 -4
  250. package/src/sap/cux/home/i18n/messagebundle_lv.properties +8 -4
  251. package/src/sap/cux/home/i18n/messagebundle_mk.properties +8 -4
  252. package/src/sap/cux/home/i18n/messagebundle_ms.properties +8 -4
  253. package/src/sap/cux/home/i18n/messagebundle_nl.properties +8 -4
  254. package/src/sap/cux/home/i18n/messagebundle_no.properties +8 -4
  255. package/src/sap/cux/home/i18n/messagebundle_pl.properties +8 -4
  256. package/src/sap/cux/home/i18n/messagebundle_pt.properties +9 -5
  257. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +8 -4
  258. package/src/sap/cux/home/i18n/messagebundle_ro.properties +8 -4
  259. package/src/sap/cux/home/i18n/messagebundle_ru.properties +8 -4
  260. package/src/sap/cux/home/i18n/messagebundle_sh.properties +8 -4
  261. package/src/sap/cux/home/i18n/messagebundle_sk.properties +8 -4
  262. package/src/sap/cux/home/i18n/messagebundle_sl.properties +8 -4
  263. package/src/sap/cux/home/i18n/messagebundle_sr.properties +8 -4
  264. package/src/sap/cux/home/i18n/messagebundle_sv.properties +8 -4
  265. package/src/sap/cux/home/i18n/messagebundle_th.properties +8 -4
  266. package/src/sap/cux/home/i18n/messagebundle_tr.properties +8 -4
  267. package/src/sap/cux/home/i18n/messagebundle_uk.properties +8 -4
  268. package/src/sap/cux/home/i18n/messagebundle_vi.properties +8 -4
  269. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +8 -4
  270. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +8 -4
  271. package/src/sap/cux/home/interface/AppsInterface.d.ts +6 -0
  272. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  273. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  274. package/src/sap/cux/home/interface/AppsInterface.ts +7 -0
  275. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
  276. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  277. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  278. package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
  279. package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
  280. package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
  281. package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
  282. package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
  283. package/src/sap/cux/home/library.d.ts.map +1 -1
  284. package/src/sap/cux/home/library.js +7 -4
  285. package/src/sap/cux/home/library.js.map +1 -1
  286. package/src/sap/cux/home/library.ts +10 -5
  287. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
  288. package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
  289. package/src/sap/cux/home/themes/base/BaseLayout.less +22 -0
  290. package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +4 -45
  291. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
  292. package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
  293. package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
  294. package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
  295. package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
  296. package/src/sap/cux/home/themes/base/library.source.less +2 -1
  297. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  298. package/src/sap/cux/home/utils/AppManager.js +2 -1
  299. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  300. package/src/sap/cux/home/utils/AppManager.ts +2 -2
  301. package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
  302. package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
  303. package/src/sap/cux/home/utils/FESRUtil.js +36 -1
  304. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  305. package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
  306. package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
  307. package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
  308. package/src/sap/cux/home/utils/PXFeedback.js +28 -0
  309. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
  310. package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
  311. package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
  312. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  313. package/src/sap/cux/home/utils/PageManager.js +6 -6
  314. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  315. package/src/sap/cux/home/utils/PageManager.ts +6 -5
  316. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
  317. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  318. package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
  319. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  320. package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
  321. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +155 -151
  322. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
  323. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
  324. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
  325. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
  326. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
  327. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
  328. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
  329. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
  330. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
  331. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
  332. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
  333. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
  334. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
  335. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
  336. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
  337. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
  338. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
  339. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
  340. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
  341. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
  342. package/ui5.yaml +1 -0
  343. package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
  344. package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
  345. package/src/sap/cux/home/InsightsContainer.js +0 -459
  346. package/src/sap/cux/home/InsightsContainer.js.map +0 -1
  347. package/src/sap/cux/home/InsightsContainer.ts +0 -489
  348. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
  349. package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
  350. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
  351. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
  352. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
  353. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
  354. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
  355. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
@@ -129,7 +129,7 @@ const _getTargetUrl = (vizConfigFLP: IVisualization | undefined) => {
129
129
  return sTargetURL;
130
130
  };
131
131
 
132
- const _isSmartBusinessTile = (oVisualization: IVisualization): boolean => {
132
+ export const _isSmartBusinessTile = (oVisualization: IVisualization): boolean => {
133
133
  return oVisualization.vizType?.startsWith("X-SAP-UI2-CHIP:SSB");
134
134
  };
135
135
 
@@ -333,7 +333,7 @@ export default class AppManager extends BaseObject {
333
333
  this._oVizCacheData[oViz.appId] = oVizInstantiationService.instantiateVisualization(
334
334
  oVisualization
335
335
  ) as ICustomVizInstance;
336
- this._oVizCacheData[oViz.appId].setActive(true);
336
+ this._oVizCacheData[oViz.appId].setActive(false);
337
337
  }
338
338
  oViz.vizInstance = this._oVizCacheData[oViz.appId];
339
339
  }
@@ -10,6 +10,36 @@ declare module "sap/cux/home/utils/FESRUtil" {
10
10
  CHANGE = "change",
11
11
  SELECT = "select"
12
12
  }
13
+ /**
14
+ * Enum for FESR (Frontend Subrecord) navigation source identifiers.
15
+ * Used to track the source of navigation events for performance monitoring.
16
+ */
17
+ enum FESRNavigationSource {
18
+ /** Situation-based navigation source */
19
+ Situation = "situ",
20
+ /** Task-based navigation source */
21
+ Task = "task",
22
+ /** Page navigation source */
23
+ Page = "page",
24
+ /** App Finder navigation source */
25
+ AppFinder = "apFi",
26
+ /** Resume AppA ctivity navigation source */
27
+ ResumeAppActivity = "reAc",
28
+ /** Frequently Used apps navigation source */
29
+ FrequentlyUsed = "frUs",
30
+ /** Recently Used apps navigation source */
31
+ RecentlyUsed = "reUs",
32
+ /** Favorite apps navigation source */
33
+ Favorite = "faAp",
34
+ /** Recommended apps navigation source */
35
+ Recommended = "rcAp",
36
+ /** Insights tiles navigation source */
37
+ Tiles = "tile",
38
+ /** Insights cards navigation source */
39
+ Cards = "card"
40
+ }
41
+ let oExtensionInstance: any;
42
+ const addFESRNavigationSource: (source: FESRNavigationSource) => void;
13
43
  const addFESRId: (control: Control | UI5Element, fesrId: string) => void;
14
44
  const getFESRId: (control: Control | UI5Element) => string;
15
45
  const addFESRSemanticStepName: (element: UI5Element, eventName: string, stepName: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"FESRUtil.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FESRUtil.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAG7C,KAAY,WAAW;QACtB,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,MAAM,WAAW;KACjB;IAEM,MAAM,SAAS,GAAI,SAAS,OAAO,GAAG,UAAU,EAAE,QAAQ,MAAM,SAEtE,CAAC;IAEK,MAAM,SAAS,GAAI,SAAS,OAAO,GAAG,UAAU,KACpB,MAClC,CAAC;IAEK,MAAM,uBAAuB,GAAI,SAAS,UAAU,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,SAI/F,CAAC;CAED"}
1
+ {"version":3,"file":"FESRUtil.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/FESRUtil.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAI7C,KAAY,WAAW;QACtB,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,MAAM,WAAW;KACjB;IAED;;;OAGG;IACH,KAAY,oBAAoB;QAC/B,wCAAwC;QACxC,SAAS,SAAS;QAClB,mCAAmC;QACnC,IAAI,SAAS;QACb,6BAA6B;QAC7B,IAAI,SAAS;QACb,mCAAmC;QACnC,SAAS,SAAS;QAClB,4CAA4C;QAC5C,iBAAiB,SAAS;QAC1B,6CAA6C;QAC7C,cAAc,SAAS;QACvB,2CAA2C;QAC3C,YAAY,SAAS;QACrB,sCAAsC;QACtC,QAAQ,SAAS;QACjB,yCAAyC;QACzC,WAAW,SAAS;QACpB,uCAAuC;QACvC,KAAK,SAAS;QACd,uCAAuC;QACvC,KAAK,SAAS;KACd;IAED,IAAI,kBAAkB,KAAkB,CAAC;IAElC,MAAM,uBAAuB,GAAI,QAAQ,oBAAoB,SAEnE,CAAC;IAEK,MAAM,SAAS,GAAI,SAAS,OAAO,GAAG,UAAU,EAAE,QAAQ,MAAM,SAEtE,CAAC;IAEK,MAAM,SAAS,GAAI,SAAS,OAAO,GAAG,UAAU,KACpB,MAClC,CAAC;IAEK,MAAM,uBAAuB,GAAI,SAAS,UAAU,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,SAI/F,CAAC;CAED"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/performance/trace/FESRHelper"], function (FESRHelper) {
5
+ sap.ui.define(["sap/ui/performance/trace/FESRHelper", "sap/ushell/api/performance/Extension"], function (FESRHelper, Extension) {
6
6
  "use strict";
7
7
 
8
8
  var FESR_EVENTS = /*#__PURE__*/function (FESR_EVENTS) {
@@ -11,6 +11,39 @@ sap.ui.define(["sap/ui/performance/trace/FESRHelper"], function (FESRHelper) {
11
11
  FESR_EVENTS["SELECT"] = "select";
12
12
  return FESR_EVENTS;
13
13
  }(FESR_EVENTS || {});
14
+ /**
15
+ * Enum for FESR (Frontend Subrecord) navigation source identifiers.
16
+ * Used to track the source of navigation events for performance monitoring.
17
+ */
18
+ var FESRNavigationSource = /*#__PURE__*/function (FESRNavigationSource) {
19
+ /** Situation-based navigation source */
20
+ FESRNavigationSource["Situation"] = "situ";
21
+ /** Task-based navigation source */
22
+ FESRNavigationSource["Task"] = "task";
23
+ /** Page navigation source */
24
+ FESRNavigationSource["Page"] = "page";
25
+ /** App Finder navigation source */
26
+ FESRNavigationSource["AppFinder"] = "apFi";
27
+ /** Resume AppA ctivity navigation source */
28
+ FESRNavigationSource["ResumeAppActivity"] = "reAc";
29
+ /** Frequently Used apps navigation source */
30
+ FESRNavigationSource["FrequentlyUsed"] = "frUs";
31
+ /** Recently Used apps navigation source */
32
+ FESRNavigationSource["RecentlyUsed"] = "reUs";
33
+ /** Favorite apps navigation source */
34
+ FESRNavigationSource["Favorite"] = "faAp";
35
+ /** Recommended apps navigation source */
36
+ FESRNavigationSource["Recommended"] = "rcAp";
37
+ /** Insights tiles navigation source */
38
+ FESRNavigationSource["Tiles"] = "tile";
39
+ /** Insights cards navigation source */
40
+ FESRNavigationSource["Cards"] = "card";
41
+ return FESRNavigationSource;
42
+ }(FESRNavigationSource || {});
43
+ let oExtensionInstance = new Extension();
44
+ const addFESRNavigationSource = source => {
45
+ oExtensionInstance.addNavigationSource(source);
46
+ };
14
47
  const addFESRId = (control, fesrId) => {
15
48
  control?.data("fesr-id", fesrId);
16
49
  };
@@ -26,6 +59,8 @@ sap.ui.define(["sap/ui/performance/trace/FESRHelper"], function (FESRHelper) {
26
59
  __esModule: true
27
60
  };
28
61
  __exports.FESR_EVENTS = FESR_EVENTS;
62
+ __exports.FESRNavigationSource = FESRNavigationSource;
63
+ __exports.addFESRNavigationSource = addFESRNavigationSource;
29
64
  __exports.addFESRId = addFESRId;
30
65
  __exports.getFESRId = getFESRId;
31
66
  __exports.addFESRSemanticStepName = addFESRSemanticStepName;
@@ -1 +1 @@
1
- {"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","FESR_EVENTS","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol?.data(\"fesr-id\", fesrId);\n};\n\nexport const getFESRId = (control: Control | UI5Element) => {\n\treturn control.data(\"fesr-id\") as string;\n};\n\nexport const addFESRSemanticStepName = (element: UI5Element, eventName: string, stepName: string) => {\n\tif (stepName) {\n\t\tFESRHelper.setSemanticStepname(element, eventName, stepName);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,oDAAAC,UAAA;EAAA;;EAAA,IASYC,WAAW,0BAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAA,OAAXA,WAAW;EAAA,EAAXA,WAAW;EAMhB,MAAMC,SAAS,GAAGA,CAACC,OAA6B,EAAEC,MAAc,KAAK;IAC3ED,OAAO,EAAEE,IAAI,CAAC,SAAS,EAAED,MAAM,CAAC;EACjC,CAAC;EAEM,MAAME,SAAS,GAAIH,OAA6B,IAAK;IAC3D,OAAOA,OAAO,CAACE,IAAI,CAAC,SAAS,CAAC;EAC/B,CAAC;EAEM,MAAME,uBAAuB,GAAGA,CAACC,OAAmB,EAAEC,SAAiB,EAAEC,QAAgB,KAAK;IACpG,IAAIA,QAAQ,EAAE;MACbV,UAAU,CAACW,mBAAmB,CAACH,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7D;EACD,CAAC;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,WAAA,GAAAA,WAAA;EAAAW,SAAA,CAAAV,SAAA,GAAAA,SAAA;EAAAU,SAAA,CAAAN,SAAA,GAAAA,SAAA;EAAAM,SAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAAA,OAAAK,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"FESRUtil.js","names":["sap","ui","define","FESRHelper","Extension","FESR_EVENTS","FESRNavigationSource","oExtensionInstance","addFESRNavigationSource","source","addNavigationSource","addFESRId","control","fesrId","data","getFESRId","addFESRSemanticStepName","element","eventName","stepName","setSemanticStepname","__exports","__esModule"],"sources":["FESRUtil.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport FESRHelper from \"sap/ui/performance/trace/FESRHelper\";\nimport Extension from \"sap/ushell/api/performance/Extension\";\n\nexport enum FESR_EVENTS {\n\tPRESS = \"press\",\n\tCHANGE = \"change\",\n\tSELECT = \"select\"\n}\n\n/**\n * Enum for FESR (Frontend Subrecord) navigation source identifiers.\n * Used to track the source of navigation events for performance monitoring.\n */\nexport enum FESRNavigationSource {\n\t/** Situation-based navigation source */\n\tSituation = \"situ\",\n\t/** Task-based navigation source */\n\tTask = \"task\",\n\t/** Page navigation source */\n\tPage = \"page\",\n\t/** App Finder navigation source */\n\tAppFinder = \"apFi\",\n\t/** Resume AppA ctivity navigation source */\n\tResumeAppActivity = \"reAc\",\n\t/** Frequently Used apps navigation source */\n\tFrequentlyUsed = \"frUs\",\n\t/** Recently Used apps navigation source */\n\tRecentlyUsed = \"reUs\",\n\t/** Favorite apps navigation source */\n\tFavorite = \"faAp\",\n\t/** Recommended apps navigation source */\n\tRecommended = \"rcAp\",\n\t/** Insights tiles navigation source */\n\tTiles = \"tile\",\n\t/** Insights cards navigation source */\n\tCards = \"card\"\n}\n\nlet oExtensionInstance = new Extension();\n\nexport const addFESRNavigationSource = (source: FESRNavigationSource) => {\n\toExtensionInstance.addNavigationSource(source);\n};\n\nexport const addFESRId = (control: Control | UI5Element, fesrId: string) => {\n\tcontrol?.data(\"fesr-id\", fesrId);\n};\n\nexport const getFESRId = (control: Control | UI5Element) => {\n\treturn control.data(\"fesr-id\") as string;\n};\n\nexport const addFESRSemanticStepName = (element: UI5Element, eventName: string, stepName: string) => {\n\tif (stepName) {\n\t\tFESRHelper.setSemanticStepname(element, eventName, stepName);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,4FAAAC,UAAA,EAAAC,SAAA;EAAA;;EAAA,IAUYC,WAAW,0BAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAXA,WAAW;IAAA,OAAXA,WAAW;EAAA,EAAXA,WAAW;EAMvB;AACA;AACA;AACA;EAHA,IAIYC,oBAAoB,0BAApBA,oBAAoB;IAC/B;IADWA,oBAAoB;IAG/B;IAHWA,oBAAoB;IAK/B;IALWA,oBAAoB;IAO/B;IAPWA,oBAAoB;IAS/B;IATWA,oBAAoB;IAW/B;IAXWA,oBAAoB;IAa/B;IAbWA,oBAAoB;IAe/B;IAfWA,oBAAoB;IAiB/B;IAjBWA,oBAAoB;IAmB/B;IAnBWA,oBAAoB;IAqB/B;IArBWA,oBAAoB;IAAA,OAApBA,oBAAoB;EAAA,EAApBA,oBAAoB;EAyBhC,IAAIC,kBAAkB,GAAG,IAAIH,SAAS,CAAC,CAAC;EAEjC,MAAMI,uBAAuB,GAAIC,MAA4B,IAAK;IACxEF,kBAAkB,CAACG,mBAAmB,CAACD,MAAM,CAAC;EAC/C,CAAC;EAEM,MAAME,SAAS,GAAGA,CAACC,OAA6B,EAAEC,MAAc,KAAK;IAC3ED,OAAO,EAAEE,IAAI,CAAC,SAAS,EAAED,MAAM,CAAC;EACjC,CAAC;EAEM,MAAME,SAAS,GAAIH,OAA6B,IAAK;IAC3D,OAAOA,OAAO,CAACE,IAAI,CAAC,SAAS,CAAC;EAC/B,CAAC;EAEM,MAAME,uBAAuB,GAAGA,CAACC,OAAmB,EAAEC,SAAiB,EAAEC,QAAgB,KAAK;IACpG,IAAIA,QAAQ,EAAE;MACbhB,UAAU,CAACiB,mBAAmB,CAACH,OAAO,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IAC7D;EACD,CAAC;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAhB,WAAA,GAAAA,WAAA;EAAAgB,SAAA,CAAAf,oBAAA,GAAAA,oBAAA;EAAAe,SAAA,CAAAb,uBAAA,GAAAA,uBAAA;EAAAa,SAAA,CAAAV,SAAA,GAAAA,SAAA;EAAAU,SAAA,CAAAN,SAAA,GAAAA,SAAA;EAAAM,SAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAAA,OAAAK,SAAA;AAAA","ignoreList":[]}
@@ -6,6 +6,7 @@
6
6
  import Control from "sap/ui/core/Control";
7
7
  import UI5Element from "sap/ui/core/Element";
8
8
  import FESRHelper from "sap/ui/performance/trace/FESRHelper";
9
+ import Extension from "sap/ushell/api/performance/Extension";
9
10
 
10
11
  export enum FESR_EVENTS {
11
12
  PRESS = "press",
@@ -13,6 +14,41 @@ export enum FESR_EVENTS {
13
14
  SELECT = "select"
14
15
  }
15
16
 
17
+ /**
18
+ * Enum for FESR (Frontend Subrecord) navigation source identifiers.
19
+ * Used to track the source of navigation events for performance monitoring.
20
+ */
21
+ export enum FESRNavigationSource {
22
+ /** Situation-based navigation source */
23
+ Situation = "situ",
24
+ /** Task-based navigation source */
25
+ Task = "task",
26
+ /** Page navigation source */
27
+ Page = "page",
28
+ /** App Finder navigation source */
29
+ AppFinder = "apFi",
30
+ /** Resume AppA ctivity navigation source */
31
+ ResumeAppActivity = "reAc",
32
+ /** Frequently Used apps navigation source */
33
+ FrequentlyUsed = "frUs",
34
+ /** Recently Used apps navigation source */
35
+ RecentlyUsed = "reUs",
36
+ /** Favorite apps navigation source */
37
+ Favorite = "faAp",
38
+ /** Recommended apps navigation source */
39
+ Recommended = "rcAp",
40
+ /** Insights tiles navigation source */
41
+ Tiles = "tile",
42
+ /** Insights cards navigation source */
43
+ Cards = "card"
44
+ }
45
+
46
+ let oExtensionInstance = new Extension();
47
+
48
+ export const addFESRNavigationSource = (source: FESRNavigationSource) => {
49
+ oExtensionInstance.addNavigationSource(source);
50
+ };
51
+
16
52
  export const addFESRId = (control: Control | UI5Element, fesrId: string) => {
17
53
  control?.data("fesr-id", fesrId);
18
54
  };
@@ -0,0 +1,4 @@
1
+ declare module "sap/cux/home/utils/PXFeedback" {
2
+ function triggerPXIntegration(triggerEvent: string): void;
3
+ }
4
+ //# sourceMappingURL=PXFeedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PXFeedback.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/PXFeedback.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAQ/C,SAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAW/D;CAEA"}
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus"], function (Log, EventBus) {
6
+ "use strict";
7
+
8
+ function triggerPXIntegration(triggerEvent) {
9
+ try {
10
+ const eventBus = EventBus.getInstance();
11
+ eventBus.publish("sap.feedback", "inapp.feature", {
12
+ areaId: "EmbeddedAI",
13
+ triggerName: "J91",
14
+ payload: {
15
+ event: triggerEvent
16
+ }
17
+ });
18
+ } catch (e) {
19
+ Log.error("Error publishing feedback event", e);
20
+ }
21
+ }
22
+ var __exports = {
23
+ __esModule: true
24
+ };
25
+ __exports.triggerPXIntegration = triggerPXIntegration;
26
+ return __exports;
27
+ });
28
+ //# sourceMappingURL=PXFeedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PXFeedback.js","names":["sap","ui","define","Log","EventBus","triggerPXIntegration","triggerEvent","eventBus","getInstance","publish","areaId","triggerName","payload","event","e","error","__exports","__esModule"],"sources":["PXFeedback.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Log from \"sap/base/Log\";\nimport EventBus from \"sap/ui/core/EventBus\";\n\nexport function triggerPXIntegration(triggerEvent: string): void {\n\ttry {\n\t\tconst eventBus = EventBus.getInstance();\n\t\teventBus.publish(\"sap.feedback\", \"inapp.feature\", {\n\t\t\tareaId: \"EmbeddedAI\",\n\t\t\ttriggerName: \"J91\",\n\t\t\tpayload: { event: triggerEvent }\n\t\t});\n\t} catch (e) {\n\t\tLog.error(\"Error publishing feedback event\", e as Error);\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,qDAAAC,GAAA,EAAAC,QAAA;EAAA;;EAOO,SAASC,oBAAoBA,CAACC,YAAoB,EAAQ;IAChE,IAAI;MACH,MAAMC,QAAQ,GAAGH,QAAQ,CAACI,WAAW,CAAC,CAAC;MACvCD,QAAQ,CAACE,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE;QACjDC,MAAM,EAAE,YAAY;QACpBC,WAAW,EAAE,KAAK;QAClBC,OAAO,EAAE;UAAEC,KAAK,EAAEP;QAAa;MAChC,CAAC,CAAC;IACH,CAAC,CAAC,OAAOQ,CAAC,EAAE;MACXX,GAAG,CAACY,KAAK,CAAC,iCAAiC,EAAED,CAAU,CAAC;IACzD;EACD;EAAC,IAAAE,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,oBAAA,GAAAA,oBAAA;EAAA,OAAAW,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ import Log from "sap/base/Log";
6
+ import EventBus from "sap/ui/core/EventBus";
7
+
8
+ export function triggerPXIntegration(triggerEvent: string): void {
9
+ try {
10
+ const eventBus = EventBus.getInstance();
11
+ eventBus.publish("sap.feedback", "inapp.feature", {
12
+ areaId: "EmbeddedAI",
13
+ triggerName: "J91",
14
+ payload: { event: triggerEvent }
15
+ });
16
+ } catch (e) {
17
+ Log.error("Error publishing feedback event", e as Error);
18
+ }
19
+ }
@@ -1,8 +1,4 @@
1
1
  declare module "sap/cux/home/utils/PageManager" {
2
- /*!
3
- * SAP UI development toolkit for HTML5 (SAPUI5)
4
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
5
- */
6
2
  import BaseObject from "sap/ui/base/Object";
7
3
  import Component from "sap/ui/core/Component";
8
4
  import { ISpacePagePersonalization } from "sap/cux/home/interface/KeyUserInterface";
@@ -1 +1 @@
1
- {"version":3,"file":"PageManager.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/PageManager.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAChD;;;OAGG;IAEH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAC5C,OAAO,SAAS,MAAM,uBAAuB,CAAC;IAK9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;IACpF,OAAO,EAAU,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;IAClF,OAAO,UAAU,MAAM,+BAA+B,CAAC;IAGvD,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;IAEvE;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;QAClD,UAAU,EAAE,OAAO,UAAU,CAAc;QAC3C,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,SAAS,CAAC;QAC3B,QAAQ,EAAG,MAAM,EAAE,CAAC;QACpB,OAAO,EAAG,KAAK,EAAE,CAAC;QAClB,SAAS,EAAG,KAAK,EAAE,CAAC;QACpB,aAAa,EAAG,kBAAkB,CAAC;QACnC,mBAAmB,EAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,eAAe,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;SAAE,CAAM;QAC5D,OAAO,CAAC,SAAS,CAAW;QAC5B,OAAO;QAOP,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS;QAStE,OAAO,CAAC,mBAAmB;QAId,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAiB5C,sBAAsB,CAAC,mBAAmB,GAAE,OAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QA4B9E,cAAc;QAG3B,OAAO,CAAC,gBAAgB;QAKxB,OAAO,CAAC,eAAe;QAYvB,OAAO,CAAC,sBAAsB;QAMjB,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,sBAAsB,GAAE,OAAe;QA4B7E,gBAAgB,CAAC,YAAY,GAAE,OAAe;gBAevC,YAAY;QAkCb,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE;QA2EzE,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE;KA+CrF;CAEA"}
1
+ {"version":3,"file":"PageManager.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/PageManager.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAOhD,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAC5C,OAAO,SAAS,MAAM,uBAAuB,CAAC;IAK9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;IACpF,OAAO,EAAU,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;IAClF,OAAO,UAAU,MAAM,+BAA+B,CAAC;IAGvD,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;IAEvE;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;QAClD,UAAU,EAAE,OAAO,UAAU,CAAc;QAC3C,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,SAAS,CAAC;QAC3B,QAAQ,EAAG,MAAM,EAAE,CAAC;QACpB,OAAO,EAAG,KAAK,EAAE,CAAC;QAClB,SAAS,EAAG,KAAK,EAAE,CAAC;QACpB,aAAa,EAAG,kBAAkB,CAAC;QACnC,mBAAmB,EAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,eAAe,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;SAAE,CAAM;QAC5D,OAAO,CAAC,SAAS,CAAW;QAC5B,OAAO;QAOP,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS;QAStE,OAAO,CAAC,mBAAmB;QAId,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAiB5C,sBAAsB,CAAC,mBAAmB,GAAE,OAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QA4B9E,cAAc;QAG3B,OAAO,CAAC,gBAAgB;QAKxB,OAAO,CAAC,eAAe;QAYvB,OAAO,CAAC,sBAAsB;QAMjB,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,sBAAsB,GAAE,OAAe;QA4B7E,gBAAgB,CAAC,YAAY,GAAE,OAAe;gBAevC,YAAY;QAkCb,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE;QA2EzE,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE;KA+CrF;CAEA"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/ui/base/Object", "sap/ui/core/EventBus", "sap/ushell/Config", "sap/ushell/Container", "./ColorUtils", "./Constants", "./PagesIconsConstants", "./UshellPersonalizer"], function (BaseObject, EventBus, Config, Container, __ColorUtils, ___Constants, ___PagesIconsConstants, __UShellPersonalizer) {
5
+ sap.ui.define(["sap/base/util/deepEqual", "sap/ui/base/Object", "sap/ui/core/EventBus", "sap/ushell/Config", "sap/ushell/Container", "./ColorUtils", "./Constants", "./PagesIconsConstants", "./UshellPersonalizer"], function (deepEqual, BaseObject, EventBus, Config, Container, __ColorUtils, ___Constants, ___PagesIconsConstants, __UShellPersonalizer) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -185,12 +185,12 @@ sap.ui.define(["sap/ui/base/Object", "sap/ui/core/EventBus", "sap/ushell/Config"
185
185
  if (this.aFavPages && !bForceUpdate) {
186
186
  return Promise.resolve(this.aFavPages);
187
187
  }
188
- if (this.oGetFavPagesPromise === undefined) {
189
- this.oGetFavPagesPromise = this._getFavPages(bForceUpdate);
188
+ if (this.oGetFavPagesPromise === undefined || bForceUpdate) {
189
+ this.oGetFavPagesPromise = this._getFavPages();
190
190
  }
191
191
  return this.oGetFavPagesPromise;
192
192
  },
193
- _getFavPages: function _getFavPages2(bForceUpdate) {
193
+ _getFavPages: function _getFavPages2() {
194
194
  try {
195
195
  const _this5 = this;
196
196
  return Promise.resolve(_this5._getPersonalization()).then(function (_this5$_getPersonaliz) {
@@ -222,7 +222,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/ui/core/EventBus", "sap/ushell/Config"
222
222
  aPages = aPages.slice(0, PAGE_SELECTION_LIMIT);
223
223
  const _temp6 = function () {
224
224
  if (aPages.length || !aFavoritePages?.length) {
225
- return Promise.resolve(_this5.getFavPages(aPages, aPages.length !== aFavoritePages?.length || bForceUpdate)).then(function (_this5$getFavPages) {
225
+ return Promise.resolve(_this5.getFavPages(aPages, deepEqual(aPages, aFavoritePages))).then(function (_this5$getFavPages) {
226
226
  _this5.aFavPages = _this5$getFavPages;
227
227
  });
228
228
  } else {
@@ -381,7 +381,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/ui/core/EventBus", "sap/ushell/Config"
381
381
  }
382
382
  const _temp1 = function () {
383
383
  if (!_this7.aFavPages) {
384
- return Promise.resolve(_this7._getFavPages(false)).then(function () {});
384
+ return Promise.resolve(_this7._getFavPages()).then(function () {});
385
385
  }
386
386
  }();
387
387
  return Promise.resolve(_temp1 && _temp1.then ? _temp1.then(_temp10) : _temp10(_temp1));
@@ -1 +1 @@
1
- {"version":3,"file":"PageManager.js","names":["sap","ui","define","BaseObject","EventBus","Config","Container","__ColorUtils","___Constants","___PagesIconsConstants","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","ColorUtils","CUSTOM_SPACEID","DEFAULT_BG_COLOR","FALLBACK_ICON","fnFetchLegendColor","MYHOME_SPACE_ID","PAGE_SELECTION_LIMIT","PAGES","SPACES","UShellPersonalizer","PageManager","extend","constructor","_constructor","persContainerId","oOwnerComponent","BaseObject.prototype.constructor.call","colorUtils","_eventBus","getInstance","_getPersonalization","fetchAllAvailableSpaces","_fetchAllAvailableSpaces","_this","_aSpaces","Promise","resolve","getServiceAsync","then","oBookmarkService","getContentNodes","_oBookmarkService$get","aSpaces","filter","oSpace","id","forEach","BGColor","applyColorToAllPages","e","reject","fetchAllAvailablePages","_fetchAllAvailablePages","bFetchDistinctPages","_this2","_aPages","Array","isArray","children","oPage","find","oExistingPage","push","title","label","icon","isIconLoaded","pageId","spaceId","spaceTitle","url","hasCustomSpace","_hasCustomSpace","_this3","_this3$fetchAllAvaila","some","_getDefaultPages","aAvailablePages","aFavoritePages","slice","getFavPages","_getIconForPage","oFavPage","oIcon","includes","_applyIconsForFavPages","aFavPages","aPageWithoutIcon","_getFavPages","bUpdatePersonalisation","_this4","_temp4","length","selected","getFreeColor","addColor","_temp3","_temp2","oPersonalizer","read","oPersData","favouritePages","write","publish","_temp","_this4$_getPersonaliz","getFavoritePages","_getFavoritePages","bForceUpdate","bSpaceEnabled","encodeURIComponent","last","oGetFavPagesPromise","undefined","_getFavPages2","_this5","_this5$_getPersonaliz","_temp8","_temp7","_this5$_getDefaultPag","aPages","oAvailablePage","_temp6","_this5$getFavPages","_temp5","_this5$_getDefaultPag2","applyColorPersonalizations","_applyColorPersonalizations","personalizations","_this6","_temp0","allSpaces","personalization","isPagePersonalization","spaceObj","space","pageObj","page","availablePageObj","colorObj","isSpacePersonalization","favPageObj","favPage","favpageBGColor","oldColor","pageBackgroundColor","_temp9","applyIconPersonalizations","_applyIconPersonalizations","_this7","_temp10","isSpaceIconPersonalization","isPageIconPersonalization","oldIcon","_temp1","oCacheInstances","pageManagerInstance"],"sources":["PageManager.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport BaseObject from \"sap/ui/base/Object\";\nimport Component from \"sap/ui/core/Component\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport Bookmark from \"sap/ushell/services/BookmarkV2\";\nimport { ISpacePagePersonalization } from \"../interface/KeyUserInterface\";\nimport { IColor, IPage, ISpace } from \"../interface/PageSpaceInterface\";\nimport ColorUtils from \"./ColorUtils\";\nimport { CUSTOM_SPACEID, DEFAULT_BG_COLOR, FALLBACK_ICON, fnFetchLegendColor, MYHOME_SPACE_ID, PAGE_SELECTION_LIMIT } from \"./Constants\";\nimport { PAGES, SPACES } from \"./PagesIconsConstants\";\nimport UShellPersonalizer from \"./UshellPersonalizer\";\n\n/**\n *\n * Provides the PageManager Class used for fetch and process user pages.\n *\n * @extends sap.ui.BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n * @private\n *\n * @alias sap.cux.home.utils.PageManager\n */\n\nexport default class PageManager extends BaseObject {\n\tcolorUtils: typeof ColorUtils = ColorUtils;\n\tpersContainerId: string;\n\toOwnerComponent: Component;\n\t_aSpaces!: ISpace[];\n\t_aPages!: IPage[];\n\taFavPages!: IPage[];\n\toPersonalizer!: UShellPersonalizer;\n\toGetFavPagesPromise!: Promise<IPage[]>;\n\tstatic oCacheInstances: { [key: string]: PageManager } = {};\n\tprivate _eventBus: EventBus;\n\tprivate constructor(persContainerId: string, oOwnerComponent: Component) {\n\t\tsuper();\n\t\tthis.persContainerId = persContainerId;\n\t\tthis.oOwnerComponent = oOwnerComponent;\n\t\tthis._eventBus = EventBus.getInstance();\n\t}\n\n\tstatic getInstance(persContainerId: string, oOwnerComponent: Component) {\n\t\tif (PageManager.oCacheInstances[persContainerId]) {\n\t\t\treturn PageManager.oCacheInstances[persContainerId];\n\t\t}\n\t\tconst pageManagerInstance = new PageManager(persContainerId, oOwnerComponent);\n\t\tPageManager.oCacheInstances[persContainerId] = pageManagerInstance;\n\t\treturn pageManagerInstance;\n\t}\n\n\tprivate _getPersonalization() {\n\t\treturn UShellPersonalizer.getInstance(this.persContainerId, this.oOwnerComponent);\n\t}\n\n\tpublic async fetchAllAvailableSpaces(): Promise<ISpace[]> {\n\t\tif (this._aSpaces) {\n\t\t\treturn Promise.resolve(this._aSpaces);\n\t\t}\n\t\tconst oBookmarkService: Bookmark = await Container.getServiceAsync(\"BookmarkV2\");\n\t\tconst aSpaces = (await oBookmarkService.getContentNodes()) as ISpace[];\n\t\t// Filter MyHome Space from Spaces\n\t\tthis._aSpaces = aSpaces.filter((oSpace) => oSpace.id !== MYHOME_SPACE_ID);\n\n\t\t// Add Initial Default Color for Spaces\n\t\tthis._aSpaces.forEach(function (oSpace) {\n\t\t\toSpace.BGColor = DEFAULT_BG_COLOR();\n\t\t\toSpace.applyColorToAllPages = false;\n\t\t});\n\n\t\treturn this._aSpaces;\n\t}\n\tpublic async fetchAllAvailablePages(bFetchDistinctPages: boolean = false): Promise<IPage[]> {\n\t\tif (this._aPages) {\n\t\t\treturn Promise.resolve(this._aPages);\n\t\t}\n\t\tconst aSpaces = await this.fetchAllAvailableSpaces();\n\t\tthis._aPages = [];\n\t\taSpaces.forEach((oSpace: ISpace) => {\n\t\t\tif (Array.isArray(oSpace.children)) {\n\t\t\t\toSpace.children.forEach((oPage: IPage) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!bFetchDistinctPages ||\n\t\t\t\t\t\t(bFetchDistinctPages && !this._aPages.find((oExistingPage) => oExistingPage.id === oPage.id))\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis._aPages.push({\n\t\t\t\t\t\t\ttitle: oPage.label,\n\t\t\t\t\t\t\ticon: FALLBACK_ICON,\n\t\t\t\t\t\t\tisIconLoaded: false,\n\t\t\t\t\t\t\tpageId: oPage.id,\n\t\t\t\t\t\t\tspaceId: oSpace.id,\n\t\t\t\t\t\t\tspaceTitle: oSpace.label,\n\t\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.id + \"&spaceId=\" + oSpace.id\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn this._aPages;\n\t}\n\tpublic async hasCustomSpace() {\n\t\treturn (await this.fetchAllAvailableSpaces()).some((oSpace) => oSpace.id === CUSTOM_SPACEID);\n\t}\n\tprivate _getDefaultPages(aAvailablePages: IPage[]): Promise<IPage[]> {\n\t\tconst aFavoritePages = aAvailablePages.slice(0, PAGE_SELECTION_LIMIT) || [];\n\t\treturn this.getFavPages(aFavoritePages);\n\t}\n\t// Get icons from icon constants file\n\tprivate _getIconForPage(oFavPage: IPage) {\n\t\t// Check for icon in page icon constants file\n\t\tlet oIcon = PAGES.find((oPage) => oFavPage.pageId?.includes(oPage.id));\n\n\t\tif (!oIcon) {\n\t\t\t// Check for icon in space icon constants file\n\t\t\toIcon = SPACES.find((oSpace) => oFavPage.spaceId?.includes(oSpace.id));\n\t\t}\n\n\t\toFavPage.icon = oIcon?.icon || FALLBACK_ICON;\n\t\toFavPage.isIconLoaded = true;\n\t}\n\tprivate _applyIconsForFavPages(aFavPages: IPage[]) {\n\t\tconst aPageWithoutIcon = aFavPages.filter((oPage) => !oPage.isIconLoaded);\n\t\taPageWithoutIcon.forEach((oPage: IPage) => {\n\t\t\tthis._getIconForPage(oPage);\n\t\t});\n\t}\n\tpublic async getFavPages(aFavPages: IPage[], bUpdatePersonalisation: boolean = false) {\n\t\taFavPages.forEach((oPage: IPage) => {\n\t\t\toPage.selected = true;\n\t\t\tif (!oPage.BGColor) {\n\t\t\t\toPage.BGColor = this.colorUtils.getFreeColor();\n\t\t\t} else {\n\t\t\t\tthis.colorUtils.addColor(oPage.BGColor as string);\n\t\t\t}\n\t\t});\n\n\t\t// Update the Personalisation model\n\t\tif (bUpdatePersonalisation) {\n\t\t\tif (!this.oPersonalizer) {\n\t\t\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\t\t}\n\t\t\tlet oPersData = await this.oPersonalizer.read();\n\t\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\t\toPersData.favouritePages = aFavPages;\n\t\t\tawait this.oPersonalizer.write(oPersData);\n\t\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t\t}\n\n\t\t// Fetch and apply Icons for Favorite Pages\n\t\tif (aFavPages.length) {\n\t\t\tthis._applyIconsForFavPages(aFavPages);\n\t\t}\n\t\treturn aFavPages;\n\t}\n\tpublic getFavoritePages(bForceUpdate: boolean = false) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst bSpaceEnabled = encodeURIComponent(Config.last(\"/core/spaces/enabled\"));\n\t\tif (!bSpaceEnabled) {\n\t\t\treturn Promise.resolve([]);\n\t\t}\n\t\tif (this.aFavPages && !bForceUpdate) {\n\t\t\treturn Promise.resolve(this.aFavPages);\n\t\t}\n\t\tif (this.oGetFavPagesPromise === undefined) {\n\t\t\tthis.oGetFavPagesPromise = this._getFavPages(bForceUpdate);\n\t\t}\n\t\treturn this.oGetFavPagesPromise;\n\t}\n\n\tprivate async _getFavPages(bForceUpdate: boolean) {\n\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\tconst oPersData = await this.oPersonalizer.read();\n\t\tconst aFavoritePages: IPage[] | undefined = oPersData?.favouritePages;\n\t\tconst aAvailablePages = await this.fetchAllAvailablePages(true);\n\t\t// Set first 8 available pages are favorite if no favorite page data is present\n\t\tif (!aFavoritePages) {\n\t\t\tthis.aFavPages = await this._getDefaultPages(aAvailablePages);\n\t\t} else {\n\t\t\tlet aPages: IPage[] = [],\n\t\t\t\toExistingPage;\n\t\t\taFavoritePages?.forEach((oPage: IPage) => {\n\t\t\t\toExistingPage = aAvailablePages.find(function (oAvailablePage) {\n\t\t\t\t\treturn oAvailablePage.pageId === oPage.pageId;\n\t\t\t\t});\n\t\t\t\tif (oExistingPage) {\n\t\t\t\t\toExistingPage.BGColor = oPage.BGColor;\n\t\t\t\t\taPages.push(oExistingPage);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// To send Maximum of 8 Pages (BCP incident: 2270169293)\n\t\t\taPages = aPages.slice(0, PAGE_SELECTION_LIMIT);\n\t\t\tif (aPages.length || !aFavoritePages?.length) {\n\t\t\t\tthis.aFavPages = await this.getFavPages(aPages, aPages.length !== aFavoritePages?.length || bForceUpdate);\n\t\t\t} else if (!aPages.length && aFavoritePages.length) {\n\t\t\t\t//Clean unaccessible page data\n\t\t\t\toPersData.favouritePages = [];\n\t\t\t\tawait this.oPersonalizer.write(oPersData);\n\t\t\t\tthis.aFavPages = await this._getDefaultPages(aAvailablePages);\n\t\t\t}\n\t\t}\n\t\treturn this.aFavPages;\n\t}\n\n\tpublic async applyColorPersonalizations(personalizations?: ISpacePagePersonalization[]) {\n\t\tif (!personalizations?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.aFavPages) {\n\t\t\tawait this.getFavoritePages();\n\t\t}\n\n\t\tconst allSpaces = await this.fetchAllAvailableSpaces();\n\n\t\tpersonalizations.forEach((personalization) => {\n\t\t\tconst isPagePersonalization = !!personalization.pageId;\n\t\t\t//corresponding space obj of the master list of all spaces\n\t\t\tconst spaceObj = allSpaces?.find((space) => space.id === personalization.spaceId);\n\t\t\tconst pageObj = spaceObj?.children.find((page) => page.id === personalization.pageId);\n\t\t\t//corresponding page obj of the list of favorite/visible pages\n\t\t\tconst oPage = this.aFavPages.find((oPage) => oPage.pageId === personalization.pageId);\n\t\t\t//corresponding page obj of the master list of all pages\n\t\t\tconst availablePageObj = this._aPages?.find((page) => page.pageId === personalization.pageId);\n\t\t\t// Update the Personalisation model for space\n\t\t\tif (!isPagePersonalization && spaceObj) {\n\t\t\t\tconst colorObj = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\tspaceObj.BGColor = colorObj;\n\t\t\t\tspaceObj.applyColorToAllPages = personalization.applyColorToAllPages;\n\t\t\t\tspaceObj.isSpacePersonalization = true;\n\n\t\t\t\t// Update the color for all pages in the space if applied\n\t\t\t\tspaceObj.children.forEach((oPage) => {\n\t\t\t\t\tconst favPageObj = this.aFavPages.find((favPage) => favPage.pageId === oPage.id);\n\t\t\t\t\tif (favPageObj) {\n\t\t\t\t\t\tconst favpageBGColor = favPageObj.isPagePersonalization ? favPageObj.oldColor : DEFAULT_BG_COLOR();\n\t\t\t\t\t\tfavPageObj.BGColor = spaceObj.applyColorToAllPages ? personalization.BGColor : favpageBGColor;\n\t\t\t\t\t\toPage.BGColor = favPageObj.BGColor;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * setting personalization color for unchecked pages\n\t\t\t\t\t\t * updating color for the children of master list of spaces\n\t\t\t\t\t\t * updating color for the available pages corresponding to the space id\n\t\t\t\t\t\t */\n\t\t\t\t\t\toPage.BGColor = spaceObj.applyColorToAllPages ? personalization.BGColor : DEFAULT_BG_COLOR();\n\t\t\t\t\t\tthis._aPages.forEach((page) => {\n\t\t\t\t\t\t\tif (page.spaceId === spaceObj.id) {\n\t\t\t\t\t\t\t\tpage.BGColor = oPage.BGColor;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (pageObj) {\n\t\t\t\t// Update the Personalisation model for page\n\t\t\t\tconst pageBackgroundColor = spaceObj?.applyColorToAllPages\n\t\t\t\t\t? ({ ...spaceObj.BGColor } as IColor)\n\t\t\t\t\t: fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t//updating color for the favourite page\n\t\t\t\tif (oPage) {\n\t\t\t\t\toPage.isPagePersonalization = true;\n\t\t\t\t\toPage.BGColor = pageBackgroundColor;\n\t\t\t\t\toPage.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t}\n\t\t\t\t//updating color for the children of master list of spaces\n\t\t\t\tpageObj.isPagePersonalization = true;\n\t\t\t\tpageObj.BGColor = pageBackgroundColor;\n\t\t\t\tpageObj.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t//updating color for the page of master list of pages/available page\n\t\t\t\tif (availablePageObj) {\n\t\t\t\t\tavailablePageObj.isPagePersonalization = true;\n\t\t\t\t\tavailablePageObj.BGColor = pageBackgroundColor;\n\t\t\t\t\tavailablePageObj.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t}\n\n\tpublic async applyIconPersonalizations(personalizations?: ISpacePagePersonalization[]) {\n\t\tif (!personalizations?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.aFavPages) {\n\t\t\tawait this._getFavPages(false);\n\t\t}\n\t\tconst allSpaces = await this.fetchAllAvailableSpaces();\n\n\t\tpersonalizations.forEach((personalization) => {\n\t\t\tconst isPagePersonalization = !!personalization.pageId;\n\t\t\tconst spaceObj = allSpaces?.find((space) => space.id === personalization.spaceId);\n\n\t\t\t// Update the Personalisation model for space\n\t\t\tif (!isPagePersonalization) {\n\t\t\t\tif (spaceObj) {\n\t\t\t\t\tspaceObj.icon = personalization.icon;\n\t\t\t\t\tspaceObj.isSpaceIconPersonalization = true;\n\n\t\t\t\t\t// Update the icon for all pages in the space if applied\n\t\t\t\t\tspaceObj.children.forEach((oPage) => {\n\t\t\t\t\t\tif (!oPage.isPageIconPersonalization) {\n\t\t\t\t\t\t\tconst favPageObj = this.aFavPages.find((favPage) => favPage.pageId === oPage.id);\n\t\t\t\t\t\t\tif (favPageObj) {\n\t\t\t\t\t\t\t\tfavPageObj.icon = spaceObj.icon || FALLBACK_ICON;\n\t\t\t\t\t\t\t\toPage.icon = spaceObj.icon || FALLBACK_ICON;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the Personalisation model for page\n\t\t\t\tconst pageObj = spaceObj?.children.find((page) => page.id === personalization.pageId);\n\t\t\t\tconst oPage = this.aFavPages.find((oPage) => oPage.pageId === personalization.pageId);\n\t\t\t\tif (pageObj && oPage) {\n\t\t\t\t\toPage.isPageIconPersonalization = true;\n\t\t\t\t\tpageObj.isPageIconPersonalization = true;\n\t\t\t\t\toPage.icon = personalization.icon;\n\t\t\t\t\tpageObj.icon = personalization.icon;\n\t\t\t\t\toPage.oldIcon = personalization.oldIcon;\n\t\t\t\t\tpageObj.oldIcon = personalization.oldIcon;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,wLAAAC,UAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,YAAA,EAAAC,YAAA,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,MAaOG,UAAU,GAAAJ,sBAAA,CAAAJ,YAAA;EAAA,MACRS,cAAc,GAAAR,YAAA;EAAA,MAAES,gBAAgB,GAAAT,YAAA;EAAA,MAAEU,aAAa,GAAAV,YAAA;EAAA,MAAEW,kBAAkB,GAAAX,YAAA;EAAA,MAAEY,eAAe,GAAAZ,YAAA;EAAA,MAAEa,oBAAoB,GAAAb,YAAA;EAAA,MAC1Gc,KAAK,GAAAb,sBAAA;EAAA,MAAEc,MAAM,GAAAd,sBAAA;EAAA,MACfe,kBAAkB,GAAAb,sBAAA,CAAAD,oBAAA;EAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAcqBe,WAAW,GAAStB,UAAU,CAAAuB,MAAA;IAW1CC,WAAW,WAAAC,aAACC,eAAuB,EAAEC,eAA0B,EAAE;MACxEC,qCAAA;MAAQ,KAXTC,UAAU,GAAsBjB,UAAU;MAYzC,IAAI,CAACc,eAAe,GAAGA,eAAe;MACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;MACtC,IAAI,CAACG,SAAS,GAAG7B,QAAQ,CAAC8B,WAAW,CAAC,CAAC;IACxC,CAAC;IAWOC,mBAAmB,WAAAA,oBAAA,EAAG;MAC7B,OAAOX,kBAAkB,CAACU,WAAW,CAAC,IAAI,CAACL,eAAe,EAAE,IAAI,CAACC,eAAe,CAAC;IAClF,CAAC;IAEYM,uBAAuB,WAAAC,yBAAA;MAAA,IAAsB;QAAA,MAAAC,KAAA,GACrD,IAAI;QAAR,IAAIA,KAAA,CAAKC,QAAQ,EAAE;UAClB,OAAOC,OAAO,CAACC,OAAO,CAACH,KAAA,CAAKC,QAAQ,CAAC;QACtC;QAAC,OAAAC,OAAA,CAAAC,OAAA,CACwCnC,SAAS,CAACoC,eAAe,CAAC,YAAY,CAAC,EAAAC,IAAA,WAA1EC,gBAA0B;UAAA,OAAAJ,OAAA,CAAAC,OAAA,CACTG,gBAAgB,CAACC,eAAe,CAAC,CAAC,EAAAF,IAAA,WAAAG,qBAAA;YAAzD,MAAMC,OAAO,GAAAD,qBAAyD;YACtE;YACAR,KAAA,CAAKC,QAAQ,GAAGQ,OAAO,CAACC,MAAM,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,KAAK9B,eAAe,CAAC;;YAEzE;YACAkB,KAAA,CAAKC,QAAQ,CAACY,OAAO,CAAC,UAAUF,MAAM,EAAE;cACvCA,MAAM,CAACG,OAAO,GAAGnC,gBAAgB,CAAC,CAAC;cACnCgC,MAAM,CAACI,oBAAoB,GAAG,KAAK;YACpC,CAAC,CAAC;YAEF,OAAOf,KAAA,CAAKC,QAAQ;UAAC;QAAA;MACtB,CAAC,QAAAe,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IACYE,sBAAsB,WAAAC,wBAACC,mBAA4B,GAAG,KAAK;MAAA,IAAoB;QAAA,MAAAC,MAAA,GACvF,IAAI;QAAR,IAAIA,MAAA,CAAKC,OAAO,EAAE;UACjB,OAAOpB,OAAO,CAACC,OAAO,CAACkB,MAAA,CAAKC,OAAO,CAAC;QACrC;QAAC,OAAApB,OAAA,CAAAC,OAAA,CACqBkB,MAAA,CAAKvB,uBAAuB,CAAC,CAAC,EAAAO,IAAA,WAA9CI,OAAO;UACbY,MAAA,CAAKC,OAAO,GAAG,EAAE;UACjBb,OAAO,CAACI,OAAO,CAAEF,MAAc,IAAK;YACnC,IAAIY,KAAK,CAACC,OAAO,CAACb,MAAM,CAACc,QAAQ,CAAC,EAAE;cACnCd,MAAM,CAACc,QAAQ,CAACZ,OAAO,CAAEa,KAAY,IAAK;gBACzC,IACC,CAACN,mBAAmB,IACnBA,mBAAmB,IAAI,CAACC,MAAA,CAAKC,OAAO,CAACK,IAAI,CAAEC,aAAa,IAAKA,aAAa,CAAChB,EAAE,KAAKc,KAAK,CAACd,EAAE,CAAE,EAC5F;kBACDS,MAAA,CAAKC,OAAO,CAACO,IAAI,CAAC;oBACjBC,KAAK,EAAEJ,KAAK,CAACK,KAAK;oBAClBC,IAAI,EAAEpD,aAAa;oBACnBqD,YAAY,EAAE,KAAK;oBACnBC,MAAM,EAAER,KAAK,CAACd,EAAE;oBAChBuB,OAAO,EAAExB,MAAM,CAACC,EAAE;oBAClBwB,UAAU,EAAEzB,MAAM,CAACoB,KAAK;oBACxBM,GAAG,EAAE,gCAAgC,GAAGX,KAAK,CAACd,EAAE,GAAG,WAAW,GAAGD,MAAM,CAACC;kBACzE,CAAC,CAAC;gBACH;cACD,CAAC,CAAC;YACH;UACD,CAAC,CAAC;UACF,OAAOS,MAAA,CAAKC,OAAO;QAAC;MACrB,CAAC,QAAAN,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IACYsB,cAAc,WAAAC,gBAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GACf,IAAI;QAAA,OAAAtC,OAAA,CAAAC,OAAA,CAAJqC,MAAA,CAAK1C,uBAAuB,CAAC,CAAC,EAAAO,IAAA,WAAAoC,qBAAA;UAA5C,OAAOA,qBAAA,CAAuCC,IAAI,CAAE/B,MAAM,IAAKA,MAAM,CAACC,EAAE,KAAKlC,cAAc,CAAC;QAAC;MAC9F,CAAC,QAAAsC,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IACO2B,gBAAgB,WAAAA,iBAACC,eAAwB,EAAoB;MACpE,MAAMC,cAAc,GAAGD,eAAe,CAACE,KAAK,CAAC,CAAC,EAAE/D,oBAAoB,CAAC,IAAI,EAAE;MAC3E,OAAO,IAAI,CAACgE,WAAW,CAACF,cAAc,CAAC;IACxC,CAAC;IACD;IACQG,eAAe,WAAAA,gBAACC,QAAe,EAAE;MACxC;MACA,IAAIC,KAAK,GAAGlE,KAAK,CAAC2C,IAAI,CAAED,KAAK,IAAKuB,QAAQ,CAACf,MAAM,EAAEiB,QAAQ,CAACzB,KAAK,CAACd,EAAE,CAAC,CAAC;MAEtE,IAAI,CAACsC,KAAK,EAAE;QACX;QACAA,KAAK,GAAGjE,MAAM,CAAC0C,IAAI,CAAEhB,MAAM,IAAKsC,QAAQ,CAACd,OAAO,EAAEgB,QAAQ,CAACxC,MAAM,CAACC,EAAE,CAAC,CAAC;MACvE;MAEAqC,QAAQ,CAACjB,IAAI,GAAGkB,KAAK,EAAElB,IAAI,IAAIpD,aAAa;MAC5CqE,QAAQ,CAAChB,YAAY,GAAG,IAAI;IAC7B,CAAC;IACOmB,sBAAsB,WAAAA,uBAACC,SAAkB,EAAE;MAClD,MAAMC,gBAAgB,GAAGD,SAAS,CAAC3C,MAAM,CAAEgB,KAAK,IAAK,CAACA,KAAK,CAACO,YAAY,CAAC;MACzEqB,gBAAgB,CAACzC,OAAO,CAAEa,KAAY,IAAK;QAC1C,IAAI,CAACsB,eAAe,CAACtB,KAAK,CAAC;MAC5B,CAAC,CAAC;IACH,CAAC;IACYqB,WAAW,WAAAQ,aAACF,SAAkB,EAAEG,sBAA+B,GAAG,KAAK;MAAA,IAAE;QAAA,MAAAC,MAAA,GAInE,IAAI;QAAA,SAAAC,OAAA;UAkBtB;UACA,IAAIL,SAAS,CAACM,MAAM,EAAE;YACrBF,MAAA,CAAKL,sBAAsB,CAACC,SAAS,CAAC;UACvC;UACA,OAAOA,SAAS;QAAC;QAzBjBA,SAAS,CAACxC,OAAO,CAAEa,KAAY,IAAK;UACnCA,KAAK,CAACkC,QAAQ,GAAG,IAAI;UACrB,IAAI,CAAClC,KAAK,CAACZ,OAAO,EAAE;YACnBY,KAAK,CAACZ,OAAO,GAAG2C,MAAA,CAAK/D,UAAU,CAACmE,YAAY,CAAC,CAAC;UAC/C,CAAC,MAAM;YACNJ,MAAA,CAAK/D,UAAU,CAACoE,QAAQ,CAACpC,KAAK,CAACZ,OAAiB,CAAC;UAClD;QACD,CAAC,CAAC;;QAEF;QAAA,MAAAiD,MAAA;UAAA,IACIP,sBAAsB;YAAA,SAAAQ,OAAA;cAAA,OAAA9D,OAAA,CAAAC,OAAA,CAIHsD,MAAA,CAAKQ,aAAa,CAACC,IAAI,CAAC,CAAC,EAAA7D,IAAA,WAA3C8D,SAAS;gBACb,IAAI,CAACA,SAAS,EAAEA,SAAS,GAAG;kBAAEC,cAAc,EAAE;gBAAG,CAAC;gBAClDD,SAAS,CAACC,cAAc,GAAGf,SAAS;gBAAC,OAAAnD,OAAA,CAAAC,OAAA,CAC/BsD,MAAA,CAAKQ,aAAa,CAACI,KAAK,CAACF,SAAS,CAAC,EAAA9D,IAAA;kBACzCoD,MAAA,CAAK9D,SAAS,CAAC2E,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;gBAAC;cAAA;YAAA;YAAA,MAAAC,KAAA;cAAA,IAPjD,CAACd,MAAA,CAAKQ,aAAa;gBAAA,OAAA/D,OAAA,CAAAC,OAAA,CACKsD,MAAA,CAAK5D,mBAAmB,CAAC,CAAC,EAAAQ,IAAA,WAAAmE,qBAAA;kBAArDf,MAAA,CAAKQ,aAAa,GAAAO,qBAAmC;gBAAC;cAAA;YAAA;YAAA,OAAAD,KAAA,IAAAA,KAAA,CAAAlE,IAAA,GAAAkE,KAAA,CAAAlE,IAAA,CAAA2D,MAAA,IAAAA,MAAA,CAAAO,KAAA;UAAA;QAAA;QAAA,OAAArE,OAAA,CAAAC,OAAA,CAAA4D,MAAA,IAAAA,MAAA,CAAA1D,IAAA,GAAA0D,MAAA,CAAA1D,IAAA,CAAAqD,MAAA,IAAAA,MAAA,CAAAK,MAAA;MAczD,CAAC,QAAA/C,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IACMyD,gBAAgB,WAAAC,kBAACC,YAAqB,GAAG,KAAK,EAAE;MACtD;MACA,MAAMC,aAAa,GAAGC,kBAAkB,CAAC9G,MAAM,CAAC+G,IAAI,CAAC,sBAAsB,CAAC,CAAC;MAC7E,IAAI,CAACF,aAAa,EAAE;QACnB,OAAO1E,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;MAC3B;MACA,IAAI,IAAI,CAACkD,SAAS,IAAI,CAACsB,YAAY,EAAE;QACpC,OAAOzE,OAAO,CAACC,OAAO,CAAC,IAAI,CAACkD,SAAS,CAAC;MACvC;MACA,IAAI,IAAI,CAAC0B,mBAAmB,KAAKC,SAAS,EAAE;QAC3C,IAAI,CAACD,mBAAmB,GAAG,IAAI,CAACxB,YAAY,CAACoB,YAAY,CAAC;MAC3D;MACA,OAAO,IAAI,CAACI,mBAAmB;IAChC,CAAC;IAEaxB,YAAY,WAAA0B,cAACN,YAAqB;MAAA,IAAE;QAAA,MAAAO,MAAA,GACjD,IAAI;QAAA,OAAAhF,OAAA,CAAAC,OAAA,CAAuB+E,MAAA,CAAKrF,mBAAmB,CAAC,CAAC,EAAAQ,IAAA,WAAA8E,qBAAA;UAArDD,MAAA,CAAKjB,aAAa,GAAAkB,qBAAmC;UAAC,OAAAjF,OAAA,CAAAC,OAAA,CAC9B+E,MAAA,CAAKjB,aAAa,CAACC,IAAI,CAAC,CAAC,EAAA7D,IAAA,WAA3C8D,SAAS;YACf,MAAMtB,cAAmC,GAAGsB,SAAS,EAAEC,cAAc;YAAC,OAAAlE,OAAA,CAAAC,OAAA,CACxC+E,MAAA,CAAKhE,sBAAsB,CAAC,IAAI,CAAC,EAAAb,IAAA,WAAzDuC,eAAe;cAAA,SAAAwC,OAAA;gBA2BrB,OAAOF,MAAA,CAAK7B,SAAS;cAAC;cAAA,MAAAgC,MAAA;gBAAA,IAzBlB,CAACxC,cAAc;kBAAA,OAAA3C,OAAA,CAAAC,OAAA,CACK+E,MAAA,CAAKvC,gBAAgB,CAACC,eAAe,CAAC,EAAAvC,IAAA,WAAAiF,qBAAA;oBAA7DJ,MAAA,CAAK7B,SAAS,GAAAiC,qBAA+C;kBAAC;gBAAA;kBAE9D,IAAIC,MAAe,GAAG,EAAE;oBACvB3D,aAAa;kBACdiB,cAAc,EAAEhC,OAAO,CAAEa,KAAY,IAAK;oBACzCE,aAAa,GAAGgB,eAAe,CAACjB,IAAI,CAAC,UAAU6D,cAAc,EAAE;sBAC9D,OAAOA,cAAc,CAACtD,MAAM,KAAKR,KAAK,CAACQ,MAAM;oBAC9C,CAAC,CAAC;oBACF,IAAIN,aAAa,EAAE;sBAClBA,aAAa,CAACd,OAAO,GAAGY,KAAK,CAACZ,OAAO;sBACrCyE,MAAM,CAAC1D,IAAI,CAACD,aAAa,CAAC;oBAC3B;kBACD,CAAC,CAAC;kBACF;kBACA2D,MAAM,GAAGA,MAAM,CAACzC,KAAK,CAAC,CAAC,EAAE/D,oBAAoB,CAAC;kBAAC,MAAA0G,MAAA;oBAAA,IAC3CF,MAAM,CAAC5B,MAAM,IAAI,CAACd,cAAc,EAAEc,MAAM;sBAAA,OAAAzD,OAAA,CAAAC,OAAA,CACpB+E,MAAA,CAAKnC,WAAW,CAACwC,MAAM,EAAEA,MAAM,CAAC5B,MAAM,KAAKd,cAAc,EAAEc,MAAM,IAAIgB,YAAY,CAAC,EAAAtE,IAAA,WAAAqF,kBAAA;wBAAzGR,MAAA,CAAK7B,SAAS,GAAAqC,kBAA2F;sBAAC;oBAAA;sBAAA,MAAAC,MAAA;wBAAA,IAChG,CAACJ,MAAM,CAAC5B,MAAM,IAAId,cAAc,CAACc,MAAM;0BACjD;0BACAQ,SAAS,CAACC,cAAc,GAAG,EAAE;0BAAC,OAAAlE,OAAA,CAAAC,OAAA,CACxB+E,MAAA,CAAKjB,aAAa,CAACI,KAAK,CAACF,SAAS,CAAC,EAAA9D,IAAA;4BAAA,OAAAH,OAAA,CAAAC,OAAA,CAClB+E,MAAA,CAAKvC,gBAAgB,CAACC,eAAe,CAAC,EAAAvC,IAAA,WAAAuF,sBAAA;8BAA7DV,MAAA,CAAK7B,SAAS,GAAAuC,sBAA+C;4BAAC;0BAAA;wBAAA;sBAAA;sBAAA,IAAAD,MAAA,IAAAA,MAAA,CAAAtF,IAAA,SAAAsF,MAAA,CAAAtF,IAAA;oBAAA;kBAAA;kBAAA,IAAAoF,MAAA,IAAAA,MAAA,CAAApF,IAAA,SAAAoF,MAAA,CAAApF,IAAA;gBAAA;cAAA;cAvBhE;cAAA,OAAAgF,MAAA,IAAAA,MAAA,CAAAhF,IAAA,GAAAgF,MAAA,CAAAhF,IAAA,CAAA+E,MAAA,IAAAA,MAAA,CAAAC,MAAA;YAAA;UAAA;QAAA;MA2BD,CAAC,QAAArE,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IAEY6E,0BAA0B,WAAAC,4BAACC,gBAA8C;MAAA,IAAE;QAAA,MAAAC,MAAA,GAKlF,IAAI;QAAA,SAAAC,OAAA;UAAA,OAAA/F,OAAA,CAAAC,OAAA,CAIe6F,MAAA,CAAKlG,uBAAuB,CAAC,CAAC,EAAAO,IAAA,WAAhD6F,SAAS;YAEfH,gBAAgB,CAAClF,OAAO,CAAEsF,eAAe,IAAK;cAC7C,MAAMC,qBAAqB,GAAG,CAAC,CAACD,eAAe,CAACjE,MAAM;cACtD;cACA,MAAMmE,QAAQ,GAAGH,SAAS,EAAEvE,IAAI,CAAE2E,KAAK,IAAKA,KAAK,CAAC1F,EAAE,KAAKuF,eAAe,CAAChE,OAAO,CAAC;cACjF,MAAMoE,OAAO,GAAGF,QAAQ,EAAE5E,QAAQ,CAACE,IAAI,CAAE6E,IAAI,IAAKA,IAAI,CAAC5F,EAAE,KAAKuF,eAAe,CAACjE,MAAM,CAAC;cACrF;cACA,MAAMR,KAAK,GAAGsE,MAAA,CAAK3C,SAAS,CAAC1B,IAAI,CAAED,KAAK,IAAKA,KAAK,CAACQ,MAAM,KAAKiE,eAAe,CAACjE,MAAM,CAAC;cACrF;cACA,MAAMuE,gBAAgB,GAAGT,MAAA,CAAK1E,OAAO,EAAEK,IAAI,CAAE6E,IAAI,IAAKA,IAAI,CAACtE,MAAM,KAAKiE,eAAe,CAACjE,MAAM,CAAC;cAC7F;cACA,IAAI,CAACkE,qBAAqB,IAAIC,QAAQ,EAAE;gBACvC,MAAMK,QAAQ,GAAG7H,kBAAkB,CAACsH,eAAe,CAACrF,OAAiB,CAAC;gBACtEuF,QAAQ,CAACvF,OAAO,GAAG4F,QAAQ;gBAC3BL,QAAQ,CAACtF,oBAAoB,GAAGoF,eAAe,CAACpF,oBAAoB;gBACpEsF,QAAQ,CAACM,sBAAsB,GAAG,IAAI;;gBAEtC;gBACAN,QAAQ,CAAC5E,QAAQ,CAACZ,OAAO,CAAEa,KAAK,IAAK;kBACpC,MAAMkF,UAAU,GAAGZ,MAAA,CAAK3C,SAAS,CAAC1B,IAAI,CAAEkF,OAAO,IAAKA,OAAO,CAAC3E,MAAM,KAAKR,KAAK,CAACd,EAAE,CAAC;kBAChF,IAAIgG,UAAU,EAAE;oBACf,MAAME,cAAc,GAAGF,UAAU,CAACR,qBAAqB,GAAGQ,UAAU,CAACG,QAAQ,GAAGpI,gBAAgB,CAAC,CAAC;oBAClGiI,UAAU,CAAC9F,OAAO,GAAGuF,QAAQ,CAACtF,oBAAoB,GAAGoF,eAAe,CAACrF,OAAO,GAAGgG,cAAc;oBAC7FpF,KAAK,CAACZ,OAAO,GAAG8F,UAAU,CAAC9F,OAAO;kBACnC,CAAC,MAAM;oBACN;AACN;AACA;AACA;AACA;oBACMY,KAAK,CAACZ,OAAO,GAAGuF,QAAQ,CAACtF,oBAAoB,GAAGoF,eAAe,CAACrF,OAAO,GAAGnC,gBAAgB,CAAC,CAAC;oBAC5FqH,MAAA,CAAK1E,OAAO,CAACT,OAAO,CAAE2F,IAAI,IAAK;sBAC9B,IAAIA,IAAI,CAACrE,OAAO,KAAKkE,QAAQ,CAACzF,EAAE,EAAE;wBACjC4F,IAAI,CAAC1F,OAAO,GAAGY,KAAK,CAACZ,OAAO;sBAC7B;oBACD,CAAC,CAAC;kBACH;gBACD,CAAC,CAAC;cACH,CAAC,MAAM,IAAIyF,OAAO,EAAE;gBACnB;gBACA,MAAMS,mBAAmB,GAAGX,QAAQ,EAAEtF,oBAAoB,GACtD;kBAAE,GAAGsF,QAAQ,CAACvF;gBAAQ,CAAC,GACxBjC,kBAAkB,CAACsH,eAAe,CAACrF,OAAiB,CAAC;gBACxD;gBACA,IAAIY,KAAK,EAAE;kBACVA,KAAK,CAAC0E,qBAAqB,GAAG,IAAI;kBAClC1E,KAAK,CAACZ,OAAO,GAAGkG,mBAAmB;kBACnCtF,KAAK,CAACqF,QAAQ,GAAGlI,kBAAkB,CAACsH,eAAe,CAACrF,OAAiB,CAAC;gBACvE;gBACA;gBACAyF,OAAO,CAACH,qBAAqB,GAAG,IAAI;gBACpCG,OAAO,CAACzF,OAAO,GAAGkG,mBAAmB;gBACrCT,OAAO,CAACQ,QAAQ,GAAGlI,kBAAkB,CAACsH,eAAe,CAACrF,OAAiB,CAAC;gBACxE;gBACA,IAAI2F,gBAAgB,EAAE;kBACrBA,gBAAgB,CAACL,qBAAqB,GAAG,IAAI;kBAC7CK,gBAAgB,CAAC3F,OAAO,GAAGkG,mBAAmB;kBAC9CP,gBAAgB,CAACM,QAAQ,GAAGlI,kBAAkB,CAACsH,eAAe,CAACrF,OAAiB,CAAC;gBAClF;cACD;YACD,CAAC,CAAC;YAEFkF,MAAA,CAAKrG,SAAS,CAAC2E,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;UAAC;QAAA;QAvErD,IAAI,CAACyB,gBAAgB,EAAEpC,MAAM,EAAE;UAC9B,OAAAzD,OAAA,CAAAC,OAAA;QACD;QAAC,MAAA8G,MAAA;UAAA,IAEG,CAACjB,MAAA,CAAK3C,SAAS;YAAA,OAAAnD,OAAA,CAAAC,OAAA,CACZ6F,MAAA,CAAKvB,gBAAgB,CAAC,CAAC,EAAApE,IAAA;UAAA;QAAA;QAAA,OAAAH,OAAA,CAAAC,OAAA,CAAA8G,MAAA,IAAAA,MAAA,CAAA5G,IAAA,GAAA4G,MAAA,CAAA5G,IAAA,CAAA4F,MAAA,IAAAA,MAAA,CAAAgB,MAAA;MAmE/B,CAAC,QAAAjG,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;IAEYkG,yBAAyB,WAAAC,2BAACpB,gBAA8C;MAAA,IAAE;QAAA,MAAAqB,MAAA,GAKjF,IAAI;QAAA,SAAAC,QAAA;UAAA,OAAAnH,OAAA,CAAAC,OAAA,CAGeiH,MAAA,CAAKtH,uBAAuB,CAAC,CAAC,EAAAO,IAAA,WAAhD6F,SAAS;YAEfH,gBAAgB,CAAClF,OAAO,CAAEsF,eAAe,IAAK;cAC7C,MAAMC,qBAAqB,GAAG,CAAC,CAACD,eAAe,CAACjE,MAAM;cACtD,MAAMmE,QAAQ,GAAGH,SAAS,EAAEvE,IAAI,CAAE2E,KAAK,IAAKA,KAAK,CAAC1F,EAAE,KAAKuF,eAAe,CAAChE,OAAO,CAAC;;cAEjF;cACA,IAAI,CAACiE,qBAAqB,EAAE;gBAC3B,IAAIC,QAAQ,EAAE;kBACbA,QAAQ,CAACrE,IAAI,GAAGmE,eAAe,CAACnE,IAAI;kBACpCqE,QAAQ,CAACiB,0BAA0B,GAAG,IAAI;;kBAE1C;kBACAjB,QAAQ,CAAC5E,QAAQ,CAACZ,OAAO,CAAEa,KAAK,IAAK;oBACpC,IAAI,CAACA,KAAK,CAAC6F,yBAAyB,EAAE;sBACrC,MAAMX,UAAU,GAAGQ,MAAA,CAAK/D,SAAS,CAAC1B,IAAI,CAAEkF,OAAO,IAAKA,OAAO,CAAC3E,MAAM,KAAKR,KAAK,CAACd,EAAE,CAAC;sBAChF,IAAIgG,UAAU,EAAE;wBACfA,UAAU,CAAC5E,IAAI,GAAGqE,QAAQ,CAACrE,IAAI,IAAIpD,aAAa;wBAChD8C,KAAK,CAACM,IAAI,GAAGqE,QAAQ,CAACrE,IAAI,IAAIpD,aAAa;sBAC5C;oBACD;kBACD,CAAC,CAAC;gBACH;cACD,CAAC,MAAM;gBACN;gBACA,MAAM2H,OAAO,GAAGF,QAAQ,EAAE5E,QAAQ,CAACE,IAAI,CAAE6E,IAAI,IAAKA,IAAI,CAAC5F,EAAE,KAAKuF,eAAe,CAACjE,MAAM,CAAC;gBACrF,MAAMR,KAAK,GAAG0F,MAAA,CAAK/D,SAAS,CAAC1B,IAAI,CAAED,KAAK,IAAKA,KAAK,CAACQ,MAAM,KAAKiE,eAAe,CAACjE,MAAM,CAAC;gBACrF,IAAIqE,OAAO,IAAI7E,KAAK,EAAE;kBACrBA,KAAK,CAAC6F,yBAAyB,GAAG,IAAI;kBACtChB,OAAO,CAACgB,yBAAyB,GAAG,IAAI;kBACxC7F,KAAK,CAACM,IAAI,GAAGmE,eAAe,CAACnE,IAAI;kBACjCuE,OAAO,CAACvE,IAAI,GAAGmE,eAAe,CAACnE,IAAI;kBACnCN,KAAK,CAAC8F,OAAO,GAAGrB,eAAe,CAACqB,OAAO;kBACvCjB,OAAO,CAACiB,OAAO,GAAGrB,eAAe,CAACqB,OAAO;gBAC1C;cACD;YACD,CAAC,CAAC;YACFJ,MAAA,CAAKzH,SAAS,CAAC2E,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;UAAC;QAAA;QA5CrD,IAAI,CAACyB,gBAAgB,EAAEpC,MAAM,EAAE;UAC9B,OAAAzD,OAAA,CAAAC,OAAA;QACD;QAAC,MAAAsH,MAAA;UAAA,IAEG,CAACL,MAAA,CAAK/D,SAAS;YAAA,OAAAnD,OAAA,CAAAC,OAAA,CACZiH,MAAA,CAAK7D,YAAY,CAAC,KAAK,CAAC,EAAAlD,IAAA;UAAA;QAAA;QAAA,OAAAH,OAAA,CAAAC,OAAA,CAAAsH,MAAA,IAAAA,MAAA,CAAApH,IAAA,GAAAoH,MAAA,CAAApH,IAAA,CAAAgH,OAAA,IAAAA,OAAA,CAAAI,MAAA;MAwChC,CAAC,QAAAzG,CAAA;QAAA,OAAAd,OAAA,CAAAe,MAAA,CAAAD,CAAA;MAAA;IAAA;EAAA;EA5SmB7B,WAAW,CASxBuI,eAAe,GAAmC,CAAC,CAAC;EATvCvI,WAAW,CAkBxBS,WAAW,YAAXA,WAAWA,CAACL,eAAuB,EAAEC,eAA0B,EAAE;IACvE,IAAIL,WAAW,CAACuI,eAAe,CAACnI,eAAe,CAAC,EAAE;MACjD,OAAOJ,WAAW,CAACuI,eAAe,CAACnI,eAAe,CAAC;IACpD;IACA,MAAMoI,mBAAmB,GAAG,IAAIxI,WAAW,CAACI,eAAe,EAAEC,eAAe,CAAC;IAC7EL,WAAW,CAACuI,eAAe,CAACnI,eAAe,CAAC,GAAGoI,mBAAmB;IAClE,OAAOA,mBAAmB;EAC3B,CAAC;EAAA,OAzBmBxI,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"PageManager.js","names":["sap","ui","define","deepEqual","BaseObject","EventBus","Config","Container","__ColorUtils","___Constants","___PagesIconsConstants","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","ColorUtils","CUSTOM_SPACEID","DEFAULT_BG_COLOR","FALLBACK_ICON","fnFetchLegendColor","MYHOME_SPACE_ID","PAGE_SELECTION_LIMIT","PAGES","SPACES","UShellPersonalizer","PageManager","extend","constructor","_constructor","persContainerId","oOwnerComponent","BaseObject.prototype.constructor.call","colorUtils","_eventBus","getInstance","_getPersonalization","fetchAllAvailableSpaces","_fetchAllAvailableSpaces","_this","_aSpaces","Promise","resolve","getServiceAsync","then","oBookmarkService","getContentNodes","_oBookmarkService$get","aSpaces","filter","oSpace","id","forEach","BGColor","applyColorToAllPages","e","reject","fetchAllAvailablePages","_fetchAllAvailablePages","bFetchDistinctPages","_this2","_aPages","Array","isArray","children","oPage","find","oExistingPage","push","title","label","icon","isIconLoaded","pageId","spaceId","spaceTitle","url","hasCustomSpace","_hasCustomSpace","_this3","_this3$fetchAllAvaila","some","_getDefaultPages","aAvailablePages","aFavoritePages","slice","getFavPages","_getIconForPage","oFavPage","oIcon","includes","_applyIconsForFavPages","aFavPages","aPageWithoutIcon","_getFavPages","bUpdatePersonalisation","_this4","_temp4","length","selected","getFreeColor","addColor","_temp3","_temp2","oPersonalizer","read","oPersData","favouritePages","write","publish","_temp","_this4$_getPersonaliz","getFavoritePages","_getFavoritePages","bForceUpdate","bSpaceEnabled","encodeURIComponent","last","oGetFavPagesPromise","undefined","_getFavPages2","_this5","_this5$_getPersonaliz","_temp8","_temp7","_this5$_getDefaultPag","aPages","oAvailablePage","_temp6","_this5$getFavPages","_temp5","_this5$_getDefaultPag2","applyColorPersonalizations","_applyColorPersonalizations","personalizations","_this6","_temp0","allSpaces","personalization","isPagePersonalization","spaceObj","space","pageObj","page","availablePageObj","colorObj","isSpacePersonalization","favPageObj","favPage","favpageBGColor","oldColor","pageBackgroundColor","_temp9","applyIconPersonalizations","_applyIconPersonalizations","_this7","_temp10","isSpaceIconPersonalization","isPageIconPersonalization","oldIcon","_temp1","oCacheInstances","pageManagerInstance"],"sources":["PageManager.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport deepEqual from \"sap/base/util/deepEqual\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport Component from \"sap/ui/core/Component\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport Bookmark from \"sap/ushell/services/BookmarkV2\";\nimport { ISpacePagePersonalization } from \"../interface/KeyUserInterface\";\nimport { IColor, IPage, ISpace } from \"../interface/PageSpaceInterface\";\nimport ColorUtils from \"./ColorUtils\";\nimport { CUSTOM_SPACEID, DEFAULT_BG_COLOR, FALLBACK_ICON, fnFetchLegendColor, MYHOME_SPACE_ID, PAGE_SELECTION_LIMIT } from \"./Constants\";\nimport { PAGES, SPACES } from \"./PagesIconsConstants\";\nimport UShellPersonalizer from \"./UshellPersonalizer\";\n\n/**\n *\n * Provides the PageManager Class used for fetch and process user pages.\n *\n * @extends sap.ui.BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n * @private\n *\n * @alias sap.cux.home.utils.PageManager\n */\n\nexport default class PageManager extends BaseObject {\n\tcolorUtils: typeof ColorUtils = ColorUtils;\n\tpersContainerId: string;\n\toOwnerComponent: Component;\n\t_aSpaces!: ISpace[];\n\t_aPages!: IPage[];\n\taFavPages!: IPage[];\n\toPersonalizer!: UShellPersonalizer;\n\toGetFavPagesPromise!: Promise<IPage[]>;\n\tstatic oCacheInstances: { [key: string]: PageManager } = {};\n\tprivate _eventBus: EventBus;\n\tprivate constructor(persContainerId: string, oOwnerComponent: Component) {\n\t\tsuper();\n\t\tthis.persContainerId = persContainerId;\n\t\tthis.oOwnerComponent = oOwnerComponent;\n\t\tthis._eventBus = EventBus.getInstance();\n\t}\n\n\tstatic getInstance(persContainerId: string, oOwnerComponent: Component) {\n\t\tif (PageManager.oCacheInstances[persContainerId]) {\n\t\t\treturn PageManager.oCacheInstances[persContainerId];\n\t\t}\n\t\tconst pageManagerInstance = new PageManager(persContainerId, oOwnerComponent);\n\t\tPageManager.oCacheInstances[persContainerId] = pageManagerInstance;\n\t\treturn pageManagerInstance;\n\t}\n\n\tprivate _getPersonalization() {\n\t\treturn UShellPersonalizer.getInstance(this.persContainerId, this.oOwnerComponent);\n\t}\n\n\tpublic async fetchAllAvailableSpaces(): Promise<ISpace[]> {\n\t\tif (this._aSpaces) {\n\t\t\treturn Promise.resolve(this._aSpaces);\n\t\t}\n\t\tconst oBookmarkService: Bookmark = await Container.getServiceAsync(\"BookmarkV2\");\n\t\tconst aSpaces = (await oBookmarkService.getContentNodes()) as ISpace[];\n\t\t// Filter MyHome Space from Spaces\n\t\tthis._aSpaces = aSpaces.filter((oSpace) => oSpace.id !== MYHOME_SPACE_ID);\n\n\t\t// Add Initial Default Color for Spaces\n\t\tthis._aSpaces.forEach(function (oSpace) {\n\t\t\toSpace.BGColor = DEFAULT_BG_COLOR();\n\t\t\toSpace.applyColorToAllPages = false;\n\t\t});\n\n\t\treturn this._aSpaces;\n\t}\n\tpublic async fetchAllAvailablePages(bFetchDistinctPages: boolean = false): Promise<IPage[]> {\n\t\tif (this._aPages) {\n\t\t\treturn Promise.resolve(this._aPages);\n\t\t}\n\t\tconst aSpaces = await this.fetchAllAvailableSpaces();\n\t\tthis._aPages = [];\n\t\taSpaces.forEach((oSpace: ISpace) => {\n\t\t\tif (Array.isArray(oSpace.children)) {\n\t\t\t\toSpace.children.forEach((oPage: IPage) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!bFetchDistinctPages ||\n\t\t\t\t\t\t(bFetchDistinctPages && !this._aPages.find((oExistingPage) => oExistingPage.id === oPage.id))\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis._aPages.push({\n\t\t\t\t\t\t\ttitle: oPage.label,\n\t\t\t\t\t\t\ticon: FALLBACK_ICON,\n\t\t\t\t\t\t\tisIconLoaded: false,\n\t\t\t\t\t\t\tpageId: oPage.id,\n\t\t\t\t\t\t\tspaceId: oSpace.id,\n\t\t\t\t\t\t\tspaceTitle: oSpace.label,\n\t\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.id + \"&spaceId=\" + oSpace.id\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn this._aPages;\n\t}\n\tpublic async hasCustomSpace() {\n\t\treturn (await this.fetchAllAvailableSpaces()).some((oSpace) => oSpace.id === CUSTOM_SPACEID);\n\t}\n\tprivate _getDefaultPages(aAvailablePages: IPage[]): Promise<IPage[]> {\n\t\tconst aFavoritePages = aAvailablePages.slice(0, PAGE_SELECTION_LIMIT) || [];\n\t\treturn this.getFavPages(aFavoritePages);\n\t}\n\t// Get icons from icon constants file\n\tprivate _getIconForPage(oFavPage: IPage) {\n\t\t// Check for icon in page icon constants file\n\t\tlet oIcon = PAGES.find((oPage) => oFavPage.pageId?.includes(oPage.id));\n\n\t\tif (!oIcon) {\n\t\t\t// Check for icon in space icon constants file\n\t\t\toIcon = SPACES.find((oSpace) => oFavPage.spaceId?.includes(oSpace.id));\n\t\t}\n\n\t\toFavPage.icon = oIcon?.icon || FALLBACK_ICON;\n\t\toFavPage.isIconLoaded = true;\n\t}\n\tprivate _applyIconsForFavPages(aFavPages: IPage[]) {\n\t\tconst aPageWithoutIcon = aFavPages.filter((oPage) => !oPage.isIconLoaded);\n\t\taPageWithoutIcon.forEach((oPage: IPage) => {\n\t\t\tthis._getIconForPage(oPage);\n\t\t});\n\t}\n\tpublic async getFavPages(aFavPages: IPage[], bUpdatePersonalisation: boolean = false) {\n\t\taFavPages.forEach((oPage: IPage) => {\n\t\t\toPage.selected = true;\n\t\t\tif (!oPage.BGColor) {\n\t\t\t\toPage.BGColor = this.colorUtils.getFreeColor();\n\t\t\t} else {\n\t\t\t\tthis.colorUtils.addColor(oPage.BGColor as string);\n\t\t\t}\n\t\t});\n\n\t\t// Update the Personalisation model\n\t\tif (bUpdatePersonalisation) {\n\t\t\tif (!this.oPersonalizer) {\n\t\t\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\t\t}\n\t\t\tlet oPersData = await this.oPersonalizer.read();\n\t\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\t\toPersData.favouritePages = aFavPages;\n\t\t\tawait this.oPersonalizer.write(oPersData);\n\t\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t\t}\n\n\t\t// Fetch and apply Icons for Favorite Pages\n\t\tif (aFavPages.length) {\n\t\t\tthis._applyIconsForFavPages(aFavPages);\n\t\t}\n\t\treturn aFavPages;\n\t}\n\tpublic getFavoritePages(bForceUpdate: boolean = false) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst bSpaceEnabled = encodeURIComponent(Config.last(\"/core/spaces/enabled\"));\n\t\tif (!bSpaceEnabled) {\n\t\t\treturn Promise.resolve([]);\n\t\t}\n\t\tif (this.aFavPages && !bForceUpdate) {\n\t\t\treturn Promise.resolve(this.aFavPages);\n\t\t}\n\t\tif (this.oGetFavPagesPromise === undefined || bForceUpdate) {\n\t\t\tthis.oGetFavPagesPromise = this._getFavPages();\n\t\t}\n\t\treturn this.oGetFavPagesPromise;\n\t}\n\n\tprivate async _getFavPages() {\n\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\tconst oPersData = await this.oPersonalizer.read();\n\t\tconst aFavoritePages: IPage[] | undefined = oPersData?.favouritePages;\n\t\tconst aAvailablePages = await this.fetchAllAvailablePages(true);\n\t\t// Set first 8 available pages are favorite if no favorite page data is present\n\t\tif (!aFavoritePages) {\n\t\t\tthis.aFavPages = await this._getDefaultPages(aAvailablePages);\n\t\t} else {\n\t\t\tlet aPages: IPage[] = [],\n\t\t\t\toExistingPage;\n\t\t\taFavoritePages?.forEach((oPage: IPage) => {\n\t\t\t\toExistingPage = aAvailablePages.find(function (oAvailablePage) {\n\t\t\t\t\treturn oAvailablePage.pageId === oPage.pageId;\n\t\t\t\t});\n\t\t\t\tif (oExistingPage) {\n\t\t\t\t\toExistingPage.BGColor = oPage.BGColor;\n\t\t\t\t\taPages.push(oExistingPage);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// To send Maximum of 8 Pages (BCP incident: 2270169293)\n\t\t\taPages = aPages.slice(0, PAGE_SELECTION_LIMIT);\n\t\t\tif (aPages.length || !aFavoritePages?.length) {\n\t\t\t\tthis.aFavPages = await this.getFavPages(aPages, deepEqual(aPages, aFavoritePages));\n\t\t\t} else if (!aPages.length && aFavoritePages.length) {\n\t\t\t\t//Clean unaccessible page data\n\t\t\t\toPersData.favouritePages = [];\n\t\t\t\tawait this.oPersonalizer.write(oPersData);\n\t\t\t\tthis.aFavPages = await this._getDefaultPages(aAvailablePages);\n\t\t\t}\n\t\t}\n\t\treturn this.aFavPages;\n\t}\n\n\tpublic async applyColorPersonalizations(personalizations?: ISpacePagePersonalization[]) {\n\t\tif (!personalizations?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.aFavPages) {\n\t\t\tawait this.getFavoritePages();\n\t\t}\n\n\t\tconst allSpaces = await this.fetchAllAvailableSpaces();\n\n\t\tpersonalizations.forEach((personalization) => {\n\t\t\tconst isPagePersonalization = !!personalization.pageId;\n\t\t\t//corresponding space obj of the master list of all spaces\n\t\t\tconst spaceObj = allSpaces?.find((space) => space.id === personalization.spaceId);\n\t\t\tconst pageObj = spaceObj?.children.find((page) => page.id === personalization.pageId);\n\t\t\t//corresponding page obj of the list of favorite/visible pages\n\t\t\tconst oPage = this.aFavPages.find((oPage) => oPage.pageId === personalization.pageId);\n\t\t\t//corresponding page obj of the master list of all pages\n\t\t\tconst availablePageObj = this._aPages?.find((page) => page.pageId === personalization.pageId);\n\t\t\t// Update the Personalisation model for space\n\t\t\tif (!isPagePersonalization && spaceObj) {\n\t\t\t\tconst colorObj = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\tspaceObj.BGColor = colorObj;\n\t\t\t\tspaceObj.applyColorToAllPages = personalization.applyColorToAllPages;\n\t\t\t\tspaceObj.isSpacePersonalization = true;\n\n\t\t\t\t// Update the color for all pages in the space if applied\n\t\t\t\tspaceObj.children.forEach((oPage) => {\n\t\t\t\t\tconst favPageObj = this.aFavPages.find((favPage) => favPage.pageId === oPage.id);\n\t\t\t\t\tif (favPageObj) {\n\t\t\t\t\t\tconst favpageBGColor = favPageObj.isPagePersonalization ? favPageObj.oldColor : DEFAULT_BG_COLOR();\n\t\t\t\t\t\tfavPageObj.BGColor = spaceObj.applyColorToAllPages ? personalization.BGColor : favpageBGColor;\n\t\t\t\t\t\toPage.BGColor = favPageObj.BGColor;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * setting personalization color for unchecked pages\n\t\t\t\t\t\t * updating color for the children of master list of spaces\n\t\t\t\t\t\t * updating color for the available pages corresponding to the space id\n\t\t\t\t\t\t */\n\t\t\t\t\t\toPage.BGColor = spaceObj.applyColorToAllPages ? personalization.BGColor : DEFAULT_BG_COLOR();\n\t\t\t\t\t\tthis._aPages.forEach((page) => {\n\t\t\t\t\t\t\tif (page.spaceId === spaceObj.id) {\n\t\t\t\t\t\t\t\tpage.BGColor = oPage.BGColor;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (pageObj) {\n\t\t\t\t// Update the Personalisation model for page\n\t\t\t\tconst pageBackgroundColor = spaceObj?.applyColorToAllPages\n\t\t\t\t\t? ({ ...spaceObj.BGColor } as IColor)\n\t\t\t\t\t: fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t//updating color for the favourite page\n\t\t\t\tif (oPage) {\n\t\t\t\t\toPage.isPagePersonalization = true;\n\t\t\t\t\toPage.BGColor = pageBackgroundColor;\n\t\t\t\t\toPage.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t}\n\t\t\t\t//updating color for the children of master list of spaces\n\t\t\t\tpageObj.isPagePersonalization = true;\n\t\t\t\tpageObj.BGColor = pageBackgroundColor;\n\t\t\t\tpageObj.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t//updating color for the page of master list of pages/available page\n\t\t\t\tif (availablePageObj) {\n\t\t\t\t\tavailablePageObj.isPagePersonalization = true;\n\t\t\t\t\tavailablePageObj.BGColor = pageBackgroundColor;\n\t\t\t\t\tavailablePageObj.oldColor = fnFetchLegendColor(personalization.BGColor as string);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t}\n\n\tpublic async applyIconPersonalizations(personalizations?: ISpacePagePersonalization[]) {\n\t\tif (!personalizations?.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.aFavPages) {\n\t\t\tawait this._getFavPages();\n\t\t}\n\t\tconst allSpaces = await this.fetchAllAvailableSpaces();\n\n\t\tpersonalizations.forEach((personalization) => {\n\t\t\tconst isPagePersonalization = !!personalization.pageId;\n\t\t\tconst spaceObj = allSpaces?.find((space) => space.id === personalization.spaceId);\n\n\t\t\t// Update the Personalisation model for space\n\t\t\tif (!isPagePersonalization) {\n\t\t\t\tif (spaceObj) {\n\t\t\t\t\tspaceObj.icon = personalization.icon;\n\t\t\t\t\tspaceObj.isSpaceIconPersonalization = true;\n\n\t\t\t\t\t// Update the icon for all pages in the space if applied\n\t\t\t\t\tspaceObj.children.forEach((oPage) => {\n\t\t\t\t\t\tif (!oPage.isPageIconPersonalization) {\n\t\t\t\t\t\t\tconst favPageObj = this.aFavPages.find((favPage) => favPage.pageId === oPage.id);\n\t\t\t\t\t\t\tif (favPageObj) {\n\t\t\t\t\t\t\t\tfavPageObj.icon = spaceObj.icon || FALLBACK_ICON;\n\t\t\t\t\t\t\t\toPage.icon = spaceObj.icon || FALLBACK_ICON;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the Personalisation model for page\n\t\t\t\tconst pageObj = spaceObj?.children.find((page) => page.id === personalization.pageId);\n\t\t\t\tconst oPage = this.aFavPages.find((oPage) => oPage.pageId === personalization.pageId);\n\t\t\t\tif (pageObj && oPage) {\n\t\t\t\t\toPage.isPageIconPersonalization = true;\n\t\t\t\t\tpageObj.isPageIconPersonalization = true;\n\t\t\t\t\toPage.icon = personalization.icon;\n\t\t\t\t\tpageObj.icon = personalization.icon;\n\t\t\t\t\toPage.oldIcon = personalization.oldIcon;\n\t\t\t\t\tpageObj.oldIcon = personalization.oldIcon;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._eventBus.publish(\"pageChannel\", \"pageUpdated\");\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
 
6
+ import deepEqual from "sap/base/util/deepEqual";
6
7
  import BaseObject from "sap/ui/base/Object";
7
8
  import Component from "sap/ui/core/Component";
8
9
  import EventBus from "sap/ui/core/EventBus";
@@ -169,13 +170,13 @@ export default class PageManager extends BaseObject {
169
170
  if (this.aFavPages && !bForceUpdate) {
170
171
  return Promise.resolve(this.aFavPages);
171
172
  }
172
- if (this.oGetFavPagesPromise === undefined) {
173
- this.oGetFavPagesPromise = this._getFavPages(bForceUpdate);
173
+ if (this.oGetFavPagesPromise === undefined || bForceUpdate) {
174
+ this.oGetFavPagesPromise = this._getFavPages();
174
175
  }
175
176
  return this.oGetFavPagesPromise;
176
177
  }
177
178
 
178
- private async _getFavPages(bForceUpdate: boolean) {
179
+ private async _getFavPages() {
179
180
  this.oPersonalizer = await this._getPersonalization();
180
181
  const oPersData = await this.oPersonalizer.read();
181
182
  const aFavoritePages: IPage[] | undefined = oPersData?.favouritePages;
@@ -198,7 +199,7 @@ export default class PageManager extends BaseObject {
198
199
  // To send Maximum of 8 Pages (BCP incident: 2270169293)
199
200
  aPages = aPages.slice(0, PAGE_SELECTION_LIMIT);
200
201
  if (aPages.length || !aFavoritePages?.length) {
201
- this.aFavPages = await this.getFavPages(aPages, aPages.length !== aFavoritePages?.length || bForceUpdate);
202
+ this.aFavPages = await this.getFavPages(aPages, deepEqual(aPages, aFavoritePages));
202
203
  } else if (!aPages.length && aFavoritePages.length) {
203
204
  //Clean unaccessible page data
204
205
  oPersData.favouritePages = [];
@@ -290,7 +291,7 @@ export default class PageManager extends BaseObject {
290
291
  }
291
292
 
292
293
  if (!this.aFavPages) {
293
- await this._getFavPages(false);
294
+ await this._getFavPages();
294
295
  }
295
296
  const allSpaces = await this.fetchAllAvailableSpaces();
296
297
 
@@ -17,8 +17,10 @@ declare module "sap/cux/home/utils/PerformanceUtils" {
17
17
  */
18
18
  const UIElements: {
19
19
  "sap.cux.home.AppsContainer": string;
20
- "sap.cux.home.InsightsContainer": string;
21
- "sap.cux.home.NewsAndPagesContainer": string;
20
+ "sap.cux.home.TilesContainer": string;
21
+ "sap.cux.home.CardsContainer": string;
22
+ "sap.cux.home.PagesContainer": string;
23
+ "sap.cux.home.NewsContainer": string;
22
24
  "sap.cux.home.ToDosContainer": string;
23
25
  "sap.cux.home.Layout": string;
24
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/PerformanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,qCAAqC,CAAC;IASrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,MAAM,MAAM,qBAAqB,CAAC;IAEzC,KAAK,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,OAAO,UAAU,CAAC;QAC9B,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;KACjC,CAAC;IAEF,MAAM,aAAa,wBAAwB,CAAC;IAC5C,MAAM,uBAAuB,kCAAkC,CAAC;IAChE,MAAM,qBAAqB,4BAA4B,CAAC;IACxD,IAAI,aAAa,SAAQ,CAAC;IAE1B;;;OAGG;IACI,MAAM,UAAU;;;;;;KAMtB,CAAC;IAEF,IAAI,iBAAiB,EAAE,WAAW,EAI/B,CAAC;IAEJ;;;;OAIG;IACH,SAAe,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3C;IAED;;;;OAIG;IACH,SAAe,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD;IAED;;;;OAIG;IACH,SAAe,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;IAED;;;;;OAKG;IACH,SAAS,aAAa,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,GAAG,WAAW,GAAG,SAAS,CAEtF;IAED;;;;OAIG;IACH,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKlD;IAED;;;;;;OAMG;IACH,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CASxH;IAED;;;;OAIG;IACH,SAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC5E;IAED;;;;;OAKG;IACH,SAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5G;IAED;;;;;OAKG;IACH,SAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1G;CAEA"}
1
+ {"version":3,"file":"PerformanceUtils.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/PerformanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,qCAAqC,CAAC;IASrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,MAAM,MAAM,qBAAqB,CAAC;IAEzC,KAAK,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,OAAO,UAAU,CAAC;QAC9B,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;KACjC,CAAC;IAEF,MAAM,aAAa,wBAAwB,CAAC;IAC5C,MAAM,uBAAuB,kCAAkC,CAAC;IAChE,MAAM,qBAAqB,4BAA4B,CAAC;IACxD,IAAI,aAAa,SAAQ,CAAC;IAE1B;;;OAGG;IACI,MAAM,UAAU;;;;;;;;KAQtB,CAAC;IAEF,IAAI,iBAAiB,EAAE,WAAW,EAI/B,CAAC;IAEJ;;;;OAIG;IACH,SAAe,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3C;IAED;;;;OAIG;IACH,SAAe,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD;IAED;;;;OAIG;IACH,SAAe,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;IAED;;;;;OAKG;IACH,SAAS,aAAa,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,GAAG,WAAW,GAAG,SAAS,CAEtF;IAED;;;;OAIG;IACH,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKlD;IAED;;;;;;OAMG;IACH,SAAS,iBAAiB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CASxH;IAED;;;;OAIG;IACH,SAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC5E;IAED;;;;;OAKG;IACH,SAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5G;IAED;;;;;OAKG;IACH,SAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,OAAO,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1G;CAEA"}
@@ -115,8 +115,10 @@ sap.ui.define(["sap/ushell/Container", "sap/ushell/EventHub", "sap/ushell/utils"
115
115
  */
116
116
  const UIElements = {
117
117
  "sap.cux.home.AppsContainer": "Apps",
118
- "sap.cux.home.InsightsContainer": "Insights",
119
- "sap.cux.home.NewsAndPagesContainer": "News",
118
+ "sap.cux.home.TilesContainer": "Insights_Tiles",
119
+ "sap.cux.home.CardsContainer": "Insights_Cards",
120
+ "sap.cux.home.PagesContainer": "Pages",
121
+ "sap.cux.home.NewsContainer": "News",
120
122
  "sap.cux.home.ToDosContainer": "ToDos",
121
123
  [layoutElement]: "Layout"
122
124
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceUtils.js","names":["sap","ui","define","Container","EventHub","utils","setupPerformanceTracking","layout","setupTracking","Promise","resolve","containers","getItems","forEach","container","getContent","panel","attachEventOnce","containerName","getMetadata","getName","heroElement","availableElements","filter","availableElement","control","getVisible","name","_temp2","markHomePageEnd","then","e","reject","visibleElements","layoutElement","find","markHomePageStart","_temp","length","isHomeApp","_isHomeApp2","recordElementLoadEnd","homePageLoadEndMarker","emit","_isHomeApp","recordElementLoadStart","homePageLoadStartMarker","getServiceAsync","getCurrentApplication","homePage","UIElements","Object","keys","map","elementName","startMarked","endMarked","findUIElement","setPerformanceMark","markName","bUseUniqueMark","bUseLastMark","recordElementLoad","customMarkName","isStartMaker","element","marker","controlFlag","__exports","__esModule"],"sources":["PerformanceUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport AppLifeCycle from \"sap/ushell/services/AppLifeCycle\";\nimport utils from \"sap/ushell/utils\";\nimport BaseContainer from \"../BaseContainer\";\nimport Layout from \"../Layout\";\n\ntype ElementInfo = {\n\tname: keyof typeof UIElements;\n\tstartMarked: boolean;\n\tendMarked: boolean;\n\tcontrol?: Layout | BaseContainer;\n};\n\nconst layoutElement = \"sap.cux.home.Layout\";\nconst homePageLoadStartMarker = \"FLP-TTI-Homepage-Custom-Start\";\nconst homePageLoadEndMarker = \"FLP-TTI-Homepage-Custom\";\nlet setupTracking = false;\n\n/**\n * An object representing the UI elements and their corresponding marker names.\n *\n */\nexport const UIElements = {\n\t\"sap.cux.home.AppsContainer\": \"Apps\",\n\t\"sap.cux.home.InsightsContainer\": \"Insights\",\n\t\"sap.cux.home.NewsAndPagesContainer\": \"News\",\n\t\"sap.cux.home.ToDosContainer\": \"ToDos\",\n\t[layoutElement]: \"Layout\"\n};\n\nlet availableElements: ElementInfo[] = Object.keys(UIElements).map((elementName) => ({\n\tname: elementName as keyof typeof UIElements,\n\tstartMarked: false,\n\tendMarked: false\n}));\n\n/**\n * Checks if the current application is the home app.\n *\n * @returns {Promise<boolean>} - A promise that resolves to true if the current application is the home app, otherwise false.\n */\nasync function isHomeApp(): Promise<boolean> {\n\tconst container = await Container.getServiceAsync<AppLifeCycle>(\"AppLifeCycle\");\n\treturn container.getCurrentApplication()?.homePage as boolean;\n}\n\n/**\n * Records the start of the homepage load.\n *\n * @returns {Promise<void>} - A promise that resolves when the start of the homepage load is recorded.\n */\nasync function markHomePageStart(): Promise<void> {\n\tif (await isHomeApp()) {\n\t\trecordElementLoadStart(layoutElement, homePageLoadStartMarker);\n\t}\n}\n\n/**\n * Records the end of the homepage load.\n *\n * @returns {Promise<void>} - A promise that resolves when the end of the homepage load is recorded.\n */\nasync function markHomePageEnd(): Promise<void> {\n\tif (await isHomeApp()) {\n\t\trecordElementLoadEnd(layoutElement, homePageLoadEndMarker);\n\t\tEventHub.emit(\"CustomHomeRendered\");\n\t}\n}\n\n/**\n * Finds the UI element information by container name.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @returns {ElementInfo | undefined} - The element information if found, otherwise undefined.\n */\nfunction findUIElement(containerName: keyof typeof UIElements): ElementInfo | undefined {\n\treturn availableElements.find((heroElement) => heroElement.name === containerName);\n}\n\n/**\n * Sets a performance mark with the given name.\n *\n * @param {string} markName - The name of the performance mark.\n */\nfunction setPerformanceMark(markName: string): void {\n\tutils.setPerformanceMark(markName, {\n\t\tbUseUniqueMark: true,\n\t\tbUseLastMark: true\n\t});\n}\n\n/**\n * Records the load of an element.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n * @param {boolean} [isStartMaker] - Indicates if it is a start marker.\n */\nfunction recordElementLoad(containerName: keyof typeof UIElements, customMarkName?: string, isStartMaker?: boolean): void {\n\tconst element = findUIElement(containerName);\n\tconst marker = isStartMaker ? \"Start\" : \"End\";\n\tconst controlFlag = isStartMaker ? \"startMarked\" : \"endMarked\";\n\n\tif (element && !element[controlFlag] && element.control?.getVisible()) {\n\t\telement[controlFlag] = true;\n\t\tsetPerformanceMark(customMarkName || `FLP-Homepage-Section-${marker}[${UIElements[containerName]}]`);\n\t}\n}\n\n/**\n * Sets up performance tracking for the given layout.\n *\n * @param {Layout} layout - The layout object containing the UI elements.\n */\nexport async function setupPerformanceTracking(layout: Layout): Promise<void> {\n\tif (!layout || setupTracking) return;\n\n\tconst containers = layout.getItems();\n\tcontainers.forEach((container) => {\n\t\tcontainer.getContent().forEach((panel) => {\n\t\t\tpanel.attachEventOnce(\"loaded\", async () => {\n\t\t\t\tconst containerName = container.getMetadata().getName();\n\t\t\t\tconst heroElement = availableElements.filter((availableElement) => availableElement.control?.getVisible())[0].name;\n\n\t\t\t\t// If the hero element is loaded, mark the end of the homepage load\n\t\t\t\tif (containerName === heroElement) {\n\t\t\t\t\tawait markHomePageEnd();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\tconst visibleElements = availableElements.filter((availableElement) => {\n\t\tavailableElement.control =\n\t\t\tavailableElement.name === layoutElement\n\t\t\t\t? layout\n\t\t\t\t: containers.find((container) => container.getMetadata().getName() === availableElement.name);\n\t\treturn availableElement.control?.getVisible();\n\t});\n\n\t// record homepage start\n\tsetupTracking = true;\n\tawait markHomePageStart();\n\n\t// record homepage end in case of no visible elements except layout\n\tif (visibleElements.length === 1) {\n\t\tawait markHomePageEnd();\n\t}\n}\n\n/**\n * Records the start of the element load.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n */\nexport function recordElementLoadStart(containerName: keyof typeof UIElements, customMarkName?: string): void {\n\trecordElementLoad(containerName, customMarkName, true);\n}\n\n/**\n * Records the end of the element load.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n */\nexport function recordElementLoadEnd(containerName: keyof typeof UIElements, customMarkName?: string): void {\n\trecordElementLoad(containerName, customMarkName, false);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PerformanceUtils.js","names":["sap","ui","define","Container","EventHub","utils","setupPerformanceTracking","layout","setupTracking","Promise","resolve","containers","getItems","forEach","container","getContent","panel","attachEventOnce","containerName","getMetadata","getName","heroElement","availableElements","filter","availableElement","control","getVisible","name","_temp2","markHomePageEnd","then","e","reject","visibleElements","layoutElement","find","markHomePageStart","_temp","length","isHomeApp","_isHomeApp2","recordElementLoadEnd","homePageLoadEndMarker","emit","_isHomeApp","recordElementLoadStart","homePageLoadStartMarker","getServiceAsync","getCurrentApplication","homePage","UIElements","Object","keys","map","elementName","startMarked","endMarked","findUIElement","setPerformanceMark","markName","bUseUniqueMark","bUseLastMark","recordElementLoad","customMarkName","isStartMaker","element","marker","controlFlag","__exports","__esModule"],"sources":["PerformanceUtils.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport AppLifeCycle from \"sap/ushell/services/AppLifeCycle\";\nimport utils from \"sap/ushell/utils\";\nimport BaseContainer from \"../BaseContainer\";\nimport Layout from \"../Layout\";\n\ntype ElementInfo = {\n\tname: keyof typeof UIElements;\n\tstartMarked: boolean;\n\tendMarked: boolean;\n\tcontrol?: Layout | BaseContainer;\n};\n\nconst layoutElement = \"sap.cux.home.Layout\";\nconst homePageLoadStartMarker = \"FLP-TTI-Homepage-Custom-Start\";\nconst homePageLoadEndMarker = \"FLP-TTI-Homepage-Custom\";\nlet setupTracking = false;\n\n/**\n * An object representing the UI elements and their corresponding marker names.\n *\n */\nexport const UIElements = {\n\t\"sap.cux.home.AppsContainer\": \"Apps\",\n\t\"sap.cux.home.TilesContainer\": \"Insights_Tiles\",\n\t\"sap.cux.home.CardsContainer\": \"Insights_Cards\",\n\t\"sap.cux.home.PagesContainer\": \"Pages\",\n\t\"sap.cux.home.NewsContainer\": \"News\",\n\t\"sap.cux.home.ToDosContainer\": \"ToDos\",\n\t[layoutElement]: \"Layout\"\n};\n\nlet availableElements: ElementInfo[] = Object.keys(UIElements).map((elementName) => ({\n\tname: elementName as keyof typeof UIElements,\n\tstartMarked: false,\n\tendMarked: false\n}));\n\n/**\n * Checks if the current application is the home app.\n *\n * @returns {Promise<boolean>} - A promise that resolves to true if the current application is the home app, otherwise false.\n */\nasync function isHomeApp(): Promise<boolean> {\n\tconst container = await Container.getServiceAsync<AppLifeCycle>(\"AppLifeCycle\");\n\treturn container.getCurrentApplication()?.homePage as boolean;\n}\n\n/**\n * Records the start of the homepage load.\n *\n * @returns {Promise<void>} - A promise that resolves when the start of the homepage load is recorded.\n */\nasync function markHomePageStart(): Promise<void> {\n\tif (await isHomeApp()) {\n\t\trecordElementLoadStart(layoutElement, homePageLoadStartMarker);\n\t}\n}\n\n/**\n * Records the end of the homepage load.\n *\n * @returns {Promise<void>} - A promise that resolves when the end of the homepage load is recorded.\n */\nasync function markHomePageEnd(): Promise<void> {\n\tif (await isHomeApp()) {\n\t\trecordElementLoadEnd(layoutElement, homePageLoadEndMarker);\n\t\tEventHub.emit(\"CustomHomeRendered\");\n\t}\n}\n\n/**\n * Finds the UI element information by container name.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @returns {ElementInfo | undefined} - The element information if found, otherwise undefined.\n */\nfunction findUIElement(containerName: keyof typeof UIElements): ElementInfo | undefined {\n\treturn availableElements.find((heroElement) => heroElement.name === containerName);\n}\n\n/**\n * Sets a performance mark with the given name.\n *\n * @param {string} markName - The name of the performance mark.\n */\nfunction setPerformanceMark(markName: string): void {\n\tutils.setPerformanceMark(markName, {\n\t\tbUseUniqueMark: true,\n\t\tbUseLastMark: true\n\t});\n}\n\n/**\n * Records the load of an element.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n * @param {boolean} [isStartMaker] - Indicates if it is a start marker.\n */\nfunction recordElementLoad(containerName: keyof typeof UIElements, customMarkName?: string, isStartMaker?: boolean): void {\n\tconst element = findUIElement(containerName);\n\tconst marker = isStartMaker ? \"Start\" : \"End\";\n\tconst controlFlag = isStartMaker ? \"startMarked\" : \"endMarked\";\n\n\tif (element && !element[controlFlag] && element.control?.getVisible()) {\n\t\telement[controlFlag] = true;\n\t\tsetPerformanceMark(customMarkName || `FLP-Homepage-Section-${marker}[${UIElements[containerName]}]`);\n\t}\n}\n\n/**\n * Sets up performance tracking for the given layout.\n *\n * @param {Layout} layout - The layout object containing the UI elements.\n */\nexport async function setupPerformanceTracking(layout: Layout): Promise<void> {\n\tif (!layout || setupTracking) return;\n\n\tconst containers = layout.getItems();\n\tcontainers.forEach((container) => {\n\t\tcontainer.getContent().forEach((panel) => {\n\t\t\tpanel.attachEventOnce(\"loaded\", async () => {\n\t\t\t\tconst containerName = container.getMetadata().getName();\n\t\t\t\tconst heroElement = availableElements.filter((availableElement) => availableElement.control?.getVisible())[0].name;\n\n\t\t\t\t// If the hero element is loaded, mark the end of the homepage load\n\t\t\t\tif (containerName === heroElement) {\n\t\t\t\t\tawait markHomePageEnd();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\tconst visibleElements = availableElements.filter((availableElement) => {\n\t\tavailableElement.control =\n\t\t\tavailableElement.name === layoutElement\n\t\t\t\t? layout\n\t\t\t\t: containers.find((container) => container.getMetadata().getName() === availableElement.name);\n\t\treturn availableElement.control?.getVisible();\n\t});\n\n\t// record homepage start\n\tsetupTracking = true;\n\tawait markHomePageStart();\n\n\t// record homepage end in case of no visible elements except layout\n\tif (visibleElements.length === 1) {\n\t\tawait markHomePageEnd();\n\t}\n}\n\n/**\n * Records the start of the element load.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n */\nexport function recordElementLoadStart(containerName: keyof typeof UIElements, customMarkName?: string): void {\n\trecordElementLoad(containerName, customMarkName, true);\n}\n\n/**\n * Records the end of the element load.\n *\n * @param {keyof typeof UIElements} containerName - The name of the container.\n * @param {string} [customMarkName] - The custom mark name.\n */\nexport function recordElementLoadEnd(containerName: keyof typeof UIElements, customMarkName?: string): void {\n\trecordElementLoad(containerName, customMarkName, false);\n}\n"],"mappings":"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","ignoreList":[]}