@sapui5/sap.cux.home 1.135.0 → 1.136.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 (436) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js +23 -5
  3. package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js.map +1 -1
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  5. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  8. package/src/sap/cux/home/AdvancedSettingsPanel.ts +24 -5
  9. package/src/sap/cux/home/AppsAdditionPanel-dbg.js +919 -0
  10. package/src/sap/cux/home/AppsAdditionPanel-dbg.js.map +1 -0
  11. package/src/sap/cux/home/AppsAdditionPanel.d.ts +293 -0
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -0
  13. package/src/sap/cux/home/AppsAdditionPanel.js +6 -0
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -0
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +757 -0
  16. package/src/sap/cux/home/AppsContainer-dbg.js +42 -28
  17. package/src/sap/cux/home/AppsContainer-dbg.js.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.d.ts +17 -1
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.js +1 -1
  21. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  22. package/src/sap/cux/home/AppsContainer.ts +27 -6
  23. package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js +261 -0
  24. package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js.map +1 -0
  25. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts +8 -0
  26. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +1 -0
  27. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js +6 -0
  28. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +1 -0
  29. package/src/sap/cux/home/AppsContainerGenericPlaceholder.ts +251 -0
  30. package/src/sap/cux/home/BaseAppPanel-dbg.js +4 -5
  31. package/src/sap/cux/home/BaseAppPanel-dbg.js.map +1 -1
  32. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  33. package/src/sap/cux/home/BaseAppPanel.js +1 -1
  34. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  35. package/src/sap/cux/home/BaseAppPanel.ts +3 -5
  36. package/src/sap/cux/home/BaseAppPersPanel-dbg.js +2 -1
  37. package/src/sap/cux/home/BaseAppPersPanel-dbg.js.map +1 -1
  38. package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
  39. package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
  40. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  41. package/src/sap/cux/home/BaseAppPersPanel.ts +2 -1
  42. package/src/sap/cux/home/BaseContainer-dbg.js +24 -3
  43. package/src/sap/cux/home/BaseContainer-dbg.js.map +1 -1
  44. package/src/sap/cux/home/BaseContainer.d.ts +10 -0
  45. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  46. package/src/sap/cux/home/BaseContainer.js +1 -1
  47. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  48. package/src/sap/cux/home/BaseContainer.ts +24 -2
  49. package/src/sap/cux/home/BaseContainerRenderer-dbg.js +18 -1
  50. package/src/sap/cux/home/BaseContainerRenderer-dbg.js.map +1 -1
  51. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  52. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  53. package/src/sap/cux/home/BaseContainerRenderer.js +1 -1
  54. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  55. package/src/sap/cux/home/BaseContainerRenderer.ts +25 -4
  56. package/src/sap/cux/home/BaseLayout-dbg.js +22 -2
  57. package/src/sap/cux/home/BaseLayout-dbg.js.map +1 -1
  58. package/src/sap/cux/home/BaseLayout.d.ts +6 -0
  59. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  60. package/src/sap/cux/home/BaseLayout.js +1 -1
  61. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  62. package/src/sap/cux/home/BaseLayout.ts +23 -2
  63. package/src/sap/cux/home/BaseNewsItem-dbg.js +3 -3
  64. package/src/sap/cux/home/BaseNewsItem-dbg.js.map +1 -1
  65. package/src/sap/cux/home/BaseNewsItem.js +1 -1
  66. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  67. package/src/sap/cux/home/BaseNewsItem.ts +3 -3
  68. package/src/sap/cux/home/BaseNewsPanel-dbg.js +4 -5
  69. package/src/sap/cux/home/BaseNewsPanel-dbg.js.map +1 -1
  70. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  71. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  72. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  73. package/src/sap/cux/home/BaseNewsPanel.ts +5 -4
  74. package/src/sap/cux/home/BasePanel-dbg.js +1 -1
  75. package/src/sap/cux/home/BasePanel-dbg.js.map +1 -1
  76. package/src/sap/cux/home/BasePanel.js +1 -1
  77. package/src/sap/cux/home/BasePanel.js.map +1 -1
  78. package/src/sap/cux/home/BasePanel.ts +1 -1
  79. package/src/sap/cux/home/BaseSettingsDialog-dbg.js +11 -0
  80. package/src/sap/cux/home/BaseSettingsDialog-dbg.js.map +1 -1
  81. package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
  82. package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
  83. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  84. package/src/sap/cux/home/BaseSettingsDialog.ts +12 -0
  85. package/src/sap/cux/home/BaseSettingsPanel-dbg.js +67 -2
  86. package/src/sap/cux/home/BaseSettingsPanel-dbg.js.map +1 -1
  87. package/src/sap/cux/home/BaseSettingsPanel.d.ts +42 -0
  88. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  89. package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +75 -0
  90. package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
  91. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  92. package/src/sap/cux/home/BaseSettingsPanel.ts +70 -2
  93. package/src/sap/cux/home/CardsPanel-dbg.js +548 -168
  94. package/src/sap/cux/home/CardsPanel-dbg.js.map +1 -1
  95. package/src/sap/cux/home/CardsPanel.d.ts +121 -15
  96. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  97. package/src/sap/cux/home/CardsPanel.gen.d.ts +78 -0
  98. package/src/sap/cux/home/CardsPanel.js +1 -1
  99. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  100. package/src/sap/cux/home/CardsPanel.ts +450 -97
  101. package/src/sap/cux/home/ContentAdditionDialog-dbg.js +353 -0
  102. package/src/sap/cux/home/ContentAdditionDialog-dbg.js.map +1 -0
  103. package/src/sap/cux/home/ContentAdditionDialog.d.ts +82 -0
  104. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -0
  105. package/src/sap/cux/home/ContentAdditionDialog.js +6 -0
  106. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -0
  107. package/src/sap/cux/home/ContentAdditionDialog.ts +214 -0
  108. package/src/sap/cux/home/ErrorPanel-dbg.js +3 -3
  109. package/src/sap/cux/home/ErrorPanel-dbg.js.map +1 -1
  110. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  111. package/src/sap/cux/home/ErrorPanel.js +1 -1
  112. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  113. package/src/sap/cux/home/ErrorPanel.ts +4 -2
  114. package/src/sap/cux/home/FavAppPanel-dbg.js +352 -333
  115. package/src/sap/cux/home/FavAppPanel-dbg.js.map +1 -1
  116. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  117. package/src/sap/cux/home/FavAppPanel.js +1 -1
  118. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  119. package/src/sap/cux/home/FavAppPanel.ts +63 -54
  120. package/src/sap/cux/home/InsightsAdditionPanel-dbg.js +97 -0
  121. package/src/sap/cux/home/InsightsAdditionPanel-dbg.js.map +1 -0
  122. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +57 -0
  123. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -0
  124. package/src/sap/cux/home/InsightsAdditionPanel.js +6 -0
  125. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -0
  126. package/src/sap/cux/home/InsightsAdditionPanel.ts +94 -0
  127. package/src/sap/cux/home/InsightsContainer-dbg.js +22 -2
  128. package/src/sap/cux/home/InsightsContainer-dbg.js.map +1 -1
  129. package/src/sap/cux/home/InsightsContainer.d.ts +14 -0
  130. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  131. package/src/sap/cux/home/InsightsContainer.js +1 -1
  132. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  133. package/src/sap/cux/home/InsightsContainer.ts +22 -1
  134. package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js +401 -0
  135. package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js.map +1 -0
  136. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts +8 -0
  137. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +1 -0
  138. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js +6 -0
  139. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +1 -0
  140. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.ts +391 -0
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js +10 -9
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js.map +1 -1
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  144. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +1 -1
  145. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  146. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +9 -8
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js +2 -2
  148. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js.map +1 -1
  149. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +1 -1
  150. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  151. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -2
  152. package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js +6 -6
  153. package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js.map +1 -1
  154. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
  155. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  156. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +6 -6
  157. package/src/sap/cux/home/Layout-dbg.js +58 -33
  158. package/src/sap/cux/home/Layout-dbg.js.map +1 -1
  159. package/src/sap/cux/home/Layout.d.ts +13 -0
  160. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  161. package/src/sap/cux/home/Layout.js +1 -1
  162. package/src/sap/cux/home/Layout.js.map +1 -1
  163. package/src/sap/cux/home/Layout.ts +48 -20
  164. package/src/sap/cux/home/LayoutSettingsPanel-dbg.js +1 -10
  165. package/src/sap/cux/home/LayoutSettingsPanel-dbg.js.map +1 -1
  166. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  167. package/src/sap/cux/home/LayoutSettingsPanel.js +1 -1
  168. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  169. package/src/sap/cux/home/LayoutSettingsPanel.ts +2 -10
  170. package/src/sap/cux/home/NewsAndPagesContainer-dbg.js +35 -17
  171. package/src/sap/cux/home/NewsAndPagesContainer-dbg.js.map +1 -1
  172. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +7 -0
  173. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  174. package/src/sap/cux/home/NewsAndPagesContainer.js +1 -1
  175. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  176. package/src/sap/cux/home/NewsAndPagesContainer.ts +40 -16
  177. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js +164 -0
  178. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js.map +1 -0
  179. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +8 -0
  180. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +1 -0
  181. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js +6 -0
  182. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +1 -0
  183. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.ts +154 -0
  184. package/src/sap/cux/home/NewsGroup-dbg.js +112 -79
  185. package/src/sap/cux/home/NewsGroup-dbg.js.map +1 -1
  186. package/src/sap/cux/home/NewsGroup.d.ts +1 -0
  187. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  188. package/src/sap/cux/home/NewsGroup.js +1 -1
  189. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  190. package/src/sap/cux/home/NewsGroup.ts +136 -100
  191. package/src/sap/cux/home/NewsPanel-dbg.js +541 -173
  192. package/src/sap/cux/home/NewsPanel-dbg.js.map +1 -1
  193. package/src/sap/cux/home/NewsPanel.d.ts +156 -16
  194. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  195. package/src/sap/cux/home/NewsPanel.js +1 -1
  196. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  197. package/src/sap/cux/home/NewsPanel.ts +452 -82
  198. package/src/sap/cux/home/NewsSettingsPanel-dbg.js +61 -20
  199. package/src/sap/cux/home/NewsSettingsPanel-dbg.js.map +1 -1
  200. package/src/sap/cux/home/NewsSettingsPanel.d.ts +14 -0
  201. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
  203. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  204. package/src/sap/cux/home/NewsSettingsPanel.ts +75 -21
  205. package/src/sap/cux/home/NoDataContainer-dbg.js +3 -3
  206. package/src/sap/cux/home/NoDataContainer-dbg.js.map +1 -1
  207. package/src/sap/cux/home/NoDataContainer.d.ts +1 -0
  208. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  209. package/src/sap/cux/home/NoDataContainer.js +1 -1
  210. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  211. package/src/sap/cux/home/NoDataContainer.ts +4 -2
  212. package/src/sap/cux/home/PagePanel-dbg.js +86 -75
  213. package/src/sap/cux/home/PagePanel-dbg.js.map +1 -1
  214. package/src/sap/cux/home/PagePanel.d.ts +25 -3
  215. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  216. package/src/sap/cux/home/PagePanel.js +1 -1
  217. package/src/sap/cux/home/PagePanel.js.map +1 -1
  218. package/src/sap/cux/home/PagePanel.ts +91 -76
  219. package/src/sap/cux/home/PageSettingsPanel-dbg.js +16 -15
  220. package/src/sap/cux/home/PageSettingsPanel-dbg.js.map +1 -1
  221. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  222. package/src/sap/cux/home/PageSettingsPanel.js +1 -1
  223. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  224. package/src/sap/cux/home/PageSettingsPanel.ts +15 -14
  225. package/src/sap/cux/home/RecentAppPanel-dbg.js +2 -2
  226. package/src/sap/cux/home/RecentAppPanel-dbg.js.map +1 -1
  227. package/src/sap/cux/home/RecentAppPanel.js +1 -1
  228. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  229. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  230. package/src/sap/cux/home/RecommendedAppPanel-dbg.js +4 -3
  231. package/src/sap/cux/home/RecommendedAppPanel-dbg.js.map +1 -1
  232. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  233. package/src/sap/cux/home/RecommendedAppPanel.js +1 -1
  234. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  235. package/src/sap/cux/home/RecommendedAppPanel.ts +4 -2
  236. package/src/sap/cux/home/SettingsDialog-dbg.js +4 -3
  237. package/src/sap/cux/home/SettingsDialog-dbg.js.map +1 -1
  238. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  239. package/src/sap/cux/home/SettingsDialog.js +1 -1
  240. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  241. package/src/sap/cux/home/SettingsDialog.ts +4 -2
  242. package/src/sap/cux/home/TaskPanel-dbg.js +16 -12
  243. package/src/sap/cux/home/TaskPanel-dbg.js.map +1 -1
  244. package/src/sap/cux/home/TaskPanel.d.ts +1 -2
  245. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  246. package/src/sap/cux/home/TaskPanel.js +1 -1
  247. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  248. package/src/sap/cux/home/TaskPanel.ts +19 -12
  249. package/src/sap/cux/home/TilesPanel-dbg.js +9 -8
  250. package/src/sap/cux/home/TilesPanel-dbg.js.map +1 -1
  251. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  252. package/src/sap/cux/home/TilesPanel.js +1 -1
  253. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  254. package/src/sap/cux/home/TilesPanel.ts +15 -8
  255. package/src/sap/cux/home/ToDoPanel-dbg.js +34 -25
  256. package/src/sap/cux/home/ToDoPanel-dbg.js.map +1 -1
  257. package/src/sap/cux/home/ToDoPanel.d.ts +0 -7
  258. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  259. package/src/sap/cux/home/ToDoPanel.js +1 -1
  260. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  261. package/src/sap/cux/home/ToDoPanel.ts +27 -29
  262. package/src/sap/cux/home/ToDosContainer-dbg.js +27 -18
  263. package/src/sap/cux/home/ToDosContainer-dbg.js.map +1 -1
  264. package/src/sap/cux/home/ToDosContainer.d.ts +7 -0
  265. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  266. package/src/sap/cux/home/ToDosContainer.js +1 -1
  267. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  268. package/src/sap/cux/home/ToDosContainer.ts +10 -0
  269. package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js +84 -0
  270. package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js.map +1 -0
  271. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts +8 -0
  272. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +1 -0
  273. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js +6 -0
  274. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +1 -0
  275. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.ts +74 -0
  276. package/src/sap/cux/home/i18n/messagebundle.properties +63 -1
  277. package/src/sap/cux/home/i18n/messagebundle_ar.properties +42 -1
  278. package/src/sap/cux/home/i18n/messagebundle_bg.properties +43 -1
  279. package/src/sap/cux/home/i18n/messagebundle_ca.properties +43 -1
  280. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +43 -1
  281. package/src/sap/cux/home/i18n/messagebundle_cs.properties +43 -1
  282. package/src/sap/cux/home/i18n/messagebundle_cy.properties +43 -1
  283. package/src/sap/cux/home/i18n/messagebundle_da.properties +43 -1
  284. package/src/sap/cux/home/i18n/messagebundle_de.properties +43 -1
  285. package/src/sap/cux/home/i18n/messagebundle_el.properties +44 -2
  286. package/src/sap/cux/home/i18n/messagebundle_en.properties +43 -246
  287. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +43 -1
  288. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +43 -1
  289. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +31 -1
  290. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +43 -1
  291. package/src/sap/cux/home/i18n/messagebundle_es.properties +43 -1
  292. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +43 -1
  293. package/src/sap/cux/home/i18n/messagebundle_et.properties +43 -1
  294. package/src/sap/cux/home/i18n/messagebundle_fi.properties +43 -1
  295. package/src/sap/cux/home/i18n/messagebundle_fr.properties +43 -1
  296. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +42 -1
  297. package/src/sap/cux/home/i18n/messagebundle_hi.properties +43 -1
  298. package/src/sap/cux/home/i18n/messagebundle_hr.properties +42 -1
  299. package/src/sap/cux/home/i18n/messagebundle_hu.properties +43 -1
  300. package/src/sap/cux/home/i18n/messagebundle_id.properties +47 -5
  301. package/src/sap/cux/home/i18n/messagebundle_it.properties +43 -1
  302. package/src/sap/cux/home/i18n/messagebundle_iw.properties +43 -1
  303. package/src/sap/cux/home/i18n/messagebundle_ja.properties +43 -1
  304. package/src/sap/cux/home/i18n/messagebundle_kk.properties +43 -1
  305. package/src/sap/cux/home/i18n/messagebundle_ko.properties +43 -1
  306. package/src/sap/cux/home/i18n/messagebundle_lt.properties +42 -1
  307. package/src/sap/cux/home/i18n/messagebundle_lv.properties +43 -1
  308. package/src/sap/cux/home/i18n/messagebundle_mk.properties +43 -1
  309. package/src/sap/cux/home/i18n/messagebundle_ms.properties +43 -1
  310. package/src/sap/cux/home/i18n/messagebundle_nl.properties +43 -1
  311. package/src/sap/cux/home/i18n/messagebundle_no.properties +44 -2
  312. package/src/sap/cux/home/i18n/messagebundle_pl.properties +44 -2
  313. package/src/sap/cux/home/i18n/messagebundle_pt.properties +43 -1
  314. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +43 -1
  315. package/src/sap/cux/home/i18n/messagebundle_ro.properties +43 -1
  316. package/src/sap/cux/home/i18n/messagebundle_ru.properties +43 -1
  317. package/src/sap/cux/home/i18n/messagebundle_sh.properties +43 -1
  318. package/src/sap/cux/home/i18n/messagebundle_sk.properties +42 -1
  319. package/src/sap/cux/home/i18n/messagebundle_sl.properties +44 -2
  320. package/src/sap/cux/home/i18n/messagebundle_sr.properties +43 -1
  321. package/src/sap/cux/home/i18n/messagebundle_sv.properties +43 -1
  322. package/src/sap/cux/home/i18n/messagebundle_th.properties +43 -2
  323. package/src/sap/cux/home/i18n/messagebundle_tr.properties +42 -1
  324. package/src/sap/cux/home/i18n/messagebundle_uk.properties +43 -1
  325. package/src/sap/cux/home/i18n/messagebundle_vi.properties +42 -1
  326. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +43 -1
  327. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +42 -1
  328. package/src/sap/cux/home/interface/AppsInterface-dbg.js.map +1 -1
  329. package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -3
  330. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  331. package/src/sap/cux/home/interface/AppsInterface.ts +5 -3
  332. package/src/sap/cux/home/interface/CardsInterface-dbg.js +32 -0
  333. package/src/sap/cux/home/interface/CardsInterface-dbg.js.map +1 -1
  334. package/src/sap/cux/home/interface/CardsInterface.d.ts +320 -55
  335. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  336. package/src/sap/cux/home/interface/CardsInterface.js +5 -1
  337. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  338. package/src/sap/cux/home/interface/CardsInterface.ts +359 -55
  339. package/src/sap/cux/home/library-preload.js +88 -45
  340. package/src/sap/cux/home/library-preload.js.map +1 -1
  341. package/src/sap/cux/home/manifest.json +4 -4
  342. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -0
  343. package/src/sap/cux/home/themes/base/BaseLayout.less +1 -0
  344. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +69 -0
  345. package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +37 -12
  346. package/src/sap/cux/home/themes/base/PlaceHolder.less +1374 -0
  347. package/src/sap/cux/home/themes/base/ToDosContainer.less +1 -1
  348. package/src/sap/cux/home/themes/base/library-RTL.css +2 -2
  349. package/src/sap/cux/home/themes/base/library-parameters.json +1 -1
  350. package/src/sap/cux/home/themes/base/library.css +2 -2
  351. package/src/sap/cux/home/themes/base/library.source.less +2 -0
  352. package/src/sap/cux/home/themes/sap_fiori_3/library-RTL.css +2 -2
  353. package/src/sap/cux/home/themes/sap_fiori_3/library-parameters.json +1 -1
  354. package/src/sap/cux/home/themes/sap_fiori_3/library.css +2 -2
  355. package/src/sap/cux/home/themes/sap_fiori_3_dark/library-RTL.css +2 -2
  356. package/src/sap/cux/home/themes/sap_fiori_3_dark/library-parameters.json +1 -1
  357. package/src/sap/cux/home/themes/sap_fiori_3_dark/library.css +2 -2
  358. package/src/sap/cux/home/themes/sap_fiori_3_hcb/AppsContainer.less +1 -0
  359. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-RTL.css +2 -2
  360. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-parameters.json +1 -1
  361. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.css +2 -2
  362. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.source.less +2 -0
  363. package/src/sap/cux/home/themes/sap_fiori_3_hcw/AppsContainer.less +1 -0
  364. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-RTL.css +2 -2
  365. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-parameters.json +1 -1
  366. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.css +2 -2
  367. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.source.less +2 -0
  368. package/src/sap/cux/home/themes/sap_horizon/library-RTL.css +2 -2
  369. package/src/sap/cux/home/themes/sap_horizon/library-parameters.json +1 -1
  370. package/src/sap/cux/home/themes/sap_horizon/library.css +2 -2
  371. package/src/sap/cux/home/themes/sap_horizon_dark/library-RTL.css +2 -2
  372. package/src/sap/cux/home/themes/sap_horizon_dark/library-parameters.json +1 -1
  373. package/src/sap/cux/home/themes/sap_horizon_dark/library.css +2 -2
  374. package/src/sap/cux/home/themes/sap_horizon_hcb/AppsContainer.less +1 -0
  375. package/src/sap/cux/home/themes/sap_horizon_hcb/library-RTL.css +2 -2
  376. package/src/sap/cux/home/themes/sap_horizon_hcb/library-parameters.json +1 -1
  377. package/src/sap/cux/home/themes/sap_horizon_hcb/library.css +2 -2
  378. package/src/sap/cux/home/themes/sap_horizon_hcb/library.source.less +2 -0
  379. package/src/sap/cux/home/themes/sap_horizon_hcw/AppsContainer.less +1 -0
  380. package/src/sap/cux/home/themes/sap_horizon_hcw/library-RTL.css +2 -2
  381. package/src/sap/cux/home/themes/sap_horizon_hcw/library-parameters.json +1 -1
  382. package/src/sap/cux/home/themes/sap_horizon_hcw/library.css +2 -2
  383. package/src/sap/cux/home/themes/sap_horizon_hcw/library.source.less +2 -0
  384. package/src/sap/cux/home/utils/AppManager-dbg.js +405 -440
  385. package/src/sap/cux/home/utils/AppManager-dbg.js.map +1 -1
  386. package/src/sap/cux/home/utils/AppManager.d.ts +88 -124
  387. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  388. package/src/sap/cux/home/utils/AppManager.js +1 -1
  389. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  390. package/src/sap/cux/home/utils/AppManager.ts +351 -542
  391. package/src/sap/cux/home/utils/Constants-dbg.js +25 -1
  392. package/src/sap/cux/home/utils/Constants-dbg.js.map +1 -1
  393. package/src/sap/cux/home/utils/Constants.d.ts +17 -0
  394. package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
  395. package/src/sap/cux/home/utils/Constants.js +1 -1
  396. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  397. package/src/sap/cux/home/utils/Constants.ts +20 -1
  398. package/src/sap/cux/home/utils/Device-dbg.js +49 -1
  399. package/src/sap/cux/home/utils/Device-dbg.js.map +1 -1
  400. package/src/sap/cux/home/utils/Device.d.ts +13 -0
  401. package/src/sap/cux/home/utils/Device.d.ts.map +1 -1
  402. package/src/sap/cux/home/utils/Device.js +1 -1
  403. package/src/sap/cux/home/utils/Device.js.map +1 -1
  404. package/src/sap/cux/home/utils/Device.ts +58 -1
  405. package/src/sap/cux/home/utils/InsightsUtils-dbg.js +25 -0
  406. package/src/sap/cux/home/utils/InsightsUtils-dbg.js.map +1 -1
  407. package/src/sap/cux/home/utils/InsightsUtils.d.ts +14 -0
  408. package/src/sap/cux/home/utils/InsightsUtils.d.ts.map +1 -1
  409. package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
  410. package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
  411. package/src/sap/cux/home/utils/InsightsUtils.ts +25 -0
  412. package/src/sap/cux/home/utils/PerformanceUtils-dbg.js +5 -2
  413. package/src/sap/cux/home/utils/PerformanceUtils-dbg.js.map +1 -1
  414. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +1 -0
  415. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  416. package/src/sap/cux/home/utils/PerformanceUtils.js +1 -1
  417. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  418. package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -1
  419. package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js +1599 -0
  420. package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js.map +1 -0
  421. package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts +534 -0
  422. package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts.map +1 -0
  423. package/src/sap/cux/home/utils/RecommendedCardUtil.js +6 -0
  424. package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -0
  425. package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1945 -0
  426. package/src/sap/cux/home/utils/SituationUtils-dbg.js +1 -1
  427. package/src/sap/cux/home/utils/SituationUtils-dbg.js.map +1 -1
  428. package/src/sap/cux/home/utils/SituationUtils.js +1 -1
  429. package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
  430. package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
  431. package/src/sap/cux/home/utils/UshellPersonalizer-dbg.js.map +1 -1
  432. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +4 -1
  433. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  434. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  435. package/src/sap/cux/home/utils/UshellPersonalizer.ts +2 -1
  436. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +126 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PagePanel.js","names":["sap","ui","define","Button","FlexBox","GenericTile","IllustratedMessage","VBox","sap_m_library","EventBus","__BasePagePanel","__MenuItem","__Page","___utils_Constants","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","__PageManager","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","LoadState","BasePagePanel","MenuItem","Page","PAGE_SELECTION_LIMIT","SETTINGS_PANELS_KEYS","DeviceType","attachKeyboardHandler","focusDraggedItem","addFESRId","addFESRSemanticStepName","PageManager","PersonalisationUtils","UShellPersonalizer","maxTileSize","minTileSize","CustomFlexBox","extend","renderer","apiVersion","metadata","library","aggregations","items","type","multiple","singularName","dnd","draggable","droppable","constructor","_constructor","id","settings","FlexBox.prototype.constructor.call","this","PagePanel","properties","title","group","visibility","key","pages","_constructor2","BasePagePanel.prototype.constructor.call","init","_init","_this","BasePagePanel.prototype.init.call","_oWrapperFlexBox","getId","justifyContent","height","width","direction","renderType","wrap","getPlaceholderPageTiles","addStyleClass","addDragDropConfigTo","oEvent","_handlePageDnd","Promise","resolve","then","e","reject","_addContent","setProperty","_i18nBundle","getText","menuItem","icon","press","_handleEditPages","addAggregation","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aFavPages","writeFavPagesIntoPers","_getInnerControls","_importdone","getData","stateData","status","publish","_getData","forceUpdate","arguments","length","undefined","_this2","_temp2","fireEvent","oPagePromise","_temp","_getPageManagerInstance","getFavoritePages","parent","getParent","_getLayout","openSettingsDialog","PAGES","_getPlaceholderPageTiles","placeholderArray","Array","fill","Loading","placeholderTiles","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","attachResizeHandler","_attachResizeHandler","bIsNewsTileVisible","containerWidth","pagesContentWrapper","containerWrapper","iFavPagesCount","domRef","getDomRef","domRefClientWidth","clientWidth","pagesPerRow","tileWidth","hBoxWidth","finalTilesWidth","wrapperWidth","gap","flexWrapperWidth","setAlignItems","spaceRequired","_setPropertyValues","pagesTileWidth","setWidth","_handleResizeForDesktop","oErr","Error","getUserAvailablePages","_getUserAvailablePages","_this3","fetchAllAvailablePages","sDeviceType","getDeviceType","pagesToDisplay","Math","ceil","Desktop","LargeDesktop","Tablet","myFavPage","oInnerControls","oParent","forEach","oPage","push","subTitle","spaceTitle","bgColor","BGColor","pageId","spaceId","url","oFav","header","getTitle","subheader","getSubTitle","onPageTilePress","backgroundColor","getBgColor","tileIcon","getIcon","getProperty","panelLoadedFn","loaded","count","_setFavPagesContent","_setNoPageContent","removeAggregation","removeAllItems","removeStyleClass","oTile","addItem","_createNoPageContent","_oIllusMsg","illustrationSize","illustrationType","description","oAddPageBtn","text","tooltip","oWrapperNoPageVBox","backgroundDesign","addAdditionalContent","oVal","propNames","Object","keys","sProperty","_this4","sInsertPosition","getParameter","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_temp3","_DragnDropPages","_this5","oItemMoved","splice","_writeFavPagesIntoPers","favPages","_this6","_temp5","oPersonalizer","read","oPersData","favouritePages","write","_temp4","persContainerId","getOwnerComponent","_UShellPersonalizer$g","applyColorPersonalizations","_applyColorPersonalizations","personalizations","applyIconPersonalizations","_applyIconPersonalizations","pageManagerInstance","getPersContainerId"],"sources":["PagePanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport FlexBox, { $FlexBoxSettings } from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport type { $BasePagePanelSettings } from \"./BasePagePanel\";\nimport BasePagePanel from \"./BasePagePanel\";\nimport MenuItem from \"./MenuItem\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport Page from \"./Page\";\nimport { ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { PAGE_SELECTION_LIMIT, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { DeviceType } from \"./utils/Device\";\nimport { attachKeyboardHandler, focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRSemanticStepName } from \"./utils/FESRUtil\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer from \"./utils/UshellPersonalizer\";\n\nconst maxTileSize = 15,\n\tminTileSize = 7;\n\n/**\n *\n * CustomFlexBox extending FlexBox to enable drag & drop.\n *\n * @extends sap.m.FlexBox\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.CustomFlexBox\n */\nclass CustomFlexBox extends FlexBox {\n\tconstructor(idOrSettings?: string | $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\taggregations: {\n\t\t\titems: { type: \"sap.ui.core.Control\", multiple: true, singularName: \"item\", dnd: { draggable: true, droppable: true } }\n\t\t}\n\t};\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n}\n\n/**\n *\n * Panel class for managing and storing Pages.\n *\n * @extends sap.cux.home.BasePagePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @internal\n * @experimental Since 1.121\n * @public\n *\n * @alias sap.cux.home.PagePanel\n */\n\nexport default class PagePanel extends BasePagePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the page panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the page panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", visibility: \"hidden\" }\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Aggregation of pages available within the page panel\n\t\t\t */\n\t\t\tpages: { type: \"sap.cux.home.Page\", singularName: \"page\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\tprivate _oWrapperFlexBox!: CustomFlexBox;\n\tprivate oPagePromise!: Promise<IPage[]> | null;\n\tprivate persContainerId!: string;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate aFavPages!: IPage[];\n\tprivate oInnerControls!: GenericTile[];\n\tprivate _oIllusMsg!: IllustratedMessage;\n\tprivate oAddPageBtn!: Button;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate oEventBus!: EventBus;\n\n\t/**\n\t * Constructor for a new Page panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePagePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tinit() {\n\t\tsuper.init();\n\n\t\tthis._oWrapperFlexBox = new CustomFlexBox(`${this.getId()}-pageWrapper`, {\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\",\n\t\t\trenderType: \"Bare\",\n\t\t\twrap: \"Wrap\",\n\t\t\titems: this.getPlaceholderPageTiles()\n\t\t}).addStyleClass(\"newsSlideFlexGap sapUiSmallMarginTop sapUiSmallMarginBottom\");\n\t\tthis.addDragDropConfigTo(\n\t\t\tthis._oWrapperFlexBox,\n\t\t\t(oEvent) => void this._handlePageDnd(oEvent),\n\t\t\tasync (oEvent: KeyboardEvent) => {\n\t\t\t\tawait attachKeyboardHandler(oEvent, true);\n\t\t\t}\n\t\t);\n\n\t\tthis._addContent(this._oWrapperFlexBox);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"pageTitle\"));\n\n\t\tconst menuItem = new MenuItem(`${this.getId()}-managePages`, {\n\t\t\ttitle: this._i18nBundle.getText(\"mngPage\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tpress: () => this._handleEditPages()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"managePages\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"favPagesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tthis.aFavPages = oData as IPage[];\n\t\t\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\t\t\tthis._getInnerControls();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Subscribe to page changes from pageManager\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.getData(true);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImported\", stateData);\n\t}\n\n\tpublic async getData(forceUpdate: boolean = false) {\n\t\tif (this.oPagePromise === undefined || this.oPagePromise === null || forceUpdate) {\n\t\t\tthis.oPagePromise = this._getPageManagerInstance().getFavoritePages();\n\t\t\tconst aFavPages = await this.oPagePromise;\n\t\t\tthis.aFavPages = aFavPages;\n\t\t\tthis._getInnerControls();\n\t\t\tthis.oPagePromise = null;\n\t\t}\n\t\tthis.fireEvent(\"loaded\");\n\t\treturn this.oPagePromise;\n\t}\n\n\t/**\n\t * Handles the edit page event.\n\t * Opens the page dialog for managing page data.\n\t * @param {Event} oEvent - The event object.\n\t * @private\n\t */\n\tprivate _handleEditPages() {\n\t\tconst parent = this.getParent() as NewsAndPagesContainer;\n\t\tparent?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.PAGES);\n\t}\n\n\t/**\n\t * returns an array of placeholder generic tiles for pages\n\t * @private\n\t */\n\tprivate getPlaceholderPageTiles(): GenericTile[] {\n\t\tconst placeholderArray = new Array(PAGE_SELECTION_LIMIT).fill(LoadState.Loading) as LoadState[];\n\t\tconst placeholderTiles = placeholderArray.map((tileState: LoadState, index) => {\n\t\t\treturn new GenericTile(`${this.getId()}--${index}`, {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).addStyleClass(\"cuxPagesPlaceholder\");\n\t\t});\n\t\treturn placeholderTiles;\n\t}\n\n\tpublic attachResizeHandler(\n\t\tbIsNewsTileVisible: boolean,\n\t\tcontainerWidth: number,\n\t\tpagesContentWrapper: FlexBox,\n\t\tcontainerWrapper: FlexBox\n\t) {\n\t\ttry {\n\t\t\tconst iFavPagesCount = this.aFavPages.length,\n\t\t\t\tdomRef = pagesContentWrapper.getDomRef() as Element;\n\n\t\t\tlet domRefClientWidth = 0;\n\t\t\tdomRefClientWidth = bIsNewsTileVisible ? domRef.clientWidth : containerWidth;\n\n\t\t\tif (!domRefClientWidth) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet pagesPerRow: number = 0,\n\t\t\t\ttileWidth,\n\t\t\t\thBoxWidth: string,\n\t\t\t\tfinalTilesWidth: string,\n\t\t\t\twrapperWidth = domRefClientWidth / 16; // Divide by 16 to convert to rem,\n\t\t\tconst gap = 1,\n\t\t\t\tflexWrapperWidth = containerWidth || domRef.clientWidth;\n\n\t\t\tif (iFavPagesCount === 1) {\n\t\t\t\tcontainerWrapper.setAlignItems(\"Start\");\n\t\t\t}\n\n\t\t\tif (bIsNewsTileVisible && flexWrapperWidth >= 1520) {\n\t\t\t\t// As newsTile will grow till 40.75 rem, calculating the remaining width\n\t\t\t\twrapperWidth = flexWrapperWidth / 16 - 40.75;\n\t\t\t}\n\n\t\t\tif (iFavPagesCount > 0) {\n\t\t\t\tif (!bIsNewsTileVisible) {\n\t\t\t\t\t// If Space available display all tiles in a single row\n\t\t\t\t\tconst spaceRequired = iFavPagesCount * minTileSize + (iFavPagesCount - 1) * gap;\n\t\t\t\t\tif (spaceRequired <= wrapperWidth) {\n\t\t\t\t\t\tpagesPerRow = iFavPagesCount;\n\t\t\t\t\t\ttileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;\n\t\t\t\t\t\ttileWidth = tileWidth <= maxTileSize ? tileWidth : maxTileSize;\n\t\t\t\t\t\tthis._setPropertyValues({ hBoxWidth: wrapperWidth + \"rem\", pagesTileWidth: tileWidth + \"rem\" });\n\t\t\t\t\t\tpagesContentWrapper.setWidth(wrapperWidth + \"rem\");\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpagesPerRow = this._handleResizeForDesktop(bIsNewsTileVisible, iFavPagesCount);\n\t\t\t\tif (pagesPerRow) {\n\t\t\t\t\ttileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;\n\t\t\t\t\ttileWidth = tileWidth <= maxTileSize ? tileWidth : maxTileSize;\n\t\t\t\t\tfinalTilesWidth = tileWidth + \"rem\";\n\t\t\t\t\thBoxWidth = pagesPerRow * tileWidth + pagesPerRow * gap + \"rem\";\n\t\t\t\t} else {\n\t\t\t\t\tfinalTilesWidth = \"auto\";\n\t\t\t\t\thBoxWidth = \"100%\";\n\t\t\t\t}\n\n\t\t\t\tthis._setPropertyValues({ hBoxWidth: hBoxWidth, pagesTileWidth: finalTilesWidth });\n\t\t\t\tpagesContentWrapper.setWidth(wrapperWidth + \"rem\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tpagesContentWrapper.setWidth(wrapperWidth + \"rem\");\n\t\t\treturn true;\n\t\t} catch (oErr) {\n\t\t\tif (oErr instanceof Error) {\n\t\t\t\tconsole.error(oErr.message);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic async getUserAvailablePages() {\n\t\treturn await this._getPageManagerInstance().fetchAllAvailablePages();\n\t}\n\n\tprivate _handleResizeForDesktop(bIsNewsTileVisible: boolean, iFavPagesCount: number): number {\n\t\tlet pagesPerRow = 0;\n\t\tconst sDeviceType = this.getDeviceType();\n\t\tconst pagesToDisplay = Math.ceil(iFavPagesCount >= 8 ? 4 : iFavPagesCount / 2);\n\t\tif (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop) {\n\t\t\tif (bIsNewsTileVisible) {\n\t\t\t\tpagesPerRow = pagesToDisplay;\n\t\t\t} else {\n\t\t\t\tpagesPerRow = iFavPagesCount <= 4 ? iFavPagesCount : pagesToDisplay;\n\t\t\t}\n\t\t} else if (sDeviceType === DeviceType.Tablet) {\n\t\t\tpagesPerRow = iFavPagesCount <= 4 ? iFavPagesCount : pagesToDisplay;\n\t\t}\n\t\treturn pagesPerRow;\n\t}\n\n\tprivate _getInnerControls() {\n\t\tconst myFavPage: Page[] = [];\n\t\tthis.oInnerControls = [];\n\t\tconst oParent = this.getParent() as NewsAndPagesContainer;\n\t\tif (this.aFavPages) {\n\t\t\tthis.aFavPages.forEach((oPage: IPage) => {\n\t\t\t\tmyFavPage.push(\n\t\t\t\t\tnew Page(\"\", {\n\t\t\t\t\t\ttitle: oPage.title,\n\t\t\t\t\t\tsubTitle: oPage.title === oPage.spaceTitle ? \"\" : oPage.spaceTitle,\n\t\t\t\t\t\ticon: oPage.icon,\n\t\t\t\t\t\tbgColor: oPage.BGColor as string,\n\t\t\t\t\t\tpageId: oPage.pageId,\n\t\t\t\t\t\tspaceId: oPage.spaceId,\n\t\t\t\t\t\tspaceTitle: oPage.spaceTitle,\n\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.pageId + \"&spaceId=\" + oPage.spaceId\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t\tmyFavPage.forEach((oFav: Page) => {\n\t\t\t\tthis.oInnerControls.push(\n\t\t\t\t\tnew GenericTile({\n\t\t\t\t\t\t// width: \"10rem\",\n\t\t\t\t\t\theader: oFav.getTitle(),\n\t\t\t\t\t\tsubheader: oFav.getSubTitle(),\n\t\t\t\t\t\tpress: () => void oFav.onPageTilePress(oFav),\n\t\t\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\t\t\tstate: \"Loaded\",\n\t\t\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\t\tbackgroundColor: oFav.getBgColor(),\n\t\t\t\t\t\ttileIcon: oFav.getIcon(),\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\trenderOnThemeChange: true,\n\t\t\t\t\t\tariaRole: \"listitem\",\n\t\t\t\t\t\tdropAreaOffset: 8,\n\t\t\t\t\t\turl: oFav.getProperty(\"url\") as string\n\t\t\t\t\t}).addStyleClass(\"sapCuxPageTile\")\n\t\t\t\t);\n\t\t\t\tthis.addAggregation(\"pages\", oFav, true);\n\t\t\t});\n\n\t\t\tthis._oWrapperFlexBox.setAlignItems(this.aFavPages.length == 1 ? \"Start\" : \"Center\");\n\n\t\t\tif (this.aFavPages.length) {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: this.aFavPages.length });\n\t\t\t\tthis._setFavPagesContent();\n\t\t\t} else {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: 0 });\n\t\t\t\tthis._setNoPageContent();\n\t\t\t}\n\t\t} else {\n\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: false, count: 0 });\n\t\t\tthis.removeAggregation(\"content\", this._oWrapperFlexBox);\n\t\t}\n\t}\n\n\tprivate _setFavPagesContent() {\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.removeStyleClass(\"pagesFlexBox\");\n\t\tthis.oInnerControls.forEach((oTile: GenericTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\tprivate _createNoPageContent() {\n\t\tif (!this._oIllusMsg) {\n\t\t\tthis._oIllusMsg = new IllustratedMessage(this.getId() + \"--idNoPages\", {\n\t\t\t\tillustrationSize: \"Spot\",\n\t\t\t\tillustrationType: \"sapIllus-SimpleNoSavedItems\",\n\t\t\t\ttitle: this._i18nBundle.getText(\"noDataPageTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noPageDescription\")\n\t\t\t}).addStyleClass(\"myHomeIllustratedMsg myHomeIllustratedMessageAlign\");\n\t\t\tthis.oAddPageBtn = new Button(this.getId() + \"--idAddPageBtn\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => this._handleEditPages()\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oAddPageBtn, \"press\", \"addPages\");\n\t\t}\n\t}\n\n\tprivate _setNoPageContent() {\n\t\tconst oWrapperNoPageVBox = new VBox({\n\t\t\twidth: \"100%\",\n\t\t\theight: \"17rem\",\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\tjustifyContent: \"Center\"\n\t\t}).addStyleClass(\"sapUiRoundedBorder noCardsBorder\");\n\t\tthis._createNoPageContent();\n\t\tthis._oIllusMsg.addAdditionalContent(this.oAddPageBtn);\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.addStyleClass(\"pagesFlexBox\");\n\t\toWrapperNoPageVBox.addItem(this._oIllusMsg);\n\t\tthis._oWrapperFlexBox.addItem(oWrapperNoPageVBox);\n\t}\n\n\tprivate _setPropertyValues(oVal: { hBoxWidth: string; pagesTileWidth: string }) {\n\t\tconst propNames = Object.keys(oVal);\n\t\tpropNames.forEach((sProperty: string) => {\n\t\t\tif (sProperty === \"hBoxWidth\") {\n\t\t\t\tthis._oWrapperFlexBox.setProperty(\"width\", oVal[sProperty]);\n\t\t\t} else if (sProperty === \"pagesTileWidth\" && this.oInnerControls.length) {\n\t\t\t\tthis.oInnerControls.forEach(function (oTile) {\n\t\t\t\t\toTile.setProperty(\"width\", oVal[sProperty]);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _handlePageDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tawait this._DragnDropPages(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\tprivate async _DragnDropPages(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\tconst oItemMoved = this.aFavPages.splice(iDragItemIndex, 1)[0];\n\t\tthis.aFavPages.splice(iDropItemIndex, 0, oItemMoved);\n\t\tthis._getInnerControls();\n\n\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\tfocusDraggedItem(this._oWrapperFlexBox, iDropItemIndex);\n\t}\n\n\t/**\n\t * Writes the favourite pages data into personalizer\n\t *\n\t * @private\n\t * @async\n\t * @param {IPage[]} favPages\n\t * @returns {*}\n\t */\n\tprivate async writeFavPagesIntoPers(favPages: IPage[]) {\n\t\tif (this.oPersonalizer === undefined) {\n\t\t\tthis.oPersonalizer = await UShellPersonalizer.getInstance(\n\t\t\t\tthis.persContainerId,\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\n\t\tlet oPersData = await this.oPersonalizer.read();\n\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\toPersData.favouritePages = favPages;\n\t\tawait this.oPersonalizer.write(oPersData);\n\t}\n\n\tpublic applyColorPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyColorPersonalizations(personalizations);\n\t}\n\n\tpublic applyIconPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyIconPersonalizations(personalizations);\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tif (!this.pageManagerInstance) {\n\t\t\tthis.persContainerId = PersonalisationUtils.getPersContainerId(this);\n\t\t\tthis.pageManagerInstance = PageManager.getInstance(\n\t\t\t\tthis.persContainerId,\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\t\treturn this.pageManagerInstance;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PagePanel.js","names":["sap","ui","define","Button","FlexBox","GenericTile","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","VBox","sap_m_library","EventBus","__BasePagePanel","__MenuItem","__Page","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","__PageManager","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","LoadState","BasePagePanel","MenuItem","Page","PAGE_SELECTION_LIMIT","SETTINGS_PANELS_KEYS","recycleId","DeviceType","attachKeyboardHandler","focusDraggedItem","addFESRId","addFESRSemanticStepName","PageManager","PersonalisationUtils","UShellPersonalizer","tileSizes","Mobile","maxWidth","minWidth","Tablet","Desktop","LargeDesktop","smallTabletMinWidth","mobileOneTileLimit","maxTileCOunt","maxRowCount","CustomFlexBox","extend","renderer","apiVersion","metadata","library","aggregations","items","type","multiple","singularName","dnd","draggable","droppable","constructor","_constructor","id","settings","FlexBox.prototype.constructor.call","this","PagePanel","properties","title","group","visibility","key","pages","_constructor2","BasePagePanel.prototype.constructor.call","init","_init","_this","BasePagePanel.prototype.init.call","_oWrapperFlexBox","getId","justifyContent","height","width","direction","renderType","wrap","getPlaceholderPageTiles","addStyleClass","addDragDropConfigTo","oEvent","_handlePageDnd","Promise","resolve","then","e","reject","_addContent","setProperty","_i18nBundle","getText","menuItem","icon","press","_handleEditPages","addAggregation","oEventBus","getInstance","subscribe","sChannelId","sEventId","oData","aFavPages","writeFavPagesIntoPers","_getInnerControls","_importdone","getData","stateData","status","publish","_getData","forceUpdate","arguments","length","undefined","_this2","_temp2","fireEvent","oPagePromise","_temp","_getPageManagerInstance","getFavoritePages","parent","getParent","_getLayout","openSettingsDialog","PAGES","_getPlaceholderPageTiles","placeholderArray","Array","fill","Loading","placeholderTiles","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","attachResizeHandler","_attachResizeHandler","isNewsTileVisible","containerWidth","pagesContentWrapper","containerWrapper","favPagesCount","deviceType","getDeviceType","pagesWrapperDomRef","getDomRef","domRefClientWidth","clientWidth","tileWidth","hBoxWidth","finalTilesWidth","wrapperWidth","gap","setAlignItems","pagesPerRow","calculatePagesPerRow","maxTileWidth","minTileWidth","Math","min","max","_setPropertyValues","pagesTileWidth","setWidth","err","Error","getUserAvailablePages","_getUserAvailablePages","_this3","fetchAllAvailablePages","_calculatePagesPerRow","isNewsFeedVisible","ceil","myFavPage","oInnerControls","oParent","forEach","oPage","push","subTitle","spaceTitle","bgColor","BGColor","pageId","spaceId","url","oFav","index2","header","getTitle","subheader","getSubTitle","onPageTilePress","backgroundColor","getBgColor","tileIcon","getIcon","getProperty","panelLoadedFn","loaded","count","_setFavPagesContent","_setNoPageContent","removeAggregation","removeAllItems","removeStyleClass","oTile","addItem","_createNoPageContent","_oIllusMsg","illustrationSize","Small","illustrationType","NoSavedItems","description","oAddPageBtn","text","tooltip","oWrapperNoPageVBox","backgroundDesign","addAdditionalContent","oVal","propNames","Object","keys","sProperty","_this4","sInsertPosition","getParameter","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_temp3","_DragnDropPages","_this5","oItemMoved","splice","_writeFavPagesIntoPers","favPages","_this6","_temp5","oPersonalizer","read","oPersData","favouritePages","write","_temp4","persContainerId","getOwnerComponent","_UShellPersonalizer$g","applyColorPersonalizations","_applyColorPersonalizations","personalizations","applyIconPersonalizations","_applyIconPersonalizations","pageManagerInstance","newsAndPagesContainer","layout","getPersContainerId"],"sources":["PagePanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport FlexBox, { $FlexBoxSettings } from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport type { $BasePagePanelSettings } from \"./BasePagePanel\";\nimport BasePagePanel from \"./BasePagePanel\";\nimport MenuItem from \"./MenuItem\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport Page from \"./Page\";\nimport { ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IPage } from \"./interface/PageSpaceInterface\";\nimport { PAGE_SELECTION_LIMIT, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\nimport { attachKeyboardHandler, focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRSemanticStepName } from \"./utils/FESRUtil\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer from \"./utils/UshellPersonalizer\";\n\nconst tileSizes = {\n\tMobile: {\n\t\tmaxWidth: 37.5,\n\t\tminWidth: 8\n\t},\n\tTablet: {\n\t\tmaxWidth: 37.5,\n\t\tminWidth: 10.625\n\t},\n\tDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tLargeDesktop: {\n\t\tmaxWidth: 18.75,\n\t\tminWidth: 7\n\t},\n\tsmallTabletMinWidth: 8\n};\n\nconst mobileOneTileLimit = 3;\nconst maxTileCOunt = 8;\nconst maxRowCount = 4;\n\n/**\n *\n * CustomFlexBox extending FlexBox to enable drag & drop.\n *\n * @extends sap.m.FlexBox\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.CustomFlexBox\n */\nclass CustomFlexBox extends FlexBox {\n\tconstructor(idOrSettings?: string | $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings);\n\tconstructor(id?: string, settings?: $FlexBoxSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\taggregations: {\n\t\t\titems: { type: \"sap.ui.core.Control\", multiple: true, singularName: \"item\", dnd: { draggable: true, droppable: true } }\n\t\t}\n\t};\n\tstatic renderer = {\n\t\tapiVersion: 2\n\t};\n}\n\n/**\n *\n * Panel class for managing and storing Pages.\n *\n * @extends sap.cux.home.BasePagePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122\n *\n * @internal\n * @experimental Since 1.121\n * @public\n *\n * @alias sap.cux.home.PagePanel\n */\n\nexport default class PagePanel extends BasePagePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the page panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the page panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", visibility: \"hidden\" }\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Aggregation of pages available within the page panel\n\t\t\t */\n\t\t\tpages: { type: \"sap.cux.home.Page\", singularName: \"page\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\tprivate _oWrapperFlexBox!: CustomFlexBox;\n\tprivate oPagePromise!: Promise<IPage[]> | null;\n\tprivate persContainerId!: string;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate aFavPages!: IPage[];\n\tprivate oInnerControls!: GenericTile[];\n\tprivate _oIllusMsg!: IllustratedMessage;\n\tprivate oWrapperNoPageVBox!: VBox;\n\tprivate oAddPageBtn!: Button;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate oEventBus!: EventBus;\n\n\t/**\n\t * Constructor for a new Page panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePagePanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tinit() {\n\t\tsuper.init();\n\n\t\tthis._oWrapperFlexBox = new CustomFlexBox(`${this.getId()}-pageWrapper`, {\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\",\n\t\t\trenderType: \"Bare\",\n\t\t\twrap: \"Wrap\",\n\t\t\titems: this.getPlaceholderPageTiles()\n\t\t}).addStyleClass(\"pagesFlexGap sapUiSmallMarginTop sapCuxPagesWrapper\");\n\t\tthis.addDragDropConfigTo(\n\t\t\tthis._oWrapperFlexBox,\n\t\t\t(oEvent) => void this._handlePageDnd(oEvent),\n\t\t\tasync (oEvent: KeyboardEvent) => {\n\t\t\t\tawait attachKeyboardHandler(oEvent, true);\n\t\t\t}\n\t\t);\n\n\t\tthis._addContent(this._oWrapperFlexBox);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"pageTitle\"));\n\n\t\tconst menuItem = new MenuItem(`${this.getId()}-managePages`, {\n\t\t\ttitle: this._i18nBundle.getText(\"mngPage\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tpress: () => this._handleEditPages()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"managePages\");\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"favPagesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tthis.aFavPages = oData as IPage[];\n\t\t\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\t\t\tthis._getInnerControls();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Subscribe to page changes from pageManager\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"pageChannel\",\n\t\t\t\"pageUpdated\",\n\t\t\t() => {\n\t\t\t\tvoid this.getData(true);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"favPagesImported\", stateData);\n\t}\n\n\tpublic async getData(forceUpdate: boolean = false) {\n\t\tif (this.oPagePromise === undefined || this.oPagePromise === null || forceUpdate) {\n\t\t\tthis.oPagePromise = this._getPageManagerInstance().getFavoritePages();\n\t\t\tconst aFavPages = await this.oPagePromise;\n\t\t\tthis.aFavPages = aFavPages;\n\t\t\tthis._getInnerControls();\n\t\t\tthis.oPagePromise = null;\n\t\t}\n\t\tthis.fireEvent(\"loaded\");\n\t\treturn this.oPagePromise;\n\t}\n\n\t/**\n\t * Handles the edit page event.\n\t * Opens the page dialog for managing page data.\n\t * @param {Event} oEvent - The event object.\n\t * @private\n\t */\n\tprivate _handleEditPages() {\n\t\tconst parent = this.getParent() as NewsAndPagesContainer;\n\t\tparent?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.PAGES);\n\t}\n\n\t/**\n\t * returns an array of placeholder generic tiles for pages\n\t * @private\n\t */\n\tprivate getPlaceholderPageTiles(): GenericTile[] {\n\t\tconst placeholderArray = new Array(PAGE_SELECTION_LIMIT).fill(LoadState.Loading) as LoadState[];\n\t\tconst placeholderTiles = placeholderArray.map((tileState: LoadState, index) => {\n\t\t\treturn new GenericTile(`${this.getId()}--${index}`, {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).addStyleClass(\"cuxPagesPlaceholder\");\n\t\t});\n\t\treturn placeholderTiles;\n\t}\n\n\tpublic attachResizeHandler(\n\t\tisNewsTileVisible: boolean,\n\t\tcontainerWidth: number,\n\t\tpagesContentWrapper: FlexBox,\n\t\tcontainerWrapper: FlexBox\n\t): void {\n\t\ttry {\n\t\t\tconst favPagesCount = this.aFavPages?.length,\n\t\t\t\tdeviceType = this.getDeviceType(),\n\t\t\t\tpagesWrapperDomRef = pagesContentWrapper.getDomRef() as Element;\n\n\t\t\tlet domRefClientWidth = isNewsTileVisible ? pagesWrapperDomRef.clientWidth : containerWidth;\n\n\t\t\tif (!domRefClientWidth) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet tileWidth,\n\t\t\t\thBoxWidth: string,\n\t\t\t\tfinalTilesWidth: string,\n\t\t\t\twrapperWidth = domRefClientWidth / 16; // Divide by 16 to convert to rem,\n\t\t\tconst gap = 1;\n\t\t\tcontainerWrapper.setAlignItems(\"Start\");\n\n\t\t\tif (favPagesCount > 0) {\n\t\t\t\tconst pagesPerRow = this.calculatePagesPerRow(favPagesCount, isNewsTileVisible);\n\t\t\t\tif (pagesPerRow) {\n\t\t\t\t\tconst maxTileWidth = tileSizes[deviceType].maxWidth;\n\t\t\t\t\tlet minTileWidth = tileSizes[deviceType].minWidth;\n\t\t\t\t\t// when tablet viewport width is below 800px, 46rem(736px) is the container width and 2 rem is paddings\n\t\t\t\t\tif (deviceType === DeviceType.Tablet && containerWidth < 736) {\n\t\t\t\t\t\tminTileWidth = tileSizes.smallTabletMinWidth;\n\t\t\t\t\t}\n\t\t\t\t\ttileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;\n\t\t\t\t\ttileWidth = Math.min(tileWidth, maxTileWidth);\n\t\t\t\t\ttileWidth = Math.max(tileWidth, minTileWidth);\n\t\t\t\t\tfinalTilesWidth = `${tileWidth}rem`;\n\t\t\t\t\thBoxWidth = `${pagesPerRow * tileWidth + (pagesPerRow - 1) * gap}rem`;\n\t\t\t\t} else {\n\t\t\t\t\tfinalTilesWidth = \"auto\";\n\t\t\t\t\thBoxWidth = \"100%\";\n\t\t\t\t}\n\n\t\t\t\tthis._setPropertyValues({ hBoxWidth: hBoxWidth, pagesTileWidth: finalTilesWidth });\n\t\t\t\tpagesContentWrapper.setWidth(hBoxWidth);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn;\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tconsole.error(err.message);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async getUserAvailablePages() {\n\t\treturn await this._getPageManagerInstance().fetchAllAvailablePages();\n\t}\n\n\tprivate calculatePagesPerRow(favPagesCount: number, isNewsFeedVisible: boolean): number {\n\t\tlet pagesPerRow = 0;\n\t\tconst deviceType = this.getDeviceType();\n\t\tif (deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop) {\n\t\t\tif (isNewsFeedVisible) {\n\t\t\t\t// halves the tiles in 2 rows\n\t\t\t\tpagesPerRow = Math.ceil(favPagesCount >= maxTileCOunt ? maxRowCount : favPagesCount / 2);\n\t\t\t} else {\n\t\t\t\tpagesPerRow = favPagesCount > maxRowCount ? Math.ceil(favPagesCount / 2) : maxRowCount;\n\t\t\t}\n\t\t} else if (deviceType === DeviceType.Mobile) {\n\t\t\t// decides number of columns to either 1 or 2\n\t\t\tpagesPerRow = favPagesCount <= mobileOneTileLimit ? 1 : 2;\n\t\t} else if (deviceType === DeviceType.Tablet) {\n\t\t\t// upto 4 in a Row, otherwise halves the tiles in 2 rows\n\t\t\tpagesPerRow = favPagesCount <= maxRowCount ? favPagesCount : Math.ceil(favPagesCount / 2);\n\t\t}\n\t\treturn pagesPerRow;\n\t}\n\n\tprivate _getInnerControls() {\n\t\tconst myFavPage: Page[] = [];\n\t\tthis.oInnerControls = [];\n\t\tconst oParent = this.getParent() as NewsAndPagesContainer;\n\t\tif (this.aFavPages) {\n\t\t\tthis.aFavPages.forEach((oPage: IPage, index: number) => {\n\t\t\t\tmyFavPage.push(\n\t\t\t\t\tnew Page(recycleId(`${this.getId()}-favPage-${index}`), {\n\t\t\t\t\t\ttitle: oPage.title,\n\t\t\t\t\t\tsubTitle: oPage.title === oPage.spaceTitle ? \"\" : oPage.spaceTitle,\n\t\t\t\t\t\ticon: oPage.icon,\n\t\t\t\t\t\tbgColor: oPage.BGColor as string,\n\t\t\t\t\t\tpageId: oPage.pageId,\n\t\t\t\t\t\tspaceId: oPage.spaceId,\n\t\t\t\t\t\tspaceTitle: oPage.spaceTitle,\n\t\t\t\t\t\turl: \"#Launchpad-openFLPPage?pageId=\" + oPage.pageId + \"&spaceId=\" + oPage.spaceId\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t\tmyFavPage.forEach((oFav: Page, index2: number) => {\n\t\t\t\tthis.oInnerControls.push(\n\t\t\t\t\tnew GenericTile(recycleId(`${oFav.getId()}--genericTile--${index2}`), {\n\t\t\t\t\t\t// width: \"10rem\",\n\t\t\t\t\t\theader: oFav.getTitle(),\n\t\t\t\t\t\tsubheader: oFav.getSubTitle(),\n\t\t\t\t\t\tpress: () => void oFav.onPageTilePress(oFav),\n\t\t\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\t\t\tstate: \"Loaded\",\n\t\t\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\t\tbackgroundColor: oFav.getBgColor(),\n\t\t\t\t\t\ttileIcon: oFav.getIcon(),\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\trenderOnThemeChange: true,\n\t\t\t\t\t\tariaRole: \"listitem\",\n\t\t\t\t\t\tdropAreaOffset: 8,\n\t\t\t\t\t\turl: oFav.getProperty(\"url\") as string\n\t\t\t\t\t}).addStyleClass(\"sapCuxPageTile\")\n\t\t\t\t);\n\t\t\t\tthis.addAggregation(\"pages\", oFav, true);\n\t\t\t});\n\n\t\t\tthis._oWrapperFlexBox.setAlignItems(this.aFavPages.length == 1 ? \"Start\" : \"Center\");\n\n\t\t\tif (this.aFavPages.length) {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: this.aFavPages.length });\n\t\t\t\tthis._setFavPagesContent();\n\t\t\t} else {\n\t\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: true, count: 0 });\n\t\t\t\tthis._setNoPageContent();\n\t\t\t}\n\t\t} else {\n\t\t\toParent?.panelLoadedFn(\"Page\", { loaded: false, count: 0 });\n\t\t\tthis.removeAggregation(\"content\", this._oWrapperFlexBox);\n\t\t}\n\t}\n\n\tprivate _setFavPagesContent() {\n\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\tthis._oWrapperFlexBox.removeStyleClass(\"pagesFlexBox\");\n\t\tthis.oInnerControls.forEach((oTile: GenericTile) => {\n\t\t\tthis._oWrapperFlexBox.addItem(oTile);\n\t\t});\n\t}\n\n\tprivate _createNoPageContent() {\n\t\tif (!this._oIllusMsg) {\n\t\t\tthis._oIllusMsg = new IllustratedMessage(this.getId() + \"--idNoPages\", {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Small,\n\t\t\t\tillustrationType: IllustratedMessageType.NoSavedItems,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noDataPageTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noPageDescription\")\n\t\t\t}).addStyleClass(\"myHomeIllustratedMsg myHomeIllustratedMessageAlign\");\n\t\t\tthis.oAddPageBtn = new Button(this.getId() + \"--idAddPageBtn\", {\n\t\t\t\ttext: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttooltip: this._i18nBundle.getText(\"addPage\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => this._handleEditPages()\n\t\t\t});\n\t\t\taddFESRSemanticStepName(this.oAddPageBtn, \"press\", \"addPages\");\n\t\t}\n\t}\n\n\tprivate _setNoPageContent() {\n\t\tif (!this.oWrapperNoPageVBox) {\n\t\t\tthis.oWrapperNoPageVBox = new VBox(`${this.getId()}--wrapperNoPageVBox`, {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: \"17rem\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapUiRoundedBorder noCardsBorder\");\n\t\t\tthis._createNoPageContent();\n\t\t\tthis._oIllusMsg.addAdditionalContent(this.oAddPageBtn);\n\t\t\tthis._oWrapperFlexBox.removeAllItems();\n\t\t\tthis._oWrapperFlexBox.addStyleClass(\"pagesFlexBox\");\n\t\t\tthis.oWrapperNoPageVBox.addItem(this._oIllusMsg);\n\t\t\tthis._oWrapperFlexBox.addItem(this.oWrapperNoPageVBox);\n\t\t}\n\t}\n\n\tprivate _setPropertyValues(oVal: { hBoxWidth: string; pagesTileWidth: string }) {\n\t\tconst propNames = Object.keys(oVal);\n\t\tpropNames.forEach((sProperty: string) => {\n\t\t\tif (sProperty === \"hBoxWidth\") {\n\t\t\t\tthis._oWrapperFlexBox.setProperty(\"width\", oVal[sProperty]);\n\t\t\t} else if (sProperty === \"pagesTileWidth\" && this.oInnerControls.length) {\n\t\t\t\tthis.oInnerControls.forEach(function (oTile) {\n\t\t\t\t\toTile.setProperty(\"width\", oVal[sProperty]);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _handlePageDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tawait this._DragnDropPages(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\tprivate async _DragnDropPages(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\tconst oItemMoved = this.aFavPages.splice(iDragItemIndex, 1)[0];\n\t\tthis.aFavPages.splice(iDropItemIndex, 0, oItemMoved);\n\t\tthis._getInnerControls();\n\n\t\tawait this.writeFavPagesIntoPers(this.aFavPages);\n\t\tfocusDraggedItem(this._oWrapperFlexBox, iDropItemIndex);\n\t}\n\n\t/**\n\t * Writes the favourite pages data into personalizer\n\t *\n\t * @private\n\t * @async\n\t * @param {IPage[]} favPages\n\t * @returns {*}\n\t */\n\tprivate async writeFavPagesIntoPers(favPages: IPage[]) {\n\t\tif (this.oPersonalizer === undefined) {\n\t\t\tthis.oPersonalizer = await UShellPersonalizer.getInstance(\n\t\t\t\tthis.persContainerId,\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\n\t\tlet oPersData = await this.oPersonalizer.read();\n\t\tif (!oPersData) oPersData = { favouritePages: [] };\n\t\toPersData.favouritePages = favPages;\n\t\tawait this.oPersonalizer.write(oPersData);\n\t}\n\n\tpublic applyColorPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyColorPersonalizations(personalizations);\n\t}\n\n\tpublic applyIconPersonalizations(personalizations: Array<ISpacePagePersonalization>) {\n\t\tvoid this._getPageManagerInstance()?.applyIconPersonalizations(personalizations);\n\t}\n\n\tprivate _getPageManagerInstance() {\n\t\tif (!this.pageManagerInstance) {\n\t\t\tconst newsAndPagesContainer = this.getParent();\n\t\t\tconst layout = newsAndPagesContainer?.getParent();\n\t\t\tthis.persContainerId = (layout?.getProperty(\"persContainerId\") as string) || PersonalisationUtils.getPersContainerId(this);\n\t\t\tthis.pageManagerInstance = PageManager.getInstance(\n\t\t\t\tthis.persContainerId,\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this) as Component\n\t\t\t);\n\t\t}\n\t\treturn this.pageManagerInstance;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,8 @@ import Button from "sap/m/Button";
7
7
  import FlexBox, { $FlexBoxSettings } from "sap/m/FlexBox";
8
8
  import GenericTile from "sap/m/GenericTile";
9
9
  import IllustratedMessage from "sap/m/IllustratedMessage";
10
+ import IllustratedMessageSize from "sap/m/IllustratedMessageSize";
11
+ import IllustratedMessageType from "sap/m/IllustratedMessageType";
10
12
  import VBox from "sap/m/VBox";
11
13
  import { LoadState } from "sap/m/library";
12
14
  import Event from "sap/ui/base/Event";
@@ -23,6 +25,7 @@ import Page from "./Page";
23
25
  import { ISpacePagePersonalization } from "./interface/KeyUserInterface";
24
26
  import { IPage } from "./interface/PageSpaceInterface";
25
27
  import { PAGE_SELECTION_LIMIT, SETTINGS_PANELS_KEYS } from "./utils/Constants";
28
+ import { recycleId } from "./utils/DataFormatUtils";
26
29
  import { DeviceType } from "./utils/Device";
27
30
  import { attachKeyboardHandler, focusDraggedItem } from "./utils/DragDropUtils";
28
31
  import { addFESRId, addFESRSemanticStepName } from "./utils/FESRUtil";
@@ -30,8 +33,29 @@ import PageManager from "./utils/PageManager";
30
33
  import PersonalisationUtils from "./utils/PersonalisationUtils";
31
34
  import UShellPersonalizer from "./utils/UshellPersonalizer";
32
35
 
33
- const maxTileSize = 15,
34
- minTileSize = 7;
36
+ const tileSizes = {
37
+ Mobile: {
38
+ maxWidth: 37.5,
39
+ minWidth: 8
40
+ },
41
+ Tablet: {
42
+ maxWidth: 37.5,
43
+ minWidth: 10.625
44
+ },
45
+ Desktop: {
46
+ maxWidth: 18.75,
47
+ minWidth: 7
48
+ },
49
+ LargeDesktop: {
50
+ maxWidth: 18.75,
51
+ minWidth: 7
52
+ },
53
+ smallTabletMinWidth: 8
54
+ };
55
+
56
+ const mobileOneTileLimit = 3;
57
+ const maxTileCOunt = 8;
58
+ const maxRowCount = 4;
35
59
 
36
60
  /**
37
61
  *
@@ -111,6 +135,7 @@ export default class PagePanel extends BasePagePanel {
111
135
  private aFavPages!: IPage[];
112
136
  private oInnerControls!: GenericTile[];
113
137
  private _oIllusMsg!: IllustratedMessage;
138
+ private oWrapperNoPageVBox!: VBox;
114
139
  private oAddPageBtn!: Button;
115
140
  private oPersonalizer!: UShellPersonalizer;
116
141
  private oEventBus!: EventBus;
@@ -136,7 +161,7 @@ export default class PagePanel extends BasePagePanel {
136
161
  renderType: "Bare",
137
162
  wrap: "Wrap",
138
163
  items: this.getPlaceholderPageTiles()
139
- }).addStyleClass("newsSlideFlexGap sapUiSmallMarginTop sapUiSmallMarginBottom");
164
+ }).addStyleClass("pagesFlexGap sapUiSmallMarginTop sapCuxPagesWrapper");
140
165
  this.addDragDropConfigTo(
141
166
  this._oWrapperFlexBox,
142
167
  (oEvent) => void this._handlePageDnd(oEvent),
@@ -230,75 +255,57 @@ export default class PagePanel extends BasePagePanel {
230
255
  }
231
256
 
232
257
  public attachResizeHandler(
233
- bIsNewsTileVisible: boolean,
258
+ isNewsTileVisible: boolean,
234
259
  containerWidth: number,
235
260
  pagesContentWrapper: FlexBox,
236
261
  containerWrapper: FlexBox
237
- ) {
262
+ ): void {
238
263
  try {
239
- const iFavPagesCount = this.aFavPages.length,
240
- domRef = pagesContentWrapper.getDomRef() as Element;
264
+ const favPagesCount = this.aFavPages?.length,
265
+ deviceType = this.getDeviceType(),
266
+ pagesWrapperDomRef = pagesContentWrapper.getDomRef() as Element;
241
267
 
242
- let domRefClientWidth = 0;
243
- domRefClientWidth = bIsNewsTileVisible ? domRef.clientWidth : containerWidth;
268
+ let domRefClientWidth = isNewsTileVisible ? pagesWrapperDomRef.clientWidth : containerWidth;
244
269
 
245
270
  if (!domRefClientWidth) {
246
271
  return;
247
272
  }
248
273
 
249
- let pagesPerRow: number = 0,
250
- tileWidth,
274
+ let tileWidth,
251
275
  hBoxWidth: string,
252
276
  finalTilesWidth: string,
253
277
  wrapperWidth = domRefClientWidth / 16; // Divide by 16 to convert to rem,
254
- const gap = 1,
255
- flexWrapperWidth = containerWidth || domRef.clientWidth;
278
+ const gap = 1;
279
+ containerWrapper.setAlignItems("Start");
256
280
 
257
- if (iFavPagesCount === 1) {
258
- containerWrapper.setAlignItems("Start");
259
- }
260
-
261
- if (bIsNewsTileVisible && flexWrapperWidth >= 1520) {
262
- // As newsTile will grow till 40.75 rem, calculating the remaining width
263
- wrapperWidth = flexWrapperWidth / 16 - 40.75;
264
- }
265
-
266
- if (iFavPagesCount > 0) {
267
- if (!bIsNewsTileVisible) {
268
- // If Space available display all tiles in a single row
269
- const spaceRequired = iFavPagesCount * minTileSize + (iFavPagesCount - 1) * gap;
270
- if (spaceRequired <= wrapperWidth) {
271
- pagesPerRow = iFavPagesCount;
272
- tileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;
273
- tileWidth = tileWidth <= maxTileSize ? tileWidth : maxTileSize;
274
- this._setPropertyValues({ hBoxWidth: wrapperWidth + "rem", pagesTileWidth: tileWidth + "rem" });
275
- pagesContentWrapper.setWidth(wrapperWidth + "rem");
276
- return true;
277
- }
278
- }
279
-
280
- pagesPerRow = this._handleResizeForDesktop(bIsNewsTileVisible, iFavPagesCount);
281
+ if (favPagesCount > 0) {
282
+ const pagesPerRow = this.calculatePagesPerRow(favPagesCount, isNewsTileVisible);
281
283
  if (pagesPerRow) {
284
+ const maxTileWidth = tileSizes[deviceType].maxWidth;
285
+ let minTileWidth = tileSizes[deviceType].minWidth;
286
+ // when tablet viewport width is below 800px, 46rem(736px) is the container width and 2 rem is paddings
287
+ if (deviceType === DeviceType.Tablet && containerWidth < 736) {
288
+ minTileWidth = tileSizes.smallTabletMinWidth;
289
+ }
282
290
  tileWidth = (wrapperWidth - (pagesPerRow - 1) * gap) / pagesPerRow;
283
- tileWidth = tileWidth <= maxTileSize ? tileWidth : maxTileSize;
284
- finalTilesWidth = tileWidth + "rem";
285
- hBoxWidth = pagesPerRow * tileWidth + pagesPerRow * gap + "rem";
291
+ tileWidth = Math.min(tileWidth, maxTileWidth);
292
+ tileWidth = Math.max(tileWidth, minTileWidth);
293
+ finalTilesWidth = `${tileWidth}rem`;
294
+ hBoxWidth = `${pagesPerRow * tileWidth + (pagesPerRow - 1) * gap}rem`;
286
295
  } else {
287
296
  finalTilesWidth = "auto";
288
297
  hBoxWidth = "100%";
289
298
  }
290
299
 
291
300
  this._setPropertyValues({ hBoxWidth: hBoxWidth, pagesTileWidth: finalTilesWidth });
292
- pagesContentWrapper.setWidth(wrapperWidth + "rem");
293
- return true;
301
+ pagesContentWrapper.setWidth(hBoxWidth);
302
+ return;
294
303
  }
295
- pagesContentWrapper.setWidth(wrapperWidth + "rem");
296
- return true;
297
- } catch (oErr) {
298
- if (oErr instanceof Error) {
299
- console.error(oErr.message);
304
+ return;
305
+ } catch (err) {
306
+ if (err instanceof Error) {
307
+ console.error(err.message);
300
308
  }
301
- return false;
302
309
  }
303
310
  }
304
311
 
@@ -306,18 +313,22 @@ export default class PagePanel extends BasePagePanel {
306
313
  return await this._getPageManagerInstance().fetchAllAvailablePages();
307
314
  }
308
315
 
309
- private _handleResizeForDesktop(bIsNewsTileVisible: boolean, iFavPagesCount: number): number {
316
+ private calculatePagesPerRow(favPagesCount: number, isNewsFeedVisible: boolean): number {
310
317
  let pagesPerRow = 0;
311
- const sDeviceType = this.getDeviceType();
312
- const pagesToDisplay = Math.ceil(iFavPagesCount >= 8 ? 4 : iFavPagesCount / 2);
313
- if (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop) {
314
- if (bIsNewsTileVisible) {
315
- pagesPerRow = pagesToDisplay;
318
+ const deviceType = this.getDeviceType();
319
+ if (deviceType === DeviceType.Desktop || deviceType === DeviceType.LargeDesktop) {
320
+ if (isNewsFeedVisible) {
321
+ // halves the tiles in 2 rows
322
+ pagesPerRow = Math.ceil(favPagesCount >= maxTileCOunt ? maxRowCount : favPagesCount / 2);
316
323
  } else {
317
- pagesPerRow = iFavPagesCount <= 4 ? iFavPagesCount : pagesToDisplay;
324
+ pagesPerRow = favPagesCount > maxRowCount ? Math.ceil(favPagesCount / 2) : maxRowCount;
318
325
  }
319
- } else if (sDeviceType === DeviceType.Tablet) {
320
- pagesPerRow = iFavPagesCount <= 4 ? iFavPagesCount : pagesToDisplay;
326
+ } else if (deviceType === DeviceType.Mobile) {
327
+ // decides number of columns to either 1 or 2
328
+ pagesPerRow = favPagesCount <= mobileOneTileLimit ? 1 : 2;
329
+ } else if (deviceType === DeviceType.Tablet) {
330
+ // upto 4 in a Row, otherwise halves the tiles in 2 rows
331
+ pagesPerRow = favPagesCount <= maxRowCount ? favPagesCount : Math.ceil(favPagesCount / 2);
321
332
  }
322
333
  return pagesPerRow;
323
334
  }
@@ -327,9 +338,9 @@ export default class PagePanel extends BasePagePanel {
327
338
  this.oInnerControls = [];
328
339
  const oParent = this.getParent() as NewsAndPagesContainer;
329
340
  if (this.aFavPages) {
330
- this.aFavPages.forEach((oPage: IPage) => {
341
+ this.aFavPages.forEach((oPage: IPage, index: number) => {
331
342
  myFavPage.push(
332
- new Page("", {
343
+ new Page(recycleId(`${this.getId()}-favPage-${index}`), {
333
344
  title: oPage.title,
334
345
  subTitle: oPage.title === oPage.spaceTitle ? "" : oPage.spaceTitle,
335
346
  icon: oPage.icon,
@@ -341,9 +352,9 @@ export default class PagePanel extends BasePagePanel {
341
352
  })
342
353
  );
343
354
  });
344
- myFavPage.forEach((oFav: Page) => {
355
+ myFavPage.forEach((oFav: Page, index2: number) => {
345
356
  this.oInnerControls.push(
346
- new GenericTile({
357
+ new GenericTile(recycleId(`${oFav.getId()}--genericTile--${index2}`), {
347
358
  // width: "10rem",
348
359
  header: oFav.getTitle(),
349
360
  subheader: oFav.getSubTitle(),
@@ -390,8 +401,8 @@ export default class PagePanel extends BasePagePanel {
390
401
  private _createNoPageContent() {
391
402
  if (!this._oIllusMsg) {
392
403
  this._oIllusMsg = new IllustratedMessage(this.getId() + "--idNoPages", {
393
- illustrationSize: "Spot",
394
- illustrationType: "sapIllus-SimpleNoSavedItems",
404
+ illustrationSize: IllustratedMessageSize.Small,
405
+ illustrationType: IllustratedMessageType.NoSavedItems,
395
406
  title: this._i18nBundle.getText("noDataPageTitle"),
396
407
  description: this._i18nBundle.getText("noPageDescription")
397
408
  }).addStyleClass("myHomeIllustratedMsg myHomeIllustratedMessageAlign");
@@ -406,18 +417,20 @@ export default class PagePanel extends BasePagePanel {
406
417
  }
407
418
 
408
419
  private _setNoPageContent() {
409
- const oWrapperNoPageVBox = new VBox({
410
- width: "100%",
411
- height: "17rem",
412
- backgroundDesign: "Solid",
413
- justifyContent: "Center"
414
- }).addStyleClass("sapUiRoundedBorder noCardsBorder");
415
- this._createNoPageContent();
416
- this._oIllusMsg.addAdditionalContent(this.oAddPageBtn);
417
- this._oWrapperFlexBox.removeAllItems();
418
- this._oWrapperFlexBox.addStyleClass("pagesFlexBox");
419
- oWrapperNoPageVBox.addItem(this._oIllusMsg);
420
- this._oWrapperFlexBox.addItem(oWrapperNoPageVBox);
420
+ if (!this.oWrapperNoPageVBox) {
421
+ this.oWrapperNoPageVBox = new VBox(`${this.getId()}--wrapperNoPageVBox`, {
422
+ width: "100%",
423
+ height: "17rem",
424
+ backgroundDesign: "Solid",
425
+ justifyContent: "Center"
426
+ }).addStyleClass("sapUiRoundedBorder noCardsBorder");
427
+ this._createNoPageContent();
428
+ this._oIllusMsg.addAdditionalContent(this.oAddPageBtn);
429
+ this._oWrapperFlexBox.removeAllItems();
430
+ this._oWrapperFlexBox.addStyleClass("pagesFlexBox");
431
+ this.oWrapperNoPageVBox.addItem(this._oIllusMsg);
432
+ this._oWrapperFlexBox.addItem(this.oWrapperNoPageVBox);
433
+ }
421
434
  }
422
435
 
423
436
  private _setPropertyValues(oVal: { hBoxWidth: string; pagesTileWidth: string }) {
@@ -498,7 +511,9 @@ export default class PagePanel extends BasePagePanel {
498
511
 
499
512
  private _getPageManagerInstance() {
500
513
  if (!this.pageManagerInstance) {
501
- this.persContainerId = PersonalisationUtils.getPersContainerId(this);
514
+ const newsAndPagesContainer = this.getParent();
515
+ const layout = newsAndPagesContainer?.getParent();
516
+ this.persContainerId = (layout?.getProperty("persContainerId") as string) || PersonalisationUtils.getPersContainerId(this);
502
517
  this.pageManagerInstance = PageManager.getInstance(
503
518
  this.persContainerId,
504
519
  PersonalisationUtils.getOwnerComponent(this) as Component
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel", "sap/m/SearchField", "sap/m/Text", "sap/m/Title", "sap/m/ToggleButton", "sap/m/Toolbar", "sap/m/ToolbarSpacer", "sap/m/VBox", "./BaseSettingsPanel", "./utils/Accessibility", "./utils/Constants", "./utils/PageManager", "./utils/PersonalisationUtils"], function (CustomListItem, HBox, List, Panel, SearchField, Text, Title, ToggleButton, Toolbar, ToolbarSpacer, VBox, __BaseSettingsPanel, ___utils_Accessibility, ___utils_Constants, __PageManager, __PersonalisationUtils) {
5
+ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel", "sap/m/SearchField", "sap/m/Text", "sap/m/Title", "sap/m/ToggleButton", "sap/m/Toolbar", "sap/m/ToolbarSpacer", "sap/m/VBox", "./BaseSettingsPanel", "./utils/Accessibility", "./utils/Constants", "./utils/DataFormatUtils", "./utils/PageManager", "./utils/PersonalisationUtils"], function (CustomListItem, HBox, List, Panel, SearchField, Text, Title, ToggleButton, Toolbar, ToolbarSpacer, VBox, __BaseSettingsPanel, ___utils_Accessibility, ___utils_Constants, ___utils_DataFormatUtils, __PageManager, __PersonalisationUtils) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -12,6 +12,7 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
12
12
  const getInvisibleText = ___utils_Accessibility["getInvisibleText"];
13
13
  const PAGE_SELECTION_LIMIT = ___utils_Constants["PAGE_SELECTION_LIMIT"];
14
14
  const SETTINGS_PANELS_KEYS = ___utils_Constants["SETTINGS_PANELS_KEYS"];
15
+ const recycleId = ___utils_DataFormatUtils["recycleId"];
15
16
  const PageManager = _interopRequireDefault(__PageManager);
16
17
  const PersonalisationUtils = _interopRequireDefault(__PersonalisationUtils);
17
18
  /**
@@ -164,11 +165,11 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
164
165
  this._renderPages(this.aSpaces);
165
166
  this.oWrapperVBox.addItem(this.oPagesListVBox);
166
167
  },
167
- _createPagesList: function _createPagesList(oPage) {
168
+ _createPagesList: function _createPagesList(oPage, spaceIndex, pageIndex) {
168
169
  const oText = new Text({
169
170
  text: oPage.label
170
171
  });
171
- const oToggleBtn = new ToggleButton({
172
+ const oToggleBtn = new ToggleButton(recycleId(`${this.getId()}-toggle-${spaceIndex}--${pageIndex}`), {
172
173
  tooltip: oPage.selected ? this._i18nBundle.getText("hideBtn") : this._i18nBundle.getText("showBtn"),
173
174
  icon: "sap-icon://show",
174
175
  type: "Emphasized",
@@ -176,12 +177,12 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
176
177
  enabled: oPage.selected || this.aFavPages.length < PAGE_SELECTION_LIMIT,
177
178
  press: oEvent => void this._pageSelectHandler(oPage.id, oEvent)
178
179
  });
179
- const oHBox = new HBox({
180
+ const oHBox = new HBox(recycleId(`${this.getId()}--customListBox--${spaceIndex}--${pageIndex}`), {
180
181
  justifyContent: "SpaceBetween",
181
182
  alignItems: "Center",
182
183
  items: [oText, oToggleBtn]
183
184
  });
184
- const oCustomListItem = new CustomListItem({
185
+ const oCustomListItem = new CustomListItem(recycleId(`${this.getId()}--customList--${spaceIndex}--${pageIndex}`), {
185
186
  content: [oHBox]
186
187
  }).addStyleClass("pagesPanelItem");
187
188
  return oCustomListItem;
@@ -197,7 +198,7 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
197
198
  height: "3rem",
198
199
  justifyContent: "Center",
199
200
  alignItems: "Center",
200
- items: [new Text({
201
+ items: [new Text(`${this.getId()}--noSpacePageItem`, {
201
202
  text: this._i18nBundle.getText("noData")
202
203
  })]
203
204
  }).addStyleClass("pagesBottomBorder");
@@ -207,19 +208,19 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
207
208
  } else if (this.oNoDataHBox) {
208
209
  this.oNoDataHBox.setVisible(false);
209
210
  }
210
- aSpaces.forEach(oSpace => {
211
+ aSpaces.forEach((oSpace, spaceIndex) => {
211
212
  const aPagesList = [];
212
- oSpace.children.forEach(oPage => {
213
+ oSpace.children.forEach((oPage, pageIndex) => {
213
214
  oPage.selected = this.aFavPages.find(oFavPage => oFavPage.pageId === oPage.id) ? true : false;
214
- aPagesList.push(this._createPagesList(oPage));
215
+ aPagesList.push(this._createPagesList(oPage, spaceIndex, pageIndex));
215
216
  });
216
- const oHeaderToolbar = this._createHeaderToolbar(oSpace);
217
- const oPanel = new Panel("", {
217
+ const oHeaderToolbar = this._createHeaderToolbar(oSpace, spaceIndex);
218
+ const oPanel = new Panel(recycleId(`${this.getId()}--panel--${spaceIndex}`), {
218
219
  expandable: true,
219
220
  expanded: true,
220
221
  width: "auto",
221
222
  headerToolbar: oHeaderToolbar,
222
- content: new List({
223
+ content: new List(recycleId(`${this.getId()}--panelContent--${spaceIndex}`), {
223
224
  items: aPagesList
224
225
  })
225
226
  }).addStyleClass("pagesPanel");
@@ -231,13 +232,13 @@ sap.ui.define(["sap/m/CustomListItem", "sap/m/HBox", "sap/m/List", "sap/m/Panel"
231
232
  }, 0);
232
233
  }
233
234
  },
234
- _createHeaderToolbar: function _createHeaderToolbar(oSpace) {
235
- const oTitle = new Title({
235
+ _createHeaderToolbar: function _createHeaderToolbar(oSpace, spaceIndex) {
236
+ const oTitle = new Title(recycleId(`${this.getId()}--headerTitle--${spaceIndex}`), {
236
237
  wrapping: true,
237
238
  width: "auto",
238
239
  text: oSpace.label
239
240
  }).addStyleClass("dialogPanelTitle");
240
- const oToolbar = new Toolbar({
241
+ const oToolbar = new Toolbar(recycleId(`${this.getId()}--headerToolBar--${spaceIndex}`), {
241
242
  design: "Solid",
242
243
  content: [oTitle]
243
244
  });