@sapui5/sap.cux.home 1.138.0 → 1.140.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 (357) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +113 -64
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +47 -15
  8. package/src/sap/cux/home/App.d.ts +2 -2
  9. package/src/sap/cux/home/App.js +2 -2
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +2 -2
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +17 -10
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +19 -12
  16. package/src/sap/cux/home/AppsContainer.d.ts +2 -3
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +6 -10
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +5 -10
  21. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  22. package/src/sap/cux/home/BaseApp.js +2 -2
  23. package/src/sap/cux/home/BaseApp.js.map +1 -1
  24. package/src/sap/cux/home/BaseApp.ts +2 -2
  25. package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
  26. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  27. package/src/sap/cux/home/BaseAppPanel.js +22 -3
  28. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  29. package/src/sap/cux/home/BaseAppPanel.ts +16 -3
  30. package/src/sap/cux/home/BaseContainer.d.ts +10 -27
  31. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
  33. package/src/sap/cux/home/BaseContainer.js +39 -71
  34. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainer.ts +33 -77
  36. package/src/sap/cux/home/BaseContainerRenderer.d.ts +6 -4
  37. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  38. package/src/sap/cux/home/BaseContainerRenderer.js +47 -21
  39. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  40. package/src/sap/cux/home/BaseContainerRenderer.ts +58 -25
  41. package/src/sap/cux/home/BaseLayout.d.ts +2 -2
  42. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  43. package/src/sap/cux/home/BaseLayout.js +5 -4
  44. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  45. package/src/sap/cux/home/BaseLayout.ts +5 -4
  46. package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
  47. package/src/sap/cux/home/BaseNewsItem.js +2 -2
  48. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  49. package/src/sap/cux/home/BaseNewsItem.ts +2 -2
  50. package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
  51. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  52. package/src/sap/cux/home/BaseNewsPanel.js +14 -3
  53. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  54. package/src/sap/cux/home/BaseNewsPanel.ts +10 -4
  55. package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
  56. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  57. package/src/sap/cux/home/BasePagePanel.js +10 -2
  58. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  59. package/src/sap/cux/home/BasePagePanel.ts +6 -2
  60. package/src/sap/cux/home/BasePanel.d.ts +2 -21
  61. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  62. package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
  63. package/src/sap/cux/home/BasePanel.js +15 -31
  64. package/src/sap/cux/home/BasePanel.js.map +1 -1
  65. package/src/sap/cux/home/BasePanel.ts +11 -34
  66. package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
  67. package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
  68. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  69. package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
  70. package/src/sap/cux/home/BaseSettingsPanel.d.ts +3 -3
  71. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  72. package/src/sap/cux/home/BaseSettingsPanel.js +4 -3
  73. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  74. package/src/sap/cux/home/BaseSettingsPanel.ts +6 -4
  75. package/src/sap/cux/home/CardsPanel.d.ts +2 -2
  76. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  77. package/src/sap/cux/home/CardsPanel.js +15 -7
  78. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  79. package/src/sap/cux/home/CardsPanel.ts +11 -10
  80. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  81. package/src/sap/cux/home/ContentAdditionDialog.js +1 -2
  82. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  83. package/src/sap/cux/home/ContentAdditionDialog.ts +1 -2
  84. package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
  85. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/ErrorPanel.js +13 -3
  87. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  88. package/src/sap/cux/home/ErrorPanel.ts +9 -3
  89. package/src/sap/cux/home/FavAppPanel.d.ts +2 -2
  90. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  91. package/src/sap/cux/home/FavAppPanel.js +7 -6
  92. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  93. package/src/sap/cux/home/FavAppPanel.ts +10 -9
  94. package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
  95. package/src/sap/cux/home/FrequentAppPanel.js +2 -2
  96. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  97. package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
  98. package/src/sap/cux/home/Group.d.ts +2 -2
  99. package/src/sap/cux/home/Group.js +2 -2
  100. package/src/sap/cux/home/Group.js.map +1 -1
  101. package/src/sap/cux/home/Group.ts +2 -2
  102. package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
  103. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  104. package/src/sap/cux/home/IToDoPanel.ts +2 -2
  105. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  106. package/src/sap/cux/home/InsightsAdditionPanel.js +4 -7
  107. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  108. package/src/sap/cux/home/InsightsAdditionPanel.ts +6 -8
  109. package/src/sap/cux/home/InsightsContainer.d.ts +4 -5
  110. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  111. package/src/sap/cux/home/InsightsContainer.js +10 -15
  112. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  113. package/src/sap/cux/home/InsightsContainer.ts +17 -16
  114. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  115. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +7 -5
  116. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  117. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +6 -5
  118. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts +11 -5
  119. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  120. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +161 -83
  121. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  122. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +167 -83
  123. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  124. package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
  125. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  126. package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
  127. package/src/sap/cux/home/Layout.d.ts +2 -4
  128. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  129. package/src/sap/cux/home/Layout.js +35 -43
  130. package/src/sap/cux/home/Layout.js.map +1 -1
  131. package/src/sap/cux/home/Layout.ts +15 -21
  132. package/src/sap/cux/home/MenuItem.d.ts +2 -2
  133. package/src/sap/cux/home/MenuItem.js +2 -2
  134. package/src/sap/cux/home/MenuItem.js.map +1 -1
  135. package/src/sap/cux/home/MenuItem.ts +2 -2
  136. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +28 -3
  137. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  138. package/src/sap/cux/home/NewsAndPagesContainer.js +63 -39
  139. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  140. package/src/sap/cux/home/NewsAndPagesContainer.ts +68 -41
  141. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  142. package/src/sap/cux/home/NewsGroup.js +11 -6
  143. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  144. package/src/sap/cux/home/NewsGroup.ts +11 -8
  145. package/src/sap/cux/home/NewsPanel.d.ts +44 -7
  146. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  147. package/src/sap/cux/home/NewsPanel.gen.d.ts +0 -91
  148. package/src/sap/cux/home/NewsPanel.js +303 -214
  149. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  150. package/src/sap/cux/home/NewsPanel.ts +190 -117
  151. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  152. package/src/sap/cux/home/NewsSettingsPanel.js +11 -7
  153. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  154. package/src/sap/cux/home/NewsSettingsPanel.ts +14 -8
  155. package/src/sap/cux/home/NoDataContainer.d.ts +2 -3
  156. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  157. package/src/sap/cux/home/NoDataContainer.js +3 -3
  158. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  159. package/src/sap/cux/home/NoDataContainer.ts +3 -3
  160. package/src/sap/cux/home/PagePanel.d.ts +11 -3
  161. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  162. package/src/sap/cux/home/PagePanel.js +17 -6
  163. package/src/sap/cux/home/PagePanel.js.map +1 -1
  164. package/src/sap/cux/home/PagePanel.ts +17 -7
  165. package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
  166. package/src/sap/cux/home/RecentAppPanel.js +2 -2
  167. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  168. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  169. package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
  170. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  171. package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
  172. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  173. package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
  174. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
  175. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
  176. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
  177. package/src/sap/cux/home/SideBySideIconTabFilter.js +83 -0
  178. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
  179. package/src/sap/cux/home/SideBySideIconTabFilter.ts +87 -0
  180. package/src/sap/cux/home/SituationPanel.d.ts +2 -2
  181. package/src/sap/cux/home/SituationPanel.js +2 -2
  182. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  183. package/src/sap/cux/home/SituationPanel.ts +2 -2
  184. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
  185. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  186. package/src/sap/cux/home/SpaceInsightsPanel.js +15 -4
  187. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  188. package/src/sap/cux/home/SpaceInsightsPanel.ts +11 -4
  189. package/src/sap/cux/home/SpacePanel.d.ts +2 -2
  190. package/src/sap/cux/home/SpacePanel.js +2 -2
  191. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  192. package/src/sap/cux/home/SpacePanel.ts +2 -2
  193. package/src/sap/cux/home/TaskPanel.d.ts +2 -2
  194. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  195. package/src/sap/cux/home/TaskPanel.js +6 -11
  196. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  197. package/src/sap/cux/home/TaskPanel.ts +6 -11
  198. package/src/sap/cux/home/TilesPanel.d.ts +2 -3
  199. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  200. package/src/sap/cux/home/TilesPanel.js +93 -63
  201. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  202. package/src/sap/cux/home/TilesPanel.ts +97 -80
  203. package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
  204. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  205. package/src/sap/cux/home/ToDoPanel.js +15 -20
  206. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  207. package/src/sap/cux/home/ToDoPanel.ts +11 -21
  208. package/src/sap/cux/home/ToDosContainer.d.ts +2 -4
  209. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  210. package/src/sap/cux/home/ToDosContainer.js +5 -10
  211. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  212. package/src/sap/cux/home/ToDosContainer.ts +3 -10
  213. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
  214. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
  215. package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
  216. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  217. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
  218. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  219. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
  220. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  221. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
  222. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  223. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -3
  224. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  225. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +1 -3
  226. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  227. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
  228. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  229. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
  230. package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
  231. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  232. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
  233. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  234. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
  235. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
  236. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  237. package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
  238. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  239. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
  240. package/src/sap/cux/home/i18n/messagebundle.properties +18 -9
  241. package/src/sap/cux/home/i18n/messagebundle_ar.properties +16 -10
  242. package/src/sap/cux/home/i18n/messagebundle_bg.properties +16 -10
  243. package/src/sap/cux/home/i18n/messagebundle_ca.properties +16 -10
  244. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +16 -10
  245. package/src/sap/cux/home/i18n/messagebundle_cs.properties +16 -10
  246. package/src/sap/cux/home/i18n/messagebundle_cy.properties +16 -10
  247. package/src/sap/cux/home/i18n/messagebundle_da.properties +16 -10
  248. package/src/sap/cux/home/i18n/messagebundle_de.properties +26 -20
  249. package/src/sap/cux/home/i18n/messagebundle_el.properties +22 -16
  250. package/src/sap/cux/home/i18n/messagebundle_en.properties +16 -10
  251. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +16 -10
  252. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +13 -7
  253. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +13 -7
  254. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +16 -10
  255. package/src/sap/cux/home/i18n/messagebundle_es.properties +16 -10
  256. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +16 -10
  257. package/src/sap/cux/home/i18n/messagebundle_et.properties +16 -10
  258. package/src/sap/cux/home/i18n/messagebundle_fi.properties +16 -10
  259. package/src/sap/cux/home/i18n/messagebundle_fr.properties +18 -12
  260. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +16 -10
  261. package/src/sap/cux/home/i18n/messagebundle_hi.properties +16 -10
  262. package/src/sap/cux/home/i18n/messagebundle_hr.properties +16 -10
  263. package/src/sap/cux/home/i18n/messagebundle_hu.properties +16 -10
  264. package/src/sap/cux/home/i18n/messagebundle_id.properties +21 -15
  265. package/src/sap/cux/home/i18n/messagebundle_it.properties +17 -11
  266. package/src/sap/cux/home/i18n/messagebundle_iw.properties +16 -10
  267. package/src/sap/cux/home/i18n/messagebundle_ja.properties +20 -14
  268. package/src/sap/cux/home/i18n/messagebundle_kk.properties +16 -10
  269. package/src/sap/cux/home/i18n/messagebundle_ko.properties +16 -10
  270. package/src/sap/cux/home/i18n/messagebundle_lt.properties +16 -10
  271. package/src/sap/cux/home/i18n/messagebundle_lv.properties +16 -10
  272. package/src/sap/cux/home/i18n/messagebundle_mk.properties +16 -10
  273. package/src/sap/cux/home/i18n/messagebundle_ms.properties +16 -10
  274. package/src/sap/cux/home/i18n/messagebundle_nl.properties +16 -10
  275. package/src/sap/cux/home/i18n/messagebundle_no.properties +16 -10
  276. package/src/sap/cux/home/i18n/messagebundle_pl.properties +16 -10
  277. package/src/sap/cux/home/i18n/messagebundle_pt.properties +16 -10
  278. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +16 -10
  279. package/src/sap/cux/home/i18n/messagebundle_ro.properties +16 -10
  280. package/src/sap/cux/home/i18n/messagebundle_ru.properties +26 -20
  281. package/src/sap/cux/home/i18n/messagebundle_sh.properties +16 -10
  282. package/src/sap/cux/home/i18n/messagebundle_sk.properties +17 -11
  283. package/src/sap/cux/home/i18n/messagebundle_sl.properties +16 -10
  284. package/src/sap/cux/home/i18n/messagebundle_sr.properties +16 -10
  285. package/src/sap/cux/home/i18n/messagebundle_sv.properties +16 -10
  286. package/src/sap/cux/home/i18n/messagebundle_th.properties +18 -12
  287. package/src/sap/cux/home/i18n/messagebundle_tr.properties +16 -10
  288. package/src/sap/cux/home/i18n/messagebundle_uk.properties +17 -11
  289. package/src/sap/cux/home/i18n/messagebundle_vi.properties +16 -10
  290. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +16 -10
  291. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +16 -10
  292. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -5
  293. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  294. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  295. package/src/sap/cux/home/interface/CardsInterface.ts +1 -1
  296. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +2 -0
  297. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  298. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  299. package/src/sap/cux/home/interface/KeyUserInterface.ts +2 -0
  300. package/src/sap/cux/home/library.d.ts +26 -15
  301. package/src/sap/cux/home/library.d.ts.map +1 -1
  302. package/src/sap/cux/home/library.js +26 -15
  303. package/src/sap/cux/home/library.js.map +1 -1
  304. package/src/sap/cux/home/library.ts +27 -15
  305. package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
  306. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +0 -8
  307. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
  308. package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +4 -0
  309. package/src/sap/cux/home/themes/base/ToDosContainer.less +2 -5
  310. package/src/sap/cux/home/utils/CommonUtils.d.ts +1 -1
  311. package/src/sap/cux/home/utils/CommonUtils.d.ts.map +1 -1
  312. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  313. package/src/sap/cux/home/utils/CommonUtils.ts +5 -2
  314. package/src/sap/cux/home/utils/FeatureUtils.js +0 -2
  315. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  316. package/src/sap/cux/home/utils/FeatureUtils.ts +3 -3
  317. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  318. package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
  319. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
  320. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  321. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  322. package/src/sap/cux/home/utils/UshellPersonalizer.ts +0 -1
  323. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +9 -4
  324. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.d.ts → utils/placeholder/AppsPlaceholder.d.ts} +2 -2
  325. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts.map +1 -0
  326. package/src/sap/cux/home/{AppsContainerGenericPlaceholder.js → utils/placeholder/AppsPlaceholder.js} +1 -1
  327. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -0
  328. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +8 -0
  329. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +1 -0
  330. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.js → utils/placeholder/InsightsPlaceholder.js} +1 -1
  331. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +1 -0
  332. package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.d.ts → utils/placeholder/NewsAndPagesPlaceholder.d.ts} +3 -3
  333. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +1 -0
  334. package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.js → utils/placeholder/NewsAndPagesPlaceholder.js} +1 -1
  335. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +1 -0
  336. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.d.ts → utils/placeholder/ToDosPlaceholder.d.ts} +2 -2
  337. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts.map +1 -0
  338. package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.js → utils/placeholder/ToDosPlaceholder.js} +1 -1
  339. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -0
  340. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +0 -1
  341. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +0 -1
  342. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +0 -1
  343. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +0 -1
  344. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +0 -8
  345. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +0 -1
  346. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +0 -1
  347. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +0 -1
  348. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +0 -1
  349. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
  350. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
  351. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -127
  352. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
  353. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -94
  354. /package/src/sap/cux/home/{AppsContainerGenericPlaceholder.ts → utils/placeholder/AppsPlaceholder.ts} +0 -0
  355. /package/src/sap/cux/home/{InsightsContainerGenericPlaceholder.ts → utils/placeholder/InsightsPlaceholder.ts} +0 -0
  356. /package/src/sap/cux/home/{NewsAndPagesContainerGenericPlaceholder.ts → utils/placeholder/NewsAndPagesPlaceholder.ts} +0 -0
  357. /package/src/sap/cux/home/{ToDosContainerGenericPlaceholder.ts → utils/placeholder/ToDosPlaceholder.ts} +0 -0
@@ -3,7 +3,6 @@
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  import Log from "sap/base/Log";
6
- import FlexBox from "sap/m/FlexBox";
7
6
  import GenericTile from "sap/m/GenericTile";
8
7
  import SlideTile from "sap/m/SlideTile";
9
8
  import { FrameType, Priority } from "sap/m/library";
@@ -24,7 +23,7 @@ import NewsAndPagesContainer from "./NewsAndPagesContainer";
24
23
  import NewsGroup from "./NewsGroup";
25
24
  import NewsItem from "./NewsItem";
26
25
  import { NewsType } from "./library";
27
- import { DEFAULT_NEWS_BASE_URL, DEFAULT_NEWS_PLACEHOLDER, DEFAULT_NEWS_URL } from "./utils/Constants";
26
+ import { DEFAULT_NEWS_PLACEHOLDER, DEFAULT_NEWS_URL } from "./utils/Constants";
28
27
  import { recycleId } from "./utils/DataFormatUtils";
29
28
  import { DeviceType } from "./utils/Device";
30
29
  import { addFESRId } from "./utils/FESRUtil";
@@ -132,6 +131,13 @@ const BASE_URL = "/sap/opu/odata4/ui2/insights_srv/srvd/ui2/",
132
131
  NEWS_FEED_READ_API = BASE_URL + "insights_read_srv/0001/" + "NEWS_FEED",
133
132
  NEWS_FEED_TRANSLATION_API = BASE_URL + "insights_read_srv/0001/" + "NewsFeedColumnTranslation",
134
133
  DEFAULT_FEED_COUNT = 7,
134
+ NEWS_HEIGHT = {
135
+ LargeDesktop: "17rem",
136
+ XLargeDesktop: "17rem",
137
+ Desktop: "17rem",
138
+ Tablet: "14rem",
139
+ Mobile: "11rem"
140
+ },
135
141
  fnImagePlaceholder = function (sPath: string, N: number) {
136
142
  return Array.from({ length: N }, function (v, i) {
137
143
  return sPath + "/" + (i + 1) + ".jpg";
@@ -182,8 +188,8 @@ const CUSTOM_NEWS_FEED = {
182
188
  * @version 0.0.1
183
189
  * @since 1.121
184
190
  *
185
- * @internal
186
- * @public
191
+ * @private
192
+ * @ui5-restricted ux.eng.s4producthomes1
187
193
  *
188
194
  * @alias sap.cux.home.NewsPanel
189
195
  */
@@ -201,6 +207,8 @@ export default class NewsPanel extends BaseNewsPanel {
201
207
  private _defaultNewsPromise: Promise<ODataResponse> | null = null;
202
208
  private fetchedFeedUrl!: string;
203
209
  private defaultUrl!: string;
210
+ private _noUpdatesNewsFeed: boolean = false; // flag to check if no updates news tile is shown or not
211
+ private _endUserResponse!: ODataResponse;
204
212
 
205
213
  static readonly metadata: MetadataOptions = {
206
214
  library: "sap.cux.home",
@@ -214,13 +222,13 @@ export default class NewsPanel extends BaseNewsPanel {
214
222
  /**
215
223
  * Type of the news item.
216
224
  *
217
- * @public
225
+ * @private
218
226
  */
219
227
  type: {
220
228
  type: "sap.cux.home.NewsType",
221
229
  group: "Misc",
222
- visibility: "public",
223
- defaultValue: NewsType.RSS
230
+ visibility: "hidden",
231
+ defaultValue: NewsType.Default
224
232
  },
225
233
  /**
226
234
  * The key of custom news feed.
@@ -234,19 +242,6 @@ export default class NewsPanel extends BaseNewsPanel {
234
242
  * @private
235
243
  */
236
244
  customFileName: { type: "string", group: "Misc", defaultValue: "" },
237
- /**
238
- * The flag for custom news feed is checked or not.
239
- *
240
- * @private
241
- */
242
- showCustom: { type: "boolean", group: "Misc", defaultValue: false },
243
-
244
- /**
245
- * Property to set default News.
246
- *
247
- * @private
248
- */
249
- showDefault: { type: "boolean", group: "Misc", defaultValue: false },
250
245
  /**
251
246
  * The flag to determine rss feed will load or not.
252
247
  *
@@ -289,11 +284,12 @@ export default class NewsPanel extends BaseNewsPanel {
289
284
  */
290
285
  public init(): void {
291
286
  super.init();
287
+ const deviceType = this.getDeviceType();
292
288
 
293
289
  this.oNewsTile = new SlideTile(this.getId() + "--idNewsSlide", {
294
290
  displayTime: 20000,
295
291
  width: "100%",
296
- height: "17rem",
292
+ height: NEWS_HEIGHT[deviceType as keyof typeof NEWS_HEIGHT],
297
293
  tiles: [
298
294
  new GenericTile(this.getId() + "--placeholder", {
299
295
  state: "Loading",
@@ -326,43 +322,58 @@ export default class NewsPanel extends BaseNewsPanel {
326
322
  */
327
323
  public async getData() {
328
324
  let sUrl: string = this.getUrl();
329
- let showCustom = this.getProperty("showCustom") as boolean;
330
- // if no url and showCustom set as false, then set showDefault as true
331
- if (!sUrl && !showCustom && !this.getProperty("showDefault")) {
332
- this.setProperty("showDefault", true);
333
- }
334
- let showDefault = this.getProperty("showDefault") as boolean;
335
- this.mandatoryNewsFeed = [];
325
+ let showCustom = this.getProperty("type") === NewsType.Custom;
326
+ let showDefault = this.getProperty("type") === NewsType.Default;
327
+ let showRssAtom = this.getProperty("type") === NewsType.NewsUrl;
336
328
 
329
+ this.mandatoryNewsFeed = [];
337
330
  if (this.fetchedFeedUrl && this.fetchedFeedUrl === sUrl) {
338
331
  return;
339
332
  }
340
- if (!this.persDataNewsFeed) {
341
- await this.setPersDataNewsFeed(showDefault);
342
- }
343
- if (sUrl && !sUrl.includes(DEFAULT_NEWS_BASE_URL) && !showCustom) {
344
- //rss feed scenario
345
- this.oNewsModel = await this.initializeXmlModel(sUrl);
346
- this.oNewsTile.setModel(this.oNewsModel);
347
- this.oManageMenuItem.setVisible(false);
348
- } else if (showDefault && !showCustom) {
349
- // default news scenario, if url property is passed and showDefault is true
350
- // check if url contains default news base url
351
- this.defaultUrl = sUrl && sUrl.includes(DEFAULT_NEWS_BASE_URL) ? sUrl : DEFAULT_NEWS_URL;
352
- this.bNewsLoad = this.bNewsLoad || false;
353
- await this.setDefaultNews(showDefault);
354
- } else if (this.getProperty("showCustom")) {
355
- //custom news scenario
356
- this.bNewsLoad = this.bNewsLoad || false;
357
- this.oManageMenuItem.setVisible(true);
358
- const sCustomNewsFeedKey = this.getCustomFeedKey();
359
- if (sCustomNewsFeedKey) {
360
- await this.setCustomNewsFeed(sCustomNewsFeedKey);
333
+ const endUserChange = (this.getParent() as NewsAndPagesContainer).getIsEndUserChange();
334
+ if (endUserChange.isEndUser) {
335
+ //url scenario (developer side)
336
+ const response = await fetch(sUrl);
337
+ if (!response.ok) {
338
+ throw new Error(`HTTP error! status: ${response.status}`);
339
+ }
340
+ const contentType = response.headers.get("content-type");
341
+ if (contentType && contentType.includes("application/json")) {
342
+ this._endUserResponse = (await response.json()) as ODataResponse;
343
+ await this.setNewsFeedFromUrl(this._endUserResponse?.value);
361
344
  } else {
362
- this.handleFeedError();
345
+ endUserChange.newsType = NewsType.NewsUrl;
346
+ this.oNewsModel = await this.initializeXmlModel(sUrl);
347
+ this.oNewsTile.setModel(this.oNewsModel);
348
+ this.oManageMenuItem.setVisible(false);
363
349
  }
364
350
  } else {
365
- this.handleFeedError();
351
+ //key user scenarios
352
+ if (!this.persDataNewsFeed) {
353
+ await this.setPersDataNewsFeed(showDefault);
354
+ }
355
+ if (showDefault) {
356
+ //default news scenario
357
+ this.bNewsLoad = this.bNewsLoad || false;
358
+ await this.setDefaultNews();
359
+ } else if (sUrl && showRssAtom) {
360
+ //rss feed scenario
361
+ this.oNewsModel = await this.initializeXmlModel(sUrl);
362
+ this.oNewsTile.setModel(this.oNewsModel);
363
+ this.oManageMenuItem.setVisible(false);
364
+ } else if (showCustom) {
365
+ //custom news scenario
366
+ this.bNewsLoad = this.bNewsLoad || false;
367
+ this.oManageMenuItem.setVisible(true);
368
+ const sCustomNewsFeedKey = this.getCustomFeedKey();
369
+ if (sCustomNewsFeedKey) {
370
+ await this.setCustomNewsFeed(sCustomNewsFeedKey);
371
+ } else {
372
+ this.handleFeedError();
373
+ }
374
+ } else {
375
+ this.handleFeedError();
376
+ }
366
377
  }
367
378
  this.fireEvent("loaded");
368
379
  this.adjustLayout();
@@ -374,25 +385,18 @@ export default class NewsPanel extends BaseNewsPanel {
374
385
  * @param {boolean} [isKeyUserChange=false] - Indicates if the change is made by a key user.
375
386
  * @private
376
387
  */
377
- public async setDefaultNews(showDefault: boolean, isKeyUserChange: boolean = false) {
378
- // default news scenario, if url property is passed and showDefault is true
379
- // check if url contains default news base url
388
+ public async setDefaultNews() {
389
+ // default news scenario, if url property is passed or showDefault is true
380
390
 
381
391
  let sUrl: string = this.getUrl();
382
- this.defaultUrl = sUrl && sUrl.includes(DEFAULT_NEWS_BASE_URL) ? sUrl : DEFAULT_NEWS_URL;
392
+ const isEndUser = (this.getParent() as NewsAndPagesContainer).getIsEndUserChange().isEndUser;
393
+ this.defaultUrl = isEndUser ? sUrl : DEFAULT_NEWS_URL;
383
394
  this.fetchedFeedUrl = this.defaultUrl;
384
- this.setProperty("showDefault", showDefault);
385
395
 
386
396
  //reset properties
387
- this.setProperty("showCustom", false);
388
397
  this.setProperty("newsAvailable", true);
389
- // if user specifically set defaultNews true,
390
- // then even though url is available in key user settings url input, preference goes to showDefault
391
- if (isKeyUserChange) {
392
- this.setProperty("url", "");
393
- }
394
398
  this.generateErrorMessage().setVisible(false);
395
- (this.getNewsWrapper()?.getParent() as FlexBox).setVisible(true);
399
+ this.setVisible(true);
396
400
  this.oManageMenuItem.setVisible(true);
397
401
  this.setManageNewsItemVisibility(true);
398
402
 
@@ -432,15 +436,32 @@ export default class NewsPanel extends BaseNewsPanel {
432
436
  const newsGroups = this.getAggregation("newsGroup") as NewsGroup[] | undefined;
433
437
  if (!Array.isArray(newsGroups)) return;
434
438
 
435
- // Create a map for group details to avoid multiple iterations
439
+ // Build groupDetailsMap for group details to avoid multiple iterations and clean up descriptions by removing inline styles if any
436
440
  const groupDetailsMap: IGroupDetailsMap = {};
441
+ const groupHasDescription: Record<string, boolean> = {};
442
+
437
443
  (this._defaultNewsResponse.value || []).forEach((group) => {
444
+ // Clean group description
445
+ if (group?.description && group.description.trim().length > 0) {
446
+ group.description = this.removeInlineStylesFromDescription(group.description);
447
+ }
438
448
  if (group?.group_id) {
439
- groupDetailsMap[group.group_id] = group._group_to_article || [];
449
+ const articles = group._group_to_article || [];
450
+ // Clean article descriptions and check if any article has a valid description
451
+ let hasDescription = false;
452
+ articles.forEach((article: INewsFeed) => {
453
+ if (article?.description && article.description.trim().length > 0) {
454
+ article.description = this.removeInlineStylesFromDescription(article.description);
455
+ hasDescription = true;
456
+ }
457
+ });
458
+ groupDetailsMap[group.group_id] = articles;
459
+ groupHasDescription[group.group_id] = hasDescription;
440
460
  }
441
461
  });
442
462
 
443
463
  const newsGroupMap: INewsGroupMap = {};
464
+ // Iterate through the news groups and map group IDs to NewsGroup instances
444
465
  newsGroups
445
466
  .filter((group) => group instanceof NewsGroup)
446
467
  .forEach((group) => {
@@ -450,25 +471,26 @@ export default class NewsPanel extends BaseNewsPanel {
450
471
  }
451
472
  });
452
473
 
453
- // Iterate through feeds and set pressEnabled property if no description in any of the news article within group._group_to_article
474
+ // If no description is found in any of the articles within the group,
475
+ // disable the pressEnabled property for the news group to prevent user interaction.
454
476
  feeds.forEach((feed) => {
455
477
  if (!feed.group_id) return;
456
-
457
- const groupArticles = groupDetailsMap[feed.group_id];
458
478
  const newsGroup = newsGroupMap[feed.group_id];
459
-
460
- if (groupArticles?.length && newsGroup) {
461
- const hasDescription = groupArticles.some((article) => !!article.description && article.description.length > 0);
462
-
463
- // If no description is found in any of the articles within the group,
464
- // disable the pressEnabled property for the news group to prevent user interaction.
465
- if (!hasDescription) {
466
- newsGroup.getTile()?.setProperty("pressEnabled", false);
467
- }
479
+ if (newsGroup && !groupHasDescription[feed.group_id]) {
480
+ newsGroup.getTile()?.setProperty("pressEnabled", false);
468
481
  }
469
482
  });
470
483
  }
471
484
 
485
+ /**
486
+ *
487
+ * @param description - The description from which inline styles need to be removed.
488
+ * @returns {string} The description with inline styles removed.
489
+ */
490
+ private removeInlineStylesFromDescription(description: string): string {
491
+ return description.replace(/\s*style\s*=\s*(['"])[\s\S]*?\1/gi, "");
492
+ }
493
+
472
494
  /**
473
495
  * Retrieves the current news group data based on the provided id.
474
496
  *
@@ -589,24 +611,32 @@ export default class NewsPanel extends BaseNewsPanel {
589
611
  * @returns {void}
590
612
  */
591
613
  public handleFeedError(): void {
592
- if (this.getProperty("showCustom") || this.getProperty("showDefault")) {
614
+ if (this.getNewsType() === NewsType.Custom || this.getNewsType() === NewsType.Default) {
593
615
  this.generateErrorMessage().setVisible(true);
594
616
  if (!this.isParentBaseLayout()) {
595
617
  this.setManageNewsButtonVisibility(false);
596
618
  }
597
619
  this.oNewsTile.setVisible(false);
598
620
  } else {
599
- (this.getNewsWrapper()?.getParent() as FlexBox).setVisible(false);
621
+ this.setVisible(false);
600
622
  this.setProperty("newsAvailable", false);
601
623
  this.oManageMenuItem.setVisible(false);
602
624
  }
603
625
  }
604
626
 
627
+ /**
628
+ * Sets the URL for the news tile and triggers data fetch.
629
+ *
630
+ * @param {string} url - The news URL to be set.
631
+ * @returns {Promise<void>} A promise that resolves once data fetching is complete.
632
+ *
633
+ * @private
634
+ */
605
635
  public async setURL(url: string) {
606
- this.setProperty("showCustom", false);
636
+ this.setProperty("type", NewsType.NewsUrl);
607
637
  this.setProperty("newsAvailable", true);
608
638
  this.generateErrorMessage().setVisible(false);
609
- (this.getNewsWrapper()?.getParent() as FlexBox).setVisible(true);
639
+ this.setVisible(true);
610
640
  this.oNewsTile.setVisible(true);
611
641
  this.setProperty("url", url);
612
642
  await this.getData();
@@ -618,14 +648,15 @@ export default class NewsPanel extends BaseNewsPanel {
618
648
  * @private
619
649
  */
620
650
  public adjustLayout() {
621
- if (this.getDeviceType() === DeviceType.Mobile) {
622
- this.oNewsTile.setHeight("11rem");
651
+ const deviceType = this.getDeviceType();
652
+ this.oNewsTile.setHeight(NEWS_HEIGHT[deviceType as keyof typeof NEWS_HEIGHT]);
653
+
654
+ if (deviceType === DeviceType.Mobile) {
623
655
  this.generateErrorMessage().setWidth("100%");
624
656
  this.oNewsTile.removeStyleClass("sapUiSmallMarginTop");
625
657
  } else {
626
- this.oNewsTile.setHeight("17rem");
627
658
  this.oNewsTile.addStyleClass("sapUiSmallMarginTop");
628
- (this.getNewsWrapper()?.getParent() as FlexBox).setWidth("100%");
659
+ this.getNewsWrapper().setWidth("100%");
629
660
  }
630
661
  }
631
662
 
@@ -645,24 +676,24 @@ export default class NewsPanel extends BaseNewsPanel {
645
676
  let oTile;
646
677
  if (newsInfo.getElementsByTagName("link").length > 0) {
647
678
  oTile = new NewsItem(recycleId(`${sId}-news-item`), {
648
- url: this.getPropertyValue(newsInfo, "link") as string,
649
- title: this.getPropertyValue(newsInfo, "title") as string,
650
- subTitle: this.getPropertyValue(newsInfo, "description") as string,
651
- imageUrl: this.getPropertyValue(newsInfo, "imageUrl") as string,
652
- footer: this.formatDate(this.getPropertyValue(newsInfo, "pubDate") as string)
679
+ url: String(this.getPropertyValue(newsInfo, "link")),
680
+ title: String(this.getPropertyValue(newsInfo, "title")),
681
+ subTitle: String(this.getPropertyValue(newsInfo, "description")),
682
+ imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl")),
683
+ footer: this.formatDate(String(this.getPropertyValue(newsInfo, "pubDate")))
653
684
  });
654
685
  this.addAggregation("newsItems", oTile, true);
655
686
  } else {
656
- let sGroupId = (this.getPropertyValue(newsInfo, "group_id") as string) ?? "";
687
+ let sGroupId = this.getPropertyValue(newsInfo, "group_id") ?? "";
657
688
  let newsId = sGroupId && sGroupId.trim() ? `${sId}-newsgroup-${sGroupId}` : `${sId}-newsgroup`;
658
689
  let subTitleNews = this.getPropertyValue(newsInfo, "subTitle") ?? "";
659
690
  oTile = new NewsGroup(recycleId(newsId), {
660
- title: this.getPropertyValue(newsInfo, "title") as string,
691
+ title: String(this.getPropertyValue(newsInfo, "title")),
661
692
  subTitle: subTitleNews || this._i18nBundle.getText("newsFeedDescription"),
662
- imageUrl: this.getPropertyValue(newsInfo, "imageUrl") as string,
663
- footer: this.getPropertyValue(newsInfo, "footer") as string,
693
+ imageUrl: String(this.getPropertyValue(newsInfo, "imageUrl")),
694
+ footer: String(this.getPropertyValue(newsInfo, "footer")),
664
695
  priority: this.getPropertyValue(newsInfo, "priority") as Priority,
665
- priorityText: this.getPropertyValue(newsInfo, "priorityText") as string
696
+ priorityText: String(this.getPropertyValue(newsInfo, "priorityText"))
666
697
  });
667
698
  this.addAggregation("newsGroup", oTile, true);
668
699
  }
@@ -684,7 +715,7 @@ export default class NewsPanel extends BaseNewsPanel {
684
715
  private async extractAllImageUrls(oDocument: Document, noOfFeeds: number) {
685
716
  for (let i = 0; i < noOfFeeds; i++) {
686
717
  const oItemElement = oDocument?.getElementsByTagName("item")[i];
687
- const sUrl: string = await this.extractImage(oItemElement.getElementsByTagName("link")[0].textContent as string);
718
+ const sUrl: string = await this.extractImage(String(oItemElement.getElementsByTagName("link")[0].textContent));
688
719
  const oImageUrl = oDocument.createElement("imageUrl");
689
720
  oImageUrl.textContent = sUrl;
690
721
  oItemElement.appendChild(oImageUrl);
@@ -736,6 +767,9 @@ export default class NewsPanel extends BaseNewsPanel {
736
767
  .catch(fnLoadPlaceholderImage);
737
768
  }
738
769
 
770
+ public getNewsType(): NewsType {
771
+ return (this.getParent() as NewsAndPagesContainer)?.getIsEndUserChange?.()?.newsType || (this.getProperty("type") as NewsType);
772
+ }
739
773
  /**
740
774
  * Checks if the custom file format is CSV based on the custom file name.
741
775
  *
@@ -760,6 +794,27 @@ export default class NewsPanel extends BaseNewsPanel {
760
794
  this.persDataNewsFeed = (defaultFeed ? persData?.defaultNewsFeed : persData?.favNewsFeed) as IPersDataNewsFeed;
761
795
  }
762
796
 
797
+ /**
798
+ * Sets the news feed type (Default or Custom) based on the provided data structure.
799
+ *
800
+ * @param {INewsFeed[]} data - News feed data from the URL.
801
+ * @returns {Promise<void>} Resolves after setting the appropriate feed.
802
+ */
803
+ public async setNewsFeedFromUrl(data: INewsFeed[]): Promise<void> {
804
+ const item = data?.[0];
805
+
806
+ if (item && "group_id" in item && "title" in item) {
807
+ (this.getParent() as NewsAndPagesContainer).getIsEndUserChange().newsType = NewsType.Default;
808
+ await this.setDefaultNews();
809
+ } else if (item && "LineOfBusiness" in item) {
810
+ (this.getParent() as NewsAndPagesContainer).getIsEndUserChange().newsType = NewsType.Custom;
811
+ this.oManageMenuItem.setVisible(true);
812
+ await this.setCustomNewsFeed("");
813
+ } else {
814
+ this.handleFeedError();
815
+ }
816
+ }
817
+
763
818
  /**
764
819
  * This method retrieves the count and feeds of the custom news feed asynchronously.
765
820
  * If the count is not zero, it loads the custom news feed data and returns the feeds.
@@ -771,7 +826,8 @@ export default class NewsPanel extends BaseNewsPanel {
771
826
  try {
772
827
  this.oNewsTile.setVisible(true);
773
828
  this.generateErrorMessage().setVisible(false);
774
- const isDefaultNews = !sFeedId;
829
+ const feedType = this.getNewsType();
830
+ const isDefaultNews = feedType === NewsType.Default;
775
831
  await this.setPersDataNewsFeed(isDefaultNews);
776
832
  const customFileName = this.getProperty("customFileName") as string;
777
833
  const showAllPrepRequired = this.isCSVFileFormat(customFileName)
@@ -782,7 +838,7 @@ export default class NewsPanel extends BaseNewsPanel {
782
838
  CUSTOM_NEWS_FEED.EXCLUDE_FIELDS.push("PreparationRequired");
783
839
  }
784
840
  const showPrep = isDefaultNews ? true : showAllPrepRequired;
785
- let newsFeeds = await this.getCustomNewsFeed(sFeedId || "", showPrep);
841
+ let newsFeeds = await this.getCustomOrDefaultNewsFeed(sFeedId || "", showPrep);
786
842
 
787
843
  if (newsFeeds.length === 0) {
788
844
  throw new Error("Error: No news feed available");
@@ -893,12 +949,12 @@ export default class NewsPanel extends BaseNewsPanel {
893
949
  subTitle = feed.subTitle || feed.description || "";
894
950
  defaultNews.push({
895
951
  title: title,
896
- footer: feed.footer_text,
952
+ footer: feed?.footer_text,
897
953
  imageUrl: this.getDefaultFeedImage(feed),
898
954
  group_id: feed.group_id,
899
955
  subTitle: subTitle,
900
- priority: feed.priority == "1" ? Priority.Medium : Priority.None,
901
- priorityText: feed.priority == "1" ? this._i18nBundle.getText("criticalNews") : ""
956
+ priority: feed?.priority == "1" ? Priority.Medium : Priority.None,
957
+ priorityText: feed?.priority == "1" ? this._i18nBundle.getText("criticalNews") : ""
902
958
  });
903
959
  defaultFeedDict[title] = title;
904
960
  }
@@ -938,10 +994,10 @@ export default class NewsPanel extends BaseNewsPanel {
938
994
 
939
995
  /**
940
996
  *
941
- * @returns {ODataResponse} The placeholder news group with enriched titles and descriptions.
997
+ * @returns {ODataResponse} The no update placeholder news group with enriched titles and descriptions to show when there are no updates
942
998
  * @private
943
999
  */
944
- private getPlaceholderNewsGroup(): ODataResponse {
1000
+ private getNoUpdatesPlaceholder(): ODataResponse {
945
1001
  const placeholderTitle = this._i18nBundle.getText("placeholderNewsTitle") as string;
946
1002
  const placeholderDescription = this._i18nBundle.getText("placeholderNewsDescription");
947
1003
 
@@ -954,13 +1010,22 @@ export default class NewsPanel extends BaseNewsPanel {
954
1010
  _group_to_article: group._group_to_article.map((article) => ({
955
1011
  ...article,
956
1012
  title: placeholderTitle,
957
- description: placeholderDescription
1013
+ description: ""
958
1014
  }))
959
1015
  }))
960
1016
  };
961
1017
  return enrichedNewsPlaceholder;
962
1018
  }
963
1019
 
1020
+ /**
1021
+ * Returns if its a no updates new feed group or not
1022
+ * This indicates whether the news feed is a static no updates placeholder news feed.
1023
+ * @private
1024
+ */
1025
+ public isNoUpdatesNewsFeed(): boolean {
1026
+ return this._noUpdatesNewsFeed;
1027
+ }
1028
+
964
1029
  /**
965
1030
  * Fetches the default news data from the server.
966
1031
  * @returns {Promise<ODataResponse>} A promise that resolves to the fetched news data
@@ -979,16 +1044,21 @@ export default class NewsPanel extends BaseNewsPanel {
979
1044
  }
980
1045
  ]);
981
1046
  if (supported) {
982
- const response = await fetch(this.defaultUrl || DEFAULT_NEWS_URL);
1047
+ if (this._endUserResponse) {
1048
+ this._defaultNewsResponse = this._endUserResponse;
1049
+ } else {
1050
+ const response = await fetch(this.defaultUrl || DEFAULT_NEWS_URL);
983
1051
 
984
- if (!response.ok) {
985
- throw new Error(`HTTP error! status: ${response.status}`);
1052
+ if (!response.ok) {
1053
+ throw new Error(`HTTP error! status: ${response.status}`);
1054
+ }
1055
+ this._defaultNewsResponse = (await response.json()) as ODataResponse;
986
1056
  }
987
- this._defaultNewsResponse = (await response.json()) as ODataResponse;
988
1057
  }
989
1058
  // If the response is not supported or empty, set the default news response to placeholder news
990
1059
  if (!supported || !this._defaultNewsResponse?.value?.length) {
991
- this._defaultNewsResponse = this.getPlaceholderNewsGroup();
1060
+ this._defaultNewsResponse = this.getNoUpdatesPlaceholder();
1061
+ this._noUpdatesNewsFeed = true;
992
1062
  this.oManageMenuItem.setVisible(false);
993
1063
  }
994
1064
 
@@ -1009,8 +1079,9 @@ export default class NewsPanel extends BaseNewsPanel {
1009
1079
  * @returns {Promise<INewsFeed[]>} A promise that resolves to an array of custom news feed items.
1010
1080
  * @private
1011
1081
  */
1012
- public async getCustomNewsFeed(sFeedId: string, showAllPreparationRequired: boolean): Promise<INewsFeed[]> {
1013
- const isDefaultNews = !sFeedId;
1082
+ public async getCustomOrDefaultNewsFeed(sFeedId: string, showAllPreparationRequired: boolean): Promise<INewsFeed[]> {
1083
+ const feedType = this.getNewsType();
1084
+ const isDefaultNews = feedType === NewsType.Default;
1014
1085
  if (isDefaultNews) {
1015
1086
  await this.getDefaultNewsResponse();
1016
1087
  let aDefaultgroups = this.getDefaultNewsFeedDetails(this._defaultNewsResponse);
@@ -1030,7 +1101,9 @@ export default class NewsPanel extends BaseNewsPanel {
1030
1101
  */
1031
1102
  private async getCustomFeedData(sFeedId: string, showAllPreparationRequired: boolean): Promise<INewsFeed[]> {
1032
1103
  try {
1033
- const newsDetailUrl = this.getNewsFeedDetailsUrl({ changeId: sFeedId, showAllPreparationRequired });
1104
+ let newsDetailUrl;
1105
+ const isEnduser = (this.getParent() as NewsAndPagesContainer).getIsEndUserChange().isEndUser;
1106
+ newsDetailUrl = isEnduser ? this.getUrl() : this.getNewsFeedDetailsUrl({ changeId: sFeedId, showAllPreparationRequired });
1034
1107
  if (!this.customNewsFeedCache.has(newsDetailUrl)) {
1035
1108
  this.customNewsFeedCache.set(newsDetailUrl, this.getAuthNewsFeed(newsDetailUrl));
1036
1109
  }
@@ -1043,7 +1116,7 @@ export default class NewsPanel extends BaseNewsPanel {
1043
1116
  if (!oFeedDict[title.value]) {
1044
1117
  aFeeds.push({
1045
1118
  title: title.value,
1046
- footer: (oFeed[CUSTOM_NEWS_FEED.VALIDITY] as INewsLink).value,
1119
+ footer: (oFeed[CUSTOM_NEWS_FEED.VALIDITY] as INewsLink)?.value,
1047
1120
  imageUrl: this.getCustomFeedImage(title.value)
1048
1121
  });
1049
1122
  oFeedDict[title.value] = title.value;
@@ -1171,7 +1244,7 @@ export default class NewsPanel extends BaseNewsPanel {
1171
1244
 
1172
1245
  const fnFormattedLabel = (sLabel: string) => sLabel.replace(/([a-z0-9])([A-Z])/g, "$1 $2");
1173
1246
  const [newsResponse, translationResponse] = await Promise.all([
1174
- HttpHelper.GetJSON(sUrl) as Promise<{ value: INewsFeed[] }>,
1247
+ this._endUserResponse ? Promise.resolve(this._endUserResponse) : (HttpHelper.GetJSON(sUrl) as Promise<{ value: INewsFeed[] }>),
1175
1248
  this.getTranslatedText(this.getCustomFeedKey())
1176
1249
  ]);
1177
1250
  let aNews: INewsFeed[] = JSON.parse(JSON.stringify((newsResponse as INewsResponse).value || [])) as INewsFeed[];
@@ -1328,12 +1401,12 @@ export default class NewsPanel extends BaseNewsPanel {
1328
1401
  const random = Math.floor(Math.random() * 15) + 1;
1329
1402
  return `${sPrefix}/${random}.jpg`;
1330
1403
  };
1331
- if (!groupImg || groupImg.image_id !== imgId || !groupImg?.bg_image) {
1404
+ if (!groupImg || groupImg?.image_id !== imgId || !groupImg?.bg_image) {
1332
1405
  return getRandomDefaultImage();
1333
1406
  }
1334
1407
 
1335
- let mimeType = groupImg.mime_type;
1336
- const groupBgImg = groupImg.bg_image;
1408
+ let mimeType = groupImg?.mime_type;
1409
+ const groupBgImg = groupImg?.bg_image;
1337
1410
 
1338
1411
  if (mimeType === "application/octet-stream") {
1339
1412
  mimeType = "image/jpeg";
@@ -1 +1 @@
1
- {"version":3,"file":"NewsSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAmBhD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAQ/D,UAAU,YAAY;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,0BAA0B,CAAC,EAAE,OAAO,CAAC;KACrC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,iBAAiB;QAC/D,OAAO,CAAC,WAAW,CAAU;QAC7B,OAAO,CAAC,wBAAwB,CAAQ;QACxC,OAAO,CAAC,KAAK,CAAQ;QACrB,OAAO,CAAC,aAAa,CAAsB;QAC3C,OAAO,CAAC,UAAU,CAAa;QAC/B,OAAO,CAAC,YAAY,CAA0B;QAC9C,OAAO,CAAC,sBAAsB,CAAY;QAC1C,OAAO,CAAC,UAAU,CAAQ;QAC1B,OAAO,CAAC,KAAK,CAAS;QAEtB;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAkBnB;;;;;WAKG;QACH,OAAO,CAAC,UAAU;QAWlB;;WAEG;gBACW,kBAAkB;QAUhC;;;;;WAKG;QACH,OAAO,CAAC,SAAS;QAYjB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAkBvB;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QA6CnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;WAKG;gBACW,oBAAoB;QA4ClC;;;;WAIG;QACH,OAAO,CAAC,iBAAiB;QAKzB;;;WAGG;QACH,OAAO,CAAC,QAAQ;QAgChB;;;;WAIG;gBACW,oBAAoB;QAwBlC;;;;;;;;;WASG;QACH,OAAO,CAAC,sBAAsB;QA4B9B;;;;;;;;;;WAUG;QACH,OAAO,CAAC,qBAAqB;QAyB7B;;;;WAIG;QACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;KAS5C;CAEA"}
1
+ {"version":3,"file":"NewsSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAmBhD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAU/D,UAAU,YAAY;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,0BAA0B,CAAC,EAAE,OAAO,CAAC;KACrC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,iBAAiB;QAC/D,OAAO,CAAC,WAAW,CAAU;QAC7B,OAAO,CAAC,wBAAwB,CAAQ;QACxC,OAAO,CAAC,KAAK,CAAQ;QACrB,OAAO,CAAC,aAAa,CAAsB;QAC3C,OAAO,CAAC,UAAU,CAAa;QAC/B,OAAO,CAAC,YAAY,CAA0B;QAC9C,OAAO,CAAC,sBAAsB,CAAY;QAC1C,OAAO,CAAC,UAAU,CAAQ;QAC1B,OAAO,CAAC,KAAK,CAAS;QAEtB;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAkBnB;;;;;WAKG;QACH,OAAO,CAAC,UAAU;QAWlB;;WAEG;gBACW,kBAAkB;QAUhC;;;;;WAKG;QACH,OAAO,CAAC,SAAS;QAYjB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAkBvB;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QA6CnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;WAKG;gBACW,oBAAoB;QA6ClC;;;;WAIG;QACH,OAAO,CAAC,iBAAiB;QAKzB;;;WAGG;QACH,OAAO,CAAC,QAAQ;QAgChB;;;;WAIG;gBACW,oBAAoB;QAyBlC;;;;;;;;;WASG;QACH,OAAO,CAAC,sBAAsB;QA4B9B;;;;;;;;;;WAUG;QACH,OAAO,CAAC,qBAAqB;QAyB7B;;;;WAIG;QACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;KAW5C;CAEA"}
@@ -2,13 +2,14 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/Label", "sap/m/List", "sap/m/Switch", "sap/m/Text", "sap/m/Title", "sap/m/VBox", "sap/ui/core/CustomData", "./BaseSettingsPanel", "./utils/Accessibility", "./utils/Constants", "./utils/FESRUtil", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (CheckBox, CustomListItem, HBox, Label, List, Switch, Text, Title, VBox, CustomData, __BaseSettingsPanel, ___utils_Accessibility, ___utils_Constants, ___utils_FESRUtil, __PersonalisationUtils, __UshellPersonalizer) {
5
+ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/Label", "sap/m/List", "sap/m/Switch", "sap/m/Text", "sap/m/Title", "sap/m/VBox", "sap/ui/core/CustomData", "./BaseSettingsPanel", "./library", "./utils/Accessibility", "./utils/Constants", "./utils/FESRUtil", "./utils/PersonalisationUtils", "./utils/UshellPersonalizer"], function (CheckBox, CustomListItem, HBox, Label, List, Switch, Text, Title, VBox, CustomData, __BaseSettingsPanel, ___library, ___utils_Accessibility, ___utils_Constants, ___utils_FESRUtil, __PersonalisationUtils, __UshellPersonalizer) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
9
9
  return obj && obj.__esModule && typeof obj.default !== "undefined" ? obj.default : obj;
10
10
  }
11
11
  const BaseSettingsPanel = _interopRequireDefault(__BaseSettingsPanel);
12
+ const NewsType = ___library["NewsType"];
12
13
  const getInvisibleText = ___utils_Accessibility["getInvisibleText"];
13
14
  const SETTINGS_PANELS_KEYS = ___utils_Constants["SETTINGS_PANELS_KEYS"];
14
15
  const addFESRSemanticStepName = ___utils_FESRUtil["addFESRSemanticStepName"];
@@ -194,7 +195,8 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
194
195
  const _this2 = this;
195
196
  const selectedFeeds = [];
196
197
  const deselectedDefaultFeeds = [];
197
- const showDefault = _this2.oNewsPanel.getProperty("showDefault");
198
+ const newsType = _this2.oNewsPanel?.getNewsType();
199
+ const showDefault = newsType === NewsType.Default;
198
200
  const customFileName = _this2.oNewsPanel.getProperty("customFileName");
199
201
  const feedKey = _this2.oNewsPanel.getCustomFeedKey();
200
202
  _this2.oList.getItems().forEach(item => {
@@ -251,7 +253,8 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
251
253
  */
252
254
  setItems: function _setItems(aItems) {
253
255
  this.oList.destroyAggregation("items", true);
254
- let showDefault = this.oNewsPanel.getProperty("showDefault");
256
+ const newsType = this.oNewsPanel?.getNewsType();
257
+ let showDefault = newsType === NewsType.Default;
255
258
  (aItems || []).forEach((oItem, i) => {
256
259
  let oNewsListItemHbox = new HBox({
257
260
  id: `${this.getId()}--idCustNewsFeedItemContent--${i}`,
@@ -291,7 +294,8 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
291
294
  const _this3 = this;
292
295
  _this3.oNewsPanel = _this3._getPanel();
293
296
  const sFeedKey = _this3.oNewsPanel.getCustomFeedKey();
294
- const showDefaultNewsFeed = _this3.oNewsPanel.getProperty("showDefault");
297
+ const newsType = _this3.oNewsPanel?.getNewsType();
298
+ const showDefaultNewsFeed = newsType === NewsType.Default;
295
299
  const customFileName = _this3.oNewsPanel.getProperty("customFileName");
296
300
  if (_this3.isCSVFileFormat(customFileName) || showDefaultNewsFeed) {
297
301
  _this3.oCustNewsSwitchContainer.setVisible(false);
@@ -300,7 +304,7 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
300
304
  return Promise.resolve(oPersonalizer.read()).then(function (oPersData) {
301
305
  const aPersNewsFeed = showDefaultNewsFeed ? oPersData?.["defaultNewsFeed"] : oPersData?.["favNewsFeed"];
302
306
  const showAllPreparationRequired = aPersNewsFeed?.showAllPreparationRequired ?? !aPersNewsFeed;
303
- return Promise.resolve(_this3.oNewsPanel.getCustomNewsFeed(showDefaultNewsFeed ? "" : sFeedKey, false)).then(function (aNewsFeed) {
307
+ return Promise.resolve(_this3.oNewsPanel.getCustomOrDefaultNewsFeed(showDefaultNewsFeed ? "" : sFeedKey, false)).then(function (aNewsFeed) {
304
308
  if (showDefaultNewsFeed) {
305
309
  return _this3._handleDefaultNewsFeed(aNewsFeed, aPersNewsFeed);
306
310
  } else {
@@ -383,10 +387,10 @@ sap.ui.define(["sap/m/CheckBox", "sap/m/CustomListItem", "sap/m/HBox", "sap/m/La
383
387
  try {
384
388
  const _this4 = this;
385
389
  const newsPanel = _this4._getPanel();
386
- if (!newsPanel) {
390
+ if (!newsPanel || !(newsPanel?.getParent()).getProperty("newsFeedVisibility")) {
387
391
  return Promise.resolve(false);
388
392
  }
389
- return Promise.resolve(newsPanel.getShowCustom() || newsPanel.getProperty("showDefault"));
393
+ return Promise.resolve((newsPanel.getNewsType() === NewsType.Custom || newsPanel.getNewsType() === NewsType.Default) && !newsPanel.isNoUpdatesNewsFeed());
390
394
  } catch (e) {
391
395
  return Promise.reject(e);
392
396
  }