@sapui5/sap.cux.home 1.139.0 → 1.141.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +116 -64
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +50 -15
  8. package/src/sap/cux/home/App.d.ts +2 -2
  9. package/src/sap/cux/home/App.js +2 -2
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +2 -2
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
  16. package/src/sap/cux/home/AppsContainer.d.ts +2 -2
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +16 -24
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +16 -23
  21. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  22. package/src/sap/cux/home/BaseApp.js +2 -2
  23. package/src/sap/cux/home/BaseApp.js.map +1 -1
  24. package/src/sap/cux/home/BaseApp.ts +2 -2
  25. package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
  26. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  27. package/src/sap/cux/home/BaseAppPanel.js +22 -2
  28. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  29. package/src/sap/cux/home/BaseAppPanel.ts +16 -2
  30. package/src/sap/cux/home/BaseContainer.d.ts +10 -27
  31. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
  33. package/src/sap/cux/home/BaseContainer.js +39 -71
  34. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainer.ts +33 -77
  36. package/src/sap/cux/home/BaseContainerRenderer.d.ts +2 -0
  37. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  38. package/src/sap/cux/home/BaseContainerRenderer.js +31 -3
  39. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  40. package/src/sap/cux/home/BaseContainerRenderer.ts +39 -2
  41. package/src/sap/cux/home/BaseLayout.d.ts +2 -2
  42. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  43. package/src/sap/cux/home/BaseLayout.js +5 -4
  44. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  45. package/src/sap/cux/home/BaseLayout.ts +5 -4
  46. package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
  47. package/src/sap/cux/home/BaseNewsItem.js +2 -2
  48. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  49. package/src/sap/cux/home/BaseNewsItem.ts +2 -2
  50. package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
  51. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  52. package/src/sap/cux/home/BaseNewsPanel.js +14 -3
  53. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  54. package/src/sap/cux/home/BaseNewsPanel.ts +11 -5
  55. package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
  56. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  57. package/src/sap/cux/home/BasePagePanel.js +10 -2
  58. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  59. package/src/sap/cux/home/BasePagePanel.ts +6 -2
  60. package/src/sap/cux/home/BasePanel.d.ts +2 -21
  61. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  62. package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
  63. package/src/sap/cux/home/BasePanel.js +15 -31
  64. package/src/sap/cux/home/BasePanel.js.map +1 -1
  65. package/src/sap/cux/home/BasePanel.ts +11 -34
  66. package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
  67. package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
  68. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  69. package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
  70. package/src/sap/cux/home/BaseSettingsPanel.d.ts +11 -2
  71. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  72. package/src/sap/cux/home/BaseSettingsPanel.js +15 -2
  73. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  74. package/src/sap/cux/home/BaseSettingsPanel.ts +17 -2
  75. package/src/sap/cux/home/CardsPanel.d.ts +2 -2
  76. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  77. package/src/sap/cux/home/CardsPanel.js +15 -7
  78. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  79. package/src/sap/cux/home/CardsPanel.ts +11 -7
  80. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  81. package/src/sap/cux/home/ContentAdditionDialog.js +0 -1
  82. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  83. package/src/sap/cux/home/ContentAdditionDialog.ts +0 -1
  84. package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
  85. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/ErrorPanel.js +15 -5
  87. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  88. package/src/sap/cux/home/ErrorPanel.ts +11 -5
  89. package/src/sap/cux/home/FavAppPanel.d.ts +6 -2
  90. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  91. package/src/sap/cux/home/FavAppPanel.js +196 -154
  92. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  93. package/src/sap/cux/home/FavAppPanel.ts +59 -37
  94. package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
  95. package/src/sap/cux/home/FrequentAppPanel.js +2 -2
  96. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  97. package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
  98. package/src/sap/cux/home/Group.d.ts +2 -2
  99. package/src/sap/cux/home/Group.js +2 -2
  100. package/src/sap/cux/home/Group.js.map +1 -1
  101. package/src/sap/cux/home/Group.ts +2 -2
  102. package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
  103. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  104. package/src/sap/cux/home/IToDoPanel.ts +2 -2
  105. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  106. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  107. package/src/sap/cux/home/InsightsAdditionPanel.ts +3 -1
  108. package/src/sap/cux/home/InsightsContainer.d.ts +4 -4
  109. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  110. package/src/sap/cux/home/InsightsContainer.js +8 -13
  111. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  112. package/src/sap/cux/home/InsightsContainer.ts +7 -12
  113. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  114. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +2 -2
  115. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  116. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -3
  117. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  118. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -4
  119. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  120. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +6 -4
  121. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  122. package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
  123. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  124. package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
  125. package/src/sap/cux/home/Layout.d.ts +2 -3
  126. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  127. package/src/sap/cux/home/Layout.js +35 -42
  128. package/src/sap/cux/home/Layout.js.map +1 -1
  129. package/src/sap/cux/home/Layout.ts +15 -19
  130. package/src/sap/cux/home/MenuItem.d.ts +2 -2
  131. package/src/sap/cux/home/MenuItem.js +2 -2
  132. package/src/sap/cux/home/MenuItem.js.map +1 -1
  133. package/src/sap/cux/home/MenuItem.ts +2 -2
  134. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +11 -7
  135. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  136. package/src/sap/cux/home/NewsAndPagesContainer.js +22 -26
  137. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  138. package/src/sap/cux/home/NewsAndPagesContainer.ts +26 -32
  139. package/src/sap/cux/home/NewsPanel.d.ts +10 -2
  140. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  141. package/src/sap/cux/home/NewsPanel.js +23 -16
  142. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  143. package/src/sap/cux/home/NewsPanel.ts +24 -18
  144. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  145. package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
  146. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  147. package/src/sap/cux/home/NewsSettingsPanel.ts +2 -2
  148. package/src/sap/cux/home/NoDataContainer.d.ts +2 -2
  149. package/src/sap/cux/home/NoDataContainer.js +3 -3
  150. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  151. package/src/sap/cux/home/NoDataContainer.ts +3 -3
  152. package/src/sap/cux/home/PagePanel.d.ts +11 -3
  153. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  154. package/src/sap/cux/home/PagePanel.js +21 -7
  155. package/src/sap/cux/home/PagePanel.js.map +1 -1
  156. package/src/sap/cux/home/PagePanel.ts +22 -8
  157. package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
  158. package/src/sap/cux/home/RecentAppPanel.js +2 -2
  159. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  160. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  161. package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
  162. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  163. package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
  164. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  165. package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
  166. package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
  167. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  168. package/src/sap/cux/home/SettingsDialog.js +13 -6
  169. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  170. package/src/sap/cux/home/SettingsDialog.ts +14 -6
  171. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
  172. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
  173. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
  174. package/src/sap/cux/home/SideBySideIconTabFilter.js +84 -0
  175. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
  176. package/src/sap/cux/home/SideBySideIconTabFilter.ts +88 -0
  177. package/src/sap/cux/home/SituationPanel.d.ts +2 -2
  178. package/src/sap/cux/home/SituationPanel.js +2 -2
  179. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  180. package/src/sap/cux/home/SituationPanel.ts +2 -2
  181. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
  182. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  183. package/src/sap/cux/home/SpaceInsightsPanel.js +11 -3
  184. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  185. package/src/sap/cux/home/SpaceInsightsPanel.ts +7 -3
  186. package/src/sap/cux/home/SpacePanel.d.ts +2 -2
  187. package/src/sap/cux/home/SpacePanel.js +2 -2
  188. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  189. package/src/sap/cux/home/SpacePanel.ts +2 -2
  190. package/src/sap/cux/home/TaskPanel.d.ts +2 -2
  191. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  192. package/src/sap/cux/home/TaskPanel.js +5 -3
  193. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  194. package/src/sap/cux/home/TaskPanel.ts +4 -3
  195. package/src/sap/cux/home/TilesPanel.d.ts +2 -3
  196. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/TilesPanel.js +89 -59
  198. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  199. package/src/sap/cux/home/TilesPanel.ts +93 -70
  200. package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
  201. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/ToDoPanel.js +13 -3
  203. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  204. package/src/sap/cux/home/ToDoPanel.ts +9 -3
  205. package/src/sap/cux/home/ToDosContainer.d.ts +2 -3
  206. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  207. package/src/sap/cux/home/ToDosContainer.js +3 -8
  208. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  209. package/src/sap/cux/home/ToDosContainer.ts +2 -9
  210. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
  211. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
  212. package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
  213. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  214. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
  215. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  216. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
  217. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  218. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
  219. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  220. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -3
  221. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  222. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -3
  223. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  224. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
  225. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  226. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
  227. package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
  228. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  229. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
  230. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  231. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
  232. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
  233. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  234. package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
  235. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  236. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
  237. package/src/sap/cux/home/i18n/messagebundle.properties +6 -9
  238. package/src/sap/cux/home/i18n/messagebundle_ar.properties +12 -8
  239. package/src/sap/cux/home/i18n/messagebundle_bg.properties +12 -8
  240. package/src/sap/cux/home/i18n/messagebundle_ca.properties +12 -8
  241. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +12 -8
  242. package/src/sap/cux/home/i18n/messagebundle_cs.properties +12 -8
  243. package/src/sap/cux/home/i18n/messagebundle_cy.properties +12 -8
  244. package/src/sap/cux/home/i18n/messagebundle_da.properties +12 -8
  245. package/src/sap/cux/home/i18n/messagebundle_de.properties +12 -8
  246. package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -14
  247. package/src/sap/cux/home/i18n/messagebundle_en.properties +12 -8
  248. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +12 -8
  249. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +5 -7
  250. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +5 -7
  251. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +12 -8
  252. package/src/sap/cux/home/i18n/messagebundle_es.properties +12 -8
  253. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +12 -8
  254. package/src/sap/cux/home/i18n/messagebundle_et.properties +12 -8
  255. package/src/sap/cux/home/i18n/messagebundle_fi.properties +12 -8
  256. package/src/sap/cux/home/i18n/messagebundle_fr.properties +14 -10
  257. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +12 -8
  258. package/src/sap/cux/home/i18n/messagebundle_hi.properties +12 -8
  259. package/src/sap/cux/home/i18n/messagebundle_hr.properties +12 -8
  260. package/src/sap/cux/home/i18n/messagebundle_hu.properties +12 -8
  261. package/src/sap/cux/home/i18n/messagebundle_id.properties +16 -12
  262. package/src/sap/cux/home/i18n/messagebundle_it.properties +13 -9
  263. package/src/sap/cux/home/i18n/messagebundle_iw.properties +12 -8
  264. package/src/sap/cux/home/i18n/messagebundle_ja.properties +12 -8
  265. package/src/sap/cux/home/i18n/messagebundle_kk.properties +12 -8
  266. package/src/sap/cux/home/i18n/messagebundle_ko.properties +12 -8
  267. package/src/sap/cux/home/i18n/messagebundle_lt.properties +12 -8
  268. package/src/sap/cux/home/i18n/messagebundle_lv.properties +12 -8
  269. package/src/sap/cux/home/i18n/messagebundle_mk.properties +12 -8
  270. package/src/sap/cux/home/i18n/messagebundle_ms.properties +12 -8
  271. package/src/sap/cux/home/i18n/messagebundle_nl.properties +12 -8
  272. package/src/sap/cux/home/i18n/messagebundle_no.properties +12 -8
  273. package/src/sap/cux/home/i18n/messagebundle_pl.properties +12 -8
  274. package/src/sap/cux/home/i18n/messagebundle_pt.properties +12 -8
  275. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +12 -8
  276. package/src/sap/cux/home/i18n/messagebundle_ro.properties +12 -8
  277. package/src/sap/cux/home/i18n/messagebundle_ru.properties +22 -18
  278. package/src/sap/cux/home/i18n/messagebundle_sh.properties +12 -8
  279. package/src/sap/cux/home/i18n/messagebundle_sk.properties +12 -8
  280. package/src/sap/cux/home/i18n/messagebundle_sl.properties +12 -8
  281. package/src/sap/cux/home/i18n/messagebundle_sr.properties +12 -8
  282. package/src/sap/cux/home/i18n/messagebundle_sv.properties +12 -8
  283. package/src/sap/cux/home/i18n/messagebundle_th.properties +12 -8
  284. package/src/sap/cux/home/i18n/messagebundle_tr.properties +12 -8
  285. package/src/sap/cux/home/i18n/messagebundle_uk.properties +12 -8
  286. package/src/sap/cux/home/i18n/messagebundle_vi.properties +12 -8
  287. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +12 -8
  288. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +12 -8
  289. package/src/sap/cux/home/library.d.ts +10 -6
  290. package/src/sap/cux/home/library.d.ts.map +1 -1
  291. package/src/sap/cux/home/library.js +11 -6
  292. package/src/sap/cux/home/library.js.map +1 -1
  293. package/src/sap/cux/home/library.ts +11 -6
  294. package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
  295. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
  296. package/src/sap/cux/home/themes/base/ToDosContainer.less +0 -4
  297. package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
  298. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  299. package/src/sap/cux/home/utils/AppManager.js +1 -1
  300. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  301. package/src/sap/cux/home/utils/AppManager.ts +9 -10
  302. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  303. package/src/sap/cux/home/utils/BatchHelper.js +1 -1
  304. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  305. package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
  306. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
  307. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  308. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  309. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  310. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -2
  311. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
  312. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
  313. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -126
  314. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
  315. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -93
@@ -68,6 +68,13 @@ interface IValidManifest {
68
68
  manifest: IAppManifest;
69
69
  }
70
70
 
71
+ export interface IMoveConfig {
72
+ sourceSectionIndex: number;
73
+ sourceVisualizationIndex: number;
74
+ targetSectionIndex: number;
75
+ targetVisualizationIndex: number;
76
+ }
77
+
71
78
  const _parseSBParameters = (oParam: object | string | undefined): IParseSBParameters | undefined => {
72
79
  let oParsedParams: IParseSBParameters | undefined = {};
73
80
  if (oParam) {
@@ -274,7 +281,7 @@ export default class AppManager extends BaseObject {
274
281
  const aSections = (oPage && oPage.sections) || [],
275
282
  iRecentAppSectionIndex: number = aSections.findIndex((oSection) => oSection.default);
276
283
  if (iRecentAppSectionIndex > 0) {
277
- if (this._oMoveAppsPromise !== undefined) {
284
+ if (this._oMoveAppsPromise === undefined) {
278
285
  this._oMoveAppsPromise = this.moveSection(iRecentAppSectionIndex, 0);
279
286
  await this._oMoveAppsPromise;
280
287
  }
@@ -563,15 +570,7 @@ export default class AppManager extends BaseObject {
563
570
  * @param {Object} bookmark - The bookmark data object.
564
571
  * @returns {Promise<void>} - A Promise that resolves once the bookmark is added.
565
572
  */
566
- public async addBookMark(
567
- bookmark: IVisualization,
568
- moveConfig?: {
569
- sourceSectionIndex: number;
570
- sourceVisualizationIndex: number;
571
- targetSectionIndex: number;
572
- targetVisualizationIndex: number;
573
- }
574
- ) {
573
+ public async addBookMark(bookmark: IVisualization, moveConfig?: IMoveConfig) {
575
574
  const oBookmarkService: Bookmark = await Container.getServiceAsync("BookmarkV2");
576
575
  const aContentNodes = await oBookmarkService.getContentNodes();
577
576
  const oMyHomeSpace = aContentNodes.find((contentNode) => contentNode.id === MYHOME_SPACE_ID);
@@ -1 +1 @@
1
- {"version":3,"file":"BatchHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/BatchHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAChD;;;OAGG;IAEH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,KAAK,OAAO;QACX,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,IAAI,SAAS;KACb;IAED,UAAU,OAAO;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd;IAED,MAAM,SAAS,GAAI,KAAK,MAAM,YAE7B,CAAC;IAEF;;OAEG;IACH,MAAM,gBAAgB;QACrB,OAAO,CAAC,GAAG,CAAS;QACpB,OAAO,CAAC,aAAa,CAA0B;QAC/C,OAAO,CAAC,QAAQ,CAAS;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;;WAKG;oBACS,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;QAiBnE;;;;;WAKG;QACI,cAAc,IAAI,MAAM;QAkB/B;;;;;WAKG;QACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;QAIlD;;;;;WAKG;QACI,wBAAwB,IAAI,MAAM;KAuBzC;IAED;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAa,OAAO,MAAM,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAmBtE,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,cAAc,GAAmB,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBtE,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;QAClD,OAAO,CAAC,GAAG,CAAU;QAErB;;;;;;WAMG;gBACW,SAAS;QAkBvB;;;;;;;WAOG;QACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOrG;;;;;;;;WAQG;QACU,iCAAiC,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,EAAE,EAC1C,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOlC;;;;;;WAMG;QACH,OAAO,CAAC,qBAAqB;QAY7B;;;;;;;WAOG;QACH,OAAO,CAAC,gCAAgC;KAexC;CAEA"}
1
+ {"version":3,"file":"BatchHelper.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/BatchHelper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gCAAgC,CAAC;IAChD;;;OAGG;IAEH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,KAAK,OAAO;QACX,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,KAAK,UAAU;QACf,MAAM,WAAW;QACjB,IAAI,SAAS;KACb;IAED,UAAU,OAAO;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACd;IAED,MAAM,SAAS,GAAI,KAAK,MAAM,YAE7B,CAAC;IAEF;;OAEG;IACH,MAAM,gBAAgB;QACrB,OAAO,CAAC,GAAG,CAAS;QACpB,OAAO,CAAC,aAAa,CAA0B;QAC/C,OAAO,CAAC,QAAQ,CAAS;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAEzB;;;;;WAKG;oBACS,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;QAiBnE;;;;;WAKG;QACI,cAAc,IAAI,MAAM;QAkB/B;;;;;WAKG;QACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;QAIlD;;;;;WAKG;QACI,wBAAwB,IAAI,MAAM;KAuBzC;IAED;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAa,OAAO,MAAM,KAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAsBtE,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,cAAc,GAAmB,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBtE,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAAU;QAClD,OAAO,CAAC,GAAG,CAAU;QAErB;;;;;;WAMG;gBACW,SAAS;QAkBvB;;;;;;;WAOG;QACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOrG;;;;;;;;WAQG;QACU,iCAAiC,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,EAAE,EAC1C,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAOlC;;;;;;WAMG;QACH,OAAO,CAAC,qBAAqB;QAY7B;;;;;;;WAOG;QACH,OAAO,CAAC,gCAAgC;KAexC;CAEA"}
@@ -127,7 +127,7 @@ sap.ui.define(["sap/ui/base/Object"], function (BaseObject) {
127
127
  * @returns {Object[]} - An array of values in the multipart request.
128
128
  */
129
129
  const getDataFromRawValue = function (value) {
130
- const parsedValue = value.split("\r\n").filter(data => data !== "");
130
+ const parsedValue = value.replace(/\r\n/g, "\n").split("\n").filter(data => data !== "");
131
131
  const finalData = [];
132
132
  let contentTypeValue = "";
133
133
  for (let index = 1; index < parsedValue.length - 1; index++) {
@@ -1 +1 @@
1
- {"version":3,"file":"BatchHelper.js","names":["sap","ui","define","BaseObject","_catch","body","recover","result","e","then","methods","isEncoded","url","test","MultiPartRequest","batchRequests","constructor","requestMethod","csrfToken","encodeURI","boundary","Date","now","options","headers","method","_constructBody","BOUNDARY","REQUEST_HEADERS","REQUEST_BODY","index","length","request","boundaryEnd","addRequest","push","constructBodyWithPayload","changeSet","CHANGESET_BOUNDARY","CHANGESET_HEADER","JSON","stringify","payload","getDataFromRawValue","value","parsedValue","split","filter","data","finalData","contentTypeValue","includes","parse","fetchCSRFToken","baseURL","Promise","resolve","fetch","HEAD","response","ok","token","get","Error","error","message","reject","BatchHelper","extend","fetchData","_fetchData","multiPartRequest","_this","GET","POST","text","createMultipartRequest","_createMultipartRequest","urls","_this2","buildMultipartRequest","createMultipartRequestWithPayload","_createMultipartRequestWithPayload","payloads","_this3","buildMultipartRequestWithPayload","_buildMultipartRequest","forEach","_buildMultipartRequestWithPayload","multipartRequest"],"sources":["BatchHelper.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\";\n\nenum methods {\n\tGET = \"GET\",\n\tPOST = \"POST\",\n\tPUT = \"PUT\",\n\tPATCH = \"PATCH\",\n\tDELETE = \"DELETE\",\n\tHEAD = \"HEAD\"\n}\n\ninterface Options {\n\theaders: Record<string, string>;\n\tmethod: methods;\n\tbody?: string;\n}\n\nconst isEncoded = (url: string) => {\n\treturn /%[0-9A-F]{2}/i.test(url);\n};\n\n/**\n * Represents a multipart request.\n */\nclass MultiPartRequest {\n\tprivate url: string;\n\tprivate batchRequests: MultiPartRequest[] = [];\n\tprivate boundary: string;\n\tpublic options: Options;\n\tpublic payload?: unknown;\n\n\t/**\n\t * Creates a MultiPartRequest object.\n\t *\n\t * @param {string} url - The URL for the multipart request.\n\t * @constructor\n\t */\n\tconstructor(url: string, requestMethod: methods, csrfToken?: string) {\n\t\t//encode the URL if it is not already encoded\n\t\tthis.url = isEncoded(url) ? url : encodeURI(url);\n\t\tthis.boundary = `batch_id_${Date.now()}_01`;\n\t\tthis.options = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": `multipart/mixed;boundary=${this.boundary}`\n\t\t\t},\n\t\t\tmethod: requestMethod\n\t\t};\n\n\t\t// Add CSRF token to headers if available\n\t\tif (csrfToken) {\n\t\t\tthis.options.headers[\"X-CSRF-Token\"] = csrfToken;\n\t\t}\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request.\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic _constructBody(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = `Content-Type: application/http\\r\\nContent-Transfer-Encoding: binary\\r\\n`;\n\t\tconst REQUEST_BODY = `Accept: application/json\\r\\n\\r\\n\\r\\n`;\n\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tconst boundaryEnd = index === this.batchRequests.length - 1 ? \"--\\r\\n\" : \"\\r\\n\";\n\t\t\tbody += `${REQUEST_HEADERS}\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n${REQUEST_BODY}`;\n\t\t\tbody += `${BOUNDARY}${boundaryEnd}`;\n\t\t}\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Adds a request to the MultiPartRequest batch.\n\t *\n\t * @public\n\t * @param {Object} request - The request to add to the batch.\n\t */\n\tpublic addRequest(request: MultiPartRequest): void {\n\t\tthis.batchRequests.push(request);\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request with payload\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic constructBodyWithPayload(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = \"Content-Type:application/http\\r\\nContent-Transfer-Encoding:binary\\r\\n\";\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\t\tconst changeSet = \"changeset_001\";\n\t\tconst CHANGESET_BOUNDARY = `--${changeSet}`;\n\t\tconst CHANGESET_HEADER = `Content-Type: multipart/mixed; boundary=${changeSet}\\r\\n`;\n\t\tbody += `${CHANGESET_HEADER}\\r\\n${CHANGESET_BOUNDARY}\\r\\n`;\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tbody += `\\r\\n${REQUEST_HEADERS}`;\n\t\t\tbody += `Content-ID: ${index + 1}\\r\\n\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n`;\n\t\t\tbody += \"sap-context-accept: header\\r\\nContent-Type:application/json\\r\\n\\r\\n\";\n\t\t\tbody += `${JSON.stringify(request.payload)}\\r\\n\\r\\n`;\n\t\t\tbody += CHANGESET_BOUNDARY;\n\t\t\tif (index === this.batchRequests.length - 1) {\n\t\t\t\tbody += \"--\\r\\n\";\n\t\t\t\tbody += `${BOUNDARY}--`;\n\t\t\t}\n\t\t}\n\t\treturn body;\n\t}\n}\n\n/**\n * Parses multipart body response and returns an array of values called in the batch request.\n *\n * @param {string} value - Multipart body response.\n * @returns {Object[]} - Array of values in the multipart request.\n * @returns {Object[]} - An array of values in the multipart request.\n */\nconst getDataFromRawValue = function (value: string): (string | object)[] {\n\tconst parsedValue = value.split(\"\\r\\n\").filter((data) => data !== \"\");\n\n\tconst finalData: (string | object)[] = [];\n\tlet contentTypeValue = \"\";\n\n\tfor (let index = 1; index < parsedValue.length - 1; index++) {\n\t\tcontentTypeValue = parsedValue[index].includes(\"Content-Type: \") ? parsedValue[index].split(\"Content-Type: \")[1] : contentTypeValue;\n\n\t\tif (parsedValue[index + 1].includes(parsedValue[0])) {\n\t\t\tif (contentTypeValue === \"application/json\") {\n\t\t\t\tfinalData.push(JSON.parse(parsedValue[index]) as string);\n\t\t\t} else {\n\t\t\t\tfinalData.push(parsedValue[index]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn finalData;\n};\n\n/**\n * Fetches the CSRF token from the specified base URL.\n *\n * @async\n * @param {string} baseURL - The base URL to fetch the CSRF token from.\n * @returns {Promise<string>} A Promise that resolves when all batch requests are completed. A promise that resolves to the CSRF token.\n * @throws {Error} An error if the CSRF token cannot be fetched.\n */\nconst fetchCSRFToken = async function (baseURL: string): Promise<string> {\n\ttry {\n\t\tconst response = await fetch(baseURL, {\n\t\t\tmethod: methods.HEAD,\n\t\t\theaders: {\n\t\t\t\t\"X-CSRF-Token\": \"Fetch\"\n\t\t\t}\n\t\t});\n\n\t\tif (response.ok) {\n\t\t\tconst token = response.headers.get(\"X-CSRF-Token\");\n\t\t\tif (token) {\n\t\t\t\treturn token;\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Cannot fetch X-CSRF-Token.\");\n\t} catch (error: unknown) {\n\t\tthrow new Error((error as Error).message);\n\t}\n};\n\n/**\n *\n * Helper class for managing batch requests.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.BatchHelper\n */\nexport default class BatchHelper extends BaseObject {\n\tprivate url!: string;\n\n\t/**\n\t * Fetches data from a multipart request.\n\t *\n\t * @private\n\t * @param {MultiPartRequest} multiPartRequest - The multipart request object.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the request.\n\t */\n\tprivate async fetchData(multiPartRequest: MultiPartRequest): Promise<Array<string | object>> {\n\t\tmultiPartRequest.options.body =\n\t\t\tmultiPartRequest.options.method === methods.GET\n\t\t\t\t? multiPartRequest._constructBody()\n\t\t\t\t: multiPartRequest.constructBodyWithPayload();\n\n\t\tmultiPartRequest.options.method = methods.POST;\n\n\t\tconst response = await fetch(this.url, multiPartRequest.options);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(\"Failed to fetch data from the server.\");\n\t\t}\n\n\t\tconst text = await response.text();\n\t\treturn getDataFromRawValue(text);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with multiple URLs.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequest(baseURL: string, urls: string[]): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequest(urls, csrfToken);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with given payloads and sends it to the specified base URL.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param payloads - An array of objects containing the URL and data for each part of the multipart request.\n\t * @param requestMethod - The HTTP method to be used for the request (e.g., POST).\n\t * @returns {Promise<Array<string | object>>} A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequestWithPayload(\n\t\tbaseURL: string,\n\t\tpayloads: { url: string; data: unknown }[],\n\t\trequestMethod: methods\n\t): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequestWithPayload(payloads, csrfToken, requestMethod);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Builds a multipart request from an array of URLs.\n\t *\n\t * @private\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {MultiPartRequest} - The multipart request object.\n\t */\n\tprivate buildMultipartRequest(urls: string[], csrfToken: string, requestMethod: methods = methods.GET): MultiPartRequest {\n\t\t// create base request from first URL\n\t\tconst request = new MultiPartRequest(urls[0], requestMethod, csrfToken);\n\n\t\t// Add all URLs as sub-requests\n\t\turls.forEach((url) => {\n\t\t\trequest.addRequest(new MultiPartRequest(url, requestMethod, csrfToken));\n\t\t});\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Builds a multipart request with the given payloads, CSRF token, and request method.\n\t *\n\t * @param payloads - An array of objects containing the URL and data for each part of the request.\n\t * @param csrfToken - The CSRF token to be included in the request headers.\n\t * @param requestMethod - The HTTP method to be used for the request.\n\t * @returns {MultiPartRequest} A `MultiPartRequest` object containing the constructed multipart request.\n\t */\n\tprivate buildMultipartRequestWithPayload(\n\t\tpayloads: { url: string; data: unknown }[],\n\t\tcsrfToken: string,\n\t\trequestMethod: methods\n\t): MultiPartRequest {\n\t\tconst request = new MultiPartRequest(payloads[0].url, requestMethod, csrfToken);\n\t\trequest.payload = payloads[0].data;\n\t\tpayloads.forEach(({ url, data }) => {\n\t\t\tconst multipartRequest = new MultiPartRequest(url, requestMethod, csrfToken);\n\t\t\tmultipartRequest.payload = data;\n\t\t\trequest.addRequest(multipartRequest);\n\t\t});\n\n\t\treturn request;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BatchHelper.js","names":["sap","ui","define","BaseObject","_catch","body","recover","result","e","then","methods","isEncoded","url","test","MultiPartRequest","batchRequests","constructor","requestMethod","csrfToken","encodeURI","boundary","Date","now","options","headers","method","_constructBody","BOUNDARY","REQUEST_HEADERS","REQUEST_BODY","index","length","request","boundaryEnd","addRequest","push","constructBodyWithPayload","changeSet","CHANGESET_BOUNDARY","CHANGESET_HEADER","JSON","stringify","payload","getDataFromRawValue","value","parsedValue","replace","split","filter","data","finalData","contentTypeValue","includes","parse","fetchCSRFToken","baseURL","Promise","resolve","fetch","HEAD","response","ok","token","get","Error","error","message","reject","BatchHelper","extend","fetchData","_fetchData","multiPartRequest","_this","GET","POST","text","createMultipartRequest","_createMultipartRequest","urls","_this2","buildMultipartRequest","createMultipartRequestWithPayload","_createMultipartRequestWithPayload","payloads","_this3","buildMultipartRequestWithPayload","_buildMultipartRequest","forEach","_buildMultipartRequestWithPayload","multipartRequest"],"sources":["BatchHelper.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\";\n\nenum methods {\n\tGET = \"GET\",\n\tPOST = \"POST\",\n\tPUT = \"PUT\",\n\tPATCH = \"PATCH\",\n\tDELETE = \"DELETE\",\n\tHEAD = \"HEAD\"\n}\n\ninterface Options {\n\theaders: Record<string, string>;\n\tmethod: methods;\n\tbody?: string;\n}\n\nconst isEncoded = (url: string) => {\n\treturn /%[0-9A-F]{2}/i.test(url);\n};\n\n/**\n * Represents a multipart request.\n */\nclass MultiPartRequest {\n\tprivate url: string;\n\tprivate batchRequests: MultiPartRequest[] = [];\n\tprivate boundary: string;\n\tpublic options: Options;\n\tpublic payload?: unknown;\n\n\t/**\n\t * Creates a MultiPartRequest object.\n\t *\n\t * @param {string} url - The URL for the multipart request.\n\t * @constructor\n\t */\n\tconstructor(url: string, requestMethod: methods, csrfToken?: string) {\n\t\t//encode the URL if it is not already encoded\n\t\tthis.url = isEncoded(url) ? url : encodeURI(url);\n\t\tthis.boundary = `batch_id_${Date.now()}_01`;\n\t\tthis.options = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": `multipart/mixed;boundary=${this.boundary}`\n\t\t\t},\n\t\t\tmethod: requestMethod\n\t\t};\n\n\t\t// Add CSRF token to headers if available\n\t\tif (csrfToken) {\n\t\t\tthis.options.headers[\"X-CSRF-Token\"] = csrfToken;\n\t\t}\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request.\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic _constructBody(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = `Content-Type: application/http\\r\\nContent-Transfer-Encoding: binary\\r\\n`;\n\t\tconst REQUEST_BODY = `Accept: application/json\\r\\n\\r\\n\\r\\n`;\n\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tconst boundaryEnd = index === this.batchRequests.length - 1 ? \"--\\r\\n\" : \"\\r\\n\";\n\t\t\tbody += `${REQUEST_HEADERS}\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n${REQUEST_BODY}`;\n\t\t\tbody += `${BOUNDARY}${boundaryEnd}`;\n\t\t}\n\n\t\treturn body;\n\t}\n\n\t/**\n\t * Adds a request to the MultiPartRequest batch.\n\t *\n\t * @public\n\t * @param {Object} request - The request to add to the batch.\n\t */\n\tpublic addRequest(request: MultiPartRequest): void {\n\t\tthis.batchRequests.push(request);\n\t}\n\n\t/**\n\t * Constructs the body for the multipart request with payload\n\t *\n\t * @returns {string} - The constructed body.\n\t * @private\n\t */\n\tpublic constructBodyWithPayload(): string {\n\t\tconst BOUNDARY = `--${this.boundary}`;\n\t\tconst REQUEST_HEADERS = \"Content-Type:application/http\\r\\nContent-Transfer-Encoding:binary\\r\\n\";\n\t\tlet body = `${BOUNDARY}\\r\\n`;\n\t\tconst changeSet = \"changeset_001\";\n\t\tconst CHANGESET_BOUNDARY = `--${changeSet}`;\n\t\tconst CHANGESET_HEADER = `Content-Type: multipart/mixed; boundary=${changeSet}\\r\\n`;\n\t\tbody += `${CHANGESET_HEADER}\\r\\n${CHANGESET_BOUNDARY}\\r\\n`;\n\t\tfor (let index = 0; index < this.batchRequests.length; index++) {\n\t\t\tconst request = this.batchRequests[index];\n\t\t\tbody += `\\r\\n${REQUEST_HEADERS}`;\n\t\t\tbody += `Content-ID: ${index + 1}\\r\\n\\r\\n`;\n\t\t\tbody += `${request.options.method} ${request.url} HTTP/1.1\\r\\n`;\n\t\t\tbody += \"sap-context-accept: header\\r\\nContent-Type:application/json\\r\\n\\r\\n\";\n\t\t\tbody += `${JSON.stringify(request.payload)}\\r\\n\\r\\n`;\n\t\t\tbody += CHANGESET_BOUNDARY;\n\t\t\tif (index === this.batchRequests.length - 1) {\n\t\t\t\tbody += \"--\\r\\n\";\n\t\t\t\tbody += `${BOUNDARY}--`;\n\t\t\t}\n\t\t}\n\t\treturn body;\n\t}\n}\n\n/**\n * Parses multipart body response and returns an array of values called in the batch request.\n *\n * @param {string} value - Multipart body response.\n * @returns {Object[]} - Array of values in the multipart request.\n * @returns {Object[]} - An array of values in the multipart request.\n */\nconst getDataFromRawValue = function (value: string): (string | object)[] {\n\tconst parsedValue = value\n\t\t.replace(/\\r\\n/g, \"\\n\")\n\t\t.split(\"\\n\")\n\t\t.filter((data) => data !== \"\");\n\n\tconst finalData: (string | object)[] = [];\n\tlet contentTypeValue = \"\";\n\n\tfor (let index = 1; index < parsedValue.length - 1; index++) {\n\t\tcontentTypeValue = parsedValue[index].includes(\"Content-Type: \") ? parsedValue[index].split(\"Content-Type: \")[1] : contentTypeValue;\n\n\t\tif (parsedValue[index + 1].includes(parsedValue[0])) {\n\t\t\tif (contentTypeValue === \"application/json\") {\n\t\t\t\tfinalData.push(JSON.parse(parsedValue[index]) as string);\n\t\t\t} else {\n\t\t\t\tfinalData.push(parsedValue[index]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn finalData;\n};\n\n/**\n * Fetches the CSRF token from the specified base URL.\n *\n * @async\n * @param {string} baseURL - The base URL to fetch the CSRF token from.\n * @returns {Promise<string>} A Promise that resolves when all batch requests are completed. A promise that resolves to the CSRF token.\n * @throws {Error} An error if the CSRF token cannot be fetched.\n */\nconst fetchCSRFToken = async function (baseURL: string): Promise<string> {\n\ttry {\n\t\tconst response = await fetch(baseURL, {\n\t\t\tmethod: methods.HEAD,\n\t\t\theaders: {\n\t\t\t\t\"X-CSRF-Token\": \"Fetch\"\n\t\t\t}\n\t\t});\n\n\t\tif (response.ok) {\n\t\t\tconst token = response.headers.get(\"X-CSRF-Token\");\n\t\t\tif (token) {\n\t\t\t\treturn token;\n\t\t\t}\n\t\t}\n\n\t\tthrow new Error(\"Cannot fetch X-CSRF-Token.\");\n\t} catch (error: unknown) {\n\t\tthrow new Error((error as Error).message);\n\t}\n};\n\n/**\n *\n * Helper class for managing batch requests.\n *\n * @extends BaseObject\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n * @private\n *\n * @alias sap.cux.home.utils.BatchHelper\n */\nexport default class BatchHelper extends BaseObject {\n\tprivate url!: string;\n\n\t/**\n\t * Fetches data from a multipart request.\n\t *\n\t * @private\n\t * @param {MultiPartRequest} multiPartRequest - The multipart request object.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the request.\n\t */\n\tprivate async fetchData(multiPartRequest: MultiPartRequest): Promise<Array<string | object>> {\n\t\tmultiPartRequest.options.body =\n\t\t\tmultiPartRequest.options.method === methods.GET\n\t\t\t\t? multiPartRequest._constructBody()\n\t\t\t\t: multiPartRequest.constructBodyWithPayload();\n\n\t\tmultiPartRequest.options.method = methods.POST;\n\n\t\tconst response = await fetch(this.url, multiPartRequest.options);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(\"Failed to fetch data from the server.\");\n\t\t}\n\n\t\tconst text = await response.text();\n\t\treturn getDataFromRawValue(text);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with multiple URLs.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {Promise<Array<string | object>>} - A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequest(baseURL: string, urls: string[]): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequest(urls, csrfToken);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Creates a multipart batch request with given payloads and sends it to the specified base URL.\n\t *\n\t * @public\n\t * @param {string} baseURL - The base URL for creating the batch request.\n\t * @param payloads - An array of objects containing the URL and data for each part of the multipart request.\n\t * @param requestMethod - The HTTP method to be used for the request (e.g., POST).\n\t * @returns {Promise<Array<string | object>>} A promise that resolves to the data from the batch request.\n\t */\n\tpublic async createMultipartRequestWithPayload(\n\t\tbaseURL: string,\n\t\tpayloads: { url: string; data: unknown }[],\n\t\trequestMethod: methods\n\t): Promise<Array<string | object>> {\n\t\tthis.url = `${baseURL}$batch`;\n\t\tconst csrfToken = await fetchCSRFToken(baseURL);\n\t\tconst request = this.buildMultipartRequestWithPayload(payloads, csrfToken, requestMethod);\n\t\treturn await this.fetchData(request);\n\t}\n\n\t/**\n\t * Builds a multipart request from an array of URLs.\n\t *\n\t * @private\n\t * @param {string[]} urls - An array of URLs for individual requests.\n\t * @returns {MultiPartRequest} - The multipart request object.\n\t */\n\tprivate buildMultipartRequest(urls: string[], csrfToken: string, requestMethod: methods = methods.GET): MultiPartRequest {\n\t\t// create base request from first URL\n\t\tconst request = new MultiPartRequest(urls[0], requestMethod, csrfToken);\n\n\t\t// Add all URLs as sub-requests\n\t\turls.forEach((url) => {\n\t\t\trequest.addRequest(new MultiPartRequest(url, requestMethod, csrfToken));\n\t\t});\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Builds a multipart request with the given payloads, CSRF token, and request method.\n\t *\n\t * @param payloads - An array of objects containing the URL and data for each part of the request.\n\t * @param csrfToken - The CSRF token to be included in the request headers.\n\t * @param requestMethod - The HTTP method to be used for the request.\n\t * @returns {MultiPartRequest} A `MultiPartRequest` object containing the constructed multipart request.\n\t */\n\tprivate buildMultipartRequestWithPayload(\n\t\tpayloads: { url: string; data: unknown }[],\n\t\tcsrfToken: string,\n\t\trequestMethod: methods\n\t): MultiPartRequest {\n\t\tconst request = new MultiPartRequest(payloads[0].url, requestMethod, csrfToken);\n\t\trequest.payload = payloads[0].data;\n\t\tpayloads.forEach(({ url, data }) => {\n\t\t\tconst multipartRequest = new MultiPartRequest(url, requestMethod, csrfToken);\n\t\t\tmultipartRequest.payload = data;\n\t\t\trequest.addRequest(multipartRequest);\n\t\t});\n\n\t\treturn request;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,mCAAAC,UAAA;EAAA;;EAkjBO,SAAAC,OAAgBC,IAAI,EAAEC,OAAO,EAAE;IACrC,IAAI;MACH,IAAIC,MAAM,GAAGF,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAMG,CAAC,EAAE;MACV,OAAOF,OAAO,CAACE,CAAC,CAAC;IAClB;IACA,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;MAC1B,OAAOF,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC,EAAEH,OAAO,CAAC;IACpC;IACA,OAAOC,MAAM;EACd;EAAC,IArjBIG,OAAO,0BAAPA,OAAO;IAAPA,OAAO;IAAPA,OAAO;IAAPA,OAAO;IAAPA,OAAO;IAAPA,OAAO;IAAPA,OAAO;IAAA,OAAPA,OAAO;EAAA,EAAPA,OAAO;EAeZ,MAAMC,SAAS,GAAIC,GAAW,IAAK;IAClC,OAAO,eAAe,CAACC,IAAI,CAACD,GAAG,CAAC;EACjC,CAAC;;EAED;AACA;AACA;EACA,MAAME,gBAAgB,CAAC;IAEdC,aAAa,GAAuB,EAAE;IAK9C;AACD;AACA;AACA;AACA;AACA;IACCC,WAAWA,CAACJ,GAAW,EAAEK,aAAsB,EAAEC,SAAkB,EAAE;MACpE;MACA,IAAI,CAACN,GAAG,GAAGD,SAAS,CAACC,GAAG,CAAC,GAAGA,GAAG,GAAGO,SAAS,CAACP,GAAG,CAAC;MAChD,IAAI,CAACQ,QAAQ,GAAG,YAAYC,IAAI,CAACC,GAAG,CAAC,CAAC,KAAK;MAC3C,IAAI,CAACC,OAAO,GAAG;QACdC,OAAO,EAAE;UACR,cAAc,EAAE,4BAA4B,IAAI,CAACJ,QAAQ;QAC1D,CAAC;QACDK,MAAM,EAAER;MACT,CAAC;;MAED;MACA,IAAIC,SAAS,EAAE;QACd,IAAI,CAACK,OAAO,CAACC,OAAO,CAAC,cAAc,CAAC,GAAGN,SAAS;MACjD;IACD;;IAEA;AACD;AACA;AACA;AACA;AACA;IACQQ,cAAcA,CAAA,EAAW;MAC/B,MAAMC,QAAQ,GAAG,KAAK,IAAI,CAACP,QAAQ,EAAE;MACrC,MAAMQ,eAAe,GAAG,yEAAyE;MACjG,MAAMC,YAAY,GAAG,sCAAsC;MAE3D,IAAIxB,IAAI,GAAG,GAAGsB,QAAQ,MAAM;MAE5B,KAAK,IAAIG,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,IAAI,CAACf,aAAa,CAACgB,MAAM,EAAED,KAAK,EAAE,EAAE;QAC/D,MAAME,OAAO,GAAG,IAAI,CAACjB,aAAa,CAACe,KAAK,CAAC;QACzC,MAAMG,WAAW,GAAGH,KAAK,KAAK,IAAI,CAACf,aAAa,CAACgB,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM;QAC/E1B,IAAI,IAAI,GAAGuB,eAAe,MAAM;QAChCvB,IAAI,IAAI,GAAG2B,OAAO,CAACT,OAAO,CAACE,MAAM,IAAIO,OAAO,CAACpB,GAAG,gBAAgBiB,YAAY,EAAE;QAC9ExB,IAAI,IAAI,GAAGsB,QAAQ,GAAGM,WAAW,EAAE;MACpC;MAEA,OAAO5B,IAAI;IACZ;;IAEA;AACD;AACA;AACA;AACA;AACA;IACQ6B,UAAUA,CAACF,OAAyB,EAAQ;MAClD,IAAI,CAACjB,aAAa,CAACoB,IAAI,CAACH,OAAO,CAAC;IACjC;;IAEA;AACD;AACA;AACA;AACA;AACA;IACQI,wBAAwBA,CAAA,EAAW;MACzC,MAAMT,QAAQ,GAAG,KAAK,IAAI,CAACP,QAAQ,EAAE;MACrC,MAAMQ,eAAe,GAAG,uEAAuE;MAC/F,IAAIvB,IAAI,GAAG,GAAGsB,QAAQ,MAAM;MAC5B,MAAMU,SAAS,GAAG,eAAe;MACjC,MAAMC,kBAAkB,GAAG,KAAKD,SAAS,EAAE;MAC3C,MAAME,gBAAgB,GAAG,2CAA2CF,SAAS,MAAM;MACnFhC,IAAI,IAAI,GAAGkC,gBAAgB,OAAOD,kBAAkB,MAAM;MAC1D,KAAK,IAAIR,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,IAAI,CAACf,aAAa,CAACgB,MAAM,EAAED,KAAK,EAAE,EAAE;QAC/D,MAAME,OAAO,GAAG,IAAI,CAACjB,aAAa,CAACe,KAAK,CAAC;QACzCzB,IAAI,IAAI,OAAOuB,eAAe,EAAE;QAChCvB,IAAI,IAAI,eAAeyB,KAAK,GAAG,CAAC,UAAU;QAC1CzB,IAAI,IAAI,GAAG2B,OAAO,CAACT,OAAO,CAACE,MAAM,IAAIO,OAAO,CAACpB,GAAG,eAAe;QAC/DP,IAAI,IAAI,qEAAqE;QAC7EA,IAAI,IAAI,GAAGmC,IAAI,CAACC,SAAS,CAACT,OAAO,CAACU,OAAO,CAAC,UAAU;QACpDrC,IAAI,IAAIiC,kBAAkB;QAC1B,IAAIR,KAAK,KAAK,IAAI,CAACf,aAAa,CAACgB,MAAM,GAAG,CAAC,EAAE;UAC5C1B,IAAI,IAAI,QAAQ;UAChBA,IAAI,IAAI,GAAGsB,QAAQ,IAAI;QACxB;MACD;MACA,OAAOtB,IAAI;IACZ;EACD;;EAEA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAMsC,mBAAmB,GAAG,SAAAA,CAAUC,KAAa,EAAuB;IACzE,MAAMC,WAAW,GAAGD,KAAK,CACvBE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACtBC,KAAK,CAAC,IAAI,CAAC,CACXC,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAK,EAAE,CAAC;IAE/B,MAAMC,SAA8B,GAAG,EAAE;IACzC,IAAIC,gBAAgB,GAAG,EAAE;IAEzB,KAAK,IAAIrB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGe,WAAW,CAACd,MAAM,GAAG,CAAC,EAAED,KAAK,EAAE,EAAE;MAC5DqB,gBAAgB,GAAGN,WAAW,CAACf,KAAK,CAAC,CAACsB,QAAQ,CAAC,gBAAgB,CAAC,GAAGP,WAAW,CAACf,KAAK,CAAC,CAACiB,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAGI,gBAAgB;MAEnI,IAAIN,WAAW,CAACf,KAAK,GAAG,CAAC,CAAC,CAACsB,QAAQ,CAACP,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;QACpD,IAAIM,gBAAgB,KAAK,kBAAkB,EAAE;UAC5CD,SAAS,CAACf,IAAI,CAACK,IAAI,CAACa,KAAK,CAACR,WAAW,CAACf,KAAK,CAAC,CAAW,CAAC;QACzD,CAAC,MAAM;UACNoB,SAAS,CAACf,IAAI,CAACU,WAAW,CAACf,KAAK,CAAC,CAAC;QACnC;MACD;IACD;IAEA,OAAOoB,SAAS;EACjB,CAAC;;EAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAMI,cAAc,YAAAA,CAAmBC,OAAe;IAAA,IAAmB;MAAA,OAAAC,OAAA,CAAAC,OAAA,CAAArD,MAAA,aACpE;QAAA,OAAAoD,OAAA,CAAAC,OAAA,CACoBC,KAAK,CAACH,OAAO,EAAE;UACrC9B,MAAM,EAAEf,OAAO,CAACiD,IAAI;UACpBnC,OAAO,EAAE;YACR,cAAc,EAAE;UACjB;QACD,CAAC,CAAC,EAAAf,IAAA,WALImD,QAAQ;UAOd,IAAIA,QAAQ,CAACC,EAAE,EAAE;YAChB,MAAMC,KAAK,GAAGF,QAAQ,CAACpC,OAAO,CAACuC,GAAG,CAAC,cAAc,CAAC;YAClD,IAAID,KAAK,EAAE;cACV,OAAOA,KAAK;YACb;UACD;UAEA,MAAM,IAAIE,KAAK,CAAC,4BAA4B,CAAC;QAAC;MAC/C,CAAC,YAAQC,KAAc,EAAE;QACxB,MAAM,IAAID,KAAK,CAAEC,KAAK,CAAWC,OAAO,CAAC;MAC1C,CAAC;IACF,CAAC,QAAA1D,CAAA;MAAA,OAAAgD,OAAA,CAAAW,MAAA,CAAA3D,CAAA;IAAA;EAAA;;EAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqB4D,WAAW,GAASjE,UAAU,CAAAkE,MAAA;IAGlD;AACD;AACA;AACA;AACA;AACA;AACA;IACeC,SAAS,WAAAC,WAACC,gBAAkC;MAAA,IAAmC;QAAA,MAAAC,KAAA,GAQ/D,IAAI;QAPjCD,gBAAgB,CAACjD,OAAO,CAAClB,IAAI,GAC5BmE,gBAAgB,CAACjD,OAAO,CAACE,MAAM,KAAKf,OAAO,CAACgE,GAAG,GAC5CF,gBAAgB,CAAC9C,cAAc,CAAC,CAAC,GACjC8C,gBAAgB,CAACpC,wBAAwB,CAAC,CAAC;QAE/CoC,gBAAgB,CAACjD,OAAO,CAACE,MAAM,GAAGf,OAAO,CAACiE,IAAI;QAAC,OAAAnB,OAAA,CAAAC,OAAA,CAExBC,KAAK,CAACe,KAAA,CAAK7D,GAAG,EAAE4D,gBAAgB,CAACjD,OAAO,CAAC,EAAAd,IAAA,WAA1DmD,QAAQ;UAEd,IAAI,CAACA,QAAQ,CAACC,EAAE,EAAE;YACjB,MAAM,IAAIG,KAAK,CAAC,uCAAuC,CAAC;UACzD;UAAC,OAAAR,OAAA,CAAAC,OAAA,CAEkBG,QAAQ,CAACgB,IAAI,CAAC,CAAC,EAAAnE,IAAA,CAC3BkC,mBAAmB;QAAA;MAC3B,CAAC,QAAAnC,CAAA;QAAA,OAAAgD,OAAA,CAAAW,MAAA,CAAA3D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACcqE,sBAAsB,WAAAC,wBAACvB,OAAe,EAAEwB,IAAc;MAAA,IAAmC;QAAA,MAAAC,MAAA,GACrG,IAAI;QAAJA,MAAA,CAAKpE,GAAG,GAAG,GAAG2C,OAAO,QAAQ;QAAC,OAAAC,OAAA,CAAAC,OAAA,CACNH,cAAc,CAACC,OAAO,CAAC,EAAA9C,IAAA,WAAzCS,SAAS;UACf,MAAMc,OAAO,GAAGgD,MAAA,CAAKC,qBAAqB,CAACF,IAAI,EAAE7D,SAAS,CAAC;UAAC,OAAAsC,OAAA,CAAAC,OAAA,CAC/CuB,MAAA,CAAKV,SAAS,CAACtC,OAAO,CAAC;QAAA;MACrC,CAAC,QAAAxB,CAAA;QAAA,OAAAgD,OAAA,CAAAW,MAAA,CAAA3D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACc0E,iCAAiC,WAAAC,mCAC7C5B,OAAe,EACf6B,QAA0C,EAC1CnE,aAAsB;MAAA,IACY;QAAA,MAAAoE,MAAA,GAClC,IAAI;QAAJA,MAAA,CAAKzE,GAAG,GAAG,GAAG2C,OAAO,QAAQ;QAAC,OAAAC,OAAA,CAAAC,OAAA,CACNH,cAAc,CAACC,OAAO,CAAC,EAAA9C,IAAA,WAAzCS,SAAS;UACf,MAAMc,OAAO,GAAGqD,MAAA,CAAKC,gCAAgC,CAACF,QAAQ,EAAElE,SAAS,EAAED,aAAa,CAAC;UAAC,OAAAuC,OAAA,CAAAC,OAAA,CAC7E4B,MAAA,CAAKf,SAAS,CAACtC,OAAO,CAAC;QAAA;MACrC,CAAC,QAAAxB,CAAA;QAAA,OAAAgD,OAAA,CAAAW,MAAA,CAAA3D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSyE,qBAAqB,WAAAM,uBAACR,IAAc,EAAE7D,SAAiB,EAAED,aAAsB,GAAGP,OAAO,CAACgE,GAAG,EAAoB;MACxH;MACA,MAAM1C,OAAO,GAAG,IAAIlB,gBAAgB,CAACiE,IAAI,CAAC,CAAC,CAAC,EAAE9D,aAAa,EAAEC,SAAS,CAAC;;MAEvE;MACA6D,IAAI,CAACS,OAAO,CAAE5E,GAAG,IAAK;QACrBoB,OAAO,CAACE,UAAU,CAAC,IAAIpB,gBAAgB,CAACF,GAAG,EAAEK,aAAa,EAAEC,SAAS,CAAC,CAAC;MACxE,CAAC,CAAC;MAEF,OAAOc,OAAO;IACf,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACSsD,gCAAgC,WAAAG,kCACvCL,QAA0C,EAC1ClE,SAAiB,EACjBD,aAAsB,EACH;MACnB,MAAMe,OAAO,GAAG,IAAIlB,gBAAgB,CAACsE,QAAQ,CAAC,CAAC,CAAC,CAACxE,GAAG,EAAEK,aAAa,EAAEC,SAAS,CAAC;MAC/Ec,OAAO,CAACU,OAAO,GAAG0C,QAAQ,CAAC,CAAC,CAAC,CAACnC,IAAI;MAClCmC,QAAQ,CAACI,OAAO,CAAC,CAAC;QAAE5E,GAAG;QAAEqC;MAAK,CAAC,KAAK;QACnC,MAAMyC,gBAAgB,GAAG,IAAI5E,gBAAgB,CAACF,GAAG,EAAEK,aAAa,EAAEC,SAAS,CAAC;QAC5EwE,gBAAgB,CAAChD,OAAO,GAAGO,IAAI;QAC/BjB,OAAO,CAACE,UAAU,CAACwD,gBAAgB,CAAC;MACrC,CAAC,CAAC;MAEF,OAAO1D,OAAO;IACf;EAAC;EAAA,OAxGmBoC,WAAW;AAAA","ignoreList":[]}
@@ -130,7 +130,10 @@ class MultiPartRequest {
130
130
  * @returns {Object[]} - An array of values in the multipart request.
131
131
  */
132
132
  const getDataFromRawValue = function (value: string): (string | object)[] {
133
- const parsedValue = value.split("\r\n").filter((data) => data !== "");
133
+ const parsedValue = value
134
+ .replace(/\r\n/g, "\n")
135
+ .split("\n")
136
+ .filter((data) => data !== "");
134
137
 
135
138
  const finalData: (string | object)[] = [];
136
139
  let contentTypeValue = "";
@@ -11,10 +11,6 @@ declare module "sap/cux/home/utils/UshellPersonalizer" {
11
11
  setPersData: (oData: object) => Promise<void>;
12
12
  }
13
13
  interface IPersonalizationData {
14
- oAdaptationData?: {
15
- showCustomNewsFeed: boolean;
16
- customNewsFeedKey: string;
17
- };
18
14
  favNewsFeed?: {
19
15
  items: string[];
20
16
  showAllPreparationRequired?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"UshellPersonalizer.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/UshellPersonalizer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,uCAAuC,CAAC;IACvD;;;OAGG;IACH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;IAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;IAElE,UAAU,aAAa;QACtB,WAAW,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,UAAiB,oBAAoB;QACpC,eAAe,CAAC,EAAE;YAAE,kBAAkB,EAAE,OAAO,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7E,WAAW,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,0BAA0B,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACxE,eAAe,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACtC,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC9B,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC7B;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;QACzD,OAAO,CAAC,eAAe,CAAS;QAChC,OAAO,CAAC,eAAe,CAAS;QAChC,OAAO,CAAC,aAAa,CAAiB;QACtC,MAAM,CAAC,eAAe,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;SAAE,CAAM;QAEnE,OAAO;eAMM,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;QAU5D,IAAI;QAoBJ,KAAK,CAAC,KAAK,EAAE,oBAAoB;QAIjC,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;KAIlD;CAEA"}
1
+ {"version":3,"file":"UshellPersonalizer.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/UshellPersonalizer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,uCAAuC,CAAC;IACvD;;;OAGG;IACH,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;IAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;IAElE,UAAU,aAAa;QACtB,WAAW,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACjD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,UAAiB,oBAAoB;QACpC,WAAW,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,0BAA0B,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACxE,eAAe,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACtC,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC9B,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC7B;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,UAAU;QACzD,OAAO,CAAC,eAAe,CAAS;QAChC,OAAO,CAAC,eAAe,CAAS;QAChC,OAAO,CAAC,aAAa,CAAiB;QACtC,MAAM,CAAC,eAAe,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;SAAE,CAAM;QAEnE,OAAO;eAMM,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;QAU5D,IAAI;QAoBJ,KAAK,CAAC,KAAK,EAAE,oBAAoB;QAIjC,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;KAIlD;CAEA"}
@@ -56,7 +56,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/ushell/Container"], function (BaseObje
56
56
  read: function _read() {
57
57
  try {
58
58
  const _this3 = this;
59
- return Promise.resolve(_this3.oPersonalizer.getPersData());
59
+ return Promise.resolve(_this3.oPersonalizer?.getPersData());
60
60
  } catch (e) {
61
61
  return Promise.reject(e);
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UshellPersonalizer.js","names":["sap","ui","define","BaseObject","Container","UShellPersonalizer","extend","constructor","_constructor","persContainerId","oOwnerComponent","BaseObject.prototype.constructor.call","init","_init","_this","Promise","resolve","getServiceAsync","then","oPersonalizationService","oScope","keyCategory","constants","FIXED_KEY","writeFrequency","LOW","clientStorageAllowed","oPersId","container","item","oPersonalizer","getPersonalizer","e","reject","write","_write","oData","_this2","setPersData","read","_read","_this3","getPersData","oCacheInstances","getInstance","UShellPersonalizerInstance"],"sources":["UshellPersonalizer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport BaseObject from \"sap/ui/base/Object\";\nimport Container from \"sap/ushell/Container\";\nimport { IAppPersonalization } from \"../interface/AppsInterface\";\nimport { IPage } from \"../interface/PageSpaceInterface\";\n\ninterface IPersonalizer {\n\tgetPersData: () => Promise<IPersonalizationData>;\n\tsetPersData: (oData: object) => Promise<void>;\n}\n\nexport interface IPersonalizationData {\n\toAdaptationData?: { showCustomNewsFeed: boolean; customNewsFeedKey: string };\n\tfavNewsFeed?: { items: string[]; showAllPreparationRequired?: boolean };\n\tdefaultNewsFeed?: { items: string[] };\n\tfavouritePages?: IPage[] | [];\n\tfavoriteApps?: IAppPersonalization[];\n\tshowRecommendation?: boolean;\n}\n\n/**\n *\n * Provides the UshellPersonalizer Class used for fetch and update end user (Ushell) personalisation.\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.UshellPersonalizer\n */\nexport default class UShellPersonalizer extends BaseObject {\n\tprivate persContainerId: string;\n\tprivate oOwnerComponent: object;\n\tprivate oPersonalizer!: IPersonalizer;\n\tstatic oCacheInstances: { [key: string]: UShellPersonalizer } = {};\n\n\tprivate constructor(persContainerId: string, oOwnerComponent: object) {\n\t\tsuper();\n\t\tthis.persContainerId = persContainerId;\n\t\tthis.oOwnerComponent = oOwnerComponent;\n\t}\n\n\tstatic async getInstance(persContainerId: string, oOwnerComponent: object) {\n\t\tif (UShellPersonalizer.oCacheInstances[persContainerId]) {\n\t\t\treturn Promise.resolve(UShellPersonalizer.oCacheInstances[persContainerId]);\n\t\t}\n\t\tconst UShellPersonalizerInstance = new UShellPersonalizer(persContainerId, oOwnerComponent);\n\t\tawait UShellPersonalizerInstance.init();\n\t\tUShellPersonalizer.oCacheInstances[persContainerId] = UShellPersonalizerInstance;\n\t\treturn UShellPersonalizer.oCacheInstances[persContainerId];\n\t}\n\n\tpublic async init() {\n\t\tconst oPersonalizationService: {\n\t\t\t\tconstants: {\n\t\t\t\t\tkeyCategory: { FIXED_KEY: string };\n\t\t\t\t\twriteFrequency: { LOW: string };\n\t\t\t\t};\n\t\t\t\tgetPersonalizer: (id: { container: string; item: string }, oScope: object, oOwnerComponent: object) => IPersonalizer;\n\t\t\t} = await Container.getServiceAsync(\"Personalization\"),\n\t\t\toScope = {\n\t\t\t\tkeyCategory: oPersonalizationService?.constants?.keyCategory?.FIXED_KEY,\n\t\t\t\twriteFrequency: oPersonalizationService?.constants?.writeFrequency?.LOW,\n\t\t\t\tclientStorageAllowed: true\n\t\t\t},\n\t\t\toPersId = {\n\t\t\t\tcontainer: this.persContainerId,\n\t\t\t\titem: \"settings\"\n\t\t\t};\n\t\tthis.oPersonalizer = oPersonalizationService?.getPersonalizer(oPersId, oScope, this.oOwnerComponent);\n\t}\n\n\tpublic async write(oData: IPersonalizationData) {\n\t\tawait this.oPersonalizer?.setPersData(oData);\n\t\treturn \"success\";\n\t}\n\tpublic async read(): Promise<IPersonalizationData> {\n\t\tconst oData = await this.oPersonalizer.getPersData();\n\t\treturn oData;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,2DAAAC,UAAA,EAAAC,SAAA;EAAA;;EAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqBC,kBAAkB,GAASF,UAAU,CAAAG,MAAA;IAMjDC,WAAW,WAAAC,aAACC,eAAuB,EAAEC,eAAuB,EAAE;MACrEC,qCAAA;MACA,IAAI,CAACF,eAAe,GAAGA,eAAe;MACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACvC,CAAC;IAYYE,IAAI,WAAAC,MAAA;MAAA,IAAG;QAAA,MAAAC,KAAA,GAcN,IAAI;QAAA,OAAAC,OAAA,CAAAC,OAAA,CAPNZ,SAAS,CAACa,eAAe,CAAC,iBAAiB,CAAC,EAAAC,IAAA,WANjDC,uBAMJ;UANF,MAOCC,MAAM,GAAG;cACRC,WAAW,EAAEF,uBAAuB,EAAEG,SAAS,EAAED,WAAW,EAAEE,SAAS;cACvEC,cAAc,EAAEL,uBAAuB,EAAEG,SAAS,EAAEE,cAAc,EAAEC,GAAG;cACvEC,oBAAoB,EAAE;YACvB,CAAC;YACDC,OAAO,GAAG;cACTC,SAAS,EAAEd,KAAA,CAAKL,eAAe;cAC/BoB,IAAI,EAAE;YACP,CAAC;UACFf,KAAA,CAAKgB,aAAa,GAAGX,uBAAuB,EAAEY,eAAe,CAACJ,OAAO,EAAEP,MAAM,EAAEN,KAAA,CAAKJ,eAAe,CAAC;QAAC;MACtG,CAAC,QAAAsB,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;IAEYE,KAAK,WAAAC,OAACC,KAA2B;MAAA,IAAE;QAAA,MAAAC,MAAA,GACzC,IAAI;QAAA,OAAAtB,OAAA,CAAAC,OAAA,CAAJqB,MAAA,CAAKP,aAAa,EAAEQ,WAAW,CAACF,KAAK,CAAC,EAAAlB,IAAA;UAC5C,OAAO,SAAS;QAAC;MAClB,CAAC,QAAAc,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;IACYO,IAAI,WAAAC,MAAA;MAAA,IAAkC;QAAA,MAAAC,MAAA,GAC9B,IAAI;QAAA,OAAA1B,OAAA,CAAAC,OAAA,CAAJyB,MAAA,CAAKX,aAAa,CAACY,WAAW,CAAC,CAAC;MAErD,CAAC,QAAAV,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;EAAA;EAjDmB3B,kBAAkB,CAI/BsC,eAAe,GAA0C,CAAC,CAAC;EAJ9CtC,kBAAkB,CAYzBuC,WAAW,YAAXA,WAAWA,CAACnC,eAAuB,EAAEC,eAAuB;IAAA,IAAE;MAC1E,IAAIL,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,EAAE;QACxD,OAAOM,OAAO,CAACC,OAAO,CAACX,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,CAAC;MAC5E;MACA,MAAMoC,0BAA0B,GAAG,IAAIxC,kBAAkB,CAACI,eAAe,EAAEC,eAAe,CAAC;MAAC,OAAAK,OAAA,CAAAC,OAAA,CACtF6B,0BAA0B,CAACjC,IAAI,CAAC,CAAC,EAAAM,IAAA;QACvCb,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,GAAGoC,0BAA0B;QAChF,OAAOxC,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC;MAAC;IAC5D,CAAC,QAAAuB,CAAA;MAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;IAAA;EAAA;EAAA,OApBmB3B,kBAAkB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"UshellPersonalizer.js","names":["sap","ui","define","BaseObject","Container","UShellPersonalizer","extend","constructor","_constructor","persContainerId","oOwnerComponent","BaseObject.prototype.constructor.call","init","_init","_this","Promise","resolve","getServiceAsync","then","oPersonalizationService","oScope","keyCategory","constants","FIXED_KEY","writeFrequency","LOW","clientStorageAllowed","oPersId","container","item","oPersonalizer","getPersonalizer","e","reject","write","_write","oData","_this2","setPersData","read","_read","_this3","getPersData","oCacheInstances","getInstance","UShellPersonalizerInstance"],"sources":["UshellPersonalizer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\nimport BaseObject from \"sap/ui/base/Object\";\nimport Container from \"sap/ushell/Container\";\nimport { IAppPersonalization } from \"../interface/AppsInterface\";\nimport { IPage } from \"../interface/PageSpaceInterface\";\n\ninterface IPersonalizer {\n\tgetPersData: () => Promise<IPersonalizationData>;\n\tsetPersData: (oData: object) => Promise<void>;\n}\n\nexport interface IPersonalizationData {\n\tfavNewsFeed?: { items: string[]; showAllPreparationRequired?: boolean };\n\tdefaultNewsFeed?: { items: string[] };\n\tfavouritePages?: IPage[] | [];\n\tfavoriteApps?: IAppPersonalization[];\n\tshowRecommendation?: boolean;\n}\n\n/**\n *\n * Provides the UshellPersonalizer Class used for fetch and update end user (Ushell) personalisation.\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.UshellPersonalizer\n */\nexport default class UShellPersonalizer extends BaseObject {\n\tprivate persContainerId: string;\n\tprivate oOwnerComponent: object;\n\tprivate oPersonalizer!: IPersonalizer;\n\tstatic oCacheInstances: { [key: string]: UShellPersonalizer } = {};\n\n\tprivate constructor(persContainerId: string, oOwnerComponent: object) {\n\t\tsuper();\n\t\tthis.persContainerId = persContainerId;\n\t\tthis.oOwnerComponent = oOwnerComponent;\n\t}\n\n\tstatic async getInstance(persContainerId: string, oOwnerComponent: object) {\n\t\tif (UShellPersonalizer.oCacheInstances[persContainerId]) {\n\t\t\treturn Promise.resolve(UShellPersonalizer.oCacheInstances[persContainerId]);\n\t\t}\n\t\tconst UShellPersonalizerInstance = new UShellPersonalizer(persContainerId, oOwnerComponent);\n\t\tawait UShellPersonalizerInstance.init();\n\t\tUShellPersonalizer.oCacheInstances[persContainerId] = UShellPersonalizerInstance;\n\t\treturn UShellPersonalizer.oCacheInstances[persContainerId];\n\t}\n\n\tpublic async init() {\n\t\tconst oPersonalizationService: {\n\t\t\t\tconstants: {\n\t\t\t\t\tkeyCategory: { FIXED_KEY: string };\n\t\t\t\t\twriteFrequency: { LOW: string };\n\t\t\t\t};\n\t\t\t\tgetPersonalizer: (id: { container: string; item: string }, oScope: object, oOwnerComponent: object) => IPersonalizer;\n\t\t\t} = await Container.getServiceAsync(\"Personalization\"),\n\t\t\toScope = {\n\t\t\t\tkeyCategory: oPersonalizationService?.constants?.keyCategory?.FIXED_KEY,\n\t\t\t\twriteFrequency: oPersonalizationService?.constants?.writeFrequency?.LOW,\n\t\t\t\tclientStorageAllowed: true\n\t\t\t},\n\t\t\toPersId = {\n\t\t\t\tcontainer: this.persContainerId,\n\t\t\t\titem: \"settings\"\n\t\t\t};\n\t\tthis.oPersonalizer = oPersonalizationService?.getPersonalizer(oPersId, oScope, this.oOwnerComponent);\n\t}\n\n\tpublic async write(oData: IPersonalizationData) {\n\t\tawait this.oPersonalizer?.setPersData(oData);\n\t\treturn \"success\";\n\t}\n\tpublic async read(): Promise<IPersonalizationData> {\n\t\tconst oData = await this.oPersonalizer?.getPersData();\n\t\treturn oData;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,2DAAAC,UAAA,EAAAC,SAAA;EAAA;;EAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqBC,kBAAkB,GAASF,UAAU,CAAAG,MAAA;IAMjDC,WAAW,WAAAC,aAACC,eAAuB,EAAEC,eAAuB,EAAE;MACrEC,qCAAA;MACA,IAAI,CAACF,eAAe,GAAGA,eAAe;MACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACvC,CAAC;IAYYE,IAAI,WAAAC,MAAA;MAAA,IAAG;QAAA,MAAAC,KAAA,GAcN,IAAI;QAAA,OAAAC,OAAA,CAAAC,OAAA,CAPNZ,SAAS,CAACa,eAAe,CAAC,iBAAiB,CAAC,EAAAC,IAAA,WANjDC,uBAMJ;UANF,MAOCC,MAAM,GAAG;cACRC,WAAW,EAAEF,uBAAuB,EAAEG,SAAS,EAAED,WAAW,EAAEE,SAAS;cACvEC,cAAc,EAAEL,uBAAuB,EAAEG,SAAS,EAAEE,cAAc,EAAEC,GAAG;cACvEC,oBAAoB,EAAE;YACvB,CAAC;YACDC,OAAO,GAAG;cACTC,SAAS,EAAEd,KAAA,CAAKL,eAAe;cAC/BoB,IAAI,EAAE;YACP,CAAC;UACFf,KAAA,CAAKgB,aAAa,GAAGX,uBAAuB,EAAEY,eAAe,CAACJ,OAAO,EAAEP,MAAM,EAAEN,KAAA,CAAKJ,eAAe,CAAC;QAAC;MACtG,CAAC,QAAAsB,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;IAEYE,KAAK,WAAAC,OAACC,KAA2B;MAAA,IAAE;QAAA,MAAAC,MAAA,GACzC,IAAI;QAAA,OAAAtB,OAAA,CAAAC,OAAA,CAAJqB,MAAA,CAAKP,aAAa,EAAEQ,WAAW,CAACF,KAAK,CAAC,EAAAlB,IAAA;UAC5C,OAAO,SAAS;QAAC;MAClB,CAAC,QAAAc,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;IACYO,IAAI,WAAAC,MAAA;MAAA,IAAkC;QAAA,MAAAC,MAAA,GAC9B,IAAI;QAAA,OAAA1B,OAAA,CAAAC,OAAA,CAAJyB,MAAA,CAAKX,aAAa,EAAEY,WAAW,CAAC,CAAC;MAEtD,CAAC,QAAAV,CAAA;QAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;MAAA;IAAA;EAAA;EAjDmB3B,kBAAkB,CAI/BsC,eAAe,GAA0C,CAAC,CAAC;EAJ9CtC,kBAAkB,CAYzBuC,WAAW,YAAXA,WAAWA,CAACnC,eAAuB,EAAEC,eAAuB;IAAA,IAAE;MAC1E,IAAIL,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,EAAE;QACxD,OAAOM,OAAO,CAACC,OAAO,CAACX,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,CAAC;MAC5E;MACA,MAAMoC,0BAA0B,GAAG,IAAIxC,kBAAkB,CAACI,eAAe,EAAEC,eAAe,CAAC;MAAC,OAAAK,OAAA,CAAAC,OAAA,CACtF6B,0BAA0B,CAACjC,IAAI,CAAC,CAAC,EAAAM,IAAA;QACvCb,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC,GAAGoC,0BAA0B;QAChF,OAAOxC,kBAAkB,CAACsC,eAAe,CAAClC,eAAe,CAAC;MAAC;IAC5D,CAAC,QAAAuB,CAAA;MAAA,OAAAjB,OAAA,CAAAkB,MAAA,CAAAD,CAAA;IAAA;EAAA;EAAA,OApBmB3B,kBAAkB;AAAA","ignoreList":[]}
@@ -13,7 +13,6 @@ interface IPersonalizer {
13
13
  }
14
14
 
15
15
  export interface IPersonalizationData {
16
- oAdaptationData?: { showCustomNewsFeed: boolean; customNewsFeedKey: string };
17
16
  favNewsFeed?: { items: string[]; showAllPreparationRequired?: boolean };
18
17
  defaultNewsFeed?: { items: string[] };
19
18
  favouritePages?: IPage[] | [];
@@ -81,7 +80,7 @@ export default class UShellPersonalizer extends BaseObject {
81
80
  return "success";
82
81
  }
83
82
  public async read(): Promise<IPersonalizationData> {
84
- const oData = await this.oPersonalizer.getPersData();
83
+ const oData = await this.oPersonalizer?.getPersData();
85
84
  return oData;
86
85
  }
87
86
  }
@@ -1,19 +0,0 @@
1
- declare module "sap/cux/home/utils/KeyUserPersonalization" {
2
- /*!
3
- * SAP UI development toolkit for HTML5 (SAPUI5)
4
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
5
- */
6
- import ResourceBundle from "sap/base/i18n/ResourceBundle";
7
- import BaseObject from "sap/ui/base/Object";
8
- import UIComponent from "sap/ui/core/UIComponent";
9
- import { UserActionProperties } from "sap/cux/home/Layout";
10
- export default class KeyUserPersonalization extends BaseObject {
11
- private component;
12
- private i18nBundle;
13
- private adaptationData;
14
- constructor(component: UIComponent | undefined, i18nBundle: ResourceBundle);
15
- getRTAUserAction(): Promise<UserActionProperties | undefined>;
16
- private triggerRTA;
17
- }
18
- }
19
- //# sourceMappingURL=KeyUserPersonalization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyUserPersonalization.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/utils/KeyUserPersonalization.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2CAA2C,CAAC;IAC3D;;;OAGG;IAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAE1D,OAAO,UAAU,MAAM,oBAAoB,CAAC;IAI5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;IAKlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;IAE3D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;QAC7D,OAAO,CAAC,SAAS,CAA2B;QAC5C,OAAO,CAAC,UAAU,CAAkB;QACpC,OAAO,CAAC,cAAc,CAAmB;oBAE7B,SAAS,EAAE,WAAW,GAAG,SAAS,EAAE,UAAU,EAAE,cAAc;QAoB7D,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;gBAuB5D,UAAU;KA0BxB;CAEA"}
@@ -1,126 +0,0 @@
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/base/Object", "sap/ui/core/Lib", "sap/ui/core/routing/HashChanger", "sap/ui/rta/api/startKeyUserAdaptation", "sap/ushell/Container", "sap/ushell/EventHub"], function (Log, BaseObject, Lib, HashChanger, startKeyUserAdaptation, Container, EventHub) {
6
- "use strict";
7
-
8
- function __ui5_require_async(path) {
9
- return new Promise(function (resolve, reject) {
10
- sap.ui.require([path], function (module) {
11
- if (!(module && module.__esModule)) {
12
- module = module === null || !(typeof module === "object" && path.endsWith("/library")) ? {
13
- default: module
14
- } : module;
15
- Object.defineProperty(module, "__esModule", {
16
- value: true
17
- });
18
- }
19
- resolve(module);
20
- }, function (err) {
21
- reject(err);
22
- });
23
- });
24
- }
25
- function _catch(body, recover) {
26
- try {
27
- var result = body();
28
- } catch (e) {
29
- return recover(e);
30
- }
31
- if (result && result.then) {
32
- return result.then(void 0, recover);
33
- }
34
- return result;
35
- }
36
- class KeyUserPersonalization extends BaseObject {
37
- constructor(component, i18nBundle) {
38
- super();
39
- this.component = component;
40
- this.i18nBundle = i18nBundle;
41
- EventHub.on("keyUserAdaptationDataChange").do(() => {
42
- const adaptationCustomData = this.component?.byId("sectionWrapper")?.getAggregation("adaptationData");
43
- if (adaptationCustomData) {
44
- this.adaptationData = adaptationCustomData.getValue();
45
-
46
- // parse adaptation data if string
47
- if (typeof this.adaptationData === "string") {
48
- this.adaptationData = JSON.parse(this.adaptationData);
49
- adaptationCustomData.setValue(this.adaptationData);
50
- }
51
- }
52
- });
53
- }
54
- getRTAUserAction() {
55
- try {
56
- const _this = this;
57
- return Promise.resolve(_catch(function () {
58
- return Promise.resolve(Lib.load({
59
- name: "sap.ui.fl"
60
- })).then(function () {
61
- return Promise.resolve(__ui5_require_async("sap/ui/fl/initial/api/InitialFlexAPI")).then(function (_import) {
62
- const InitialFlexAPI = _import.default;
63
- return Promise.resolve(InitialFlexAPI.isKeyUser()).then(function (isKeyUser) {
64
- let rtaUserActionProperties;
65
- if (isKeyUser) {
66
- rtaUserActionProperties = {
67
- icon: "sap-icon://wrench",
68
- text: _this.i18nBundle.getText("adaptUIBtn"),
69
- tooltip: _this.i18nBundle.getText("adaptUIBtn"),
70
- press: () => _this.triggerRTA()
71
- };
72
- }
73
- return Promise.resolve(rtaUserActionProperties);
74
- });
75
- });
76
- });
77
- }, function (error) {
78
- Log.error(error instanceof Error ? error.message : error);
79
- }));
80
- } catch (e) {
81
- return Promise.reject(e);
82
- }
83
- }
84
- triggerRTA() {
85
- try {
86
- const _this2 = this;
87
- const _temp = _catch(function () {
88
- return Promise.resolve(Lib.load({
89
- name: "sap.ui.fl"
90
- })).then(function () {
91
- if (_this2.component) {
92
- startKeyUserAdaptation({
93
- rootControl: _this2.component
94
- }).catch(function () {
95
- try {
96
- return Promise.resolve(Container.getServiceAsync("URLParsing")).then(function (URLParsingService) {
97
- const hashChangerInstance = HashChanger.getInstance();
98
- //Trigger Manual Reload of Application in case of failure
99
- const shellHash = URLParsingService.parseShellHash(hashChangerInstance.getHash());
100
- const hashParams = shellHash?.params || {};
101
- const rtaKey = "sap-ui-fl-max-layer";
102
- const value = "CUSTOMER";
103
- if (!Object.prototype.hasOwnProperty.call(hashParams, rtaKey)) {
104
- hashParams[rtaKey] = value;
105
- hashChangerInstance.replaceHash(URLParsingService.constructShellHash(shellHash), "Unknown");
106
- }
107
- window.location.reload();
108
- });
109
- } catch (e) {
110
- return Promise.reject(e);
111
- }
112
- });
113
- }
114
- });
115
- }, function (error) {
116
- Log.error(error instanceof Error ? error.message : error);
117
- });
118
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
119
- } catch (e) {
120
- return Promise.reject(e);
121
- }
122
- }
123
- }
124
- return KeyUserPersonalization;
125
- });
126
- //# sourceMappingURL=KeyUserPersonalization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyUserPersonalization.js","names":["sap","ui","define","Log","BaseObject","Lib","HashChanger","startKeyUserAdaptation","Container","EventHub","__ui5_require_async","path","Promise","resolve","reject","require","module","__esModule","endsWith","default","Object","defineProperty","value","err","_catch","body","recover","result","e","then","KeyUserPersonalization","constructor","component","i18nBundle","on","do","adaptationCustomData","byId","getAggregation","adaptationData","getValue","JSON","parse","setValue","getRTAUserAction","_this","load","name","_import","InitialFlexAPI","isKeyUser","rtaUserActionProperties","icon","text","getText","tooltip","press","triggerRTA","error","Error","message","_this2","_temp","rootControl","catch","getServiceAsync","URLParsingService","hashChangerInstance","getInstance","shellHash","parseShellHash","getHash","hashParams","params","rtaKey","prototype","hasOwnProperty","call","replaceHash","constructShellHash","window","location","reload"],"sources":["KeyUserPersonalization.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Log from \"sap/base/Log\";\nimport BaseObject from \"sap/ui/base/Object\";\nimport CustomData from \"sap/ui/core/CustomData\";\nimport Lib from \"sap/ui/core/Lib\";\nimport HashChanger from \"sap/ui/core/routing/HashChanger\";\nimport UIComponent from \"sap/ui/core/UIComponent\";\nimport startKeyUserAdaptation from \"sap/ui/rta/api/startKeyUserAdaptation\";\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport URLParsing from \"sap/ushell/services/URLParsing\";\nimport { UserActionProperties } from \"../Layout\";\n\nexport default class KeyUserPersonalization extends BaseObject {\n\tprivate component!: UIComponent | undefined;\n\tprivate i18nBundle!: ResourceBundle;\n\tprivate adaptationData!: object | string;\n\n\tconstructor(component: UIComponent | undefined, i18nBundle: ResourceBundle) {\n\t\tsuper();\n\n\t\tthis.component = component;\n\t\tthis.i18nBundle = i18nBundle;\n\n\t\tEventHub.on(\"keyUserAdaptationDataChange\").do(() => {\n\t\t\tconst adaptationCustomData = this.component?.byId(\"sectionWrapper\")?.getAggregation(\"adaptationData\") as CustomData;\n\t\t\tif (adaptationCustomData) {\n\t\t\t\tthis.adaptationData = adaptationCustomData.getValue() as object | string;\n\n\t\t\t\t// parse adaptation data if string\n\t\t\t\tif (typeof this.adaptationData === \"string\") {\n\t\t\t\t\tthis.adaptationData = JSON.parse(this.adaptationData) as object;\n\t\t\t\t\tadaptationCustomData.setValue(this.adaptationData);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async getRTAUserAction(): Promise<UserActionProperties | undefined> {\n\t\ttry {\n\t\t\tawait Lib.load({ name: \"sap.ui.fl\" });\n\t\t\tconst InitialFlexAPI = (await import(\"sap/ui/fl/initial/api/InitialFlexAPI\")).default;\n\t\t\tconst isKeyUser = await InitialFlexAPI.isKeyUser();\n\t\t\tlet rtaUserActionProperties: UserActionProperties | undefined;\n\n\t\t\tif (isKeyUser) {\n\t\t\t\trtaUserActionProperties = {\n\t\t\t\t\ticon: \"sap-icon://wrench\",\n\t\t\t\t\ttext: this.i18nBundle.getText(\"adaptUIBtn\") as string,\n\t\t\t\t\ttooltip: this.i18nBundle.getText(\"adaptUIBtn\") as string,\n\t\t\t\t\tpress: () => this.triggerRTA()\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn Promise.resolve(rtaUserActionProperties);\n\t\t} catch (error: unknown) {\n\t\t\tLog.error(error instanceof Error ? error.message : (error as string));\n\t\t\treturn;\n\t\t}\n\t}\n\n\tprivate async triggerRTA() {\n\t\ttry {\n\t\t\tawait Lib.load({ name: \"sap.ui.fl\" });\n\t\t\tif (this.component) {\n\t\t\t\tstartKeyUserAdaptation({ rootControl: this.component }).catch(async () => {\n\t\t\t\t\tconst URLParsingService = await Container.getServiceAsync<URLParsing>(\"URLParsing\");\n\t\t\t\t\tconst hashChangerInstance = HashChanger.getInstance();\n\t\t\t\t\t//Trigger Manual Reload of Application in case of failure\n\t\t\t\t\tconst shellHash = URLParsingService.parseShellHash(hashChangerInstance.getHash());\n\t\t\t\t\tconst hashParams = (shellHash?.params || {}) as Record<string, unknown>;\n\t\t\t\t\tconst rtaKey = \"sap-ui-fl-max-layer\";\n\t\t\t\t\tconst value = \"CUSTOMER\";\n\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(hashParams, rtaKey)) {\n\t\t\t\t\t\thashParams[rtaKey] = value;\n\t\t\t\t\t\thashChangerInstance.replaceHash(URLParsingService.constructShellHash(shellHash), \"Unknown\");\n\t\t\t\t\t}\n\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tLog.error(error instanceof Error ? error.message : (error as string));\n\t\t\treturn;\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,93 +0,0 @@
1
- /*!
2
- * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
- */
5
-
6
- import ResourceBundle from "sap/base/i18n/ResourceBundle";
7
- import Log from "sap/base/Log";
8
- import BaseObject from "sap/ui/base/Object";
9
- import CustomData from "sap/ui/core/CustomData";
10
- import Lib from "sap/ui/core/Lib";
11
- import HashChanger from "sap/ui/core/routing/HashChanger";
12
- import UIComponent from "sap/ui/core/UIComponent";
13
- import startKeyUserAdaptation from "sap/ui/rta/api/startKeyUserAdaptation";
14
- import Container from "sap/ushell/Container";
15
- import EventHub from "sap/ushell/EventHub";
16
- import URLParsing from "sap/ushell/services/URLParsing";
17
- import { UserActionProperties } from "../Layout";
18
-
19
- export default class KeyUserPersonalization extends BaseObject {
20
- private component!: UIComponent | undefined;
21
- private i18nBundle!: ResourceBundle;
22
- private adaptationData!: object | string;
23
-
24
- constructor(component: UIComponent | undefined, i18nBundle: ResourceBundle) {
25
- super();
26
-
27
- this.component = component;
28
- this.i18nBundle = i18nBundle;
29
-
30
- EventHub.on("keyUserAdaptationDataChange").do(() => {
31
- const adaptationCustomData = this.component?.byId("sectionWrapper")?.getAggregation("adaptationData") as CustomData;
32
- if (adaptationCustomData) {
33
- this.adaptationData = adaptationCustomData.getValue() as object | string;
34
-
35
- // parse adaptation data if string
36
- if (typeof this.adaptationData === "string") {
37
- this.adaptationData = JSON.parse(this.adaptationData) as object;
38
- adaptationCustomData.setValue(this.adaptationData);
39
- }
40
- }
41
- });
42
- }
43
-
44
- public async getRTAUserAction(): Promise<UserActionProperties | undefined> {
45
- try {
46
- await Lib.load({ name: "sap.ui.fl" });
47
- const InitialFlexAPI = (await import("sap/ui/fl/initial/api/InitialFlexAPI")).default;
48
- const isKeyUser = await InitialFlexAPI.isKeyUser();
49
- let rtaUserActionProperties: UserActionProperties | undefined;
50
-
51
- if (isKeyUser) {
52
- rtaUserActionProperties = {
53
- icon: "sap-icon://wrench",
54
- text: this.i18nBundle.getText("adaptUIBtn") as string,
55
- tooltip: this.i18nBundle.getText("adaptUIBtn") as string,
56
- press: () => this.triggerRTA()
57
- };
58
- }
59
-
60
- return Promise.resolve(rtaUserActionProperties);
61
- } catch (error: unknown) {
62
- Log.error(error instanceof Error ? error.message : (error as string));
63
- return;
64
- }
65
- }
66
-
67
- private async triggerRTA() {
68
- try {
69
- await Lib.load({ name: "sap.ui.fl" });
70
- if (this.component) {
71
- startKeyUserAdaptation({ rootControl: this.component }).catch(async () => {
72
- const URLParsingService = await Container.getServiceAsync<URLParsing>("URLParsing");
73
- const hashChangerInstance = HashChanger.getInstance();
74
- //Trigger Manual Reload of Application in case of failure
75
- const shellHash = URLParsingService.parseShellHash(hashChangerInstance.getHash());
76
- const hashParams = (shellHash?.params || {}) as Record<string, unknown>;
77
- const rtaKey = "sap-ui-fl-max-layer";
78
- const value = "CUSTOMER";
79
-
80
- if (!Object.prototype.hasOwnProperty.call(hashParams, rtaKey)) {
81
- hashParams[rtaKey] = value;
82
- hashChangerInstance.replaceHash(URLParsingService.constructShellHash(shellHash), "Unknown");
83
- }
84
-
85
- window.location.reload();
86
- });
87
- }
88
- } catch (error: unknown) {
89
- Log.error(error instanceof Error ? error.message : (error as string));
90
- return;
91
- }
92
- }
93
- }