@sapui5/sap.cux.home 1.135.0 → 1.136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js +23 -5
  3. package/src/sap/cux/home/AdvancedSettingsPanel-dbg.js.map +1 -1
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  5. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  8. package/src/sap/cux/home/AdvancedSettingsPanel.ts +24 -5
  9. package/src/sap/cux/home/AppsAdditionPanel-dbg.js +919 -0
  10. package/src/sap/cux/home/AppsAdditionPanel-dbg.js.map +1 -0
  11. package/src/sap/cux/home/AppsAdditionPanel.d.ts +293 -0
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -0
  13. package/src/sap/cux/home/AppsAdditionPanel.js +6 -0
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -0
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +757 -0
  16. package/src/sap/cux/home/AppsContainer-dbg.js +42 -28
  17. package/src/sap/cux/home/AppsContainer-dbg.js.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.d.ts +17 -1
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.js +1 -1
  21. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  22. package/src/sap/cux/home/AppsContainer.ts +27 -6
  23. package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js +261 -0
  24. package/src/sap/cux/home/AppsContainerGenericPlaceholder-dbg.js.map +1 -0
  25. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts +8 -0
  26. package/src/sap/cux/home/AppsContainerGenericPlaceholder.d.ts.map +1 -0
  27. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js +6 -0
  28. package/src/sap/cux/home/AppsContainerGenericPlaceholder.js.map +1 -0
  29. package/src/sap/cux/home/AppsContainerGenericPlaceholder.ts +251 -0
  30. package/src/sap/cux/home/BaseAppPanel-dbg.js +4 -5
  31. package/src/sap/cux/home/BaseAppPanel-dbg.js.map +1 -1
  32. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  33. package/src/sap/cux/home/BaseAppPanel.js +1 -1
  34. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  35. package/src/sap/cux/home/BaseAppPanel.ts +3 -5
  36. package/src/sap/cux/home/BaseAppPersPanel-dbg.js +2 -1
  37. package/src/sap/cux/home/BaseAppPersPanel-dbg.js.map +1 -1
  38. package/src/sap/cux/home/BaseAppPersPanel.d.ts.map +1 -1
  39. package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
  40. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  41. package/src/sap/cux/home/BaseAppPersPanel.ts +2 -1
  42. package/src/sap/cux/home/BaseContainer-dbg.js +24 -3
  43. package/src/sap/cux/home/BaseContainer-dbg.js.map +1 -1
  44. package/src/sap/cux/home/BaseContainer.d.ts +10 -0
  45. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  46. package/src/sap/cux/home/BaseContainer.js +1 -1
  47. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  48. package/src/sap/cux/home/BaseContainer.ts +24 -2
  49. package/src/sap/cux/home/BaseContainerRenderer-dbg.js +18 -1
  50. package/src/sap/cux/home/BaseContainerRenderer-dbg.js.map +1 -1
  51. package/src/sap/cux/home/BaseContainerRenderer.d.ts +4 -4
  52. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  53. package/src/sap/cux/home/BaseContainerRenderer.js +1 -1
  54. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  55. package/src/sap/cux/home/BaseContainerRenderer.ts +25 -4
  56. package/src/sap/cux/home/BaseLayout-dbg.js +22 -2
  57. package/src/sap/cux/home/BaseLayout-dbg.js.map +1 -1
  58. package/src/sap/cux/home/BaseLayout.d.ts +6 -0
  59. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  60. package/src/sap/cux/home/BaseLayout.js +1 -1
  61. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  62. package/src/sap/cux/home/BaseLayout.ts +23 -2
  63. package/src/sap/cux/home/BaseNewsItem-dbg.js +3 -3
  64. package/src/sap/cux/home/BaseNewsItem-dbg.js.map +1 -1
  65. package/src/sap/cux/home/BaseNewsItem.js +1 -1
  66. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  67. package/src/sap/cux/home/BaseNewsItem.ts +3 -3
  68. package/src/sap/cux/home/BaseNewsPanel-dbg.js +4 -5
  69. package/src/sap/cux/home/BaseNewsPanel-dbg.js.map +1 -1
  70. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  71. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  72. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  73. package/src/sap/cux/home/BaseNewsPanel.ts +5 -4
  74. package/src/sap/cux/home/BasePanel-dbg.js +1 -1
  75. package/src/sap/cux/home/BasePanel-dbg.js.map +1 -1
  76. package/src/sap/cux/home/BasePanel.js +1 -1
  77. package/src/sap/cux/home/BasePanel.js.map +1 -1
  78. package/src/sap/cux/home/BasePanel.ts +1 -1
  79. package/src/sap/cux/home/BaseSettingsDialog-dbg.js +11 -0
  80. package/src/sap/cux/home/BaseSettingsDialog-dbg.js.map +1 -1
  81. package/src/sap/cux/home/BaseSettingsDialog.d.ts.map +1 -1
  82. package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
  83. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  84. package/src/sap/cux/home/BaseSettingsDialog.ts +12 -0
  85. package/src/sap/cux/home/BaseSettingsPanel-dbg.js +67 -2
  86. package/src/sap/cux/home/BaseSettingsPanel-dbg.js.map +1 -1
  87. package/src/sap/cux/home/BaseSettingsPanel.d.ts +42 -0
  88. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  89. package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +75 -0
  90. package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
  91. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  92. package/src/sap/cux/home/BaseSettingsPanel.ts +70 -2
  93. package/src/sap/cux/home/CardsPanel-dbg.js +548 -168
  94. package/src/sap/cux/home/CardsPanel-dbg.js.map +1 -1
  95. package/src/sap/cux/home/CardsPanel.d.ts +121 -15
  96. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  97. package/src/sap/cux/home/CardsPanel.gen.d.ts +78 -0
  98. package/src/sap/cux/home/CardsPanel.js +1 -1
  99. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  100. package/src/sap/cux/home/CardsPanel.ts +450 -97
  101. package/src/sap/cux/home/ContentAdditionDialog-dbg.js +353 -0
  102. package/src/sap/cux/home/ContentAdditionDialog-dbg.js.map +1 -0
  103. package/src/sap/cux/home/ContentAdditionDialog.d.ts +82 -0
  104. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -0
  105. package/src/sap/cux/home/ContentAdditionDialog.js +6 -0
  106. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -0
  107. package/src/sap/cux/home/ContentAdditionDialog.ts +214 -0
  108. package/src/sap/cux/home/ErrorPanel-dbg.js +3 -3
  109. package/src/sap/cux/home/ErrorPanel-dbg.js.map +1 -1
  110. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  111. package/src/sap/cux/home/ErrorPanel.js +1 -1
  112. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  113. package/src/sap/cux/home/ErrorPanel.ts +4 -2
  114. package/src/sap/cux/home/FavAppPanel-dbg.js +352 -333
  115. package/src/sap/cux/home/FavAppPanel-dbg.js.map +1 -1
  116. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  117. package/src/sap/cux/home/FavAppPanel.js +1 -1
  118. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  119. package/src/sap/cux/home/FavAppPanel.ts +63 -54
  120. package/src/sap/cux/home/InsightsAdditionPanel-dbg.js +97 -0
  121. package/src/sap/cux/home/InsightsAdditionPanel-dbg.js.map +1 -0
  122. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +57 -0
  123. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -0
  124. package/src/sap/cux/home/InsightsAdditionPanel.js +6 -0
  125. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -0
  126. package/src/sap/cux/home/InsightsAdditionPanel.ts +94 -0
  127. package/src/sap/cux/home/InsightsContainer-dbg.js +22 -2
  128. package/src/sap/cux/home/InsightsContainer-dbg.js.map +1 -1
  129. package/src/sap/cux/home/InsightsContainer.d.ts +14 -0
  130. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  131. package/src/sap/cux/home/InsightsContainer.js +1 -1
  132. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  133. package/src/sap/cux/home/InsightsContainer.ts +22 -1
  134. package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js +401 -0
  135. package/src/sap/cux/home/InsightsContainerGenericPlaceholder-dbg.js.map +1 -0
  136. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts +8 -0
  137. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.d.ts.map +1 -0
  138. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js +6 -0
  139. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.js.map +1 -0
  140. package/src/sap/cux/home/InsightsContainerGenericPlaceholder.ts +391 -0
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js +10 -9
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel-dbg.js.map +1 -1
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  144. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +1 -1
  145. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  146. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +9 -8
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js +2 -2
  148. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel-dbg.js.map +1 -1
  149. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +1 -1
  150. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  151. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -2
  152. package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js +6 -6
  153. package/src/sap/cux/home/KeyUserPagesSettingsPanel-dbg.js.map +1 -1
  154. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
  155. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  156. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +6 -6
  157. package/src/sap/cux/home/Layout-dbg.js +58 -33
  158. package/src/sap/cux/home/Layout-dbg.js.map +1 -1
  159. package/src/sap/cux/home/Layout.d.ts +13 -0
  160. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  161. package/src/sap/cux/home/Layout.js +1 -1
  162. package/src/sap/cux/home/Layout.js.map +1 -1
  163. package/src/sap/cux/home/Layout.ts +48 -20
  164. package/src/sap/cux/home/LayoutSettingsPanel-dbg.js +1 -10
  165. package/src/sap/cux/home/LayoutSettingsPanel-dbg.js.map +1 -1
  166. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  167. package/src/sap/cux/home/LayoutSettingsPanel.js +1 -1
  168. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  169. package/src/sap/cux/home/LayoutSettingsPanel.ts +2 -10
  170. package/src/sap/cux/home/NewsAndPagesContainer-dbg.js +35 -17
  171. package/src/sap/cux/home/NewsAndPagesContainer-dbg.js.map +1 -1
  172. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +7 -0
  173. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  174. package/src/sap/cux/home/NewsAndPagesContainer.js +1 -1
  175. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  176. package/src/sap/cux/home/NewsAndPagesContainer.ts +40 -16
  177. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js +164 -0
  178. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder-dbg.js.map +1 -0
  179. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts +8 -0
  180. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.d.ts.map +1 -0
  181. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js +6 -0
  182. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.js.map +1 -0
  183. package/src/sap/cux/home/NewsAndPagesContainerGenericPlaceholder.ts +154 -0
  184. package/src/sap/cux/home/NewsGroup-dbg.js +112 -79
  185. package/src/sap/cux/home/NewsGroup-dbg.js.map +1 -1
  186. package/src/sap/cux/home/NewsGroup.d.ts +1 -0
  187. package/src/sap/cux/home/NewsGroup.d.ts.map +1 -1
  188. package/src/sap/cux/home/NewsGroup.js +1 -1
  189. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  190. package/src/sap/cux/home/NewsGroup.ts +136 -100
  191. package/src/sap/cux/home/NewsPanel-dbg.js +541 -173
  192. package/src/sap/cux/home/NewsPanel-dbg.js.map +1 -1
  193. package/src/sap/cux/home/NewsPanel.d.ts +156 -16
  194. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  195. package/src/sap/cux/home/NewsPanel.js +1 -1
  196. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  197. package/src/sap/cux/home/NewsPanel.ts +452 -82
  198. package/src/sap/cux/home/NewsSettingsPanel-dbg.js +61 -20
  199. package/src/sap/cux/home/NewsSettingsPanel-dbg.js.map +1 -1
  200. package/src/sap/cux/home/NewsSettingsPanel.d.ts +14 -0
  201. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
  203. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  204. package/src/sap/cux/home/NewsSettingsPanel.ts +75 -21
  205. package/src/sap/cux/home/NoDataContainer-dbg.js +3 -3
  206. package/src/sap/cux/home/NoDataContainer-dbg.js.map +1 -1
  207. package/src/sap/cux/home/NoDataContainer.d.ts +1 -0
  208. package/src/sap/cux/home/NoDataContainer.d.ts.map +1 -1
  209. package/src/sap/cux/home/NoDataContainer.js +1 -1
  210. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  211. package/src/sap/cux/home/NoDataContainer.ts +4 -2
  212. package/src/sap/cux/home/PagePanel-dbg.js +86 -75
  213. package/src/sap/cux/home/PagePanel-dbg.js.map +1 -1
  214. package/src/sap/cux/home/PagePanel.d.ts +25 -3
  215. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  216. package/src/sap/cux/home/PagePanel.js +1 -1
  217. package/src/sap/cux/home/PagePanel.js.map +1 -1
  218. package/src/sap/cux/home/PagePanel.ts +91 -76
  219. package/src/sap/cux/home/PageSettingsPanel-dbg.js +16 -15
  220. package/src/sap/cux/home/PageSettingsPanel-dbg.js.map +1 -1
  221. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  222. package/src/sap/cux/home/PageSettingsPanel.js +1 -1
  223. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  224. package/src/sap/cux/home/PageSettingsPanel.ts +15 -14
  225. package/src/sap/cux/home/RecentAppPanel-dbg.js +2 -2
  226. package/src/sap/cux/home/RecentAppPanel-dbg.js.map +1 -1
  227. package/src/sap/cux/home/RecentAppPanel.js +1 -1
  228. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  229. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  230. package/src/sap/cux/home/RecommendedAppPanel-dbg.js +4 -3
  231. package/src/sap/cux/home/RecommendedAppPanel-dbg.js.map +1 -1
  232. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  233. package/src/sap/cux/home/RecommendedAppPanel.js +1 -1
  234. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  235. package/src/sap/cux/home/RecommendedAppPanel.ts +4 -2
  236. package/src/sap/cux/home/SettingsDialog-dbg.js +4 -3
  237. package/src/sap/cux/home/SettingsDialog-dbg.js.map +1 -1
  238. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  239. package/src/sap/cux/home/SettingsDialog.js +1 -1
  240. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  241. package/src/sap/cux/home/SettingsDialog.ts +4 -2
  242. package/src/sap/cux/home/TaskPanel-dbg.js +16 -12
  243. package/src/sap/cux/home/TaskPanel-dbg.js.map +1 -1
  244. package/src/sap/cux/home/TaskPanel.d.ts +1 -2
  245. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  246. package/src/sap/cux/home/TaskPanel.js +1 -1
  247. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  248. package/src/sap/cux/home/TaskPanel.ts +19 -12
  249. package/src/sap/cux/home/TilesPanel-dbg.js +9 -8
  250. package/src/sap/cux/home/TilesPanel-dbg.js.map +1 -1
  251. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  252. package/src/sap/cux/home/TilesPanel.js +1 -1
  253. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  254. package/src/sap/cux/home/TilesPanel.ts +15 -8
  255. package/src/sap/cux/home/ToDoPanel-dbg.js +34 -25
  256. package/src/sap/cux/home/ToDoPanel-dbg.js.map +1 -1
  257. package/src/sap/cux/home/ToDoPanel.d.ts +0 -7
  258. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  259. package/src/sap/cux/home/ToDoPanel.js +1 -1
  260. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  261. package/src/sap/cux/home/ToDoPanel.ts +27 -29
  262. package/src/sap/cux/home/ToDosContainer-dbg.js +27 -18
  263. package/src/sap/cux/home/ToDosContainer-dbg.js.map +1 -1
  264. package/src/sap/cux/home/ToDosContainer.d.ts +7 -0
  265. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  266. package/src/sap/cux/home/ToDosContainer.js +1 -1
  267. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  268. package/src/sap/cux/home/ToDosContainer.ts +10 -0
  269. package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js +84 -0
  270. package/src/sap/cux/home/ToDosContainerGenericPlaceholder-dbg.js.map +1 -0
  271. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts +8 -0
  272. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.d.ts.map +1 -0
  273. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js +6 -0
  274. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.js.map +1 -0
  275. package/src/sap/cux/home/ToDosContainerGenericPlaceholder.ts +74 -0
  276. package/src/sap/cux/home/i18n/messagebundle.properties +63 -1
  277. package/src/sap/cux/home/i18n/messagebundle_ar.properties +42 -1
  278. package/src/sap/cux/home/i18n/messagebundle_bg.properties +43 -1
  279. package/src/sap/cux/home/i18n/messagebundle_ca.properties +43 -1
  280. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +43 -1
  281. package/src/sap/cux/home/i18n/messagebundle_cs.properties +43 -1
  282. package/src/sap/cux/home/i18n/messagebundle_cy.properties +43 -1
  283. package/src/sap/cux/home/i18n/messagebundle_da.properties +43 -1
  284. package/src/sap/cux/home/i18n/messagebundle_de.properties +43 -1
  285. package/src/sap/cux/home/i18n/messagebundle_el.properties +44 -2
  286. package/src/sap/cux/home/i18n/messagebundle_en.properties +43 -246
  287. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +43 -1
  288. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +43 -1
  289. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +31 -1
  290. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +43 -1
  291. package/src/sap/cux/home/i18n/messagebundle_es.properties +43 -1
  292. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +43 -1
  293. package/src/sap/cux/home/i18n/messagebundle_et.properties +43 -1
  294. package/src/sap/cux/home/i18n/messagebundle_fi.properties +43 -1
  295. package/src/sap/cux/home/i18n/messagebundle_fr.properties +43 -1
  296. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +42 -1
  297. package/src/sap/cux/home/i18n/messagebundle_hi.properties +43 -1
  298. package/src/sap/cux/home/i18n/messagebundle_hr.properties +42 -1
  299. package/src/sap/cux/home/i18n/messagebundle_hu.properties +43 -1
  300. package/src/sap/cux/home/i18n/messagebundle_id.properties +47 -5
  301. package/src/sap/cux/home/i18n/messagebundle_it.properties +43 -1
  302. package/src/sap/cux/home/i18n/messagebundle_iw.properties +43 -1
  303. package/src/sap/cux/home/i18n/messagebundle_ja.properties +43 -1
  304. package/src/sap/cux/home/i18n/messagebundle_kk.properties +43 -1
  305. package/src/sap/cux/home/i18n/messagebundle_ko.properties +43 -1
  306. package/src/sap/cux/home/i18n/messagebundle_lt.properties +42 -1
  307. package/src/sap/cux/home/i18n/messagebundle_lv.properties +43 -1
  308. package/src/sap/cux/home/i18n/messagebundle_mk.properties +43 -1
  309. package/src/sap/cux/home/i18n/messagebundle_ms.properties +43 -1
  310. package/src/sap/cux/home/i18n/messagebundle_nl.properties +43 -1
  311. package/src/sap/cux/home/i18n/messagebundle_no.properties +44 -2
  312. package/src/sap/cux/home/i18n/messagebundle_pl.properties +44 -2
  313. package/src/sap/cux/home/i18n/messagebundle_pt.properties +43 -1
  314. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +43 -1
  315. package/src/sap/cux/home/i18n/messagebundle_ro.properties +43 -1
  316. package/src/sap/cux/home/i18n/messagebundle_ru.properties +43 -1
  317. package/src/sap/cux/home/i18n/messagebundle_sh.properties +43 -1
  318. package/src/sap/cux/home/i18n/messagebundle_sk.properties +42 -1
  319. package/src/sap/cux/home/i18n/messagebundle_sl.properties +44 -2
  320. package/src/sap/cux/home/i18n/messagebundle_sr.properties +43 -1
  321. package/src/sap/cux/home/i18n/messagebundle_sv.properties +43 -1
  322. package/src/sap/cux/home/i18n/messagebundle_th.properties +43 -2
  323. package/src/sap/cux/home/i18n/messagebundle_tr.properties +42 -1
  324. package/src/sap/cux/home/i18n/messagebundle_uk.properties +43 -1
  325. package/src/sap/cux/home/i18n/messagebundle_vi.properties +42 -1
  326. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +43 -1
  327. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +42 -1
  328. package/src/sap/cux/home/interface/AppsInterface-dbg.js.map +1 -1
  329. package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -3
  330. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  331. package/src/sap/cux/home/interface/AppsInterface.ts +5 -3
  332. package/src/sap/cux/home/interface/CardsInterface-dbg.js +32 -0
  333. package/src/sap/cux/home/interface/CardsInterface-dbg.js.map +1 -1
  334. package/src/sap/cux/home/interface/CardsInterface.d.ts +320 -55
  335. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  336. package/src/sap/cux/home/interface/CardsInterface.js +5 -1
  337. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  338. package/src/sap/cux/home/interface/CardsInterface.ts +359 -55
  339. package/src/sap/cux/home/library-preload.js +88 -45
  340. package/src/sap/cux/home/library-preload.js.map +1 -1
  341. package/src/sap/cux/home/manifest.json +4 -4
  342. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -0
  343. package/src/sap/cux/home/themes/base/BaseLayout.less +1 -0
  344. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +69 -0
  345. package/src/sap/cux/home/themes/base/NewsAndPagesContainer.less +37 -12
  346. package/src/sap/cux/home/themes/base/PlaceHolder.less +1374 -0
  347. package/src/sap/cux/home/themes/base/ToDosContainer.less +1 -1
  348. package/src/sap/cux/home/themes/base/library-RTL.css +2 -2
  349. package/src/sap/cux/home/themes/base/library-parameters.json +1 -1
  350. package/src/sap/cux/home/themes/base/library.css +2 -2
  351. package/src/sap/cux/home/themes/base/library.source.less +2 -0
  352. package/src/sap/cux/home/themes/sap_fiori_3/library-RTL.css +2 -2
  353. package/src/sap/cux/home/themes/sap_fiori_3/library-parameters.json +1 -1
  354. package/src/sap/cux/home/themes/sap_fiori_3/library.css +2 -2
  355. package/src/sap/cux/home/themes/sap_fiori_3_dark/library-RTL.css +2 -2
  356. package/src/sap/cux/home/themes/sap_fiori_3_dark/library-parameters.json +1 -1
  357. package/src/sap/cux/home/themes/sap_fiori_3_dark/library.css +2 -2
  358. package/src/sap/cux/home/themes/sap_fiori_3_hcb/AppsContainer.less +1 -0
  359. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-RTL.css +2 -2
  360. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library-parameters.json +1 -1
  361. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.css +2 -2
  362. package/src/sap/cux/home/themes/sap_fiori_3_hcb/library.source.less +2 -0
  363. package/src/sap/cux/home/themes/sap_fiori_3_hcw/AppsContainer.less +1 -0
  364. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-RTL.css +2 -2
  365. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library-parameters.json +1 -1
  366. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.css +2 -2
  367. package/src/sap/cux/home/themes/sap_fiori_3_hcw/library.source.less +2 -0
  368. package/src/sap/cux/home/themes/sap_horizon/library-RTL.css +2 -2
  369. package/src/sap/cux/home/themes/sap_horizon/library-parameters.json +1 -1
  370. package/src/sap/cux/home/themes/sap_horizon/library.css +2 -2
  371. package/src/sap/cux/home/themes/sap_horizon_dark/library-RTL.css +2 -2
  372. package/src/sap/cux/home/themes/sap_horizon_dark/library-parameters.json +1 -1
  373. package/src/sap/cux/home/themes/sap_horizon_dark/library.css +2 -2
  374. package/src/sap/cux/home/themes/sap_horizon_hcb/AppsContainer.less +1 -0
  375. package/src/sap/cux/home/themes/sap_horizon_hcb/library-RTL.css +2 -2
  376. package/src/sap/cux/home/themes/sap_horizon_hcb/library-parameters.json +1 -1
  377. package/src/sap/cux/home/themes/sap_horizon_hcb/library.css +2 -2
  378. package/src/sap/cux/home/themes/sap_horizon_hcb/library.source.less +2 -0
  379. package/src/sap/cux/home/themes/sap_horizon_hcw/AppsContainer.less +1 -0
  380. package/src/sap/cux/home/themes/sap_horizon_hcw/library-RTL.css +2 -2
  381. package/src/sap/cux/home/themes/sap_horizon_hcw/library-parameters.json +1 -1
  382. package/src/sap/cux/home/themes/sap_horizon_hcw/library.css +2 -2
  383. package/src/sap/cux/home/themes/sap_horizon_hcw/library.source.less +2 -0
  384. package/src/sap/cux/home/utils/AppManager-dbg.js +405 -440
  385. package/src/sap/cux/home/utils/AppManager-dbg.js.map +1 -1
  386. package/src/sap/cux/home/utils/AppManager.d.ts +88 -124
  387. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  388. package/src/sap/cux/home/utils/AppManager.js +1 -1
  389. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  390. package/src/sap/cux/home/utils/AppManager.ts +351 -542
  391. package/src/sap/cux/home/utils/Constants-dbg.js +25 -1
  392. package/src/sap/cux/home/utils/Constants-dbg.js.map +1 -1
  393. package/src/sap/cux/home/utils/Constants.d.ts +17 -0
  394. package/src/sap/cux/home/utils/Constants.d.ts.map +1 -1
  395. package/src/sap/cux/home/utils/Constants.js +1 -1
  396. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  397. package/src/sap/cux/home/utils/Constants.ts +20 -1
  398. package/src/sap/cux/home/utils/Device-dbg.js +49 -1
  399. package/src/sap/cux/home/utils/Device-dbg.js.map +1 -1
  400. package/src/sap/cux/home/utils/Device.d.ts +13 -0
  401. package/src/sap/cux/home/utils/Device.d.ts.map +1 -1
  402. package/src/sap/cux/home/utils/Device.js +1 -1
  403. package/src/sap/cux/home/utils/Device.js.map +1 -1
  404. package/src/sap/cux/home/utils/Device.ts +58 -1
  405. package/src/sap/cux/home/utils/InsightsUtils-dbg.js +25 -0
  406. package/src/sap/cux/home/utils/InsightsUtils-dbg.js.map +1 -1
  407. package/src/sap/cux/home/utils/InsightsUtils.d.ts +14 -0
  408. package/src/sap/cux/home/utils/InsightsUtils.d.ts.map +1 -1
  409. package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
  410. package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
  411. package/src/sap/cux/home/utils/InsightsUtils.ts +25 -0
  412. package/src/sap/cux/home/utils/PerformanceUtils-dbg.js +5 -2
  413. package/src/sap/cux/home/utils/PerformanceUtils-dbg.js.map +1 -1
  414. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +1 -0
  415. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  416. package/src/sap/cux/home/utils/PerformanceUtils.js +1 -1
  417. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  418. package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -1
  419. package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js +1599 -0
  420. package/src/sap/cux/home/utils/RecommendedCardUtil-dbg.js.map +1 -0
  421. package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts +534 -0
  422. package/src/sap/cux/home/utils/RecommendedCardUtil.d.ts.map +1 -0
  423. package/src/sap/cux/home/utils/RecommendedCardUtil.js +6 -0
  424. package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -0
  425. package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1945 -0
  426. package/src/sap/cux/home/utils/SituationUtils-dbg.js +1 -1
  427. package/src/sap/cux/home/utils/SituationUtils-dbg.js.map +1 -1
  428. package/src/sap/cux/home/utils/SituationUtils.js +1 -1
  429. package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
  430. package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
  431. package/src/sap/cux/home/utils/UshellPersonalizer-dbg.js.map +1 -1
  432. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +4 -1
  433. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  434. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  435. package/src/sap/cux/home/utils/UshellPersonalizer.ts +2 -1
  436. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +126 -0
@@ -1 +1 @@
1
- {"version":3,"file":"KeyUserPagesSettingsPanel.js","names":["sap","ui","define","Button","ColorPalette","Dialog","FlexBox","FlexItemData","HBox","Label","List","ScrollContainer","SearchField","StandardListItem","Switch","Text","Title","VBox","EventBus","Icon","Parameters","Filter","FilterOperator","JSONModel","Column","TreeTable","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Constants","___utils_IconList","__PageManager","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","DEFAULT_BG_COLOR","END_USER_COLORS","FALLBACK_ICON","KEYUSER_SETTINGS_PANELS_KEYS","ICONS","PageManager","PersonalisationUtils","KeyUserPagesSettingsPanel","extend","constructor","prototype","apply","this","arguments","keyuserSpaceColorChanges","keyuserPageColorChanges","keyuserSpaceIconChanges","keyuserPageIconChanges","metadata","library","init","_init","BaseSettingsPanel.prototype.init.call","controlMap","Map","controlModel","spaces","selectedSpacePage","iconList","setProperty","PAGES","_i18nBundle","getText","_eventBus","getInstance","addAggregation","getContent","attachPanelNavigated","loadSettings","_getContent","dialogId","getId","get","oDialog","title","contentWidth","contentHeight","verticalScrolling","endButton","text","press","_handleDialogClose","bind","type","addStyleClass","set","addDialogContent","_loadSettings","pageManagerInstance","getPersContainerId","_getPanel","getOwnerComponent","prepareSpacesPagesData","prepareIconList","_addDialogContent","dialog","wrapperFlexBox","alignItems","justifyContent","height","width","direction","setModel","addItem","getSpacePagesListItems","getDetailsView","addContent","_getSpacePagesListItems","flexBox","titleStyle","treeTableWrapper","treeTableId","treeTable","selectionMode","selectionBehavior","rows","id","groupHeaderProperty","columnHeaderVisible","rowMode","rowSelectionChange","handleTreeTableRowSelection","layoutData","growFactor","columns","template","items","tooltip","src","backgroundColor","size","color","_getDetailsView","visible","getColorPalette","getIconList","_getColorPalette","wrapperVBox","label","wrapping","colorPaletteVBox","colorPaletteLabel","design","colorPalette","colors","map","value","colorSelect","_handleColorSelect","switchWrapperHBox","switchText","switchHBox","switchId","switchControl","state","change","_handleSwitchChange","enabled","customTextOn","customTextOff","_getIconList","searchFieldId","searchField","liveChange","handleIconSearch","iconListScrollContainer","vertical","horizontal","iconListId","path","icon","event","_handleIconSelect","getSource","iconDensityAware","iconInset","_prepareSpacesPagesData","_this","Promise","resolve","fetchAllAvailableSpaces","then","aSpaces","Array","isArray","forEach","oSpace","BGColor","refreshColor","isSpacePersonalization","persistedApplyColorToAllPages","applyColorToAllPages","children","oPage","oldColor","isPagePersonalization","spaceId","personalizationState","iconPersonalizationState","isPageIconPersonalization","selectedIndices","getSelectedIndices","includes","setSelectedIndex","e","reject","_refreshColor","oColorObject","newObject","name","key","_handleTreeTableRowSelection","oEvent","bindingContext","getParameter","selectedObject","getObject","prevSelectedObject","getProperty","spaceObject","undefined","controlsDisabled","getBlocked","contextPath","getPath","spaceContextPath","replace","setBlocked","selectedContext","_prepareIconList","length","aIcons","Object","keys","oIconCategory","icons","oIcon","push","tags","concat","toString","categoryId","_handleIconSearch","sQuery","getValue","aFilters","Contains","oList","oBinding","getBinding","filter","selectedColor","isSpaceColorChanged","legendColor","_convertColorToLegend","oldLegendColor","oExistingChange","find","changes","oldApplyColorToAllPages","_applyInnerPageColoring","pageObject","pageId","isSpaceColorChangedBefore","existingSpacePersData","listItem","sIcon","getIcon","isSpaceIconChanged","oldIcon","filteredPages","_getInnerPages","page","bindingPath","isSpaceIconChangedBefore","isSpaceIconPersonalization","oLegendColor","endUserColor","switchValue","colorKey","colorValue","sColorKey","sColorValue","bApplyColorToAllPages","innerPages","oChange","index","_mergeKeyUserChanges","pagePanel","wrapperContainer","getParent","layout","selectorControl","changeSpecificData","changeType","SPACE_COLOR","content","addKeyUserChanges","PAGE_COLOR","SPACE_ICON","PAGE_ICON","publish","getKeyUserChanges","close"],"sources":["KeyUserPagesSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport ColorPalette, { ColorPalette$ColorSelectEvent } from \"sap/m/ColorPalette\";\nimport Dialog from \"sap/m/Dialog\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport FlexItemData from \"sap/m/FlexItemData\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport SearchField, { SearchField$LiveChangeEvent } from \"sap/m/SearchField\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Switch, { Switch$ChangeEvent } from \"sap/m/Switch\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport Parameters, { Value } from \"sap/ui/core/theming/Parameters\";\nimport Context from \"sap/ui/model/Context\";\nimport Filter from \"sap/ui/model/Filter\";\nimport FilterOperator from \"sap/ui/model/FilterOperator\";\nimport JSONListBinding from \"sap/ui/model/json/JSONListBinding\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Column from \"sap/ui/table/Column\";\nimport { Table$RowSelectionChangeEvent } from \"sap/ui/table/Table\";\nimport TreeTable from \"sap/ui/table/TreeTable\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IKeyUserChange, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IColor, IPage, ISpace } from \"./interface/PageSpaceInterface\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport PagePanel from \"./PagePanel\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, FALLBACK_ICON, KEYUSER_SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { ICONS } from \"./utils/IconList\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for Pages Settings Panel for KeyUser Settings Dialog.\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.KeyUserPagesSettingsPanel\n */\nexport default class KeyUserPagesSettingsPanel extends BaseSettingsPanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\tprivate controlMap!: Map<string, Control | Element>;\n\tprivate controlModel!: JSONModel;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate selectedContext!: Context;\n\tprivate _eventBus!: EventBus;\n\tprivate keyuserSpaceColorChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserPageColorChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserSpaceIconChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserPageIconChanges: Array<ISpacePagePersonalization> = [];\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\t\tthis.controlMap = new Map();\n\t\tthis.controlModel = new JSONModel({\n\t\t\tspaces: [],\n\t\t\tselectedSpacePage: {},\n\t\t\ticonList: []\n\t\t});\n\n\t\t// setup panel\n\t\tthis.setProperty(\"key\", KEYUSER_SETTINGS_PANELS_KEYS.PAGES);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"editPages\"));\n\n\t\t// Setup Event Bus\n\t\tthis._eventBus = EventBus.getInstance();\n\n\t\t// setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t// fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => this.loadSettings());\n\t}\n\n\t/**\n\t * Returns the content for the KeyUser Pages Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the KeyUser Pages Settings Panel content.\n\t */\n\tprivate getContent(): Dialog {\n\t\tconst dialogId = `${this.getId()}-keyUserPagesSettingsDialog`;\n\t\tif (!this.controlMap.get(dialogId)) {\n\t\t\tconst oDialog = new Dialog(dialogId, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"editPages\"),\n\t\t\t\tcontentWidth: \"47rem\",\n\t\t\t\tcontentHeight: \"90%\",\n\t\t\t\tverticalScrolling: false,\n\t\t\t\tendButton: new Button(`${this.getId()}-keyUserPagesSettingsCloseButton`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"Close\"),\n\t\t\t\t\tpress: this._handleDialogClose.bind(this),\n\t\t\t\t\ttype: \"Transparent\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\tthis.controlMap.set(dialogId, oDialog);\n\n\t\t\tthis.addDialogContent();\n\t\t}\n\t\treturn this.controlMap.get(dialogId) as Dialog;\n\t}\n\n\t/**\n\t * Load settings for the panel.\n\t *\n\t * @private\n\t */\n\tprivate loadSettings(): void {\n\t\tif (!this.pageManagerInstance) {\n\t\t\tthis.pageManagerInstance = PageManager.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t);\n\t\t}\n\t\t// setup layout content\n\t\tvoid this.prepareSpacesPagesData();\n\t\tthis.prepareIconList();\n\t}\n\n\t/**\n\t * Add Dialog Content.\n\t *\n\t * @private\n\t */\n\tprivate addDialogContent(): void {\n\t\tconst dialog = this.controlMap.get(`${this.getId()}-keyUserPagesSettingsDialog`) as Dialog;\n\t\tconst wrapperFlexBox = new FlexBox(`${this.getId()}-wrapperFlexBox`, {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\"\n\t\t});\n\t\twrapperFlexBox.setModel(this.controlModel);\n\t\twrapperFlexBox.addItem(this.getSpacePagesListItems());\n\t\twrapperFlexBox.addItem(this.getDetailsView());\n\t\tdialog.addContent(wrapperFlexBox);\n\t}\n\n\t/**\n\t * Get Space Pages List Items.\n\t *\n\t * @private\n\t * @returns {FlexBox} The control containing the Space Pages List Items.\n\t */\n\tprivate getSpacePagesListItems(): FlexBox {\n\t\tconst flexBox = new FlexBox(`${this.getId()}-spacePagesFlexBox`, {\n\t\t\tdirection: \"Column\",\n\t\t\talignItems: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"24rem\",\n\t\t\tjustifyContent: \"Start\"\n\t\t}).addStyleClass(\"spacePagesFlexBox\");\n\n\t\tconst title = new Title(`${this.getId()}-spacePagesTitle`, {\n\t\t\ttext: this._i18nBundle.getText(\"pageGroupHeader\"),\n\t\t\ttitleStyle: \"H4\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBottom\");\n\t\tflexBox.addItem(title);\n\n\t\tconst treeTableWrapper = new VBox(`${this.getId()}-treeTableWrapper`, {\n\t\t\theight: \"100%\"\n\t\t});\n\n\t\tconst treeTableId = `${this.getId()}-spacePagesTreeTable`;\n\t\tconst treeTable = new TreeTable(treeTableId, {\n\t\t\tselectionMode: \"Single\",\n\t\t\tselectionBehavior: \"RowOnly\",\n\t\t\trows: \"{path:'/spaces', parameters: {arrayNames:['children'], numberOfExpandedLevels: 1}}\",\n\t\t\tid: \"idEditIntrestTreeTable\",\n\t\t\tgroupHeaderProperty: \"label\",\n\t\t\tcolumnHeaderVisible: false,\n\t\t\trowMode: \"Auto\",\n\t\t\trowSelectionChange: this.handleTreeTableRowSelection.bind(this),\n\t\t\twidth: \"22rem\",\n\t\t\tlayoutData: new FlexItemData({\n\t\t\t\tgrowFactor: 1\n\t\t\t}),\n\t\t\tcolumns: [\n\t\t\t\tnew Column({\n\t\t\t\t\ttemplate: new HBox({\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew Text({\n\t\t\t\t\t\t\t\ttext: \"{label}\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew Icon({\n\t\t\t\t\t\t\t\t\t\ttooltip: \"{label}\",\n\t\t\t\t\t\t\t\t\t\tsrc: \"{icon}\",\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"{BGColor/value}\",\n\t\t\t\t\t\t\t\t\t\twidth: \"2.5rem\",\n\t\t\t\t\t\t\t\t\t\theight: \"2.5rem\",\n\t\t\t\t\t\t\t\t\t\tsize: \"1.5rem\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"white\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\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}).addStyleClass(\"spacePageTable\");\n\t\tthis.controlMap.set(treeTableId, treeTable);\n\t\ttreeTableWrapper.addItem(treeTable);\n\n\t\tflexBox.addItem(treeTableWrapper);\n\t\treturn flexBox;\n\t}\n\n\t/**\n\t * Get details view for the selected space or page.\n\t *\n\t * @private\n\t * @returns {FlexBox} The control containing the Details.\n\t */\n\tprivate getDetailsView(): FlexBox {\n\t\t// Create Wrapper FlexBox\n\t\tconst flexBox = new FlexBox(`${this.getId()}-personalisationDetailsWrapperFlex`, {\n\t\t\theight: \"100%\",\n\t\t\twidth: \"23rem\",\n\t\t\tdirection: \"Column\",\n\t\t\tvisible: \"{= ${/spaces/length} === 0 ? false : true}\"\n\t\t}).addStyleClass(\"personalisationDetailsWrapperFlex\");\n\n\t\t// Create Color Palette and add to wrapper FlexBox\n\t\tflexBox.addItem(this.getColorPalette());\n\n\t\t// Create Icon List and add to wrapper FlexBox\n\t\tflexBox.addItem(this.getIconList());\n\t\treturn flexBox;\n\t}\n\n\t/**\n\t * Get Color Palette.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Color Palette.\n\t */\n\tprivate getColorPalette(): VBox {\n\t\tconst wrapperVBox = new VBox(`${this.getId()}-colorPaletteWrapperVBox`, {\n\t\t\twidth: \"100%\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBottom\");\n\n\t\t// Create Title and add to wrapper VBox\n\t\tconst title = new Title(`${this.getId()}-colorPaletteTitle`, {\n\t\t\ttext: \"{/selectedSpacePage/label}\",\n\t\t\ttitleStyle: \"H4\"\n\t\t});\n\t\twrapperVBox.addItem(title);\n\n\t\t// Create Label and add to wrapper VBox\n\t\tconst label = new Label(`${this.getId()}-colorPaletteSpacePageLabel`, {\n\t\t\twrapping: true,\n\t\t\ttext:\n\t\t\t\t\"{= ${/selectedSpacePage/type} === 'Space' ? '\" +\n\t\t\t\tthis._i18nBundle.getText(\"space\") +\n\t\t\t\t\"' : '\" +\n\t\t\t\tthis._i18nBundle.getText(\"page\") +\n\t\t\t\t\"' }\"\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\twrapperVBox.addItem(label);\n\n\t\t// Create Color Palette VBox and add to wrapper VBox\n\t\tconst colorPaletteVBox = new VBox(`${this.getId()}-colorPaletteVBox`, {\n\t\t\twidth: \"100%\"\n\t\t}).addStyleClass(\"sapUiMargin-26Top\");\n\t\twrapperVBox.addItem(colorPaletteVBox);\n\n\t\t// Create Color Palette Label and add to Color Palette VBox\n\t\tconst colorPaletteLabel = new Label(`${this.getId()}-colorPaletteLabel`, {\n\t\t\twrapping: true,\n\t\t\tdesign: \"Bold\",\n\t\t\ttext: this._i18nBundle.getText(\"selectColor\")\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\tcolorPaletteVBox.addItem(colorPaletteLabel);\n\n\t\t// Create Color Palette and add to Color Palette VBox\n\t\tconst colorPalette = new ColorPalette(`${this.getId()}-colorPalette`, {\n\t\t\tcolors: END_USER_COLORS().map((color) => color.value as string),\n\t\t\tcolorSelect: this._handleColorSelect.bind(this)\n\t\t}).addStyleClass(\"sapContrastPlus sapUiTinyMarginBottom\");\n\t\tthis.controlMap.set(`${this.getId()}-colorPalette`, colorPalette);\n\t\tcolorPaletteVBox.addItem(colorPalette);\n\n\t\t// Create Switch Wrapper HBox and add to wrapper VBox\n\t\tconst switchWrapperHBox = new HBox(`${this.getId()}-switchWrapperHBox`, {\n\t\t\talignItems: \"Center\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\theight: \"2rem\",\n\t\t\twidth: \"100%\"\n\t\t});\n\t\twrapperVBox.addItem(switchWrapperHBox);\n\n\t\t// Create Text and add to Switch Wrapper HBox\n\t\tconst switchText = new Text(`${this.getId()}-switchText`, {\n\t\t\ttext: this._i18nBundle.getText(\"editPagesColorMessage\")\n\t\t});\n\t\tswitchWrapperHBox.addItem(switchText);\n\n\t\t// Create Switch HBox and add to Switch Wrapper HBox\n\t\tconst switchHBox = new HBox(`${this.getId()}-switchHBox`, {\n\t\t\talignItems: \"Center\"\n\t\t});\n\t\tswitchWrapperHBox.addItem(switchHBox);\n\n\t\t// Create Switch and add to Switch HBox\n\t\tconst switchId = `${this.getId()}-Switch`;\n\t\tconst switchControl = new Switch(switchId, {\n\t\t\tstate: \"{ path: '/selectedSpacePage/applyColorToAllPages', mode: 'TwoWay' }\",\n\t\t\tchange: this._handleSwitchChange.bind(this),\n\t\t\tenabled: \"{= ${/selectedSpacePage/spaceId} ? false : true }\",\n\t\t\tcustomTextOn: \" \",\n\t\t\tcustomTextOff: \" \"\n\t\t});\n\t\tthis.controlMap.set(switchId, switchControl);\n\t\tswitchHBox.addItem(switchControl);\n\n\t\treturn wrapperVBox;\n\t}\n\n\t/**\n\t * Get Icon List.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Icon List.\n\t */\n\tprivate getIconList(): VBox {\n\t\tconst wrapperVBox = new VBox(`${this.getId()}-iconListWrapperVBox`, {\n\t\t\twidth: \"100%\",\n\t\t\theight: \"calc(100% - 15rem)\"\n\t\t});\n\n\t\t// Create Label and add to wrapper VBox\n\t\tconst label = new Label(`${this.getId()}-iconListLabel`, {\n\t\t\twrapping: true,\n\t\t\tdesign: \"Bold\",\n\t\t\ttext: this._i18nBundle.getText(\"icon\")\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\twrapperVBox.addItem(label);\n\n\t\t// Create SearchField and add to wrapper VBox\n\t\tconst searchFieldId = `${this.getId()}-iconListSearchField`;\n\t\tconst searchField = new SearchField(searchFieldId, {\n\t\t\twidth: \"100%\",\n\t\t\tliveChange: this.handleIconSearch.bind(this)\n\t\t});\n\t\tthis.controlMap.set(searchFieldId, searchField);\n\t\twrapperVBox.addItem(searchField);\n\n\t\t// Create Scroll Container For List of Icons and add to wrapper VBox\n\t\tconst iconListScrollContainer = new ScrollContainer(`${this.getId()}-iconListScrollContainer`, {\n\t\t\tvertical: true,\n\t\t\thorizontal: false,\n\t\t\theight: \"95%\"\n\t\t});\n\t\twrapperVBox.addItem(iconListScrollContainer);\n\n\t\t// Create List of Icons and add to Scroll Container\n\t\tconst iconListId = `${this.getId()}-iconList`;\n\t\tconst iconList = new List(iconListId, {\n\t\t\titems: {\n\t\t\t\tpath: \"/iconList\",\n\t\t\t\ttemplate: new StandardListItem(`${this.getId()}-iconStandardListItem`, {\n\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\ticon: \"{icon}\",\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\tpress: (event) => this._handleIconSelect(event.getSource()),\n\t\t\t\t\ticonDensityAware: false,\n\t\t\t\t\ticonInset: false\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tthis.controlMap.set(iconListId, iconList);\n\t\ticonListScrollContainer.addContent(iconList);\n\n\t\treturn wrapperVBox;\n\t}\n\n\t/**\n\t * Prepare spaces and pages data.\n\t *\n\t * @private\n\t */\n\tprivate async prepareSpacesPagesData(): Promise<void> {\n\t\tconst aSpaces = await this.pageManagerInstance.fetchAllAvailableSpaces();\n\t\tif (!Array.isArray(aSpaces)) {\n\t\t\treturn;\n\t\t}\n\t\t//Prepare Spaces and Pages Data\n\t\taSpaces.forEach((oSpace) => {\n\t\t\toSpace.BGColor = oSpace.BGColor ? this.refreshColor(oSpace.BGColor) : DEFAULT_BG_COLOR();\n\t\t\toSpace.isSpacePersonalization = oSpace.BGColor || oSpace.icon ? true : false;\n\t\t\toSpace.icon = oSpace.icon || FALLBACK_ICON;\n\t\t\toSpace.persistedApplyColorToAllPages = oSpace.applyColorToAllPages;\n\t\t\toSpace.children.forEach((oPage) => {\n\t\t\t\tif (oSpace.applyColorToAllPages) {\n\t\t\t\t\toPage.BGColor = this.refreshColor(oSpace.BGColor as IColor) as IColor;\n\t\t\t\t\toPage.oldColor = oPage.isPagePersonalization\n\t\t\t\t\t\t? this.refreshColor(oPage.oldColor as { key: string; value: Value; assigned: boolean })\n\t\t\t\t\t\t: DEFAULT_BG_COLOR();\n\t\t\t\t} else {\n\t\t\t\t\toPage.BGColor = oPage.BGColor ? (this.refreshColor(oPage.BGColor as IColor) as IColor) : DEFAULT_BG_COLOR();\n\t\t\t\t}\n\t\t\t\toPage.spaceId = oSpace.id;\n\t\t\t\toPage.personalizationState = oPage.isPagePersonalization;\n\t\t\t\toPage.iconPersonalizationState = oPage.isPageIconPersonalization;\n\t\t\t\toPage.icon = oPage.icon || oSpace.icon || FALLBACK_ICON;\n\t\t\t});\n\t\t});\n\n\t\tthis.controlModel.setProperty(\"/spaces\", aSpaces);\n\t\t// Select the first item in list selected by default\n\t\tconst treeTable = this.controlMap.get(`${this.getId()}-spacePagesTreeTable`) as TreeTable;\n\t\tconst selectedIndices = treeTable.getSelectedIndices();\n\t\tif (!selectedIndices.includes(0)) {\n\t\t\ttreeTable.setSelectedIndex(0);\n\t\t}\n\t}\n\n\t/**\n\t * Refresh color.\n\t *\n\t * @param {string} sColor The color to refresh.\n\t * @returns {string} The refreshed color.\n\t */\n\tprivate refreshColor(oColorObject: IColor): {\n\t\tkey: string;\n\t\tvalue: Value;\n\t\tassigned: boolean;\n\t} {\n\t\t// Refresh color object with new color value in case of theme switching.\n\t\tconst newObject = { ...oColorObject } as IColor;\n\t\tnewObject.value = Parameters.get({ name: oColorObject.key }) as string;\n\t\treturn newObject;\n\t}\n\n\t/**\n\t * Handle Tree Table Row Selection.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate handleTreeTableRowSelection(oEvent: Table$RowSelectionChangeEvent): void {\n\t\tinterface IControlWithBlockedProperty {\n\t\t\tgetBlocked: () => boolean;\n\t\t\tsetBlocked: (val: boolean) => void;\n\t\t}\n\t\tconst bindingContext = oEvent.getParameter(\"rowContext\") as Context;\n\t\tconst selectedObject = bindingContext?.getObject() as ISpace | IPage;\n\n\t\tconst prevSelectedObject = this.controlModel.getProperty(\"/selectedSpacePage\") as ISpace | IPage;\n\t\tconst colorPalette = this.controlMap.get(`${this.getId()}-colorPalette`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in ColorPalette\n\t\tconst searchField = this.controlMap.get(`${this.getId()}-iconListSearchField`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in SearchField\n\t\tconst iconList = this.controlMap.get(`${this.getId()}-iconList`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in List\n\t\tconst switchControl = this.controlMap.get(`${this.getId()}-Switch`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in Switch\n\t\tlet spaceObject = undefined;\n\t\tlet controlsDisabled: boolean = colorPalette.getBlocked();\n\n\t\tif (selectedObject.type === \"Page\") {\n\t\t\tconst contextPath = bindingContext.getPath();\n\t\t\tconst spaceContextPath = contextPath.replace(/\\/children\\/\\d*/, \"\");\n\t\t\tspaceObject = this.controlModel.getProperty(spaceContextPath) as ISpace;\n\t\t}\n\n\t\tcontrolsDisabled =\n\t\t\tprevSelectedObject?.type === selectedObject.type && prevSelectedObject?.id === selectedObject.id ? !controlsDisabled : false;\n\t\tcolorPalette.setBlocked(controlsDisabled ? true : (spaceObject?.applyColorToAllPages as boolean));\n\t\tsearchField.setBlocked(controlsDisabled);\n\t\ticonList.setBlocked(controlsDisabled);\n\t\tswitchControl.setBlocked(controlsDisabled);\n\n\t\tthis.controlModel.setProperty(\"/selectedSpacePage\", selectedObject);\n\t\tthis.selectedContext = bindingContext;\n\t}\n\n\t/**\n\t * Prepare icon list.\n\t *\n\t * @private\n\t */\n\tprivate prepareIconList(): void {\n\t\tinterface IiconList {\n\t\t\ttitle: string;\n\t\t\ticon: string;\n\t\t\ttags: string;\n\t\t\tcategoryId: string;\n\t\t}\n\t\tconst iconList = this.controlModel.getProperty(\"/iconList\") as IiconList[];\n\t\tif (!iconList.length) {\n\t\t\tlet icon: string;\n\t\t\tconst aIcons: IiconList[] = [];\n\t\t\tObject.keys(ICONS).forEach((oIconCategory) => {\n\t\t\t\tObject.keys(ICONS[oIconCategory].icons).forEach(function (oIcon) {\n\t\t\t\t\tswitch (oIconCategory) {\n\t\t\t\t\t\tcase \"SAP-icons\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"SAP-icons-TNT\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIconCategory + \"/\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"BusinessSuiteInAppSymbols\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIconCategory + \"/icon-\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\taIcons.push({\n\t\t\t\t\t\ttitle: oIcon,\n\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\ttags: ICONS[oIconCategory].icons[oIcon].concat([oIcon]).toString(),\n\t\t\t\t\t\tcategoryId: oIconCategory\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\tthis.controlModel.setProperty(\"/iconList\", aIcons);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Icon Search.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate handleIconSearch(oEvent: SearchField$LiveChangeEvent): void {\n\t\tconst sQuery = oEvent.getSource().getValue();\n\t\tconst aFilters = [];\n\t\tif (sQuery && sQuery.length > 0) {\n\t\t\taFilters.push(new Filter(\"tags\", FilterOperator.Contains, sQuery));\n\t\t}\n\t\tconst oList = this.controlMap.get(`${this.getId()}-iconList`) as List;\n\t\tconst oBinding = oList.getBinding(\"items\") as JSONListBinding;\n\t\toBinding?.filter(aFilters);\n\t}\n\n\t/**\n\t * Handle Color Select.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleColorSelect(oEvent: ColorPalette$ColorSelectEvent | null, color?: string): void {\n\t\tconst selectedColor = (oEvent?.getParameter(\"value\") as string) || color || \"\";\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace | IPage;\n\t\tconst isSpaceColorChanged = !(selectedObject as IPage).spaceId;\n\t\tconst legendColor = this._convertColorToLegend(selectedColor);\n\t\tconst oldLegendColor = (selectedObject?.BGColor as { key: string })?.key;\n\n\t\t// Handle color change for space\n\t\tif (isSpaceColorChanged) {\n\t\t\tconst spaceObject: ISpace = selectedObject as ISpace;\n\t\t\t//Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject.id;\n\t\t\t});\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.BGColor = legendColor;\n\t\t\t\toExistingChange.applyColorToAllPages = spaceObject.applyColorToAllPages as boolean;\n\t\t\t\toExistingChange.oldApplyColorToAllPages = spaceObject.persistedApplyColorToAllPages as boolean;\n\t\t\t} else {\n\t\t\t\tthis.keyuserSpaceColorChanges.push({\n\t\t\t\t\tspaceId: spaceObject.id,\n\t\t\t\t\tBGColor: legendColor,\n\t\t\t\t\toldColor: oldLegendColor,\n\t\t\t\t\tapplyColorToAllPages: spaceObject.applyColorToAllPages,\n\t\t\t\t\toldApplyColorToAllPages: spaceObject.persistedApplyColorToAllPages\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Apply color to all pages\n\t\t\tif (spaceObject.applyColorToAllPages) {\n\t\t\t\tthis._applyInnerPageColoring(spaceObject, legendColor, selectedColor, true);\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"BGColor/key\", legendColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"BGColor/value\", selectedColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isSpacePersonalization\", true, this.selectedContext);\n\t\t} else {\n\t\t\t// Handle color change for page\n\t\t\tconst pageObject: IPage = selectedObject as IPage;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserPageColorChanges.find((changes) => {\n\t\t\t\treturn changes.pageId === pageObject.id;\n\t\t\t});\n\n\t\t\tconst spaceObject = (this.controlModel.getProperty(\"/spaces\") as ISpace[]).find((oSpace: ISpace) => {\n\t\t\t\treturn oSpace.id === pageObject.spaceId;\n\t\t\t});\n\t\t\tconst isSpaceColorChangedBefore = spaceObject?.isSpacePersonalization;\n\t\t\tconst existingSpacePersData = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject?.id;\n\t\t\t});\n\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.BGColor = legendColor;\n\t\t\t} else {\n\t\t\t\tthis.keyuserPageColorChanges.push({\n\t\t\t\t\tpageId: pageObject.id,\n\t\t\t\t\tspaceId: pageObject.spaceId,\n\t\t\t\t\tBGColor: legendColor,\n\t\t\t\t\toldColor:\n\t\t\t\t\t\tisSpaceColorChangedBefore && !pageObject.isPagePersonalization\n\t\t\t\t\t\t\t? (existingSpacePersData as { oldColor: string })?.oldColor\n\t\t\t\t\t\t\t: oldLegendColor\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"BGColor/key\", legendColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"BGColor/value\", selectedColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isPagePersonalization\", true, this.selectedContext);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Icon Select.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleIconSelect(listItem: StandardListItem): void {\n\t\tconst sIcon = listItem.getIcon();\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace | IPage;\n\t\tconst isSpaceIconChanged = !(selectedObject as IPage).spaceId;\n\n\t\t// Handle icon change for space\n\t\tif (isSpaceIconChanged) {\n\t\t\tconst spaceObject = selectedObject as ISpace;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserSpaceIconChanges.find((change) => change.spaceId === spaceObject.id);\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.icon = sIcon;\n\t\t\t} else {\n\t\t\t\tthis.keyuserSpaceIconChanges.push({\n\t\t\t\t\tspaceId: spaceObject.id,\n\t\t\t\t\ticon: sIcon,\n\t\t\t\t\toldIcon: spaceObject.icon\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Apply icon to all pages if page icon is not personalized\n\t\t\tconst filteredPages = this._getInnerPages(spaceObject).filter((spaceObject) => !spaceObject.page.isPageIconPersonalization);\n\t\t\tfilteredPages.forEach((page) => {\n\t\t\t\tthis.controlModel.setProperty(page.bindingPath + \"/icon\", sIcon);\n\t\t\t});\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"icon\", sIcon, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isSpaceIconPersonalization\", true, this.selectedContext);\n\t\t} else {\n\t\t\t// Handle icon change for page\n\t\t\tconst pageObject = selectedObject as IPage;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserPageIconChanges.find((change) => change.pageId === pageObject.id);\n\n\t\t\tconst spaceObject = (this.controlModel.getProperty(\"/spaces\") as ISpace[]).find((oSpace: ISpace) => {\n\t\t\t\treturn oSpace.id === pageObject.spaceId;\n\t\t\t});\n\t\t\tconst isSpaceIconChangedBefore = spaceObject?.isSpaceIconPersonalization;\n\t\t\tconst existingSpacePersData = this.keyuserSpaceIconChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject?.id;\n\t\t\t});\n\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.icon = sIcon;\n\t\t\t} else {\n\t\t\t\tthis.keyuserPageIconChanges.push({\n\t\t\t\t\tpageId: pageObject.id,\n\t\t\t\t\tspaceId: pageObject.spaceId,\n\t\t\t\t\ticon: sIcon,\n\t\t\t\t\toldIcon:\n\t\t\t\t\t\tisSpaceIconChangedBefore && !pageObject.isPageIconPersonalization\n\t\t\t\t\t\t\t? existingSpacePersData?.oldIcon\n\t\t\t\t\t\t\t: selectedObject.icon\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"icon\", sIcon, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isPageIconPersonalization\", true, this.selectedContext);\n\t\t}\n\t}\n\n\t/**\n\t * Convert color to legend.\n\t *\n\t * @param {string} sColor The color to convert.\n\t * @returns {string} The converted color.\n\t * @private\n\t */\n\tprivate _convertColorToLegend(color: string): string {\n\t\tlet oLegendColor = END_USER_COLORS().find(function (endUserColor) {\n\t\t\treturn endUserColor.value === color;\n\t\t});\n\t\treturn oLegendColor ? oLegendColor.key : DEFAULT_BG_COLOR().key;\n\t}\n\n\t/**\n\t * Handle Switch Change.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleSwitchChange(oEvent: Switch$ChangeEvent): void {\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace;\n\t\tconst switchValue = oEvent.getParameter(\"state\");\n\n\t\t//Check if existing personalization is available\n\t\tconst oExistingChange = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\treturn changes.spaceId === selectedObject.id;\n\t\t});\n\n\t\tif (oExistingChange) {\n\t\t\toExistingChange.applyColorToAllPages = selectedObject.applyColorToAllPages as boolean;\n\t\t} else {\n\t\t\tthis._handleColorSelect(null, selectedObject.BGColor?.value as string);\n\t\t}\n\n\t\tconst colorKey = switchValue ? (selectedObject.BGColor?.key as string) : DEFAULT_BG_COLOR().key;\n\t\tconst colorValue = switchValue ? (selectedObject.BGColor?.value as string) : DEFAULT_BG_COLOR().value;\n\n\t\t// Apply color to all pages\n\t\tthis._applyInnerPageColoring(selectedObject, colorKey, colorValue as string, switchValue as boolean);\n\t}\n\n\t/**\n\t * Apply inner page coloring.\n\t *\n\t * @param {ISpace} oSpace The space object.\n\t * @param {string} sColorKey The color key.\n\t * @param {string} sColorValue The color value.\n\t * @param {boolean} bApplyColorToAllPages The flag to apply color to all pages.\n\t * @private\n\t */\n\tprivate _applyInnerPageColoring(oSpace: ISpace, sColorKey: string, sColorValue: string, bApplyColorToAllPages: boolean): void {\n\t\tconst innerPages = this._getInnerPages(oSpace);\n\n\t\tinnerPages.forEach((oPage) => {\n\t\t\tif (!bApplyColorToAllPages && oPage.page.isPagePersonalization) {\n\t\t\t\tconst oExistingChange = this.keyuserPageColorChanges.find(function (oChange) {\n\t\t\t\t\treturn oChange.pageId === oPage.page.id;\n\t\t\t\t});\n\t\t\t\tif (oExistingChange) {\n\t\t\t\t\tconst BGColor = oExistingChange.BGColor;\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", BGColor);\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", Parameters.get({ name: BGColor as string }));\n\t\t\t\t} else {\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", (oPage.page.oldColor as IColor)?.key);\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", (oPage.page.oldColor as IColor)?.value);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", sColorKey);\n\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", sColorValue);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Get Inner Pages of Space.\n\t *\n\t * @returns {ISpace} Space.\n\t * @private\n\t */\n\n\tprivate _getInnerPages(oSpace: ISpace) {\n\t\treturn oSpace.children.map((oPage, index) => {\n\t\t\treturn {\n\t\t\t\tpage: oPage,\n\t\t\t\tbindingPath: this.selectedContext.getPath() + \"/children/\" + index\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Merge Key User Changes.\n\t *\n\t * @private\n\t */\n\tprivate _mergeKeyUserChanges(): void {\n\t\tconst pagePanel = this._getPanel() as PagePanel;\n\t\tconst wrapperContainer = pagePanel.getParent() as NewsAndPagesContainer;\n\t\tconst layout = wrapperContainer.getParent() as BaseLayout;\n\n\t\t// Add Space Color Changes to KeyUser Changes\n\t\tif (this.keyuserSpaceColorChanges.length) {\n\t\t\tconst keyuserSpaceColorChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.SPACE_COLOR,\n\t\t\t\t\tcontent: [...this.keyuserSpaceColorChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserSpaceColorChanges);\n\t\t}\n\n\t\t// Add Page Color Changes to KeyUser Changes\n\t\tif (this.keyuserPageColorChanges.length) {\n\t\t\tconst keyuserPageColorChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.PAGE_COLOR,\n\t\t\t\t\tcontent: [...this.keyuserPageColorChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserPageColorChanges);\n\t\t}\n\n\t\t// Add Space Icon Changes to KeyUser Changes\n\t\tif (this.keyuserSpaceIconChanges.length) {\n\t\t\tconst keyuserSpaceIconChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.SPACE_ICON,\n\t\t\t\t\tcontent: [...this.keyuserSpaceIconChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserSpaceIconChanges);\n\t\t}\n\n\t\t// Add Page Icon Changes to KeyUser Changes\n\t\tif (this.keyuserPageIconChanges.length) {\n\t\t\tconst keyuserPageIconChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.PAGE_ICON,\n\t\t\t\t\tcontent: [...this.keyuserPageIconChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserPageIconChanges);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Dialog Close.\n\t *\n\t * @private\n\t */\n\tprivate _handleDialogClose(): void {\n\t\tthis._mergeKeyUserChanges();\n\t\t// Add All Changes to KeyUser Dialog\n\t\tthis._eventBus.publish(\"KeyUserChanges\", \"addNewsPagesChanges\", { changes: this.getKeyUserChanges() });\n\n\t\tconst dialogId = `${this.getId()}-keyUserPagesSettingsDialog`;\n\t\t(this.controlMap.get(dialogId) as Dialog).close();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"KeyUserPagesSettingsPanel.js","names":["sap","ui","define","Button","ColorPalette","Dialog","FlexBox","FlexItemData","HBox","Label","List","ScrollContainer","SearchField","StandardListItem","Switch","Text","Title","VBox","EventBus","Icon","Parameters","Filter","FilterOperator","JSONModel","Column","TreeTable","__BaseSettingsPanel","___flexibility_Layoutflexibility","___utils_Constants","___utils_IconList","__PageManager","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","BaseSettingsPanel","CHANGE_TYPES","DEFAULT_BG_COLOR","END_USER_COLORS","FALLBACK_ICON","KEYUSER_SETTINGS_PANELS_KEYS","ICONS","PageManager","PersonalisationUtils","KeyUserPagesSettingsPanel","extend","constructor","prototype","apply","this","arguments","keyuserSpaceColorChanges","keyuserPageColorChanges","keyuserSpaceIconChanges","keyuserPageIconChanges","metadata","library","init","_init","BaseSettingsPanel.prototype.init.call","controlMap","Map","controlModel","spaces","selectedSpacePage","iconList","setProperty","PAGES","_i18nBundle","getText","_eventBus","getInstance","addAggregation","getContent","attachPanelNavigated","loadSettings","_getContent","dialogId","getId","get","oDialog","title","contentWidth","contentHeight","verticalScrolling","endButton","text","press","_handleDialogClose","bind","type","addStyleClass","set","addDialogContent","_loadSettings","pageManagerInstance","getPersContainerId","_getPanel","getOwnerComponent","prepareSpacesPagesData","prepareIconList","_addDialogContent","dialog","wrapperFlexBox","alignItems","justifyContent","height","width","direction","setModel","addItem","getSpacePagesListItems","getDetailsView","addContent","_getSpacePagesListItems","flexBox","titleStyle","treeTableWrapper","treeTableId","treeTable","selectionMode","selectionBehavior","rows","id","groupHeaderProperty","columnHeaderVisible","rowMode","rowSelectionChange","handleTreeTableRowSelection","layoutData","growFactor","columns","template","items","tooltip","src","backgroundColor","size","color","_getDetailsView","visible","getColorPalette","getIconList","_getColorPalette","wrapperVBox","label","wrapping","colorPaletteVBox","colorPaletteLabel","design","colorPalette","colors","map","value","colorSelect","_handleColorSelect","switchWrapperHBox","switchText","switchHBox","switchId","switchControl","state","change","_handleSwitchChange","enabled","customTextOn","customTextOff","_getIconList","searchFieldId","searchField","liveChange","handleIconSearch","iconListScrollContainer","vertical","horizontal","iconListId","path","icon","event","_handleIconSelect","getSource","iconDensityAware","iconInset","_prepareSpacesPagesData","_this","Promise","resolve","fetchAllAvailableSpaces","then","aSpaces","Array","isArray","forEach","oSpace","BGColor","refreshColor","isSpacePersonalization","persistedApplyColorToAllPages","applyColorToAllPages","children","oPage","oldColor","isPagePersonalization","spaceId","personalizationState","iconPersonalizationState","isPageIconPersonalization","selectedIndices","getSelectedIndices","includes","setSelectedIndex","e","reject","_refreshColor","oColorObject","newObject","name","key","_handleTreeTableRowSelection","oEvent","bindingContext","getParameter","selectedObject","getObject","prevSelectedObject","getProperty","spaceObject","undefined","controlsDisabled","getBlocked","contextPath","getPath","spaceContextPath","replace","setBlocked","selectedContext","_prepareIconList","length","aIcons","Object","keys","oIconCategory","icons","oIcon","push","tags","concat","toString","categoryId","_handleIconSearch","sQuery","getValue","aFilters","Contains","oList","oBinding","getBinding","filter","selectedColor","isSpaceColorChanged","legendColor","_convertColorToLegend","oldLegendColor","oExistingChange","find","changes","oldApplyColorToAllPages","_applyInnerPageColoring","pageObject","pageId","isSpaceColorChangedBefore","existingSpacePersData","listItem","sIcon","getIcon","isSpaceIconChanged","oldIcon","filteredPages","_getInnerPages","page","bindingPath","isSpaceIconChangedBefore","isSpaceIconPersonalization","oLegendColor","endUserColor","switchValue","colorKey","colorValue","sColorKey","sColorValue","bApplyColorToAllPages","innerPages","oChange","index","_mergeKeyUserChanges","pagePanel","wrapperContainer","getParent","layout","selectorControl","changeSpecificData","changeType","SPACE_COLOR","content","addKeyUserChanges","PAGE_COLOR","SPACE_ICON","PAGE_ICON","publish","getKeyUserChanges","close"],"sources":["KeyUserPagesSettingsPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Button from \"sap/m/Button\";\nimport ColorPalette, { ColorPalette$ColorSelectEvent } from \"sap/m/ColorPalette\";\nimport Dialog from \"sap/m/Dialog\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport FlexItemData from \"sap/m/FlexItemData\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport ScrollContainer from \"sap/m/ScrollContainer\";\nimport SearchField, { SearchField$LiveChangeEvent } from \"sap/m/SearchField\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport Switch, { Switch$ChangeEvent } from \"sap/m/Switch\";\nimport Text from \"sap/m/Text\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport Parameters, { Value } from \"sap/ui/core/theming/Parameters\";\nimport Context from \"sap/ui/model/Context\";\nimport Filter from \"sap/ui/model/Filter\";\nimport FilterOperator from \"sap/ui/model/FilterOperator\";\nimport JSONListBinding from \"sap/ui/model/json/JSONListBinding\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Column from \"sap/ui/table/Column\";\nimport { Table$RowSelectionChangeEvent } from \"sap/ui/table/Table\";\nimport TreeTable from \"sap/ui/table/TreeTable\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport { CHANGE_TYPES } from \"./flexibility/Layout.flexibility\";\nimport { IKeyUserChange, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { IColor, IPage, ISpace } from \"./interface/PageSpaceInterface\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport PagePanel from \"./PagePanel\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, FALLBACK_ICON, KEYUSER_SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { ICONS } from \"./utils/IconList\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\n/**\n *\n * Class for Pages Settings Panel for KeyUser Settings Dialog.\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.KeyUserPagesSettingsPanel\n */\nexport default class KeyUserPagesSettingsPanel extends BaseSettingsPanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\"\n\t};\n\n\tprivate controlMap!: Map<string, Control | Element>;\n\tprivate controlModel!: JSONModel;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate selectedContext!: Context;\n\tprivate _eventBus!: EventBus;\n\tprivate keyuserSpaceColorChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserPageColorChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserSpaceIconChanges: Array<ISpacePagePersonalization> = [];\n\tprivate keyuserPageIconChanges: Array<ISpacePagePersonalization> = [];\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\t\tthis.controlMap = new Map();\n\t\tthis.controlModel = new JSONModel({\n\t\t\tspaces: [],\n\t\t\tselectedSpacePage: {},\n\t\t\ticonList: []\n\t\t});\n\n\t\t// setup panel\n\t\tthis.setProperty(\"key\", KEYUSER_SETTINGS_PANELS_KEYS.PAGES);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"editPages\"));\n\n\t\t// Setup Event Bus\n\t\tthis._eventBus = EventBus.getInstance();\n\n\t\t// setup layout content\n\t\tthis.addAggregation(\"content\", this.getContent());\n\n\t\t// fired every time on panel navigation\n\t\tthis.attachPanelNavigated(() => this.loadSettings());\n\t}\n\n\t/**\n\t * Returns the content for the KeyUser Pages Settings Panel.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the KeyUser Pages Settings Panel content.\n\t */\n\tprivate getContent(): Dialog {\n\t\tconst dialogId = `${this.getId()}-keyUserPagesSettingsDialog`;\n\t\tif (!this.controlMap.get(dialogId)) {\n\t\t\tconst oDialog = new Dialog(dialogId, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"editPages\"),\n\t\t\t\tcontentWidth: \"47rem\",\n\t\t\t\tcontentHeight: \"90%\",\n\t\t\t\tverticalScrolling: false,\n\t\t\t\tendButton: new Button(`${this.getId()}-keyUserPagesSettingsCloseButton`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"Close\"),\n\t\t\t\t\tpress: this._handleDialogClose.bind(this),\n\t\t\t\t\ttype: \"Transparent\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapContrastPlus\");\n\t\t\tthis.controlMap.set(dialogId, oDialog);\n\n\t\t\tthis.addDialogContent();\n\t\t}\n\t\treturn this.controlMap.get(dialogId) as Dialog;\n\t}\n\n\t/**\n\t * Load settings for the panel.\n\t *\n\t * @private\n\t */\n\tprivate loadSettings(): void {\n\t\tif (!this.pageManagerInstance) {\n\t\t\tthis.pageManagerInstance = PageManager.getInstance(\n\t\t\t\tPersonalisationUtils.getPersContainerId(this._getPanel()),\n\t\t\t\tPersonalisationUtils.getOwnerComponent(this._getPanel()) as Component\n\t\t\t);\n\t\t}\n\t\t// setup layout content\n\t\tvoid this.prepareSpacesPagesData();\n\t\tthis.prepareIconList();\n\t}\n\n\t/**\n\t * Add Dialog Content.\n\t *\n\t * @private\n\t */\n\tprivate addDialogContent(): void {\n\t\tconst dialog = this.controlMap.get(`${this.getId()}-keyUserPagesSettingsDialog`) as Dialog;\n\t\tconst wrapperFlexBox = new FlexBox(`${this.getId()}-wrapperFlexBox`, {\n\t\t\talignItems: \"Start\",\n\t\t\tjustifyContent: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"100%\",\n\t\t\tdirection: \"Row\"\n\t\t});\n\t\twrapperFlexBox.setModel(this.controlModel);\n\t\twrapperFlexBox.addItem(this.getSpacePagesListItems());\n\t\twrapperFlexBox.addItem(this.getDetailsView());\n\t\tdialog.addContent(wrapperFlexBox);\n\t}\n\n\t/**\n\t * Get Space Pages List Items.\n\t *\n\t * @private\n\t * @returns {FlexBox} The control containing the Space Pages List Items.\n\t */\n\tprivate getSpacePagesListItems(): FlexBox {\n\t\tconst flexBox = new FlexBox(`${this.getId()}-spacePagesFlexBox`, {\n\t\t\tdirection: \"Column\",\n\t\t\talignItems: \"Start\",\n\t\t\theight: \"100%\",\n\t\t\twidth: \"24rem\",\n\t\t\tjustifyContent: \"Start\"\n\t\t}).addStyleClass(\"spacePagesFlexBox\");\n\n\t\tconst title = new Title(`${this.getId()}-spacePagesTitle`, {\n\t\t\ttext: this._i18nBundle.getText(\"pageGroupHeader\"),\n\t\t\ttitleStyle: \"H4\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBottom\");\n\t\tflexBox.addItem(title);\n\n\t\tconst treeTableWrapper = new VBox(`${this.getId()}-treeTableWrapper`, {\n\t\t\theight: \"100%\"\n\t\t});\n\n\t\tconst treeTableId = `${this.getId()}-spacePagesTreeTable`;\n\t\tconst treeTable = new TreeTable(treeTableId, {\n\t\t\tselectionMode: \"Single\",\n\t\t\tselectionBehavior: \"RowOnly\",\n\t\t\trows: \"{path:'/spaces', parameters: {arrayNames:['children'], numberOfExpandedLevels: 1}}\",\n\t\t\tid: \"idEditIntrestTreeTable\",\n\t\t\tgroupHeaderProperty: \"label\",\n\t\t\tcolumnHeaderVisible: false,\n\t\t\trowMode: \"Auto\",\n\t\t\trowSelectionChange: this.handleTreeTableRowSelection.bind(this),\n\t\t\twidth: \"22rem\",\n\t\t\tlayoutData: new FlexItemData(`${treeTableId}--layoutData`, {\n\t\t\t\tgrowFactor: 1\n\t\t\t}),\n\t\t\tcolumns: [\n\t\t\t\tnew Column(`${treeTableId}--treeTableColumn`, {\n\t\t\t\t\ttemplate: new HBox(`${treeTableId}--treeTableTemplateBox`, {\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew Text(`${treeTableId}--treeTableItemText`, {\n\t\t\t\t\t\t\t\ttext: \"{label}\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tnew HBox(`${treeTableId}--treeTableColumnItemBox`, {\n\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew Icon(`${treeTableId}--treeTableItemIcon`, {\n\t\t\t\t\t\t\t\t\t\ttooltip: \"{label}\",\n\t\t\t\t\t\t\t\t\t\tsrc: \"{icon}\",\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"{BGColor/value}\",\n\t\t\t\t\t\t\t\t\t\twidth: \"2.5rem\",\n\t\t\t\t\t\t\t\t\t\theight: \"2.5rem\",\n\t\t\t\t\t\t\t\t\t\tsize: \"1.5rem\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"white\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\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}).addStyleClass(\"spacePageTable\");\n\t\tthis.controlMap.set(treeTableId, treeTable);\n\t\ttreeTableWrapper.addItem(treeTable);\n\n\t\tflexBox.addItem(treeTableWrapper);\n\t\treturn flexBox;\n\t}\n\n\t/**\n\t * Get details view for the selected space or page.\n\t *\n\t * @private\n\t * @returns {FlexBox} The control containing the Details.\n\t */\n\tprivate getDetailsView(): FlexBox {\n\t\t// Create Wrapper FlexBox\n\t\tconst flexBox = new FlexBox(`${this.getId()}-personalisationDetailsWrapperFlex`, {\n\t\t\theight: \"100%\",\n\t\t\twidth: \"23rem\",\n\t\t\tdirection: \"Column\",\n\t\t\tvisible: \"{= ${/spaces/length} === 0 ? false : true}\"\n\t\t}).addStyleClass(\"personalisationDetailsWrapperFlex\");\n\n\t\t// Create Color Palette and add to wrapper FlexBox\n\t\tflexBox.addItem(this.getColorPalette());\n\n\t\t// Create Icon List and add to wrapper FlexBox\n\t\tflexBox.addItem(this.getIconList());\n\t\treturn flexBox;\n\t}\n\n\t/**\n\t * Get Color Palette.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Color Palette.\n\t */\n\tprivate getColorPalette(): VBox {\n\t\tconst wrapperVBox = new VBox(`${this.getId()}-colorPaletteWrapperVBox`, {\n\t\t\twidth: \"100%\"\n\t\t}).addStyleClass(\"sapUiSmallMarginBottom\");\n\n\t\t// Create Title and add to wrapper VBox\n\t\tconst title = new Title(`${this.getId()}-colorPaletteTitle`, {\n\t\t\ttext: \"{/selectedSpacePage/label}\",\n\t\t\ttitleStyle: \"H4\"\n\t\t});\n\t\twrapperVBox.addItem(title);\n\n\t\t// Create Label and add to wrapper VBox\n\t\tconst label = new Label(`${this.getId()}-colorPaletteSpacePageLabel`, {\n\t\t\twrapping: true,\n\t\t\ttext:\n\t\t\t\t\"{= ${/selectedSpacePage/type} === 'Space' ? '\" +\n\t\t\t\tthis._i18nBundle.getText(\"space\") +\n\t\t\t\t\"' : '\" +\n\t\t\t\tthis._i18nBundle.getText(\"page\") +\n\t\t\t\t\"' }\"\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\twrapperVBox.addItem(label);\n\n\t\t// Create Color Palette VBox and add to wrapper VBox\n\t\tconst colorPaletteVBox = new VBox(`${this.getId()}-colorPaletteVBox`, {\n\t\t\twidth: \"100%\"\n\t\t}).addStyleClass(\"sapUiMargin-26Top\");\n\t\twrapperVBox.addItem(colorPaletteVBox);\n\n\t\t// Create Color Palette Label and add to Color Palette VBox\n\t\tconst colorPaletteLabel = new Label(`${this.getId()}-colorPaletteLabel`, {\n\t\t\twrapping: true,\n\t\t\tdesign: \"Bold\",\n\t\t\ttext: this._i18nBundle.getText(\"selectColor\")\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\tcolorPaletteVBox.addItem(colorPaletteLabel);\n\n\t\t// Create Color Palette and add to Color Palette VBox\n\t\tconst colorPalette = new ColorPalette(`${this.getId()}-colorPalette`, {\n\t\t\tcolors: END_USER_COLORS().map((color) => color.value as string),\n\t\t\tcolorSelect: this._handleColorSelect.bind(this)\n\t\t}).addStyleClass(\"sapContrastPlus sapUiTinyMarginBottom\");\n\t\tthis.controlMap.set(`${this.getId()}-colorPalette`, colorPalette);\n\t\tcolorPaletteVBox.addItem(colorPalette);\n\n\t\t// Create Switch Wrapper HBox and add to wrapper VBox\n\t\tconst switchWrapperHBox = new HBox(`${this.getId()}-switchWrapperHBox`, {\n\t\t\talignItems: \"Center\",\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\theight: \"2rem\",\n\t\t\twidth: \"100%\"\n\t\t});\n\t\twrapperVBox.addItem(switchWrapperHBox);\n\n\t\t// Create Text and add to Switch Wrapper HBox\n\t\tconst switchText = new Text(`${this.getId()}-switchText`, {\n\t\t\ttext: this._i18nBundle.getText(\"editPagesColorMessage\")\n\t\t});\n\t\tswitchWrapperHBox.addItem(switchText);\n\n\t\t// Create Switch HBox and add to Switch Wrapper HBox\n\t\tconst switchHBox = new HBox(`${this.getId()}-switchHBox`, {\n\t\t\talignItems: \"Center\"\n\t\t});\n\t\tswitchWrapperHBox.addItem(switchHBox);\n\n\t\t// Create Switch and add to Switch HBox\n\t\tconst switchId = `${this.getId()}-Switch`;\n\t\tconst switchControl = new Switch(switchId, {\n\t\t\tstate: \"{ path: '/selectedSpacePage/applyColorToAllPages', mode: 'TwoWay' }\",\n\t\t\tchange: this._handleSwitchChange.bind(this),\n\t\t\tenabled: \"{= ${/selectedSpacePage/spaceId} ? false : true }\",\n\t\t\tcustomTextOn: \" \",\n\t\t\tcustomTextOff: \" \"\n\t\t});\n\t\tthis.controlMap.set(switchId, switchControl);\n\t\tswitchHBox.addItem(switchControl);\n\n\t\treturn wrapperVBox;\n\t}\n\n\t/**\n\t * Get Icon List.\n\t *\n\t * @private\n\t * @returns {VBox} The control containing the Icon List.\n\t */\n\tprivate getIconList(): VBox {\n\t\tconst wrapperVBox = new VBox(`${this.getId()}-iconListWrapperVBox`, {\n\t\t\twidth: \"100%\",\n\t\t\theight: \"calc(100% - 15rem)\"\n\t\t});\n\n\t\t// Create Label and add to wrapper VBox\n\t\tconst label = new Label(`${this.getId()}-iconListLabel`, {\n\t\t\twrapping: true,\n\t\t\tdesign: \"Bold\",\n\t\t\ttext: this._i18nBundle.getText(\"icon\")\n\t\t}).addStyleClass(\"personalisationDetailsLabel\");\n\t\twrapperVBox.addItem(label);\n\n\t\t// Create SearchField and add to wrapper VBox\n\t\tconst searchFieldId = `${this.getId()}-iconListSearchField`;\n\t\tconst searchField = new SearchField(searchFieldId, {\n\t\t\twidth: \"100%\",\n\t\t\tliveChange: this.handleIconSearch.bind(this)\n\t\t});\n\t\tthis.controlMap.set(searchFieldId, searchField);\n\t\twrapperVBox.addItem(searchField);\n\n\t\t// Create Scroll Container For List of Icons and add to wrapper VBox\n\t\tconst iconListScrollContainer = new ScrollContainer(`${this.getId()}-iconListScrollContainer`, {\n\t\t\tvertical: true,\n\t\t\thorizontal: false,\n\t\t\theight: \"95%\"\n\t\t});\n\t\twrapperVBox.addItem(iconListScrollContainer);\n\n\t\t// Create List of Icons and add to Scroll Container\n\t\tconst iconListId = `${this.getId()}-iconList`;\n\t\tconst iconList = new List(iconListId, {\n\t\t\titems: {\n\t\t\t\tpath: \"/iconList\",\n\t\t\t\ttemplate: new StandardListItem(`${this.getId()}-iconStandardListItem`, {\n\t\t\t\t\ttitle: \"{title}\",\n\t\t\t\t\ticon: \"{icon}\",\n\t\t\t\t\ttype: \"Active\",\n\t\t\t\t\tpress: (event) => this._handleIconSelect(event.getSource()),\n\t\t\t\t\ticonDensityAware: false,\n\t\t\t\t\ticonInset: false\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tthis.controlMap.set(iconListId, iconList);\n\t\ticonListScrollContainer.addContent(iconList);\n\n\t\treturn wrapperVBox;\n\t}\n\n\t/**\n\t * Prepare spaces and pages data.\n\t *\n\t * @private\n\t */\n\tprivate async prepareSpacesPagesData(): Promise<void> {\n\t\tconst aSpaces = await this.pageManagerInstance.fetchAllAvailableSpaces();\n\t\tif (!Array.isArray(aSpaces)) {\n\t\t\treturn;\n\t\t}\n\t\t//Prepare Spaces and Pages Data\n\t\taSpaces.forEach((oSpace) => {\n\t\t\toSpace.BGColor = oSpace.BGColor ? this.refreshColor(oSpace.BGColor) : DEFAULT_BG_COLOR();\n\t\t\toSpace.isSpacePersonalization = oSpace.BGColor || oSpace.icon ? true : false;\n\t\t\toSpace.icon = oSpace.icon || FALLBACK_ICON;\n\t\t\toSpace.persistedApplyColorToAllPages = oSpace.applyColorToAllPages;\n\t\t\toSpace.children.forEach((oPage) => {\n\t\t\t\tif (oSpace.applyColorToAllPages) {\n\t\t\t\t\toPage.BGColor = this.refreshColor(oSpace.BGColor as IColor) as IColor;\n\t\t\t\t\toPage.oldColor = oPage.isPagePersonalization\n\t\t\t\t\t\t? this.refreshColor(oPage.oldColor as { key: string; value: Value; assigned: boolean })\n\t\t\t\t\t\t: DEFAULT_BG_COLOR();\n\t\t\t\t} else {\n\t\t\t\t\toPage.BGColor = oPage.BGColor ? (this.refreshColor(oPage.BGColor as IColor) as IColor) : DEFAULT_BG_COLOR();\n\t\t\t\t}\n\t\t\t\toPage.spaceId = oSpace.id;\n\t\t\t\toPage.personalizationState = oPage.isPagePersonalization;\n\t\t\t\toPage.iconPersonalizationState = oPage.isPageIconPersonalization;\n\t\t\t\toPage.icon = oPage.icon || oSpace.icon || FALLBACK_ICON;\n\t\t\t});\n\t\t});\n\n\t\tthis.controlModel.setProperty(\"/spaces\", aSpaces);\n\t\t// Select the first item in list selected by default\n\t\tconst treeTable = this.controlMap.get(`${this.getId()}-spacePagesTreeTable`) as TreeTable;\n\t\tconst selectedIndices = treeTable.getSelectedIndices();\n\t\tif (!selectedIndices.includes(0)) {\n\t\t\ttreeTable.setSelectedIndex(0);\n\t\t}\n\t}\n\n\t/**\n\t * Refresh color.\n\t *\n\t * @param {string} sColor The color to refresh.\n\t * @returns {string} The refreshed color.\n\t */\n\tprivate refreshColor(oColorObject: IColor): {\n\t\tkey: string;\n\t\tvalue: Value;\n\t\tassigned: boolean;\n\t} {\n\t\t// Refresh color object with new color value in case of theme switching.\n\t\tconst newObject = { ...oColorObject } as IColor;\n\t\tnewObject.value = Parameters.get({ name: oColorObject.key }) as string;\n\t\treturn newObject;\n\t}\n\n\t/**\n\t * Handle Tree Table Row Selection.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate handleTreeTableRowSelection(oEvent: Table$RowSelectionChangeEvent): void {\n\t\tinterface IControlWithBlockedProperty {\n\t\t\tgetBlocked: () => boolean;\n\t\t\tsetBlocked: (val: boolean) => void;\n\t\t}\n\t\tconst bindingContext = oEvent.getParameter(\"rowContext\") as Context;\n\t\tconst selectedObject = bindingContext?.getObject() as ISpace | IPage;\n\n\t\tconst prevSelectedObject = this.controlModel.getProperty(\"/selectedSpacePage\") as ISpace | IPage;\n\t\tconst colorPalette = this.controlMap.get(`${this.getId()}-colorPalette`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in ColorPalette\n\t\tconst searchField = this.controlMap.get(`${this.getId()}-iconListSearchField`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in SearchField\n\t\tconst iconList = this.controlMap.get(`${this.getId()}-iconList`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in List\n\t\tconst switchControl = this.controlMap.get(`${this.getId()}-Switch`) as unknown as IControlWithBlockedProperty; // setBlocked is not available in Switch\n\t\tlet spaceObject = undefined;\n\t\tlet controlsDisabled: boolean = colorPalette.getBlocked();\n\n\t\tif (selectedObject.type === \"Page\") {\n\t\t\tconst contextPath = bindingContext.getPath();\n\t\t\tconst spaceContextPath = contextPath.replace(/\\/children\\/\\d*/, \"\");\n\t\t\tspaceObject = this.controlModel.getProperty(spaceContextPath) as ISpace;\n\t\t}\n\n\t\tcontrolsDisabled =\n\t\t\tprevSelectedObject?.type === selectedObject.type && prevSelectedObject?.id === selectedObject.id ? !controlsDisabled : false;\n\t\tcolorPalette.setBlocked(controlsDisabled ? true : (spaceObject?.applyColorToAllPages as boolean));\n\t\tsearchField.setBlocked(controlsDisabled);\n\t\ticonList.setBlocked(controlsDisabled);\n\t\tswitchControl.setBlocked(controlsDisabled);\n\n\t\tthis.controlModel.setProperty(\"/selectedSpacePage\", selectedObject);\n\t\tthis.selectedContext = bindingContext;\n\t}\n\n\t/**\n\t * Prepare icon list.\n\t *\n\t * @private\n\t */\n\tprivate prepareIconList(): void {\n\t\tinterface IiconList {\n\t\t\ttitle: string;\n\t\t\ticon: string;\n\t\t\ttags: string;\n\t\t\tcategoryId: string;\n\t\t}\n\t\tconst iconList = this.controlModel.getProperty(\"/iconList\") as IiconList[];\n\t\tif (!iconList.length) {\n\t\t\tlet icon: string;\n\t\t\tconst aIcons: IiconList[] = [];\n\t\t\tObject.keys(ICONS).forEach((oIconCategory) => {\n\t\t\t\tObject.keys(ICONS[oIconCategory].icons).forEach(function (oIcon) {\n\t\t\t\t\tswitch (oIconCategory) {\n\t\t\t\t\t\tcase \"SAP-icons\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"SAP-icons-TNT\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIconCategory + \"/\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"BusinessSuiteInAppSymbols\":\n\t\t\t\t\t\t\ticon = \"sap-icon://\" + oIconCategory + \"/icon-\" + oIcon;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\taIcons.push({\n\t\t\t\t\t\ttitle: oIcon,\n\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\ttags: ICONS[oIconCategory].icons[oIcon].concat([oIcon]).toString(),\n\t\t\t\t\t\tcategoryId: oIconCategory\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\tthis.controlModel.setProperty(\"/iconList\", aIcons);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Icon Search.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate handleIconSearch(oEvent: SearchField$LiveChangeEvent): void {\n\t\tconst sQuery = oEvent.getSource().getValue();\n\t\tconst aFilters = [];\n\t\tif (sQuery && sQuery.length > 0) {\n\t\t\taFilters.push(new Filter(\"tags\", FilterOperator.Contains, sQuery));\n\t\t}\n\t\tconst oList = this.controlMap.get(`${this.getId()}-iconList`) as List;\n\t\tconst oBinding = oList.getBinding(\"items\") as JSONListBinding;\n\t\toBinding?.filter(aFilters);\n\t}\n\n\t/**\n\t * Handle Color Select.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleColorSelect(oEvent: ColorPalette$ColorSelectEvent | null, color?: string): void {\n\t\tconst selectedColor = (oEvent?.getParameter(\"value\") as string) || color || \"\";\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace | IPage;\n\t\tconst isSpaceColorChanged = !(selectedObject as IPage).spaceId;\n\t\tconst legendColor = this._convertColorToLegend(selectedColor);\n\t\tconst oldLegendColor = (selectedObject?.BGColor as { key: string })?.key;\n\n\t\t// Handle color change for space\n\t\tif (isSpaceColorChanged) {\n\t\t\tconst spaceObject: ISpace = selectedObject as ISpace;\n\t\t\t//Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject.id;\n\t\t\t});\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.BGColor = legendColor;\n\t\t\t\toExistingChange.applyColorToAllPages = spaceObject.applyColorToAllPages as boolean;\n\t\t\t\toExistingChange.oldApplyColorToAllPages = spaceObject.persistedApplyColorToAllPages as boolean;\n\t\t\t} else {\n\t\t\t\tthis.keyuserSpaceColorChanges.push({\n\t\t\t\t\tspaceId: spaceObject.id,\n\t\t\t\t\tBGColor: legendColor,\n\t\t\t\t\toldColor: oldLegendColor,\n\t\t\t\t\tapplyColorToAllPages: spaceObject.applyColorToAllPages,\n\t\t\t\t\toldApplyColorToAllPages: spaceObject.persistedApplyColorToAllPages\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Apply color to all pages\n\t\t\tif (spaceObject.applyColorToAllPages) {\n\t\t\t\tthis._applyInnerPageColoring(spaceObject, legendColor, selectedColor, true);\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"BGColor/key\", legendColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"BGColor/value\", selectedColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isSpacePersonalization\", true, this.selectedContext);\n\t\t} else {\n\t\t\t// Handle color change for page\n\t\t\tconst pageObject: IPage = selectedObject as IPage;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserPageColorChanges.find((changes) => {\n\t\t\t\treturn changes.pageId === pageObject.id;\n\t\t\t});\n\n\t\t\tconst spaceObject = (this.controlModel.getProperty(\"/spaces\") as ISpace[]).find((oSpace: ISpace) => {\n\t\t\t\treturn oSpace.id === pageObject.spaceId;\n\t\t\t});\n\t\t\tconst isSpaceColorChangedBefore = spaceObject?.isSpacePersonalization;\n\t\t\tconst existingSpacePersData = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject?.id;\n\t\t\t});\n\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.BGColor = legendColor;\n\t\t\t} else {\n\t\t\t\tthis.keyuserPageColorChanges.push({\n\t\t\t\t\tpageId: pageObject.id,\n\t\t\t\t\tspaceId: pageObject.spaceId,\n\t\t\t\t\tBGColor: legendColor,\n\t\t\t\t\toldColor:\n\t\t\t\t\t\tisSpaceColorChangedBefore && !pageObject.isPagePersonalization\n\t\t\t\t\t\t\t? (existingSpacePersData as { oldColor: string })?.oldColor\n\t\t\t\t\t\t\t: oldLegendColor\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"BGColor/key\", legendColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"BGColor/value\", selectedColor, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isPagePersonalization\", true, this.selectedContext);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Icon Select.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleIconSelect(listItem: StandardListItem): void {\n\t\tconst sIcon = listItem.getIcon();\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace | IPage;\n\t\tconst isSpaceIconChanged = !(selectedObject as IPage).spaceId;\n\n\t\t// Handle icon change for space\n\t\tif (isSpaceIconChanged) {\n\t\t\tconst spaceObject = selectedObject as ISpace;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserSpaceIconChanges.find((change) => change.spaceId === spaceObject.id);\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.icon = sIcon;\n\t\t\t} else {\n\t\t\t\tthis.keyuserSpaceIconChanges.push({\n\t\t\t\t\tspaceId: spaceObject.id,\n\t\t\t\t\ticon: sIcon,\n\t\t\t\t\toldIcon: spaceObject.icon\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Apply icon to all pages if page icon is not personalized\n\t\t\tconst filteredPages = this._getInnerPages(spaceObject).filter((spaceObject) => !spaceObject.page.isPageIconPersonalization);\n\t\t\tfilteredPages.forEach((page) => {\n\t\t\t\tthis.controlModel.setProperty(page.bindingPath + \"/icon\", sIcon);\n\t\t\t});\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"icon\", sIcon, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isSpaceIconPersonalization\", true, this.selectedContext);\n\t\t} else {\n\t\t\t// Handle icon change for page\n\t\t\tconst pageObject = selectedObject as IPage;\n\t\t\t// Check if existing personalization is available\n\t\t\tconst oExistingChange = this.keyuserPageIconChanges.find((change) => change.pageId === pageObject.id);\n\n\t\t\tconst spaceObject = (this.controlModel.getProperty(\"/spaces\") as ISpace[]).find((oSpace: ISpace) => {\n\t\t\t\treturn oSpace.id === pageObject.spaceId;\n\t\t\t});\n\t\t\tconst isSpaceIconChangedBefore = spaceObject?.isSpaceIconPersonalization;\n\t\t\tconst existingSpacePersData = this.keyuserSpaceIconChanges.find((changes) => {\n\t\t\t\treturn changes.spaceId === spaceObject?.id;\n\t\t\t});\n\n\t\t\tif (oExistingChange) {\n\t\t\t\toExistingChange.icon = sIcon;\n\t\t\t} else {\n\t\t\t\tthis.keyuserPageIconChanges.push({\n\t\t\t\t\tpageId: pageObject.id,\n\t\t\t\t\tspaceId: pageObject.spaceId,\n\t\t\t\t\ticon: sIcon,\n\t\t\t\t\toldIcon:\n\t\t\t\t\t\tisSpaceIconChangedBefore && !pageObject.isPageIconPersonalization\n\t\t\t\t\t\t\t? existingSpacePersData?.oldIcon\n\t\t\t\t\t\t\t: selectedObject.icon\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update View Model\n\t\t\tthis.controlModel.setProperty(\"icon\", sIcon, this.selectedContext);\n\t\t\tthis.controlModel.setProperty(\"isPageIconPersonalization\", true, this.selectedContext);\n\t\t}\n\t}\n\n\t/**\n\t * Convert color to legend.\n\t *\n\t * @param {string} sColor The color to convert.\n\t * @returns {string} The converted color.\n\t * @private\n\t */\n\tprivate _convertColorToLegend(color: string): string {\n\t\tlet oLegendColor = END_USER_COLORS().find(function (endUserColor) {\n\t\t\treturn endUserColor.value === color;\n\t\t});\n\t\treturn oLegendColor ? oLegendColor.key : DEFAULT_BG_COLOR().key;\n\t}\n\n\t/**\n\t * Handle Switch Change.\n\t *\n\t * @param {Event} oEvent The event object.\n\t * @private\n\t */\n\tprivate _handleSwitchChange(oEvent: Switch$ChangeEvent): void {\n\t\tconst selectedObject = this.selectedContext.getObject() as ISpace;\n\t\tconst switchValue = oEvent.getParameter(\"state\");\n\n\t\t//Check if existing personalization is available\n\t\tconst oExistingChange = this.keyuserSpaceColorChanges.find((changes) => {\n\t\t\treturn changes.spaceId === selectedObject.id;\n\t\t});\n\n\t\tif (oExistingChange) {\n\t\t\toExistingChange.applyColorToAllPages = selectedObject.applyColorToAllPages as boolean;\n\t\t} else {\n\t\t\tthis._handleColorSelect(null, selectedObject.BGColor?.value as string);\n\t\t}\n\n\t\tconst colorKey = switchValue ? (selectedObject.BGColor?.key as string) : DEFAULT_BG_COLOR().key;\n\t\tconst colorValue = switchValue ? (selectedObject.BGColor?.value as string) : DEFAULT_BG_COLOR().value;\n\n\t\t// Apply color to all pages\n\t\tthis._applyInnerPageColoring(selectedObject, colorKey, colorValue as string, switchValue as boolean);\n\t}\n\n\t/**\n\t * Apply inner page coloring.\n\t *\n\t * @param {ISpace} oSpace The space object.\n\t * @param {string} sColorKey The color key.\n\t * @param {string} sColorValue The color value.\n\t * @param {boolean} bApplyColorToAllPages The flag to apply color to all pages.\n\t * @private\n\t */\n\tprivate _applyInnerPageColoring(oSpace: ISpace, sColorKey: string, sColorValue: string, bApplyColorToAllPages: boolean): void {\n\t\tconst innerPages = this._getInnerPages(oSpace);\n\n\t\tinnerPages.forEach((oPage) => {\n\t\t\tif (!bApplyColorToAllPages && oPage.page.isPagePersonalization) {\n\t\t\t\tconst oExistingChange = this.keyuserPageColorChanges.find(function (oChange) {\n\t\t\t\t\treturn oChange.pageId === oPage.page.id;\n\t\t\t\t});\n\t\t\t\tif (oExistingChange) {\n\t\t\t\t\tconst BGColor = oExistingChange.BGColor;\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", BGColor);\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", Parameters.get({ name: BGColor as string }));\n\t\t\t\t} else {\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", (oPage.page.oldColor as IColor)?.key);\n\t\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", (oPage.page.oldColor as IColor)?.value);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/key\", sColorKey);\n\t\t\t\tthis.controlModel.setProperty(oPage.bindingPath + \"/BGColor/value\", sColorValue);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Get Inner Pages of Space.\n\t *\n\t * @returns {ISpace} Space.\n\t * @private\n\t */\n\n\tprivate _getInnerPages(oSpace: ISpace) {\n\t\treturn oSpace.children.map((oPage, index) => {\n\t\t\treturn {\n\t\t\t\tpage: oPage,\n\t\t\t\tbindingPath: this.selectedContext.getPath() + \"/children/\" + index\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Merge Key User Changes.\n\t *\n\t * @private\n\t */\n\tprivate _mergeKeyUserChanges(): void {\n\t\tconst pagePanel = this._getPanel() as PagePanel;\n\t\tconst wrapperContainer = pagePanel.getParent() as NewsAndPagesContainer;\n\t\tconst layout = wrapperContainer.getParent() as BaseLayout;\n\n\t\t// Add Space Color Changes to KeyUser Changes\n\t\tif (this.keyuserSpaceColorChanges.length) {\n\t\t\tconst keyuserSpaceColorChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.SPACE_COLOR,\n\t\t\t\t\tcontent: [...this.keyuserSpaceColorChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserSpaceColorChanges);\n\t\t}\n\n\t\t// Add Page Color Changes to KeyUser Changes\n\t\tif (this.keyuserPageColorChanges.length) {\n\t\t\tconst keyuserPageColorChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.PAGE_COLOR,\n\t\t\t\t\tcontent: [...this.keyuserPageColorChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserPageColorChanges);\n\t\t}\n\n\t\t// Add Space Icon Changes to KeyUser Changes\n\t\tif (this.keyuserSpaceIconChanges.length) {\n\t\t\tconst keyuserSpaceIconChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.SPACE_ICON,\n\t\t\t\t\tcontent: [...this.keyuserSpaceIconChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserSpaceIconChanges);\n\t\t}\n\n\t\t// Add Page Icon Changes to KeyUser Changes\n\t\tif (this.keyuserPageIconChanges.length) {\n\t\t\tconst keyuserPageIconChanges: IKeyUserChange = {\n\t\t\t\tselectorControl: layout,\n\t\t\t\tchangeSpecificData: {\n\t\t\t\t\tchangeType: CHANGE_TYPES.PAGE_ICON,\n\t\t\t\t\tcontent: [...this.keyuserPageIconChanges]\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.addKeyUserChanges(keyuserPageIconChanges);\n\t\t}\n\t}\n\n\t/**\n\t * Handle Dialog Close.\n\t *\n\t * @private\n\t */\n\tprivate _handleDialogClose(): void {\n\t\tthis._mergeKeyUserChanges();\n\t\t// Add All Changes to KeyUser Dialog\n\t\tthis._eventBus.publish(\"KeyUserChanges\", \"addNewsPagesChanges\", { changes: this.getKeyUserChanges() });\n\n\t\tconst dialogId = `${this.getId()}-keyUserPagesSettingsDialog`;\n\t\t(this.controlMap.get(dialogId) as Dialog).close();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -204,23 +204,23 @@ export default class KeyUserPagesSettingsPanel extends BaseSettingsPanel {
204
204
  rowMode: "Auto",
205
205
  rowSelectionChange: this.handleTreeTableRowSelection.bind(this),
206
206
  width: "22rem",
207
- layoutData: new FlexItemData({
207
+ layoutData: new FlexItemData(`${treeTableId}--layoutData`, {
208
208
  growFactor: 1
209
209
  }),
210
210
  columns: [
211
- new Column({
212
- template: new HBox({
211
+ new Column(`${treeTableId}--treeTableColumn`, {
212
+ template: new HBox(`${treeTableId}--treeTableTemplateBox`, {
213
213
  alignItems: "Center",
214
214
  justifyContent: "SpaceBetween",
215
215
  width: "100%",
216
216
  items: [
217
- new Text({
217
+ new Text(`${treeTableId}--treeTableItemText`, {
218
218
  text: "{label}"
219
219
  }),
220
- new HBox({
220
+ new HBox(`${treeTableId}--treeTableColumnItemBox`, {
221
221
  alignItems: "Center",
222
222
  items: [
223
- new Icon({
223
+ new Icon(`${treeTableId}--treeTableItemIcon`, {
224
224
  tooltip: "{label}",
225
225
  src: "{icon}",
226
226
  backgroundColor: "{BGColor/value}",
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome", "sap/ushell/Container", "./AdvancedSettingsPanel", "./BaseLayout", "./BaseLayoutRenderer", "./InsightsCardsSettingsPanel", "./InsightsTilesSettingsPanel", "./KeyUserLayoutSettingsPanel", "./KeyUserNewsPagesSettingsPanel", "./KeyUserSettingsDialog", "./LayoutSettingsPanel", "./NewsAndPagesContainer", "./NewsSettingsPanel", "./NoDataContainer", "./PagePanel", "./PageSettingsPanel", "./SettingsDialog", "./ToDosContainer", "./utils/Constants", "./utils/KeyUserPersonalization", "./utils/PerformanceUtils", "./utils/PersonalisationUtils"], function (Log, Element, S4MyHome, Container, __AdvancedSettingsPanel, __BaseLayout, __BaseLayoutRenderer, __InsightsCardsSettingsPanel, __InsightsTilesSettingsPanel, __KeyUserLayoutSettingsPanel, __KeyUserNewsPagesSettingsPanel, __KeyUserSettingsDialog, __LayoutSettingsPanel, __NewsAndPagesContainer, __NewsSettingsPanel, __NoDataContainer, __PagePanel, __PageSettingsPanel, __SettingsDialog, __ToDosContainer, ___utils_Constants, __KeyUserPersonalization, ___utils_PerformanceUtils, __PersonalisationUtils) {
5
+ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome", "sap/ushell/Container", "./AdvancedSettingsPanel", "./BaseLayout", "./BaseLayoutRenderer", "./ContentAdditionDialog", "./InsightsCardsSettingsPanel", "./InsightsTilesSettingsPanel", "./KeyUserLayoutSettingsPanel", "./KeyUserNewsPagesSettingsPanel", "./KeyUserSettingsDialog", "./LayoutSettingsPanel", "./NewsAndPagesContainer", "./NewsSettingsPanel", "./NoDataContainer", "./PagePanel", "./PageSettingsPanel", "./SettingsDialog", "./ToDosContainer", "./utils/Constants", "./utils/KeyUserPersonalization", "./utils/PerformanceUtils", "./utils/PersonalisationUtils"], function (Log, Element, S4MyHome, Container, __AdvancedSettingsPanel, __BaseLayout, __BaseLayoutRenderer, __ContentAdditionDialog, __InsightsCardsSettingsPanel, __InsightsTilesSettingsPanel, __KeyUserLayoutSettingsPanel, __KeyUserNewsPagesSettingsPanel, __KeyUserSettingsDialog, __LayoutSettingsPanel, __NewsAndPagesContainer, __NewsSettingsPanel, __NoDataContainer, __PagePanel, __PageSettingsPanel, __SettingsDialog, __ToDosContainer, ___utils_Constants, __KeyUserPersonalization, ___utils_PerformanceUtils, __PersonalisationUtils) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -176,6 +176,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
176
176
  return result;
177
177
  }
178
178
  const BaseLayoutRenderer = _interopRequireDefault(__BaseLayoutRenderer);
179
+ const ContentAdditionDialog = _interopRequireDefault(__ContentAdditionDialog);
179
180
  const InsightsCardsSettingsPanel = _interopRequireDefault(__InsightsCardsSettingsPanel);
180
181
  const InsightsTilesSettingsPanel = _interopRequireDefault(__InsightsTilesSettingsPanel);
181
182
  const KeyUserLayoutSettingsPanel = _interopRequireDefault(__KeyUserLayoutSettingsPanel);
@@ -356,39 +357,31 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
356
357
  const _this3 = this;
357
358
  BaseLayout.prototype.onBeforeRendering.call(_this3, event);
358
359
 
359
- // Initialize Performance Metrics
360
- return Promise.resolve(setupPerformanceTracking(_this3)).then(function () {
361
- // If PersContainerId provided set to PersonalisationUtils
362
- const persContainerId = _this3.getProperty("persContainerId");
363
- if (persContainerId) {
364
- PersonalisationUtils.setPersContainerId(persContainerId);
365
- }
366
-
367
- // setup no-data container
368
- if (!_this3._noDataContainer) {
369
- _this3._noDataContainer = _this3.getItems().find(item => item instanceof NoDataContainer);
360
+ //setup common layout features
361
+ _this3._setupSettingsDialog();
370
362
 
371
- // if no data container is already present, use it
372
- if (!_this3._noDataContainer) {
373
- _this3._customNoDataContainerPresent = false;
374
- _this3._noDataContainer = new NoDataContainer(`${_this3.getId()}-noDataContainer`);
375
- }
376
- _this3._noDataContainer.setVisible(false);
377
- }
363
+ //setup content addition dialog
364
+ _this3._setupContentAdditionDialog();
378
365
 
379
- //prepare layout data, if not already done
380
- if (!_this3._aOrderedSections) {
381
- setTimeout(_this3._prepareLayoutData.bind(_this3));
382
- }
366
+ // If PersContainerId provided set to PersonalisationUtils
367
+ const persContainerId = _this3.getProperty("persContainerId");
368
+ if (persContainerId) {
369
+ PersonalisationUtils.setPersContainerId(persContainerId);
370
+ }
371
+ _this3.getNoDataContainer();
383
372
 
384
- //setup common layout features
385
- _this3._setupSettingsDialog();
373
+ //prepare layout data, if not already done
374
+ if (!_this3._aOrderedSections) {
375
+ setTimeout(_this3._prepareLayoutData.bind(_this3));
376
+ }
386
377
 
387
- // Setup KeyUserPersonalization
388
- _this3._setupKeyUserSettingsDialog();
378
+ // Setup KeyUserPersonalization
379
+ _this3._setupKeyUserSettingsDialog();
389
380
 
390
- //configure user action button if the layout is in an ushell environment
391
- return Promise.resolve(_this3._addUserActions()).then(function () {});
381
+ //configure user action button if the layout is in an ushell environment
382
+ return Promise.resolve(_this3._addUserActions()).then(function () {
383
+ // Initialize Performance Metrics
384
+ return Promise.resolve(setupPerformanceTracking(_this3)).then(function () {});
392
385
  });
393
386
  } catch (e) {
394
387
  return Promise.reject(e);
@@ -530,6 +523,25 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
530
523
  }
531
524
  return this._layoutSettingsPanel;
532
525
  },
526
+ /**
527
+ * Setup of no data container
528
+ *
529
+ * @private
530
+ * @returns {NoDataContainer} No data container
531
+ */
532
+ getNoDataContainer: function _getNoDataContainer() {
533
+ if (!this._noDataContainer) {
534
+ this._noDataContainer = this.getItems().find(item => item instanceof NoDataContainer);
535
+
536
+ // if no data container is already present, use it
537
+ if (!this._noDataContainer) {
538
+ this._customNoDataContainerPresent = false;
539
+ this._noDataContainer = new NoDataContainer(`${this.getId()}-noDataContainer`);
540
+ }
541
+ this._noDataContainer.setVisible(false);
542
+ }
543
+ return this._noDataContainer;
544
+ },
533
545
  /**
534
546
  * Prepares the layout data.
535
547
  *
@@ -543,7 +555,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
543
555
  // set aelementsMap as elementMap[] | [];
544
556
  const aElementMap = [];
545
557
  aElements.forEach(element => {
546
- if (element !== this._noDataContainer) {
558
+ if (element !== this.getNoDataContainer()) {
547
559
  const sId = element.getId();
548
560
 
549
561
  //if no title set for container , then layout setting should show tooltip as title within the settings dialog
@@ -577,12 +589,13 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
577
589
  * @private
578
590
  */
579
591
  setNoDataContainerVisibility: function _setNoDataContainerVisibility(contentVisible) {
580
- this._noDataContainer?.setVisible(contentVisible);
592
+ const noDataContainer = this.getNoDataContainer();
593
+ noDataContainer?.setVisible(contentVisible);
581
594
  if (!this._customNoDataContainerPresent) {
582
595
  if (contentVisible) {
583
- this.insertItem(this._noDataContainer, 0);
596
+ this.insertItem(noDataContainer, 0);
584
597
  } else {
585
- this.removeItem(this._noDataContainer);
598
+ this.removeItem(noDataContainer);
586
599
  }
587
600
  }
588
601
  },
@@ -761,6 +774,18 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
761
774
  */
762
775
  resetSections: function _resetSections() {
763
776
  this._prepareLayoutData();
777
+ },
778
+ /**
779
+ * Sets up the content addition dialog for the layout.
780
+ *
781
+ * @private
782
+ */
783
+ _setupContentAdditionDialog: function _setupContentAdditionDialog() {
784
+ let contentAdditionDialog = this.getAggregation("contentAdditionDialog");
785
+ if (!contentAdditionDialog) {
786
+ contentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);
787
+ this.setAggregation("contentAdditionDialog", contentAdditionDialog);
788
+ }
764
789
  }
765
790
  });
766
791
  return Layout;