@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
@@ -19,6 +19,7 @@ import BaseLayoutRenderer from "./BaseLayoutRenderer";
19
19
  import BasePanel from "./BasePanel";
20
20
  import BaseSettingsDialog from "./BaseSettingsDialog";
21
21
  import BaseSettingsPanel from "./BaseSettingsPanel";
22
+ import ContentAdditionDialog from "./ContentAdditionDialog";
22
23
  import InsightsCardsSettingsPanel from "./InsightsCardsSettingsPanel";
23
24
  import InsightsTilesSettingsPanel from "./InsightsTilesSettingsPanel";
24
25
  import KeyUserLayoutSettingsPanel from "./KeyUserLayoutSettingsPanel";
@@ -213,8 +214,11 @@ export default class Layout extends BaseLayout {
213
214
  public async onBeforeRendering(event: Event): Promise<void> {
214
215
  super.onBeforeRendering(event);
215
216
 
216
- // Initialize Performance Metrics
217
- await setupPerformanceTracking(this);
217
+ //setup common layout features
218
+ this._setupSettingsDialog();
219
+
220
+ //setup content addition dialog
221
+ this._setupContentAdditionDialog();
218
222
 
219
223
  // If PersContainerId provided set to PersonalisationUtils
220
224
  const persContainerId = this.getProperty("persContainerId") as string;
@@ -222,31 +226,21 @@ export default class Layout extends BaseLayout {
222
226
  PersonalisationUtils.setPersContainerId(persContainerId);
223
227
  }
224
228
 
225
- // setup no-data container
226
- if (!this._noDataContainer) {
227
- this._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;
228
-
229
- // if no data container is already present, use it
230
- if (!this._noDataContainer) {
231
- this._customNoDataContainerPresent = false;
232
- this._noDataContainer = new NoDataContainer(`${this.getId()}-noDataContainer`);
233
- }
234
- this._noDataContainer.setVisible(false);
235
- }
229
+ this.getNoDataContainer();
236
230
 
237
231
  //prepare layout data, if not already done
238
232
  if (!this._aOrderedSections) {
239
233
  setTimeout(this._prepareLayoutData.bind(this));
240
234
  }
241
235
 
242
- //setup common layout features
243
- this._setupSettingsDialog();
244
-
245
236
  // Setup KeyUserPersonalization
246
237
  this._setupKeyUserSettingsDialog();
247
238
 
248
239
  //configure user action button if the layout is in an ushell environment
249
240
  await this._addUserActions();
241
+
242
+ // Initialize Performance Metrics
243
+ await setupPerformanceTracking(this);
250
244
  }
251
245
 
252
246
  /**
@@ -401,6 +395,26 @@ export default class Layout extends BaseLayout {
401
395
  return this._layoutSettingsPanel;
402
396
  }
403
397
 
398
+ /**
399
+ * Setup of no data container
400
+ *
401
+ * @private
402
+ * @returns {NoDataContainer} No data container
403
+ */
404
+ private getNoDataContainer(): NoDataContainer {
405
+ if (!this._noDataContainer) {
406
+ this._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;
407
+
408
+ // if no data container is already present, use it
409
+ if (!this._noDataContainer) {
410
+ this._customNoDataContainerPresent = false;
411
+ this._noDataContainer = new NoDataContainer(`${this.getId()}-noDataContainer`);
412
+ }
413
+ this._noDataContainer.setVisible(false);
414
+ }
415
+ return this._noDataContainer;
416
+ }
417
+
404
418
  /**
405
419
  * Prepares the layout data.
406
420
  *
@@ -415,7 +429,7 @@ export default class Layout extends BaseLayout {
415
429
  // set aelementsMap as elementMap[] | [];
416
430
  const aElementMap: IElement[] = [];
417
431
  aElements.forEach((element: BaseContainer) => {
418
- if (element !== this._noDataContainer) {
432
+ if (element !== this.getNoDataContainer()) {
419
433
  const sId = element.getId();
420
434
 
421
435
  //if no title set for container , then layout setting should show tooltip as title within the settings dialog
@@ -451,12 +465,13 @@ export default class Layout extends BaseLayout {
451
465
  * @private
452
466
  */
453
467
  public setNoDataContainerVisibility(contentVisible: boolean): void {
454
- this._noDataContainer?.setVisible(contentVisible);
468
+ const noDataContainer = this.getNoDataContainer();
469
+ noDataContainer?.setVisible(contentVisible);
455
470
  if (!this._customNoDataContainerPresent) {
456
471
  if (contentVisible) {
457
- this.insertItem(this._noDataContainer, 0);
472
+ this.insertItem(noDataContainer, 0);
458
473
  } else {
459
- this.removeItem(this._noDataContainer);
474
+ this.removeItem(noDataContainer);
460
475
  }
461
476
  }
462
477
  }
@@ -621,4 +636,17 @@ export default class Layout extends BaseLayout {
621
636
  public resetSections(): void {
622
637
  this._prepareLayoutData();
623
638
  }
639
+
640
+ /**
641
+ * Sets up the content addition dialog for the layout.
642
+ *
643
+ * @private
644
+ */
645
+ private _setupContentAdditionDialog(): void {
646
+ let contentAdditionDialog = this.getAggregation("contentAdditionDialog") as ContentAdditionDialog;
647
+ if (!contentAdditionDialog) {
648
+ contentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);
649
+ this.setAggregation("contentAdditionDialog", contentAdditionDialog);
650
+ }
651
+ }
624
652
  }
@@ -57,7 +57,7 @@ sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/Column", "sap/m/ColumnList
57
57
  press: () => this.resetMyhomeSettings()
58
58
  });
59
59
  // Add button to actionButtons aggregation
60
- this.addAggregation("actionButtons", this._resetActionButton);
60
+ this.addActionButton(this._resetActionButton);
61
61
  //setup layout content
62
62
  this.addAggregation("content", this._getContent());
63
63
  //fired every time on panel navigation
@@ -80,15 +80,6 @@ sap.ui.define(["sap/base/Log", "sap/m/Button", "sap/m/Column", "sap/m/ColumnList
80
80
  _this._getPanel().getSections().find(section => section.completeId === oContext.completeId).visible = bValue;
81
81
  const sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;
82
82
  const oWrapperItem = Element.getElementById(oContext.completeId);
83
- // visibility handling
84
- // const layout = this._getPanel() as Layout;
85
- // const isPagesAvailable = layout?.getPagesAvailable();
86
- // const isCustomNewsVisible = layout?.customNewAvailable();
87
-
88
- //****review this code */
89
- // const isPageSection = oContext.sContainerType === "sap.cux.home.NewsAndPagesContainer",
90
- // bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;
91
- // if (!bIsPageSectionDisabled) {
92
83
  _this._manageSectionsChanges.push({
93
84
  selectorElement: oWrapperItem,
94
85
  changeSpecificData: {
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSettingsPanel-dbg.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addAggregation(\"actionButtons\", this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\t\t// visibility handling\n\t\t// const layout = this._getPanel() as Layout;\n\t\t// const isPagesAvailable = layout?.getPagesAvailable();\n\t\t// const isCustomNewsVisible = layout?.customNewAvailable();\n\n\t\t//****review this code */\n\t\t// const isPageSection = oContext.sContainerType === \"sap.cux.home.NewsAndPagesContainer\",\n\t\t// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;\n\t\t// if (!bIsPageSectionDisabled) {\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LayoutSettingsPanel-dbg.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addActionButton","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addActionButton(this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAS/F;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;QAmCtC;;;;;;WAMG;QACH,OAAO,CAAC,gCAAgC;QAWxC;;;;WAIG;gBACW,aAAa;QA6E3B;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAkBlC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAiBnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAcvB;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAkBtB;;;;WAIG;gBACW,yBAAyB;QAevC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;QAgC3B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAgBvB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAgBhC;;;;WAIG;gBACW,oBAAoB;QAuDlC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;KAmC3B;CAEA"}
1
+ {"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAS/F;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;QA2BtC;;;;;;WAMG;QACH,OAAO,CAAC,gCAAgC;QAWxC;;;;WAIG;gBACW,aAAa;QA6E3B;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAkBlC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAiBnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAcvB;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAkBtB;;;;WAIG;gBACW,yBAAyB;QAevC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;QAgC3B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAgBvB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAgBhC;;;;WAIG;gBACW,oBAAoB;QAuDlC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;KAmC3B;CAEA"}
@@ -2,5 +2,5 @@
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/base/Log","sap/m/Button","sap/m/Column","sap/m/ColumnListItem","sap/m/HBox","sap/m/MessageBox","sap/m/ObjectIdentifier","sap/m/Table","sap/m/Text","sap/m/ToggleButton","sap/m/VBox","sap/ui/core/Element","sap/ui/core/Icon","sap/ui/core/Lib","sap/ui/model/json/JSONModel","./BaseSettingsPanel","./flexibility/Layout.flexibility","./utils/Accessibility","./utils/Constants","./utils/DragDropUtils","./utils/PersonalisationUtils"],function(e,t,n,s,i,o,a,r,l,c,d,u,g,h,m,p,_,f,y,I,S){"use strict";function C(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const x=C(p);const T=_["CHANGE_TYPES"];const E=f["getInvisibleText"];const P=y["SETTINGS_PANELS_KEYS"];const B=I["focusDraggedItem"];const b=C(S);const L=x.extend("sap.cux.home.LayoutSettingsPanel",{metadata:{library:"sap.cux.home"},constructor:function e(t,n){x.prototype.constructor.call(this,t,n);this._isCollapseHandlerAttached=false},init:function e(){x.prototype.init.call(this);this.setProperty("key",P.LAYOUT);this.setProperty("title",this._i18nBundle.getText("layout"));this.setProperty("icon","sap-icon://grid");this._resetActionButton=new t({id:`${this.getId()}-layoutResetBtn`,text:this._i18nBundle.getText("resetButton"),press:()=>this.resetMyhomeSettings()});this.addAggregation("actionButtons",this._resetActionButton);this.addAggregation("content",this._getContent());this.attachPanelNavigated(()=>void this._loadSections());this._manageSectionsChanges=[]},createShowHideChangeFile:function e(t){try{const e=this;const n=t.getSource();const s=!n.getPressed();const i=n.getBindingContext()?.getObject();i.visible=s;e._getPanel().getSections().find(e=>e.completeId===i.completeId).visible=s;const o=s?T.UNHIDE:T.HIDE;const a=u.getElementById(i.completeId);e._manageSectionsChanges.push({selectorElement:a,changeSpecificData:{changeType:o}});return Promise.resolve(e._saveManageSectionsDialog()).then(function(){setTimeout(()=>a.adjustLayout());if(!s){e._switchToCollapsedViewIfRequired([a])}})}catch(e){return Promise.reject(e)}},_switchToCollapsedViewIfRequired:function e(t){const n=this._getPanel();const s=n.getProperty("expanded");if(s){t.forEach(e=>{n.toggleFullScreen(e._getSelectedPanel())})}},_loadSections:function e(){try{const e=this;const t=e._getPanel();return Promise.resolve(t._calculateSectionsState()).then(function(){e._orderedSections=JSON.parse(JSON.stringify(t.getSections()));e._orderedSections.forEach(t=>{if(t.sContainerType==="sap.cux.home.InsightsContainer"&&!t.title){t.title=String(e._i18nBundle?.getText("insights"))}});e._controlModel=new m(e._orderedSections);e._layoutTable.setModel(e._controlModel);e._layoutTable.bindItems({path:"/",factory:t=>{if(!e._dndInvisibleText||e._dndInvisibleText.isDestroyed()){e._dndInvisibleText=E(e.getId()+"--layoutDndText",e._i18nBundle.getText("keyPressAriaText"))}return new s(`${t}--columnListItem`,{type:"Inactive",cells:[new i(`${t}--columnListHBox`,{alignItems:"Center",items:[new g(`${t}--columnListIcon`,{src:"sap-icon://vertical-grip"}).addStyleClass("sapUiSmallMarginEnd"),new i(`${t}--columnListItemHBox`,{justifyContent:"SpaceBetween",alignItems:"Center",width:"100%",items:[new a(`${t}--columnListObjectIdentifier`,{title:"{title}",text:"{text}",tooltip:"{title}"}),new c(`${t}--layoutSettingstoggleButton`,{tooltip:"{= ${visible} ? '"+e._i18nBundle.getText("hideBtn")+"' : '"+e._i18nBundle.getText("showBtn")+"' }",icon:"sap-icon://show",type:"Emphasized",enabled:"{= !${blocked}}",press:t=>{void e.createShowHideChangeFile(t)},pressed:"{= !${visible}}",ariaLabelledBy:["selectLabel"]}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]}),e._dndInvisibleText],width:"100%"})],ariaLabelledBy:[e._dndInvisibleText.getId()]}).addStyleClass("insightsListItem insightsListMargin")}});if(!e._isCollapseHandlerAttached){e._isCollapseHandlerAttached=true;t.attachEvent("onCollapse",()=>e._rearrangeLayoutIfRequired())}})}catch(e){return Promise.reject(e)}},_rearrangeLayoutIfRequired:function e(){const t=this._getPanel();const n=t.getItems();if(Array.isArray(this._allLayoutElements)&&n.length===this._allLayoutElements.length){const e=n.some((e,t)=>e.getId()!==this._allLayoutElements[t].getId());if(e){t.removeAllItems();this._allLayoutElements.forEach(e=>{t.addItem(e)})}}},_getContent:function e(){const t=this._setHeaderIntro();const n=this.setLayoutTable();const s=E(this.getId()+"--titleText",this._i18nBundle.getText("layout"));const i=new d(this.getId()+"--idNewsPageOuterVBoX",{alignItems:"Start",justifyContent:"SpaceBetween",renderType:"Bare",items:[s,t,n]});[s,t].forEach(e=>{this._resetActionButton.addAriaLabelledBy(e.getId())});return i},_setHeaderIntro:function e(){const t=new l(this.getId()+"--idCustLayoutText",{text:this._i18nBundle.getText("layoutIntroMsg")});const n=new d(this.getId()+"--idLayoutIntroText",{backgroundDesign:"Solid",alignItems:"Start",justifyContent:"SpaceBetween",items:[t],renderType:"Bare"}).addStyleClass("sapUiSmallMargin");return n},setLayoutTable:function e(){if(!this._layoutTable){this._layoutTable=new r(this.getId()+"--idManageSectionsTable",{width:"calc(100% - 2rem)",items:[],columns:[new n(this.getId()+"--idSectionTitleColumn",{width:"100%"})]}).addStyleClass("sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom");this.addDragDropConfigTo(this._layoutTable,e=>void this.onDropManageSections(e))}return this._layoutTable},_saveManageSectionsDialog:function e(){try{const e=this;return Promise.resolve(e._persistUserChanges({changes:e._manageSectionsChanges,appComponent:b.getOwnerComponent(e._getPanel())}).then(()=>{const t=e._layoutTable.getModel();t.refresh();e._controlModel.refresh()}).finally(()=>{e._manageSectionsChanges=[]}))}catch(e){return Promise.reject(e)}},_persistUserChanges:function t(n){return h.load({name:"sap.ui.fl"}).then(function(){return new Promise(function(t,s){sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],function(i){i.add({changes:n.changes,ignoreVariantManagement:true}).then(function(e){return t(i.save({selector:{appComponent:n.appComponent},changes:e}))}).catch(function(t){if(t instanceof Error){e.error("Unable to Save User Change: "+t.message);return s(t)}})})})})},_getActualIndex:function e(t){const n=this._getPanel();this._allLayoutElements=this._allLayoutElements||[...n.getItems()];const s=n.getProperty("expanded");const i=n._getCurrentExpandedElement();if(s&&i){if(!this._allLayoutElements.some(e=>e.getId()===i.targetContainer.getId())){this._allLayoutElements.splice(i.index,0,i.targetContainer)}}return this._allLayoutElements.findIndex(e=>e.getId()===t)},_rearrangeLayoutElements:function e(t,n){const s=this._allLayoutElements.splice(t,1)[0];this._allLayoutElements.splice(n,0,s);const i=this._getPanel();const o=i.getProperty("expanded");const a=i._getCurrentExpandedElement();if(o&&a){const e=a.sourceElements.values().next().value;i.updateFullScreenElement(e,{index:this._allLayoutElements.indexOf(a.targetContainer)})}},onDropManageSections:function e(t){try{const n=this;function s(){B(n._layoutTable,c)}const i=n._getPanel();const o=i.getId();const a=t.getParameter?.("draggedControl")||t.draggedControl;const r=a.getParent()?.indexOfItem(a);const l=t.getParameter?.("droppedControl")||t.droppedControl;const c=a.getParent()?.indexOfItem(l);const d=function(){if(r!==c){const e=n._orderedSections;const t=a.getBindingContext()?.getObject();const s=l.getBindingContext()?.getObject();const d=n._getActualIndex(t.completeId);const g=n._getActualIndex(s.completeId);n._rearrangeLayoutElements(d,g);e.splice(r,1);e.splice(c,0,t);i.setSections(e);n._manageSectionsChanges.push({selectorElement:i,changeSpecificData:{changeType:T.MOVE,movedElements:[{id:t.completeId,sourceIndex:d,targetIndex:g}],source:{id:o,aggregation:"items"},target:{id:o,aggregation:"items"}}});return Promise.resolve(n._saveManageSectionsDialog()).then(function(){const e=u.getElementById(t.completeId);const i=u.getElementById(s.completeId);n._switchToCollapsedViewIfRequired([e,i])})}}();return Promise.resolve(d&&d.then?d.then(s):s(d))}catch(g){return Promise.reject(g)}},resetMyhomeSettings:function e(){const t=this;o.show(this._i18nBundle.getText("reset_cards_confirmation_msg"),{id:"resetCardsConfirmation",icon:o.Icon.QUESTION,title:this._i18nBundle.getText("reset_cards_confirmation_title"),actions:[this._i18nBundle.getText("reset_cards_button"),o.Action.CANCEL],onClose:function(e){try{const n=function(){if(e===t._i18nBundle.getText("reset_cards_button")){const e=[];for(let n of t._orderedSections){const t=u.getElementById(n.completeId);e.push(t)}e.push(t._getPanel());return Promise.resolve(h.load({name:"sap.ui.fl"}).then(()=>{sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],n=>{void n.reset({selectors:e,changeTypes:[T.MOVE,T.UNHIDE,T.HIDE]}).finally(()=>{const e=t._getPanel();e.resetSections();e.closeSettingsDialog()})})})).then(function(){})}}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}})}});return L});
5
+ sap.ui.define(["sap/base/Log","sap/m/Button","sap/m/Column","sap/m/ColumnListItem","sap/m/HBox","sap/m/MessageBox","sap/m/ObjectIdentifier","sap/m/Table","sap/m/Text","sap/m/ToggleButton","sap/m/VBox","sap/ui/core/Element","sap/ui/core/Icon","sap/ui/core/Lib","sap/ui/model/json/JSONModel","./BaseSettingsPanel","./flexibility/Layout.flexibility","./utils/Accessibility","./utils/Constants","./utils/DragDropUtils","./utils/PersonalisationUtils"],function(e,t,n,s,i,o,a,r,l,c,d,u,g,h,m,p,_,f,y,I,S){"use strict";function C(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const x=C(p);const T=_["CHANGE_TYPES"];const E=f["getInvisibleText"];const P=y["SETTINGS_PANELS_KEYS"];const B=I["focusDraggedItem"];const b=C(S);const L=x.extend("sap.cux.home.LayoutSettingsPanel",{metadata:{library:"sap.cux.home"},constructor:function e(t,n){x.prototype.constructor.call(this,t,n);this._isCollapseHandlerAttached=false},init:function e(){x.prototype.init.call(this);this.setProperty("key",P.LAYOUT);this.setProperty("title",this._i18nBundle.getText("layout"));this.setProperty("icon","sap-icon://grid");this._resetActionButton=new t({id:`${this.getId()}-layoutResetBtn`,text:this._i18nBundle.getText("resetButton"),press:()=>this.resetMyhomeSettings()});this.addActionButton(this._resetActionButton);this.addAggregation("content",this._getContent());this.attachPanelNavigated(()=>void this._loadSections());this._manageSectionsChanges=[]},createShowHideChangeFile:function e(t){try{const e=this;const n=t.getSource();const s=!n.getPressed();const i=n.getBindingContext()?.getObject();i.visible=s;e._getPanel().getSections().find(e=>e.completeId===i.completeId).visible=s;const o=s?T.UNHIDE:T.HIDE;const a=u.getElementById(i.completeId);e._manageSectionsChanges.push({selectorElement:a,changeSpecificData:{changeType:o}});return Promise.resolve(e._saveManageSectionsDialog()).then(function(){setTimeout(()=>a.adjustLayout());if(!s){e._switchToCollapsedViewIfRequired([a])}})}catch(e){return Promise.reject(e)}},_switchToCollapsedViewIfRequired:function e(t){const n=this._getPanel();const s=n.getProperty("expanded");if(s){t.forEach(e=>{n.toggleFullScreen(e._getSelectedPanel())})}},_loadSections:function e(){try{const e=this;const t=e._getPanel();return Promise.resolve(t._calculateSectionsState()).then(function(){e._orderedSections=JSON.parse(JSON.stringify(t.getSections()));e._orderedSections.forEach(t=>{if(t.sContainerType==="sap.cux.home.InsightsContainer"&&!t.title){t.title=String(e._i18nBundle?.getText("insights"))}});e._controlModel=new m(e._orderedSections);e._layoutTable.setModel(e._controlModel);e._layoutTable.bindItems({path:"/",factory:t=>{if(!e._dndInvisibleText||e._dndInvisibleText.isDestroyed()){e._dndInvisibleText=E(e.getId()+"--layoutDndText",e._i18nBundle.getText("keyPressAriaText"))}return new s(`${t}--columnListItem`,{type:"Inactive",cells:[new i(`${t}--columnListHBox`,{alignItems:"Center",items:[new g(`${t}--columnListIcon`,{src:"sap-icon://vertical-grip"}).addStyleClass("sapUiSmallMarginEnd"),new i(`${t}--columnListItemHBox`,{justifyContent:"SpaceBetween",alignItems:"Center",width:"100%",items:[new a(`${t}--columnListObjectIdentifier`,{title:"{title}",text:"{text}",tooltip:"{title}"}),new c(`${t}--layoutSettingstoggleButton`,{tooltip:"{= ${visible} ? '"+e._i18nBundle.getText("hideBtn")+"' : '"+e._i18nBundle.getText("showBtn")+"' }",icon:"sap-icon://show",type:"Emphasized",enabled:"{= !${blocked}}",press:t=>{void e.createShowHideChangeFile(t)},pressed:"{= !${visible}}",ariaLabelledBy:["selectLabel"]}).addStyleClass("sapUiTinyMarginEnd sapUiTinyMarginTop")]}),e._dndInvisibleText],width:"100%"})],ariaLabelledBy:[e._dndInvisibleText.getId()]}).addStyleClass("insightsListItem insightsListMargin")}});if(!e._isCollapseHandlerAttached){e._isCollapseHandlerAttached=true;t.attachEvent("onCollapse",()=>e._rearrangeLayoutIfRequired())}})}catch(e){return Promise.reject(e)}},_rearrangeLayoutIfRequired:function e(){const t=this._getPanel();const n=t.getItems();if(Array.isArray(this._allLayoutElements)&&n.length===this._allLayoutElements.length){const e=n.some((e,t)=>e.getId()!==this._allLayoutElements[t].getId());if(e){t.removeAllItems();this._allLayoutElements.forEach(e=>{t.addItem(e)})}}},_getContent:function e(){const t=this._setHeaderIntro();const n=this.setLayoutTable();const s=E(this.getId()+"--titleText",this._i18nBundle.getText("layout"));const i=new d(this.getId()+"--idNewsPageOuterVBoX",{alignItems:"Start",justifyContent:"SpaceBetween",renderType:"Bare",items:[s,t,n]});[s,t].forEach(e=>{this._resetActionButton.addAriaLabelledBy(e.getId())});return i},_setHeaderIntro:function e(){const t=new l(this.getId()+"--idCustLayoutText",{text:this._i18nBundle.getText("layoutIntroMsg")});const n=new d(this.getId()+"--idLayoutIntroText",{backgroundDesign:"Solid",alignItems:"Start",justifyContent:"SpaceBetween",items:[t],renderType:"Bare"}).addStyleClass("sapUiSmallMargin");return n},setLayoutTable:function e(){if(!this._layoutTable){this._layoutTable=new r(this.getId()+"--idManageSectionsTable",{width:"calc(100% - 2rem)",items:[],columns:[new n(this.getId()+"--idSectionTitleColumn",{width:"100%"})]}).addStyleClass("sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom");this.addDragDropConfigTo(this._layoutTable,e=>void this.onDropManageSections(e))}return this._layoutTable},_saveManageSectionsDialog:function e(){try{const e=this;return Promise.resolve(e._persistUserChanges({changes:e._manageSectionsChanges,appComponent:b.getOwnerComponent(e._getPanel())}).then(()=>{const t=e._layoutTable.getModel();t.refresh();e._controlModel.refresh()}).finally(()=>{e._manageSectionsChanges=[]}))}catch(e){return Promise.reject(e)}},_persistUserChanges:function t(n){return h.load({name:"sap.ui.fl"}).then(function(){return new Promise(function(t,s){sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],function(i){i.add({changes:n.changes,ignoreVariantManagement:true}).then(function(e){return t(i.save({selector:{appComponent:n.appComponent},changes:e}))}).catch(function(t){if(t instanceof Error){e.error("Unable to Save User Change: "+t.message);return s(t)}})})})})},_getActualIndex:function e(t){const n=this._getPanel();this._allLayoutElements=this._allLayoutElements||[...n.getItems()];const s=n.getProperty("expanded");const i=n._getCurrentExpandedElement();if(s&&i){if(!this._allLayoutElements.some(e=>e.getId()===i.targetContainer.getId())){this._allLayoutElements.splice(i.index,0,i.targetContainer)}}return this._allLayoutElements.findIndex(e=>e.getId()===t)},_rearrangeLayoutElements:function e(t,n){const s=this._allLayoutElements.splice(t,1)[0];this._allLayoutElements.splice(n,0,s);const i=this._getPanel();const o=i.getProperty("expanded");const a=i._getCurrentExpandedElement();if(o&&a){const e=a.sourceElements.values().next().value;i.updateFullScreenElement(e,{index:this._allLayoutElements.indexOf(a.targetContainer)})}},onDropManageSections:function e(t){try{const n=this;function s(){B(n._layoutTable,c)}const i=n._getPanel();const o=i.getId();const a=t.getParameter?.("draggedControl")||t.draggedControl;const r=a.getParent()?.indexOfItem(a);const l=t.getParameter?.("droppedControl")||t.droppedControl;const c=a.getParent()?.indexOfItem(l);const d=function(){if(r!==c){const e=n._orderedSections;const t=a.getBindingContext()?.getObject();const s=l.getBindingContext()?.getObject();const d=n._getActualIndex(t.completeId);const g=n._getActualIndex(s.completeId);n._rearrangeLayoutElements(d,g);e.splice(r,1);e.splice(c,0,t);i.setSections(e);n._manageSectionsChanges.push({selectorElement:i,changeSpecificData:{changeType:T.MOVE,movedElements:[{id:t.completeId,sourceIndex:d,targetIndex:g}],source:{id:o,aggregation:"items"},target:{id:o,aggregation:"items"}}});return Promise.resolve(n._saveManageSectionsDialog()).then(function(){const e=u.getElementById(t.completeId);const i=u.getElementById(s.completeId);n._switchToCollapsedViewIfRequired([e,i])})}}();return Promise.resolve(d&&d.then?d.then(s):s(d))}catch(g){return Promise.reject(g)}},resetMyhomeSettings:function e(){const t=this;o.show(this._i18nBundle.getText("reset_cards_confirmation_msg"),{id:"resetCardsConfirmation",icon:o.Icon.QUESTION,title:this._i18nBundle.getText("reset_cards_confirmation_title"),actions:[this._i18nBundle.getText("reset_cards_button"),o.Action.CANCEL],onClose:function(e){try{const n=function(){if(e===t._i18nBundle.getText("reset_cards_button")){const e=[];for(let n of t._orderedSections){const t=u.getElementById(n.completeId);e.push(t)}e.push(t._getPanel());return Promise.resolve(h.load({name:"sap.ui.fl"}).then(()=>{sap.ui.require(["sap/ui/fl/write/api/ControlPersonalizationWriteAPI"],n=>{void n.reset({selectors:e,changeTypes:[T.MOVE,T.UNHIDE,T.HIDE]}).finally(()=>{const e=t._getPanel();e.resetSections();e.closeSettingsDialog()})})})).then(function(){})}}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}})}});return L});
6
6
  //# sourceMappingURL=LayoutSettingsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSettingsPanel.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","this","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addAggregation(\"actionButtons\", this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\t\t// visibility handling\n\t\t// const layout = this._getPanel() as Layout;\n\t\t// const isPagesAvailable = layout?.getPagesAvailable();\n\t\t// const isCustomNewsVisible = layout?.customNewAvailable();\n\n\t\t//****review this code */\n\t\t// const isPageSection = oContext.sContainerType === \"sap.cux.home.NewsAndPagesContainer\",\n\t\t// bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;\n\t\t// if (!bIsPageSectionDisabled) {\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LayoutSettingsPanel.js","names":["sap","ui","define","Log","Button","Column","ColumnListItem","HBox","MessageBox","ObjectIdentifier","Table","Text","ToggleButton","VBox","Element","Icon","Lib","JSONModel","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Accessibility","___utils_Constants","___utils_DragDropUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","getInvisibleText","SETTINGS_PANELS_KEYS","focusDraggedItem","PersonalisationUtils","LayoutSettingsPanel","extend","metadata","library","constructor","_constructor","id","settings","BaseSettingsPanel.prototype.constructor.call","this","_isCollapseHandlerAttached","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","LAYOUT","_i18nBundle","getText","_resetActionButton","getId","text","press","resetMyhomeSettings","addActionButton","addAggregation","_getContent","attachPanelNavigated","_loadSections","_manageSectionsChanges","createShowHideChangeFile","_createShowHideChangeFile","oControlEvent","_this","toggle","getSource","bValue","getPressed","oContext","getBindingContext","getObject","visible","_getPanel","getSections","find","section","completeId","sChangeType","UNHIDE","HIDE","oWrapperItem","getElementById","push","selectorElement","changeSpecificData","changeType","Promise","resolve","_saveManageSectionsDialog","then","setTimeout","adjustLayout","_switchToCollapsedViewIfRequired","e","reject","containers","layout","isLayoutExpanded","getProperty","forEach","container","toggleFullScreen","_getSelectedPanel","_this2","_calculateSectionsState","_orderedSections","JSON","parse","stringify","oSection","sContainerType","title","String","_controlModel","_layoutTable","setModel","bindItems","path","factory","_dndInvisibleText","isDestroyed","type","cells","alignItems","items","src","addStyleClass","justifyContent","width","tooltip","icon","enabled","event","pressed","ariaLabelledBy","attachEvent","_rearrangeLayoutIfRequired","currentLayoutElements","getItems","Array","isArray","_allLayoutElements","length","isOrderChanged","some","element","index","removeAllItems","addItem","oHeader","_setHeaderIntro","oTable","setLayoutTable","oInvisibleText","oContentVBox","renderType","control","addAriaLabelledBy","oHeaderText","oHeaderVBox","backgroundDesign","_setLayoutTable","columns","addDragDropConfigTo","onDropManageSections","_this3","_persistUserChanges","changes","appComponent","getOwnerComponent","tableModel","getModel","refresh","finally","mProperties","load","name","require","ControlPersonalizationWriteAPI","add","ignoreVariantManagement","aGeneratedChanges","save","selector","catch","oError","Error","error","message","_getActualIndex","expandedElementConfig","_getCurrentExpandedElement","targetContainer","splice","findIndex","_rearrangeLayoutElements","sourceIndex","targetIndex","sourceElement","sourceElements","values","next","value","updateFullScreenElement","indexOf","_onDropManageSections","oEvent","_this4","_temp2","iDropItemIndex","oWrapper","wrapperId","oDragItem","getParameter","draggedControl","iDragItemIndex","getParent","indexOfItem","oDropItem","droppedControl","_temp","sectionOrder","dragObject","dropObject","actualDragItemIndex","actualDropItemIndex","setSections","MOVE","movedElements","source","aggregation","target","draggedContainer","droppedContainer","_resetMyhomeSettings","_this5","show","QUESTION","actions","Action","CANCEL","onClose","oAction","_temp3","aChangesForDeletion","reset","selectors","changeTypes","resetSections","closeSettingsDialog"],"sources":["LayoutSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport ResourceBundle from \"sap/base/i18n/ResourceBundle\";\nimport Button from \"sap/m/Button\";\nimport Column from \"sap/m/Column\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport HBox from \"sap/m/HBox\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Table from \"sap/m/Table\";\nimport Text from \"sap/m/Text\";\nimport ToggleButton from \"sap/m/ToggleButton\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport Component from \"sap/ui/core/Component\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Element from \"sap/ui/core/Element\";\nimport Icon from \"sap/ui/core/Icon\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEvent } from \"sap/ui/core/dnd/DropInfo\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel, { $BaseSettingsPanelSettings } from \"./BaseSettingsPanel\";\nimport Layout from \"./Layout\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IControlPersonalizationWriteAPI, IDragEvent, IElement, IManagePersChanges } from \"./interface/LayoutInterface\";\nimport { getInvisibleText } from \"./utils/Accessibility\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for My Home Layout Settings Panel.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @experimental Since 1.121\n * @private\n *\n * @alias sap.cux.home.LayoutSettingsPanel\n */\nexport default class LayoutSettingsPanel extends BaseSettingsPanel {\n\tprivate _layoutTable!: Table;\n\tpublic _i18nBundle!: ResourceBundle;\n\tprivate _orderedSections!: IElement[];\n\tprivate _manageSectionsChanges!: IManagePersChanges[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _allLayoutElements!: BaseContainer[];\n\tprivate _isCollapseHandlerAttached: boolean = false;\n\tprivate _resetActionButton!: Button;\n\tprivate _dndInvisibleText!: InvisibleText;\n\n\tconstructor(id?: string | $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings);\n\tconstructor(id?: string, settings?: $BaseSettingsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", SETTINGS_PANELS_KEYS.LAYOUT);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"layout\"));\n\t\tthis.setProperty(\"icon\", \"sap-icon://grid\");\n\t\tthis._resetActionButton = new Button({\n\t\t\tid: `${this.getId()}-layoutResetBtn`,\n\t\t\ttext: this._i18nBundle.getText(\"resetButton\"),\n\t\t\tpress: () => this.resetMyhomeSettings()\n\t\t});\n\t\t// Add button to actionButtons aggregation\n\t\tthis.addActionButton(this._resetActionButton);\n\t\t//setup layout content\n\t\tthis.addAggregation(\"content\", this._getContent());\n\t\t//fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => void this._loadSections());\n\t\tthis._manageSectionsChanges = [];\n\t}\n\n\t/**\n\t * Method to set visibility of the container sections\n\t * Toggle button pressed event handler\n\t *\n\t * @private\n\t */\n\tprivate async createShowHideChangeFile(oControlEvent: Event): Promise<void> {\n\t\tconst toggle = oControlEvent.getSource<ToggleButton>();\n\t\tconst bValue = !toggle.getPressed();\n\t\tconst oContext = toggle.getBindingContext()?.getObject() as IElement;\n\n\t\toContext.visible = bValue;\n\t\t(this._getPanel() as Layout).getSections().find((section) => section.completeId === oContext.completeId)!.visible = bValue;\n\n\t\tconst sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;\n\t\tconst oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;\n\n\t\tthis._manageSectionsChanges.push({\n\t\t\tselectorElement: oWrapperItem,\n\t\t\tchangeSpecificData: {\n\t\t\t\tchangeType: sChangeType\n\t\t\t}\n\t\t});\n\t\t// }\n\t\tawait this._saveManageSectionsDialog();\n\t\tsetTimeout(() => oWrapperItem.adjustLayout());\n\n\t\t// switch to collapsed view if the container is in expanded view\n\t\tif (!bValue) {\n\t\t\tthis._switchToCollapsedViewIfRequired([oWrapperItem]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches the layout to collapsed view if the current container is in expanded view\n\t *\n\t * @private\n\t * @param {BaseContainer} container - container instance to check\n\t * @returns {void}\n\t */\n\tprivate _switchToCollapsedViewIfRequired(containers: BaseContainer[]): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\n\t\tif (isLayoutExpanded) {\n\t\t\tcontainers.forEach((container) => {\n\t\t\t\tlayout.toggleFullScreen(container._getSelectedPanel());\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Method to load the sections\n\t *\n\t * @private\n\t */\n\tprivate async _loadSections(): Promise<void> {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tawait layout._calculateSectionsState();\n\n\t\tthis._orderedSections = JSON.parse(JSON.stringify(layout.getSections())) as IElement[];\n\t\t// not a good way as there could be more than one insights container, discuss\n\t\tthis._orderedSections.forEach((oSection) => {\n\t\t\tif (oSection.sContainerType === \"sap.cux.home.InsightsContainer\" && !oSection.title) {\n\t\t\t\toSection.title = String(this._i18nBundle?.getText(\"insights\"));\n\t\t\t}\n\t\t});\n\t\tthis._controlModel = new JSONModel(this._orderedSections);\n\t\tthis._layoutTable.setModel(this._controlModel);\n\n\t\tthis._layoutTable.bindItems({\n\t\t\tpath: \"/\",\n\t\t\tfactory: (id) => {\n\t\t\t\tif (!this._dndInvisibleText || this._dndInvisibleText.isDestroyed()) {\n\t\t\t\t\tthis._dndInvisibleText = getInvisibleText(\n\t\t\t\t\t\tthis.getId() + \"--layoutDndText\",\n\t\t\t\t\t\tthis._i18nBundle.getText(\"keyPressAriaText\")\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn new ColumnListItem(`${id}--columnListItem`, {\n\t\t\t\t\ttype: \"Inactive\",\n\t\t\t\t\tcells: [\n\t\t\t\t\t\tnew HBox(`${id}--columnListHBox`, {\n\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\tnew Icon(`${id}--columnListIcon`, {\n\t\t\t\t\t\t\t\t\tsrc: \"sap-icon://vertical-grip\"\n\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\"),\n\t\t\t\t\t\t\t\tnew HBox(`${id}--columnListItemHBox`, {\n\t\t\t\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t\tnew ObjectIdentifier(`${id}--columnListObjectIdentifier`, {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\t\t\t\t\t\t\ttext: \"{text}\",\n\t\t\t\t\t\t\t\t\t\t\ttooltip: \"{title}\"\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tnew ToggleButton(`${id}--layoutSettingstoggleButton`, {\n\t\t\t\t\t\t\t\t\t\t\ttooltip:\n\t\t\t\t\t\t\t\t\t\t\t\t\"{= ${visible} ? '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"hideBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' : '\" +\n\t\t\t\t\t\t\t\t\t\t\t\tthis._i18nBundle.getText(\"showBtn\") +\n\t\t\t\t\t\t\t\t\t\t\t\t\"' }\",\n\t\t\t\t\t\t\t\t\t\t\ticon: \"sap-icon://show\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Emphasized\",\n\t\t\t\t\t\t\t\t\t\t\tenabled: \"{= !${blocked}}\",\n\t\t\t\t\t\t\t\t\t\t\tpress: (event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tvoid this.createShowHideChangeFile(event);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tpressed: \"{= !${visible}}\",\n\t\t\t\t\t\t\t\t\t\t\tariaLabelledBy: [\"selectLabel\"]\n\t\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginEnd sapUiTinyMarginTop\")\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tthis._dndInvisibleText\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t\t})\n\t\t\t\t\t],\n\t\t\t\t\tariaLabelledBy: [this._dndInvisibleText.getId()]\n\t\t\t\t}).addStyleClass(\"insightsListItem insightsListMargin\");\n\t\t\t}\n\t\t});\n\n\t\t// attach collapse event handler to rearrange layout elements if required\n\t\tif (!this._isCollapseHandlerAttached) {\n\t\t\tthis._isCollapseHandlerAttached = true;\n\t\t\tlayout.attachEvent(\"onCollapse\", () => this._rearrangeLayoutIfRequired());\n\t\t}\n\t}\n\n\t/**\n\t * Rearranges the layout elements if their order has changed.\n\t *\n\t * @private\n\t */\n\tprivate _rearrangeLayoutIfRequired(): void {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst currentLayoutElements = layout.getItems();\n\n\t\tif (Array.isArray(this._allLayoutElements) && currentLayoutElements.length === this._allLayoutElements.length) {\n\t\t\tconst isOrderChanged = currentLayoutElements.some((element, index) => {\n\t\t\t\treturn element.getId() !== this._allLayoutElements[index].getId();\n\t\t\t});\n\n\t\t\tif (isOrderChanged) {\n\t\t\t\tlayout.removeAllItems();\n\t\t\t\tthis._allLayoutElements.forEach((element) => {\n\t\t\t\t\tlayout.addItem(element);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel content.\n\t */\n\tprivate _getContent(): VBox {\n\t\tconst oHeader = this._setHeaderIntro();\n\t\tconst oTable = this.setLayoutTable();\n\t\tconst oInvisibleText = getInvisibleText(this.getId() + \"--titleText\", this._i18nBundle.getText(\"layout\"));\n\n\t\tconst oContentVBox = new VBox(this.getId() + \"--idNewsPageOuterVBoX\", {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [oInvisibleText, oHeader, oTable]\n\t\t});\n\t\t[oInvisibleText, oHeader].forEach((control) => {\n\t\t\tthis._resetActionButton.addAriaLabelledBy(control.getId());\n\t\t});\n\t\treturn oContentVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Settings Panel Header.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Layout Settings Panel's Header content.\n\t */\n\tprivate _setHeaderIntro(): VBox {\n\t\tconst oHeaderText = new Text(this.getId() + \"--idCustLayoutText\", {\n\t\t\ttext: this._i18nBundle.getText(\"layoutIntroMsg\")\n\t\t});\n\t\tconst oHeaderVBox = new VBox(this.getId() + \"--idLayoutIntroText\", {\n\t\t\tbackgroundDesign: \"Solid\",\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: [oHeaderText],\n\t\t\trenderType: \"Bare\"\n\t\t}).addStyleClass(\"sapUiSmallMargin\");\n\t\treturn oHeaderVBox;\n\t}\n\n\t/**\n\t * Returns the content for the Layout Table.\n\t *\n\t * @private\n\t * @returns {sap.ui.core.Control} The control containing the Layout Settings Panel'sTable.\n\t */\n\tprivate setLayoutTable(): Table {\n\t\tif (!this._layoutTable) {\n\t\t\tthis._layoutTable = new Table(this.getId() + \"--idManageSectionsTable\", {\n\t\t\t\twidth: \"calc(100% - 2rem)\",\n\t\t\t\titems: [],\n\n\t\t\t\tcolumns: [\n\t\t\t\t\tnew Column(this.getId() + \"--idSectionTitleColumn\", {\n\t\t\t\t\t\twidth: \"100%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapUiSmallMarginBeginEnd sapUiTinyMarginBottom\");\n\t\t\tthis.addDragDropConfigTo(this._layoutTable, (event) => void this.onDropManageSections(event));\n\t\t}\n\n\t\treturn this._layoutTable;\n\t}\n\n\t/**\n\t * Function to save section changes of MyHomeSettingsDialog\n\t *\n\t * @private\n\t */\n\tprivate async _saveManageSectionsDialog(): Promise<void> {\n\t\treturn this._persistUserChanges({\n\t\t\tchanges: this._manageSectionsChanges,\n\t\t\tappComponent: PersonalisationUtils.getOwnerComponent(this._getPanel() as Layout)\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tconst tableModel = this._layoutTable.getModel() as JSONModel;\n\t\t\t\ttableModel.refresh();\n\t\t\t\tthis._controlModel.refresh();\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tthis._manageSectionsChanges = [];\n\t\t\t});\n\t}\n\n\t/**\n\t * Function to persist user changes\n\t *\n\t * @private\n\t */\n\tprivate _persistUserChanges(mProperties: { changes: IManagePersChanges[]; appComponent: Component | undefined }): Promise<void> {\n\t\treturn Lib.load({ name: \"sap.ui.fl\" }).then(function () {\n\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\tsap.ui.require(\n\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\tfunction (ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) {\n\t\t\t\t\t\tControlPersonalizationWriteAPI.add({\n\t\t\t\t\t\t\tchanges: mProperties.changes,\n\t\t\t\t\t\t\tignoreVariantManagement: true\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(function (aGeneratedChanges) {\n\t\t\t\t\t\t\t\treturn resolve(\n\t\t\t\t\t\t\t\t\tControlPersonalizationWriteAPI.save({\n\t\t\t\t\t\t\t\t\t\tselector: {\n\t\t\t\t\t\t\t\t\t\t\tappComponent: mProperties.appComponent\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tchanges: aGeneratedChanges\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(function (oError) {\n\t\t\t\t\t\t\t\tif (oError instanceof Error) {\n\t\t\t\t\t\t\t\t\tLog.error(\"Unable to Save User Change: \" + oError.message);\n\t\t\t\t\t\t\t\t\treturn reject(oError);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the actual index of a layout element by its ID.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the layout element to find.\n\t * @returns {number} The index of the layout element.\n\t */\n\tprivate _getActualIndex(id: string): number {\n\t\tconst layout = this._getPanel() as Layout;\n\t\tthis._allLayoutElements = this._allLayoutElements || [...layout.getItems()];\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\t// add the expanded element if it isn't already in the list\n\t\t\tif (!this._allLayoutElements.some((element) => element.getId() === expandedElementConfig.targetContainer.getId())) {\n\t\t\t\tthis._allLayoutElements.splice(expandedElementConfig.index, 0, expandedElementConfig.targetContainer);\n\t\t\t}\n\t\t}\n\n\t\treturn this._allLayoutElements.findIndex((element) => element.getId() === id);\n\t}\n\n\t/**\n\t * Rearranges the layout elements by moving an element from the source index to the target index.\n\t *\n\t * @private\n\t * @param {number} sourceIndex - The index of the element to move.\n\t * @param {number} targetIndex - The index to move the element to.\n\t */\n\tprivate _rearrangeLayoutElements(sourceIndex: number, targetIndex: number): void {\n\t\tconst container = this._allLayoutElements.splice(sourceIndex, 1)[0];\n\t\tthis._allLayoutElements.splice(targetIndex, 0, container);\n\n\t\t//update the index of the expanded element if in expanded mode\n\t\tconst layout = this._getPanel() as Layout;\n\t\tconst isLayoutExpanded = layout.getProperty(\"expanded\") as boolean;\n\t\tconst expandedElementConfig = layout._getCurrentExpandedElement();\n\t\tif (isLayoutExpanded && expandedElementConfig) {\n\t\t\tconst sourceElement = expandedElementConfig.sourceElements.values().next().value!;\n\t\t\tlayout.updateFullScreenElement(sourceElement, {\n\t\t\t\tindex: this._allLayoutElements.indexOf(expandedElementConfig.targetContainer)\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Function to execute drag and drop among sections\n\t *\n\t * @private\n\t */\n\tprivate async onDropManageSections(oEvent: DropInfo$DropEvent | IDragEvent): Promise<void> {\n\t\tconst oWrapper = this._getPanel() as Layout;\n\t\tconst wrapperId = oWrapper.getId();\n\t\tconst oDragItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"draggedControl\") ||\n\t\t\t(oEvent as IDragEvent).draggedControl) as ColumnListItem;\n\t\tconst iDragItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDragItem);\n\t\tconst oDropItem = ((oEvent as DropInfo$DropEvent).getParameter?.(\"droppedControl\") ||\n\t\t\t(oEvent as IDragEvent).droppedControl) as ColumnListItem;\n\t\tconst iDropItemIndex = (oDragItem.getParent() as Table)?.indexOfItem(oDropItem);\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tconst sectionOrder = this._orderedSections;\n\t\t\tconst dragObject = oDragItem.getBindingContext()?.getObject() as IElement;\n\t\t\tconst dropObject = oDropItem.getBindingContext()?.getObject() as IElement;\n\n\t\t\tconst actualDragItemIndex = this._getActualIndex(dragObject.completeId);\n\t\t\tconst actualDropItemIndex = this._getActualIndex(dropObject.completeId);\n\t\t\tthis._rearrangeLayoutElements(actualDragItemIndex, actualDropItemIndex);\n\n\t\t\tsectionOrder.splice(iDragItemIndex, 1);\n\t\t\tsectionOrder.splice(iDropItemIndex, 0, dragObject);\n\t\t\toWrapper.setSections(sectionOrder);\n\n\t\t\tthis._manageSectionsChanges.push({\n\t\t\t\tselectorElement: oWrapper,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.MOVE,\n\t\t\t\t\tmovedElements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: dragObject.completeId,\n\t\t\t\t\t\t\tsourceIndex: actualDragItemIndex,\n\t\t\t\t\t\t\ttargetIndex: actualDropItemIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tid: wrapperId,\n\t\t\t\t\t\taggregation: \"items\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._saveManageSectionsDialog();\n\n\t\t\t//switch to collapsed view if any of the containers is in expanded view\n\t\t\tconst draggedContainer = Element.getElementById(dragObject.completeId) as BaseContainer;\n\t\t\tconst droppedContainer = Element.getElementById(dropObject.completeId) as BaseContainer;\n\t\t\tthis._switchToCollapsedViewIfRequired([draggedContainer, droppedContainer]);\n\t\t}\n\t\tfocusDraggedItem(this._layoutTable, iDropItemIndex);\n\t}\n\n\t/**\n\t * Function to reset MyHome settings changes\n\t *\n\t * @private\n\t */\n\tprivate resetMyhomeSettings(): void {\n\t\tMessageBox.show(this._i18nBundle.getText(\"reset_cards_confirmation_msg\") as string, {\n\t\t\tid: \"resetCardsConfirmation\",\n\t\t\ticon: MessageBox.Icon.QUESTION,\n\t\t\ttitle: this._i18nBundle.getText(\"reset_cards_confirmation_title\"),\n\t\t\tactions: [this._i18nBundle.getText(\"reset_cards_button\") as string, MessageBox.Action.CANCEL],\n\t\t\tonClose: async (oAction: string) => {\n\t\t\t\tif (oAction === this._i18nBundle.getText(\"reset_cards_button\")) {\n\t\t\t\t\tconst aChangesForDeletion: (BaseContainer | BaseLayout)[] = [];\n\n\t\t\t\t\tfor (let section of this._orderedSections) {\n\t\t\t\t\t\tconst element = Element.getElementById(section.completeId) as BaseContainer;\n\t\t\t\t\t\taChangesForDeletion.push(element);\n\t\t\t\t\t}\n\t\t\t\t\t// Revert Changes Related to DragnDrop\n\t\t\t\t\taChangesForDeletion.push(this._getPanel() as Layout);\n\t\t\t\t\tawait Lib.load({ name: \"sap.ui.fl\" }).then(() => {\n\t\t\t\t\t\tsap.ui.require(\n\t\t\t\t\t\t\t[\"sap/ui/fl/write/api/ControlPersonalizationWriteAPI\"],\n\t\t\t\t\t\t\t(ControlPersonalizationWriteAPI: IControlPersonalizationWriteAPI) => {\n\t\t\t\t\t\t\t\tvoid ControlPersonalizationWriteAPI.reset({\n\t\t\t\t\t\t\t\t\tselectors: aChangesForDeletion,\n\t\t\t\t\t\t\t\t\tchangeTypes: [CHANGE_TYPES.MOVE, CHANGE_TYPES.UNHIDE, CHANGE_TYPES.HIDE]\n\t\t\t\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t\t\t\tconst layout = this._getPanel() as Layout;\n\t\t\t\t\t\t\t\t\tlayout.resetSections();\n\t\t\t\t\t\t\t\t\tlayout.closeSettingsDialog();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -91,7 +91,7 @@ export default class LayoutSettingsPanel extends BaseSettingsPanel {
91
91
  press: () => this.resetMyhomeSettings()
92
92
  });
93
93
  // Add button to actionButtons aggregation
94
- this.addAggregation("actionButtons", this._resetActionButton);
94
+ this.addActionButton(this._resetActionButton);
95
95
  //setup layout content
96
96
  this.addAggregation("content", this._getContent());
97
97
  //fired every time on panel navigation
@@ -115,15 +115,7 @@ export default class LayoutSettingsPanel extends BaseSettingsPanel {
115
115
 
116
116
  const sChangeType = bValue ? CHANGE_TYPES.UNHIDE : CHANGE_TYPES.HIDE;
117
117
  const oWrapperItem = Element.getElementById(oContext.completeId) as BaseContainer;
118
- // visibility handling
119
- // const layout = this._getPanel() as Layout;
120
- // const isPagesAvailable = layout?.getPagesAvailable();
121
- // const isCustomNewsVisible = layout?.customNewAvailable();
122
-
123
- //****review this code */
124
- // const isPageSection = oContext.sContainerType === "sap.cux.home.NewsAndPagesContainer",
125
- // bIsPageSectionDisabled = isPageSection && !isPagesAvailable && !isCustomNewsVisible;
126
- // if (!bIsPageSectionDisabled) {
118
+
127
119
  this._manageSectionsChanges.push({
128
120
  selectorElement: oWrapperItem,
129
121
  changeSpecificData: {