@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppsAdditionPanel-dbg.js","names":["sap","ui","define","Log","Button","CustomListItem","ExpandableText","FlexBox","GenericTile","HBox","Label","sap_m_library","MessageToast","Text","VBox","Fragment","JSONModel","ResourceModel","Container","__AppsContainer","__BaseSettingsPanel","__FavAppPanel","__AppManager","___utils_Constants","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","_finallyRethrows","finalizer","bind","AppsContainer","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","observer","prototype","onFulfilled","onRejected","callback","_this","_isSettledPact","thenable","_forTo","array","check","i","reject","_cycle","length","BaseSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","FavAppPanel","AppManager","AI_APP_FINDER_API","AI_APP_FINDER_BASE_URL","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","Constants","DeprecatedInfoText","MinQueryLength","MaxDescriptionLength","SearchStatus","ErrorType","TileType","AppsAdditionPanel","extend","constructor","apply","arguments","appManagerInstance","getInstance","init","_init","BaseSettingsPanel.prototype.init.call","userSelectedApps","Set","setProperty","AI_APP_FINDER","_i18nBundle","getText","_setupActions","_setupContent","attachEvent","resetPanel","addAppsButton","getId","text","type","Emphasized","press","onPressAddApps","bindProperty","parts","formatter","hasError","searchStatus","Complete","addActionButton","Promise","resolve","getServiceAsync","_Container$getService","vizInstantiationService","load","id","name","controller","_Fragment$load","panelContent","addAggregation","model","query","errorType","DefaultError","errorDescription","Idle","loadingAnimation","_generateSearchingAnimation","suggestedAppsCount","suggestedApps","setModel","bundleName","appSuggestionList","byId","bindAggregation","path","factory","_generateListItem","context","listItem","selected","getProperty","content","renderType","wrap","direction","alignItems","items","_getAppPreviewContainer","_getAppDetailsContainer","addStyleClass","getMultiSelectControl","setEnabled","container","addItem","mode","frameType","header","subheader","tileIcon","visible","instance","instantiateVisualization","setActive","setClickable","gap","showColon","maxCharacters","_generateStatusTexts","isSupported","_isSupported","_this2","_temp5","isPanelSupported","removeActionButton","contentAdditionDialog","getParent","removePanel","updateActionButtons","_temp4","undefined","_temp3","getFavAppPanel","_temp2","isFeatureEnabled","AI_SMART_APPFINDER","_temp","navigationService","isNavigationSupported","semanticObject","action","_ref","supported","error","message","_resetPanel","defaultModelProperties","setData","getData","clear","onPressGo","_onPressGo","event","_this3","getParameter","isValidQuery","_temp7","Searching","removeSelections","fetchAppsFromSearch","rawApps","_temp6","fetchAllAvailableVisualizations","allVisualizations","fetchFavVizs","favoriteApps","fetchInsightApps","insightsApps","apps","_generateApps","_filterUnsupportedApps","err","_handleError","_wasThrown","_result","intents","map","app","vizData","supportedAppIndices","filter","_","index","homePageVisualizations","find","viz","vizId","chipID","addedToHomePage","some","visualization","title","subTitle","description","appDescription","icon","iconUrl","isStaticApp","tileType","Static","status","getAppStatusTexts","configuration","_isValidQuery","Boolean","trim","_fetchAllAvailableVisualizations","_this4","_temp9","allAvailableVisualizations","_temp8","searchableContentService","getApps","enableVisualizationPreview","allAvailableApps","reduce","visualizations","currentApp","concat","_fetchCSRFToken","fetch","method","headers","response","get","_fetchAppsFromSearch","_this5","token","JSON","stringify","UserInput","_exit","_temp12","_result2","json","_response$json2","queryResult","_temp11","ok","_response$json","errorResponse","_temp10","_getAppStatusTexts","statusTexts","parsedConfig","parse","tileConfig","tileConfiguration","infoText","display_info_text","toLowerCase","warning","stausTexts","applyStatusClass","_applyStatusClass","_onPressAddApps","_this6","_temp14","refreshFavoriteApps","close","show","vizIds","item","getBindingContext","_temp13","addVisualization","getAppsContainer","_getAppsContainer","layout","getContent","_getFavAppPanel","panel","_refreshFavoriteApps","_this7","refreshPanel","onListSelectionChange","_onListSelectionChange","delete","add","Array","from","errorCode","match","_getErrorType","ServiceError","NoResultsFound","ValidationError"],"sources":["AppsAdditionPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport Button from \"sap/m/Button\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport ExpandableText from \"sap/m/ExpandableText\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport { ButtonType } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport { ListBase$SelectionChangeEvent } from \"sap/m/ListBase\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport { SearchField$SearchEvent } from \"sap/m/SearchField\";\nimport Text from \"sap/m/Text\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation, { Target } from \"sap/ushell/services/Navigation\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport FavAppPanel from \"./FavAppPanel\";\nimport { ICustomVisualization, ICustomVizInstance, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { AI_APP_FINDER_API, AI_APP_FINDER_BASE_URL, CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES } from \"./utils/Constants\";\n\nconst Constants = {\n\tDeprecatedInfoText: \"deprecated\",\n\tMinQueryLength: 5,\n\tMaxDescriptionLength: 400\n};\n\nenum SearchStatus {\n\tIdle = \"idle\",\n\tSearching = \"searching\",\n\tComplete = \"complete\"\n}\n\nenum ErrorType {\n\tNoResultsFound = \"noResultsFound\",\n\tServiceError = \"serviceError\",\n\tValidationError = \"validationError\",\n\tDefaultError = \"defaultError\"\n}\n\nenum TileType {\n\tStatic = \"STATIC\"\n}\n\ninterface RawAppData {\n\ttitle: string;\n\tsubTitle: string;\n\tappDescription: string;\n\tchipID: string;\n\ttileType: TileType;\n\ticonUrl: string;\n\tconfiguration: string;\n}\ninterface SuggestedApp {\n\ticon: string;\n\ttitle: string;\n\tchipID: string;\n\tstatus: string[];\n\tsubTitle: string;\n\tdescription: string;\n\tisStaticApp: boolean;\n\taddedToHomePage: boolean;\n\tvizData?: IVisualization;\n}\n\ninterface QueryResponse {\n\tvalue: RawAppData[];\n}\n\ninterface ErrorResponse {\n\terror: {\n\t\tcode: string;\n\t\tmessage: string;\n\t};\n}\n\ninterface Configuration {\n\ttileConfiguration: string;\n}\n\ninterface TileConfig {\n\tdisplay_info_text: string;\n\t[key: string]: string;\n}\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n *\n * @internal\n * @experimental Since 1.136\n * @private\n *\n * @alias sap.cux.home.AppsAdditionPanel\n */\nexport default class AppsAdditionPanel extends BaseSettingsPanel {\n\tprivate appManagerInstance: AppManager = AppManager.getInstance();\n\tprivate vizInstantiationService!: VisualizationInstantiation;\n\tprivate allAvailableVisualizations!: IVisualization[];\n\tprivate userSelectedApps!: Set<CustomListItem>;\n\tprivate appSuggestionList!: List;\n\tprivate model!: JSONModel;\n\tprivate addAppsButton!: Button;\n\tprivate isPanelSupported!: boolean;\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.userSelectedApps = new Set<CustomListItem>();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_APP_FINDER);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"addAppsAndTile\"));\n\n\t\t//setup actions\n\t\tthis._setupActions();\n\n\t\t//setup content\n\t\tvoid this._setupContent();\n\n\t\t//setup events\n\t\tthis.attachEvent(\"onDialogClose\", this.resetPanel.bind(this));\n\t}\n\n\t/**\n\t * Sets up the actions for the Apps Addition Panel.\n\t *\n\t * @private\n\t */\n\tprivate _setupActions(): void {\n\t\tthis.addAppsButton = new Button(`${this.getId()}-add-app-btn`, {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tpress: () => {\n\t\t\t\tvoid this.onPressAddApps();\n\t\t\t}\n\t\t});\n\n\t\tthis.addAppsButton.bindProperty(\"enabled\", {\n\t\t\tparts: [\"/hasError\", \"/searchStatus\", \"/userSelectedApps\"],\n\t\t\tformatter: (hasError: boolean, searchStatus: SearchStatus, userSelectedApps: string[]) => {\n\t\t\t\treturn !hasError && searchStatus === SearchStatus.Complete && userSelectedApps.length > 0;\n\t\t\t}\n\t\t});\n\n\t\tthis.addActionButton(this.addAppsButton);\n\t}\n\n\t/**\n\t * Sets up the content for the Apps Addition Panel.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\tthis.vizInstantiationService = await Container.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\");\n\n\t\t//load ui fragment\n\t\tconst panelContent = (await Fragment.load({\n\t\t\tid: `${this.getId()}-content`,\n\t\t\tname: \"sap.cux.home.utils.fragment.appsAdditionContent\",\n\t\t\tcontroller: this\n\t\t})) as Control;\n\t\tthis.addAggregation(\"content\", panelContent);\n\n\t\t//initialize ui model\n\t\tthis.model = new JSONModel({\n\t\t\tquery: \"\",\n\t\t\thasError: false,\n\t\t\terrorType: ErrorType.DefaultError,\n\t\t\terrorDescription: \"\",\n\t\t\tsearchStatus: SearchStatus.Idle,\n\t\t\tloadingAnimation: this._generateSearchingAnimation(),\n\t\t\tsuggestedAppsCount: 0,\n\t\t\tuserSelectedApps: [],\n\t\t\tsuggestedApps: []\n\t\t});\n\n\t\tpanelContent.setModel(this.model);\n\t\tpanelContent.setModel(new ResourceModel({ bundleName: \"sap.cux.home.i18n.messagebundle\" }), \"i18n\");\n\t\tthis.addAppsButton.setModel(this.model);\n\n\t\t//bind suggested apps list\n\t\tthis.appSuggestionList = Fragment.byId(`${this.getId()}-content`, \"appsList\") as List;\n\t\tthis.appSuggestionList.bindAggregation(\"items\", {\n\t\t\tpath: \"/suggestedApps\",\n\t\t\tfactory: this._generateListItem.bind(this)\n\t\t});\n\t}\n\n\t/**\n\t * Generates a list item for the Apps Addition Panel.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the list item.\n\t * @param {Context} context - The binding context for the list item.\n\t * @returns {CustomListItem} The generated list item control.\n\t */\n\tprivate _generateListItem(id: string, context: Context): CustomListItem {\n\t\tconst listItem = new CustomListItem(id, {\n\t\t\tselected: context.getProperty(\"addedToHomePage\") as boolean,\n\t\t\tcontent: [\n\t\t\t\tnew FlexBox(`${id}-result-container`, {\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\twrap: \"Wrap\",\n\t\t\t\t\tdirection: context.getProperty(\"isStaticApp\") ? \"Column\" : \"Row\",\n\t\t\t\t\talignItems: context.getProperty(\"isStaticApp\") ? \"Start\" : \"Center\",\n\t\t\t\t\titems: [this._getAppPreviewContainer(id, context), this._getAppDetailsContainer(id, context)]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMargin\")\n\t\t\t]\n\t\t});\n\n\t\t//bind associated checkbox to disable it when the app is already added to home page\n\t\tlistItem.getMultiSelectControl(true).setEnabled(!context.getProperty(\"addedToHomePage\"));\n\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Creates a preview container for the suggested app.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the container.\n\t * @param {Context} context - The binding context for the app.\n\t * @returns {HBox} The app preview container.\n\t */\n\tprivate _getAppPreviewContainer(id: string, context: Context): HBox {\n\t\tconst container = new HBox(`${id}-suggestedAppContainer`, {\n\t\t\trenderType: \"Bare\"\n\t\t});\n\n\t\tif (context.getProperty(\"isStaticApp\") as boolean) {\n\t\t\t// create generic tile for static app\n\t\t\tcontainer.addItem(\n\t\t\t\tnew GenericTile(`${id}-staticApp`, {\n\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\tframeType: \"TwoByHalf\",\n\t\t\t\t\theader: context.getProperty(\"title\") as string,\n\t\t\t\t\tsubheader: context.getProperty(\"subTitle\") as string,\n\t\t\t\t\ttileIcon: context.getProperty(\"icon\") as string,\n\t\t\t\t\tvisible: context.getProperty(\"isStaticApp\") as boolean\n\t\t\t\t}).addStyleClass(\"suggestedTile\")\n\t\t\t);\n\t\t} else {\n\t\t\t// create custom visualization for other apps\n\t\t\tconst instance = this.vizInstantiationService.instantiateVisualization(\n\t\t\t\tcontext.getProperty(\"vizData\") as ICustomVisualization\n\t\t\t) as ICustomVizInstance;\n\t\t\tinstance?.setActive(true);\n\t\t\tinstance.setClickable(false);\n\t\t\tcontainer.addItem(instance);\n\t\t}\n\n\t\treturn container;\n\t}\n\n\t/**\n\t * Creates a details container for the suggested app.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the container.\n\t * @param {Context} context - The binding context for the app.\n\t * @returns {VBox} The app details container.\n\t */\n\tprivate _getAppDetailsContainer(id: string, context: Context): VBox {\n\t\treturn new VBox(`${id}-app-details-container`, {\n\t\t\trenderType: \"Bare\",\n\t\t\tgap: \"0.5rem\",\n\t\t\titems: [\n\t\t\t\tnew Label(`${id}-descriptionLabel`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appDescription\"),\n\t\t\t\t\tshowColon: true\n\t\t\t\t}),\n\t\t\t\tnew ExpandableText(`${id}-description`, {\n\t\t\t\t\ttext: context.getProperty(\"description\") as string,\n\t\t\t\t\tmaxCharacters: Constants.MaxDescriptionLength\n\t\t\t\t}),\n\t\t\t\tnew HBox(`${id}-app-status-container`, {\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\tvisible: (context.getProperty(\"status\") as string[]).length > 0,\n\t\t\t\t\titems: [\n\t\t\t\t\t\tnew Label(`${id}-appStatusLabel`, {\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"appStatus\"),\n\t\t\t\t\t\t\tshowColon: true\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tnew HBox(`${id}-app-status-texts`, {\n\t\t\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\t\t\titems: this._generateStatusTexts(context.getProperty(\"status\") as string[])\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin statusTextsContainer\")\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t}).addStyleClass((context.getProperty(\"isStaticApp\") as boolean) ? \"sapUiSmallMarginTop\" : \"sapUiSmallMarginBegin\");\n\t}\n\n\t/**\n\t * Checks if the Apps Addition Panel is supported. Internally, it checks if the\n\t * AI Smart App Finder feature toggle is enabled and if the associated application\n\t * is accessible for the user.\n\t *\n\t * @public\n\t * @override\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to a boolean indicating support.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\n\t\t\tif (this.getFavAppPanel()) {\n\t\t\t\ttry {\n\t\t\t\t\tconst isFeatureEnabled = await this.appManagerInstance.isFeatureEnabled(FEATURE_TOGGLES.AI_SMART_APPFINDER);\n\t\t\t\t\tif (isFeatureEnabled) {\n\t\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\t\tconst [{ supported }] = await navigationService.isNavigationSupported([\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\t\t\t\t\t\taction: \"propose\"\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\n\t\t\t\t\t\tthis.isPanelSupported = supported;\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tLog.error((error as Error).message);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addAppsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Generates the searching animation SVG as a string.\n\t *\n\t * @private\n\t * @returns {string} The SVG string for the loading animation.\n\t */\n\tprivate _generateSearchingAnimation(): string {\n\t\treturn `<svg height=\"210\" fill=\"none\">\n <g>\n <rect height=\"210\" rx=\"4\" fill=\"white\"/>\n <rect x=\"16\" y=\"143\" width=\"90%\" height=\"8\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"103\" width=\"84%\" height=\"32\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"33\" width=\"90%\" height=\"8\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"16\" width=\"96%\" height=\"12\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n </g>\n </svg>`;\n\t}\n\n\t/**\n\t * Resets the panel to its default state.\n\t *\n\t * @private\n\t */\n\tpublic resetPanel(): void {\n\t\tconst defaultModelProperties = {\n\t\t\tquery: \"\",\n\t\t\thasError: false,\n\t\t\tsearchStatus: SearchStatus.Idle,\n\t\t\tsuggestedAppsCount: 0,\n\t\t\tuserSelectedApps: [],\n\t\t\tsuggestedApps: []\n\t\t};\n\n\t\tthis.model.setData({ ...this.model.getData(), ...defaultModelProperties } as object);\n\t\tthis.userSelectedApps.clear();\n\t}\n\n\t/**\n\t * Handles the \"Go\" button press event for searching suggested apps.\n\t *\n\t * @private\n\t * @async\n\t * @param {SearchField$SearchEvent} event - The search event triggered by the user.\n\t */\n\tpublic async onPressGo(event: SearchField$SearchEvent): Promise<void> {\n\t\t// reset panel if clear button is pressed\n\t\tif (event.getParameter(\"clearButtonPressed\")) {\n\t\t\tthis.resetPanel();\n\t\t\treturn;\n\t\t}\n\n\t\t// validate query\n\t\tconst query = this.model.getProperty(\"/query\") as string;\n\t\tif (!this.isValidQuery(query)) return;\n\n\t\ttry {\n\t\t\t// initiate search\n\t\t\tthis.model.setProperty(\"/hasError\", false);\n\t\t\tthis.model.setProperty(\"/searchStatus\", SearchStatus.Searching);\n\t\t\tthis.appSuggestionList.removeSelections(true);\n\n\t\t\tconst rawApps = await this.fetchAppsFromSearch(query);\n\t\t\t// suggest apps if there are results and search is not cancelled\n\t\t\tif (rawApps.length > 0 && this.model.getProperty(\"/searchStatus\") === SearchStatus.Searching) {\n\t\t\t\tconst allVisualizations = await this.fetchAllAvailableVisualizations();\n\t\t\t\tconst favoriteApps = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\t\t\tconst insightsApps = await this.appManagerInstance.fetchInsightApps(true, this._i18nBundle.getText(\"insights\") as string);\n\n\t\t\t\t// generate suggested apps\n\t\t\t\tconst apps = this._generateApps(rawApps, allVisualizations, [...favoriteApps, ...insightsApps]);\n\t\t\t\tconst suggestedApps = await this._filterUnsupportedApps(apps);\n\n\t\t\t\t// update model with filtered apps\n\t\t\t\tthis.model.setProperty(\"/suggestedApps\", suggestedApps);\n\t\t\t\tthis.model.setProperty(\"/suggestedAppsCount\", suggestedApps.length);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tLog.error((err as Error).message);\n\t\t\tthis._handleError();\n\t\t} finally {\n\t\t\t// update search status only if search is not cancelled\n\t\t\tif (this.model.getProperty(\"/searchStatus\") === SearchStatus.Searching) {\n\t\t\t\tthis.model.setProperty(\"/searchStatus\", SearchStatus.Complete);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters out unsupported apps based on accessibility.\n\t *\n\t * @private\n\t * @param {SuggestedApp[]} apps - The list of suggested apps to filter.\n\t * @returns {Promise<SuggestedApp[]>} A promise that resolves to the filtered list of supported apps.\n\t */\n\tprivate async _filterUnsupportedApps(apps: SuggestedApp[]): Promise<SuggestedApp[]> {\n\t\tconst intents = apps.map((app) => app.vizData?.target) || [];\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst supportedAppIndices = await navigationService.isNavigationSupported(intents as Target[]);\n\n\t\treturn apps.filter((_, index) => supportedAppIndices[index]);\n\t}\n\n\t/**\n\t * Generates suggested apps from raw app data and visualizations.\n\t *\n\t * @private\n\t * @param {RawAppData[]} rawApps - The raw app data to process.\n\t * @param {IVisualization[]} allVisualizations - All available visualizations.\n\t * @param {ICustomVisualization[]} homePageVisualizations - Visualizations available in homepage.\n\t * @returns {SuggestedApp[]} The list of suggested apps.\n\t */\n\tprivate _generateApps(\n\t\trawApps: RawAppData[],\n\t\tallVisualizations: IVisualization[],\n\t\thomePageVisualizations: ICustomVisualization[]\n\t): SuggestedApp[] {\n\t\treturn rawApps.map((app) => {\n\t\t\tconst vizData = allVisualizations.find((viz) => viz.vizId === app.chipID);\n\t\t\tconst addedToHomePage = homePageVisualizations.some((viz) => viz.visualization?.vizId === app.chipID);\n\t\t\treturn {\n\t\t\t\ttitle: app.title,\n\t\t\t\tchipID: app.chipID,\n\t\t\t\tsubTitle: app.subTitle,\n\t\t\t\tdescription: app.appDescription,\n\t\t\t\ticon: app.iconUrl,\n\t\t\t\tvizData,\n\t\t\t\taddedToHomePage,\n\t\t\t\tisStaticApp: app.tileType === TileType.Static,\n\t\t\t\tstatus: this.getAppStatusTexts(app.configuration, addedToHomePage)\n\t\t\t};\n\t\t}) as SuggestedApp[];\n\t}\n\n\t/**\n\t * Validates the query string based on minimum length.\n\t *\n\t * @private\n\t * @param {string} query - The query string to validate.\n\t * @returns {boolean} True if the query is valid, otherwise false.\n\t */\n\tprivate isValidQuery(query: string): boolean {\n\t\treturn Boolean(query?.trim() && query.trim().length >= Constants.MinQueryLength);\n\t}\n\n\t/**\n\t * Fetches all available visualizations for the user.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<IVisualization[]>} A promise that resolves to the list of visualizations.\n\t */\n\tprivate async fetchAllAvailableVisualizations(): Promise<IVisualization[]> {\n\t\tif (!this.allAvailableVisualizations) {\n\t\t\tconst searchableContentService = await Container.getServiceAsync<SearchableContent>(\"SearchableContent\");\n\t\t\tconst allAvailableApps = await searchableContentService.getApps({ enableVisualizationPreview: false });\n\t\t\tthis.allAvailableVisualizations = allAvailableApps.reduce((visualizations: IVisualization[], currentApp: AppData) => {\n\t\t\t\treturn visualizations.concat(currentApp.visualizations);\n\t\t\t}, []);\n\t\t}\n\n\t\treturn this.allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Fetches a CSRF token for secure API requests.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<string | null>} A promise that resolves to the CSRF token or null if fetching fails.\n\t */\n\tprivate async _fetchCSRFToken(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst response = await fetch(AI_APP_FINDER_BASE_URL, { method: \"GET\", headers: { \"X-CSRF-Token\": \"Fetch\" } });\n\t\t\treturn response.headers.get(\"X-CSRF-Token\");\n\t\t} catch (error) {\n\t\t\tLog.error(\"Failed to fetch CSRF token\", error as Error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Fetches apps from the search API based on the query.\n\t *\n\t * @private\n\t * @async\n\t * @param {string} query - The search query string.\n\t * @returns {Promise<RawAppData[]>} A promise that resolves to the list of raw app data.\n\t */\n\tprivate async fetchAppsFromSearch(query: string): Promise<RawAppData[]> {\n\t\ttry {\n\t\t\tconst token = await this._fetchCSRFToken();\n\t\t\tconst headers = {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t...(token && { \"X-CSRF-Token\": token })\n\t\t\t};\n\n\t\t\tconst response = await fetch(AI_APP_FINDER_API, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders,\n\t\t\t\tbody: JSON.stringify({ UserInput: query })\n\t\t\t});\n\n\t\t\t// handle error responses\n\t\t\tif (!response.ok) {\n\t\t\t\tconst errorResponse = (await response.json()) as ErrorResponse;\n\t\t\t\tthis._handleError(errorResponse.error?.message || \"\");\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst queryResult = (await response.json()) as QueryResponse;\n\t\t\treturn queryResult.value || [];\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t\tthis._handleError();\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves status texts for an app based on its configuration and homepage status.\n\t *\n\t * @private\n\t * @param {string} configuration - The app's configuration string.\n\t * @param {boolean} addedToHomePage - Indicates if the app is already added to the homepage.\n\t * @returns {string[]} An array of status texts for the app.\n\t */\n\tprivate getAppStatusTexts(configuration: string, addedToHomePage: boolean): string[] {\n\t\tlet statusTexts = [];\n\n\t\tif (addedToHomePage) {\n\t\t\tstatusTexts.push(this._i18nBundle.getText(\"alreadyAddedApp\") as string);\n\t\t}\n\t\tif (configuration) {\n\t\t\ttry {\n\t\t\t\tconst parsedConfig = JSON.parse(configuration) as Configuration;\n\t\t\t\tconst tileConfig = JSON.parse(parsedConfig?.tileConfiguration) as TileConfig;\n\t\t\t\tconst infoText = (tileConfig?.display_info_text || \"\").toLowerCase();\n\t\t\t\tif (infoText === Constants.DeprecatedInfoText) {\n\t\t\t\t\tstatusTexts.push(this._i18nBundle.getText(\"deprecatedApp\") as string);\n\t\t\t\t}\n\t\t\t} catch (error: unknown) {\n\t\t\t\tLog.warning((error as Error).message);\n\t\t\t}\n\t\t}\n\n\t\treturn statusTexts;\n\t}\n\n\t/**\n\t * Generates status text controls for the provided status texts.\n\t *\n\t * @private\n\t * @param {string[]} stausTexts - The list of status texts.\n\t * @returns {Text[]} An array of Text controls with applied styles.\n\t */\n\tprivate _generateStatusTexts(stausTexts: string[]): Text[] {\n\t\treturn stausTexts.map((status) => {\n\t\t\treturn new Text({\n\t\t\t\ttext: this._i18nBundle.getText(status)\n\t\t\t}).addStyleClass(this.applyStatusClass(status));\n\t\t});\n\t}\n\n\t/**\n\t * Applies a CSS class to the status text based on its type.\n\t *\n\t * @private\n\t * @param {string} status - The status text to classify.\n\t * @returns {string} The CSS class for the status text.\n\t */\n\tpublic applyStatusClass(status: string): string {\n\t\tif (status === this._i18nBundle.getText(\"alreadyAddedApp\")) {\n\t\t\treturn \"addedAppStatusText\";\n\t\t} else if (status === this._i18nBundle.getText(\"deprecatedApp\")) {\n\t\t\treturn \"deprecatedAppStatusText\";\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\t/**\n\t * Handles the \"Add Apps\" button press event to add selected apps to favorites.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async onPressAddApps(): Promise<void> {\n\t\tconst userSelectedApps = this.model.getProperty(\"/userSelectedApps\") as CustomListItem[];\n\t\tconst vizIds = userSelectedApps.map((item) => item.getBindingContext()?.getProperty(\"chipID\") as string);\n\t\tfor (const vizId of vizIds) {\n\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t}\n\n\t\t// refresh the favorite apps panel\n\t\tawait this.refreshFavoriteApps();\n\t\t(this.getParent() as ContentAdditionDialog).close();\n\t\tMessageToast.show(this._i18nBundle.getText(\"appAddedToFavorites\") as string);\n\t\tthis.resetPanel();\n\t}\n\n\t/**\n\t * Retrieves the AppsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {AppsContainer | undefined} The AppsContainer instance or undefined if not found.\n\t */\n\tprivate getAppsContainer(): AppsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof AppsContainer) as AppsContainer | undefined;\n\t}\n\n\t/**\n\t * Retrieves the favorite apps panel from the AppsContainer.\n\t *\n\t * @private\n\t * @returns {FavAppPanel | undefined} The favorite apps panel or undefined if not found.\n\t */\n\tprivate getFavAppPanel(): FavAppPanel | undefined {\n\t\treturn this.getAppsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel) => panel instanceof FavAppPanel);\n\t}\n\n\t/**\n\t * Refreshes the favorite apps panel in the AppsContainer.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async refreshFavoriteApps(): Promise<void> {\n\t\tawait this.getAppsContainer()?.refreshPanel(this.getFavAppPanel() as FavAppPanel);\n\t}\n\n\t/**\n\t * Handles the selection change event for the suggested apps list.\n\t *\n\t * @public\n\t * @param {ListBase$SelectionChangeEvent} event - The selection change event.\n\t */\n\tpublic onListSelectionChange(event: ListBase$SelectionChangeEvent): void {\n\t\tconst listItem = event.getParameter(\"listItem\") as CustomListItem;\n\t\tconst selected = event.getParameter(\"selected\") as boolean;\n\n\t\tif (!selected) this.userSelectedApps.delete(listItem);\n\t\telse {\n\t\t\tconst context = listItem.getBindingContext();\n\t\t\tconst addedToHomePage = context?.getProperty(\"addedToHomePage\") as boolean;\n\t\t\tif (!addedToHomePage) this.userSelectedApps.add(listItem);\n\t\t}\n\n\t\tthis.model.setProperty(\"/userSelectedApps\", Array.from(this.userSelectedApps));\n\t}\n\n\t/**\n\t * Handles errors by updating the model with error details.\n\t *\n\t * @private\n\t * @param {string} [message=\"\"] - The error message to process.\n\t */\n\tprivate _handleError(message: string = \"\"): void {\n\t\tconst [, errorCode, errorDescription] = message.match(/\\((\\d{2})\\d*\\)\\s*(.*)/) || [];\n\t\tthis.model.setProperty(\"/hasError\", true);\n\t\tthis.model.setProperty(\"/errorType\", this._getErrorType(errorCode));\n\t\tthis.model.setProperty(\"/errorDescription\", errorDescription || \"\");\n\t}\n\n\t/**\n\t * Determines the error type based on the provided error code.\n\t *\n\t * @private\n\t * @param {string} [errorCode=\"\"] - The error code to evaluate.\n\t * @returns {ErrorType} The corresponding error type.\n\t */\n\tprivate _getErrorType(errorCode: string = \"\"): ErrorType {\n\t\tswitch (errorCode) {\n\t\t\tcase \"10\":\n\t\t\t\treturn ErrorType.ServiceError;\n\t\t\tcase \"20\":\n\t\t\tcase \"40\":\n\t\t\t\treturn ErrorType.NoResultsFound;\n\t\t\tcase \"30\":\n\t\t\t\treturn ErrorType.ValidationError;\n\t\t\tdefault:\n\t\t\t\treturn ErrorType.DefaultError;\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,293 @@
1
+ declare module "sap/cux/home/AppsAdditionPanel" {
2
+ import { ListBase$SelectionChangeEvent } from "sap/m/ListBase";
3
+ import { SearchField$SearchEvent } from "sap/m/SearchField";
4
+ import BaseSettingsPanel from "sap/cux/home/BaseSettingsPanel";
5
+ import { IVisualization } from "sap/cux/home/interface/AppsInterface";
6
+ const Constants: {
7
+ DeprecatedInfoText: string;
8
+ MinQueryLength: number;
9
+ MaxDescriptionLength: number;
10
+ };
11
+ enum SearchStatus {
12
+ Idle = "idle",
13
+ Searching = "searching",
14
+ Complete = "complete"
15
+ }
16
+ enum ErrorType {
17
+ NoResultsFound = "noResultsFound",
18
+ ServiceError = "serviceError",
19
+ ValidationError = "validationError",
20
+ DefaultError = "defaultError"
21
+ }
22
+ enum TileType {
23
+ Static = "STATIC"
24
+ }
25
+ interface RawAppData {
26
+ title: string;
27
+ subTitle: string;
28
+ appDescription: string;
29
+ chipID: string;
30
+ tileType: TileType;
31
+ iconUrl: string;
32
+ configuration: string;
33
+ }
34
+ interface SuggestedApp {
35
+ icon: string;
36
+ title: string;
37
+ chipID: string;
38
+ status: string[];
39
+ subTitle: string;
40
+ description: string;
41
+ isStaticApp: boolean;
42
+ addedToHomePage: boolean;
43
+ vizData?: IVisualization;
44
+ }
45
+ interface QueryResponse {
46
+ value: RawAppData[];
47
+ }
48
+ interface ErrorResponse {
49
+ error: {
50
+ code: string;
51
+ message: string;
52
+ };
53
+ }
54
+ interface Configuration {
55
+ tileConfiguration: string;
56
+ }
57
+ interface TileConfig {
58
+ display_info_text: string;
59
+ [key: string]: string;
60
+ }
61
+ /**
62
+ *
63
+ * Class for Apps Addition Panel in MyHome.
64
+ *
65
+ * @extends BaseSettingsPanel
66
+ *
67
+ * @author SAP SE
68
+ * @version 0.0.1
69
+ * @since 1.136
70
+ *
71
+ * @internal
72
+ * @experimental Since 1.136
73
+ * @private
74
+ *
75
+ * @alias sap.cux.home.AppsAdditionPanel
76
+ */
77
+ export default class AppsAdditionPanel extends BaseSettingsPanel {
78
+ private appManagerInstance;
79
+ private vizInstantiationService;
80
+ private allAvailableVisualizations;
81
+ private userSelectedApps;
82
+ private appSuggestionList;
83
+ private model;
84
+ private addAppsButton;
85
+ private isPanelSupported;
86
+ /**
87
+ * Init lifecycle method
88
+ *
89
+ * @public
90
+ * @override
91
+ */
92
+ init(): void;
93
+ /**
94
+ * Sets up the actions for the Apps Addition Panel.
95
+ *
96
+ * @private
97
+ */
98
+ private _setupActions;
99
+ /**
100
+ * Sets up the content for the Apps Addition Panel.
101
+ *
102
+ * @private
103
+ * @async
104
+ */
105
+ private _setupContent;
106
+ /**
107
+ * Generates a list item for the Apps Addition Panel.
108
+ *
109
+ * @private
110
+ * @param {string} id - The unique ID for the list item.
111
+ * @param {Context} context - The binding context for the list item.
112
+ * @returns {CustomListItem} The generated list item control.
113
+ */
114
+ private _generateListItem;
115
+ /**
116
+ * Creates a preview container for the suggested app.
117
+ *
118
+ * @private
119
+ * @param {string} id - The unique ID for the container.
120
+ * @param {Context} context - The binding context for the app.
121
+ * @returns {HBox} The app preview container.
122
+ */
123
+ private _getAppPreviewContainer;
124
+ /**
125
+ * Creates a details container for the suggested app.
126
+ *
127
+ * @private
128
+ * @param {string} id - The unique ID for the container.
129
+ * @param {Context} context - The binding context for the app.
130
+ * @returns {VBox} The app details container.
131
+ */
132
+ private _getAppDetailsContainer;
133
+ /**
134
+ * Checks if the Apps Addition Panel is supported. Internally, it checks if the
135
+ * AI Smart App Finder feature toggle is enabled and if the associated application
136
+ * is accessible for the user.
137
+ *
138
+ * @public
139
+ * @override
140
+ * @async
141
+ * @returns {Promise<boolean>} A promise that resolves to a boolean indicating support.
142
+ */
143
+ isSupported(): Promise<boolean>;
144
+ /**
145
+ * Generates the searching animation SVG as a string.
146
+ *
147
+ * @private
148
+ * @returns {string} The SVG string for the loading animation.
149
+ */
150
+ private _generateSearchingAnimation;
151
+ /**
152
+ * Resets the panel to its default state.
153
+ *
154
+ * @private
155
+ */
156
+ resetPanel(): void;
157
+ /**
158
+ * Handles the "Go" button press event for searching suggested apps.
159
+ *
160
+ * @private
161
+ * @async
162
+ * @param {SearchField$SearchEvent} event - The search event triggered by the user.
163
+ */
164
+ onPressGo(event: SearchField$SearchEvent): Promise<void>;
165
+ /**
166
+ * Filters out unsupported apps based on accessibility.
167
+ *
168
+ * @private
169
+ * @param {SuggestedApp[]} apps - The list of suggested apps to filter.
170
+ * @returns {Promise<SuggestedApp[]>} A promise that resolves to the filtered list of supported apps.
171
+ */
172
+ private _filterUnsupportedApps;
173
+ /**
174
+ * Generates suggested apps from raw app data and visualizations.
175
+ *
176
+ * @private
177
+ * @param {RawAppData[]} rawApps - The raw app data to process.
178
+ * @param {IVisualization[]} allVisualizations - All available visualizations.
179
+ * @param {ICustomVisualization[]} homePageVisualizations - Visualizations available in homepage.
180
+ * @returns {SuggestedApp[]} The list of suggested apps.
181
+ */
182
+ private _generateApps;
183
+ /**
184
+ * Validates the query string based on minimum length.
185
+ *
186
+ * @private
187
+ * @param {string} query - The query string to validate.
188
+ * @returns {boolean} True if the query is valid, otherwise false.
189
+ */
190
+ private isValidQuery;
191
+ /**
192
+ * Fetches all available visualizations for the user.
193
+ *
194
+ * @private
195
+ * @async
196
+ * @returns {Promise<IVisualization[]>} A promise that resolves to the list of visualizations.
197
+ */
198
+ private fetchAllAvailableVisualizations;
199
+ /**
200
+ * Fetches a CSRF token for secure API requests.
201
+ *
202
+ * @private
203
+ * @async
204
+ * @returns {Promise<string | null>} A promise that resolves to the CSRF token or null if fetching fails.
205
+ */
206
+ private _fetchCSRFToken;
207
+ /**
208
+ * Fetches apps from the search API based on the query.
209
+ *
210
+ * @private
211
+ * @async
212
+ * @param {string} query - The search query string.
213
+ * @returns {Promise<RawAppData[]>} A promise that resolves to the list of raw app data.
214
+ */
215
+ private fetchAppsFromSearch;
216
+ /**
217
+ * Retrieves status texts for an app based on its configuration and homepage status.
218
+ *
219
+ * @private
220
+ * @param {string} configuration - The app's configuration string.
221
+ * @param {boolean} addedToHomePage - Indicates if the app is already added to the homepage.
222
+ * @returns {string[]} An array of status texts for the app.
223
+ */
224
+ private getAppStatusTexts;
225
+ /**
226
+ * Generates status text controls for the provided status texts.
227
+ *
228
+ * @private
229
+ * @param {string[]} stausTexts - The list of status texts.
230
+ * @returns {Text[]} An array of Text controls with applied styles.
231
+ */
232
+ private _generateStatusTexts;
233
+ /**
234
+ * Applies a CSS class to the status text based on its type.
235
+ *
236
+ * @private
237
+ * @param {string} status - The status text to classify.
238
+ * @returns {string} The CSS class for the status text.
239
+ */
240
+ applyStatusClass(status: string): string;
241
+ /**
242
+ * Handles the "Add Apps" button press event to add selected apps to favorites.
243
+ *
244
+ * @private
245
+ * @async
246
+ */
247
+ private onPressAddApps;
248
+ /**
249
+ * Retrieves the AppsContainer instance from the parent layout.
250
+ *
251
+ * @private
252
+ * @returns {AppsContainer | undefined} The AppsContainer instance or undefined if not found.
253
+ */
254
+ private getAppsContainer;
255
+ /**
256
+ * Retrieves the favorite apps panel from the AppsContainer.
257
+ *
258
+ * @private
259
+ * @returns {FavAppPanel | undefined} The favorite apps panel or undefined if not found.
260
+ */
261
+ private getFavAppPanel;
262
+ /**
263
+ * Refreshes the favorite apps panel in the AppsContainer.
264
+ *
265
+ * @private
266
+ * @async
267
+ */
268
+ private refreshFavoriteApps;
269
+ /**
270
+ * Handles the selection change event for the suggested apps list.
271
+ *
272
+ * @public
273
+ * @param {ListBase$SelectionChangeEvent} event - The selection change event.
274
+ */
275
+ onListSelectionChange(event: ListBase$SelectionChangeEvent): void;
276
+ /**
277
+ * Handles errors by updating the model with error details.
278
+ *
279
+ * @private
280
+ * @param {string} [message=""] - The error message to process.
281
+ */
282
+ private _handleError;
283
+ /**
284
+ * Determines the error type based on the provided error code.
285
+ *
286
+ * @private
287
+ * @param {string} [errorCode=""] - The error code to evaluate.
288
+ * @returns {ErrorType} The corresponding error type.
289
+ */
290
+ private _getErrorType;
291
+ }
292
+ }
293
+ //# sourceMappingURL=AppsAdditionPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppsAdditionPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/AppsAdditionPanel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log","sap/m/Button","sap/m/CustomListItem","sap/m/ExpandableText","sap/m/FlexBox","sap/m/GenericTile","sap/m/HBox","sap/m/Label","sap/m/library","sap/m/MessageToast","sap/m/Text","sap/m/VBox","sap/ui/core/Fragment","sap/ui/model/json/JSONModel","sap/ui/model/resource/ResourceModel","sap/ushell/Container","./AppsContainer","./BaseSettingsPanel","./FavAppPanel","./utils/AppManager","./utils/Constants"],function(e,t,n,r,s,i,o,a,u,c,l,p,d,h,f,g,m,P,A,y,v){"use strict";function S(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}function T(e,t){try{var n=e()}catch(e){return t(e)}if(n&&n.then){return n.then(void 0,t)}return n}const _=u["ButtonType"];function C(e,t){try{var n=e()}catch(e){return t(true,e)}if(n&&n.then){return n.then(t.bind(null,false),t.bind(null,true))}return t(false,n)}const x=S(m);const I=typeof Symbol!=="undefined"?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function b(e,t,n){if(!e.s){if(n instanceof w){if(n.s){if(t&1){t=n.s}n=n.v}else{n.o=b.bind(null,e,t);return}}if(n&&n.then){n.then(b.bind(null,e,t),b.bind(null,e,2));return}e.s=t;e.v=n;const r=e.o;if(r){r(e)}}}const w=function(){function e(){}e.prototype.then=function(t,n){const r=new e;const s=this.s;if(s){const e=s&1?t:n;if(e){try{b(r,1,e(this.v))}catch(e){b(r,2,e)}return r}else{return this}}this.o=function(e){try{const s=e.v;if(e.s&1){b(r,1,t?t(s):s)}else if(n){b(r,1,n(s))}else{b(r,2,s)}}catch(e){b(r,2,e)}};return r};return e}();function B(e){return e instanceof w&&e.s&1}function E(e,t,n){var r=-1,s,i;function o(a){try{while(++r<e.length&&(!n||!n())){a=t(r);if(a&&a.then){if(B(a)){a=a.v}else{a.then(o,i||(i=b.bind(null,s=new w,2)));return}}}if(s){b(s,1,a)}else{s=a}}catch(e){b(s||(s=new w),2,e)}}o();return s}const D=S(P);function F(e,t,n){if(typeof e[I]==="function"){var r=e[I](),s,i,o;function l(e){try{while(!(s=r.next()).done&&(!n||!n())){e=t(s.value);if(e&&e.then){if(B(e)){e=e.v}else{e.then(l,o||(o=b.bind(null,i=new w,2)));return}}}if(i){b(i,1,e)}else{i=e}}catch(e){b(i||(i=new w),2,e)}}l();if(r.return){var a=function(e){try{if(!s.done){r.return()}}catch(e){}return e};if(i&&i.then){return i.then(a,function(e){throw a(e)})}a()}return i}if(!("length"in e)){throw new TypeError("Object is not iterable")}var u=[];for(var c=0;c<e.length;c++){u.push(e[c])}return E(u,function(e){return t(u[e])},n)}const M=S(A);const z=S(y);const L=v["AI_APP_FINDER_API"];const N=v["AI_APP_FINDER_BASE_URL"];const R=v["CONTENT_ADDITION_PANEL_TYPES"];const j=v["FEATURE_TOGGLES"];const V={DeprecatedInfoText:"deprecated",MinQueryLength:5,MaxDescriptionLength:400};var k=function(e){e["Idle"]="idle";e["Searching"]="searching";e["Complete"]="complete";return e}(k||{});var $=function(e){e["NoResultsFound"]="noResultsFound";e["ServiceError"]="serviceError";e["ValidationError"]="validationError";e["DefaultError"]="defaultError";return e}($||{});var O=function(e){e["Static"]="STATIC";return e}(O||{});const U=D.extend("sap.cux.home.AppsAdditionPanel",{constructor:function e(){D.prototype.constructor.apply(this,arguments);this.appManagerInstance=z.getInstance()},init:function e(){D.prototype.init.call(this);this.userSelectedApps=new Set;this.setProperty("key",R.AI_APP_FINDER);this.setProperty("title",this._i18nBundle.getText("addAppsAndTile"));this._setupActions();void this._setupContent();this.attachEvent("onDialogClose",this.resetPanel.bind(this))},_setupActions:function e(){this.addAppsButton=new t(`${this.getId()}-add-app-btn`,{text:this._i18nBundle.getText("addFromInsightsDialogBtn"),type:_.Emphasized,press:()=>{void this.onPressAddApps()}});this.addAppsButton.bindProperty("enabled",{parts:["/hasError","/searchStatus","/userSelectedApps"],formatter:(e,t,n)=>!e&&t===k.Complete&&n.length>0});this.addActionButton(this.addAppsButton)},_setupContent:function e(){try{const e=this;return Promise.resolve(g.getServiceAsync("VisualizationInstantiation")).then(function(t){e.vizInstantiationService=t;return Promise.resolve(d.load({id:`${e.getId()}-content`,name:"sap.cux.home.utils.fragment.appsAdditionContent",controller:e})).then(function(t){const n=t;e.addAggregation("content",n);e.model=new h({query:"",hasError:false,errorType:$.DefaultError,errorDescription:"",searchStatus:k.Idle,loadingAnimation:e._generateSearchingAnimation(),suggestedAppsCount:0,userSelectedApps:[],suggestedApps:[]});n.setModel(e.model);n.setModel(new f({bundleName:"sap.cux.home.i18n.messagebundle"}),"i18n");e.addAppsButton.setModel(e.model);e.appSuggestionList=d.byId(`${e.getId()}-content`,"appsList");e.appSuggestionList.bindAggregation("items",{path:"/suggestedApps",factory:e._generateListItem.bind(e)})})})}catch(e){return Promise.reject(e)}},_generateListItem:function e(t,r){const i=new n(t,{selected:r.getProperty("addedToHomePage"),content:[new s(`${t}-result-container`,{renderType:"Bare",wrap:"Wrap",direction:r.getProperty("isStaticApp")?"Column":"Row",alignItems:r.getProperty("isStaticApp")?"Start":"Center",items:[this._getAppPreviewContainer(t,r),this._getAppDetailsContainer(t,r)]}).addStyleClass("sapUiSmallMargin")]});i.getMultiSelectControl(true).setEnabled(!r.getProperty("addedToHomePage"));return i},_getAppPreviewContainer:function e(t,n){const r=new o(`${t}-suggestedAppContainer`,{renderType:"Bare"});if(n.getProperty("isStaticApp")){r.addItem(new i(`${t}-staticApp`,{mode:"IconMode",frameType:"TwoByHalf",header:n.getProperty("title"),subheader:n.getProperty("subTitle"),tileIcon:n.getProperty("icon"),visible:n.getProperty("isStaticApp")}).addStyleClass("suggestedTile"))}else{const e=this.vizInstantiationService.instantiateVisualization(n.getProperty("vizData"));e?.setActive(true);e.setClickable(false);r.addItem(e)}return r},_getAppDetailsContainer:function e(t,n){return new p(`${t}-app-details-container`,{renderType:"Bare",gap:"0.5rem",items:[new a(`${t}-descriptionLabel`,{text:this._i18nBundle.getText("appDescription"),showColon:true}),new r(`${t}-description`,{text:n.getProperty("description"),maxCharacters:V.MaxDescriptionLength}),new o(`${t}-app-status-container`,{renderType:"Bare",visible:n.getProperty("status").length>0,items:[new a(`${t}-appStatusLabel`,{text:this._i18nBundle.getText("appStatus"),showColon:true}),new o(`${t}-app-status-texts`,{renderType:"Bare",items:this._generateStatusTexts(n.getProperty("status"))}).addStyleClass("sapUiTinyMarginBegin statusTextsContainer")]})]}).addStyleClass(n.getProperty("isStaticApp")?"sapUiSmallMarginTop":"sapUiSmallMarginBegin")},isSupported:function t(){try{const n=this;function r(){if(!n.isPanelSupported){n.removeActionButton(n.addAppsButton);const e=n.getParent();e.removePanel(n);e.updateActionButtons()}return n.isPanelSupported}const s=function(){if(n.isPanelSupported===undefined){n.isPanelSupported=false;const t=function(){if(n.getFavAppPanel()){const t=T(function(){return Promise.resolve(n.appManagerInstance.isFeatureEnabled(j.AI_SMART_APPFINDER)).then(function(e){const t=function(){if(e){return Promise.resolve(g.getServiceAsync("Navigation")).then(function(e){return Promise.resolve(e.isNavigationSupported([{target:{semanticObject:"IntelligentPrompt",action:"propose"}}])).then(function(e){let[{supported:t}]=e;n.isPanelSupported=t})})}}();if(t&&t.then)return t.then(function(){})})},function(t){e.error(t.message)});if(t&&t.then)return t.then(function(){})}}();if(t&&t.then)return t.then(function(){})}}();return Promise.resolve(s&&s.then?s.then(r):r(s))}catch(i){return Promise.reject(i)}},_generateSearchingAnimation:function e(){return`<svg height="210" fill="none">\n <g>\n <rect height="210" rx="4" fill="white"/>\n <rect x="16" y="143" width="90%" height="8" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>\n <rect x="16" y="103" width="84%" height="32" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>\n <rect x="16" y="33" width="90%" height="8" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>\n <rect x="16" y="16" width="96%" height="12" rx="4" fill="var(--sapContent_Placeholderloading_Background)"/>\n </g>\n </svg>`},resetPanel:function e(){const t={query:"",hasError:false,searchStatus:k.Idle,suggestedAppsCount:0,userSelectedApps:[],suggestedApps:[]};this.model.setData({...this.model.getData(),...t});this.userSelectedApps.clear()},onPressGo:function t(n){try{const t=this;if(n.getParameter("clearButtonPressed")){t.resetPanel();return Promise.resolve()}const r=t.model.getProperty("/query");if(!t.isValidQuery(r))return Promise.resolve();const s=C(function(){return T(function(){t.model.setProperty("/hasError",false);t.model.setProperty("/searchStatus",k.Searching);t.appSuggestionList.removeSelections(true);return Promise.resolve(t.fetchAppsFromSearch(r)).then(function(e){const n=function(){if(e.length>0&&t.model.getProperty("/searchStatus")===k.Searching){return Promise.resolve(t.fetchAllAvailableVisualizations()).then(function(n){return Promise.resolve(t.appManagerInstance.fetchFavVizs(true,true)).then(function(r){return Promise.resolve(t.appManagerInstance.fetchInsightApps(true,t._i18nBundle.getText("insights"))).then(function(s){const i=t._generateApps(e,n,[...r,...s]);return Promise.resolve(t._filterUnsupportedApps(i)).then(function(e){t.model.setProperty("/suggestedApps",e);t.model.setProperty("/suggestedAppsCount",e.length)})})})})}}();if(n&&n.then)return n.then(function(){})})},function(n){e.error(n.message);t._handleError()})},function(e,n){if(t.model.getProperty("/searchStatus")===k.Searching){t.model.setProperty("/searchStatus",k.Complete)}if(e)throw n;return n});return Promise.resolve(s&&s.then?s.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},_filterUnsupportedApps:function e(t){try{const e=t.map(e=>e.vizData?.target)||[];return Promise.resolve(g.getServiceAsync("Navigation")).then(function(n){return Promise.resolve(n.isNavigationSupported(e)).then(function(e){return t.filter((t,n)=>e[n])})})}catch(e){return Promise.reject(e)}},_generateApps:function e(t,n,r){return t.map(e=>{const t=n.find(t=>t.vizId===e.chipID);const s=r.some(t=>t.visualization?.vizId===e.chipID);return{title:e.title,chipID:e.chipID,subTitle:e.subTitle,description:e.appDescription,icon:e.iconUrl,vizData:t,addedToHomePage:s,isStaticApp:e.tileType===O.Static,status:this.getAppStatusTexts(e.configuration,s)}})},isValidQuery:function e(t){return Boolean(t?.trim()&&t.trim().length>=V.MinQueryLength)},fetchAllAvailableVisualizations:function e(){try{const t=this;function n(){return t.allAvailableVisualizations}const r=function(){if(!t.allAvailableVisualizations){return Promise.resolve(g.getServiceAsync("SearchableContent")).then(function(e){return Promise.resolve(e.getApps({enableVisualizationPreview:false})).then(function(e){t.allAvailableVisualizations=e.reduce((e,t)=>e.concat(t.visualizations),[])})})}}();return Promise.resolve(r&&r.then?r.then(n):n(r))}catch(s){return Promise.reject(s)}},_fetchCSRFToken:function t(){try{return Promise.resolve(T(function(){return Promise.resolve(fetch(N,{method:"GET",headers:{"X-CSRF-Token":"Fetch"}})).then(function(e){return e.headers.get("X-CSRF-Token")})},function(t){e.error("Failed to fetch CSRF token",t);return null}))}catch(e){return Promise.reject(e)}},fetchAppsFromSearch:function t(n){try{const t=this;return Promise.resolve(T(function(){return Promise.resolve(t._fetchCSRFToken()).then(function(e){const r={"Content-Type":"application/json",...e&&{"X-CSRF-Token":e}};return Promise.resolve(fetch(L,{method:"POST",headers:r,body:JSON.stringify({UserInput:n})})).then(function(e){let n=false;function r(t){return n?t:Promise.resolve(e.json()).then(function(e){const t=e;return t.value||[]})}const s=function(){if(!e.ok){return Promise.resolve(e.json()).then(function(e){const r=e;t._handleError(r.error?.message||"");const s=[];n=true;return s})}}();return s&&s.then?s.then(r):r(s)})})},function(n){e.error(n.message);t._handleError();return[]}))}catch(e){return Promise.reject(e)}},getAppStatusTexts:function t(n,r){let s=[];if(r){s.push(this._i18nBundle.getText("alreadyAddedApp"))}if(n){try{const e=JSON.parse(n);const t=JSON.parse(e?.tileConfiguration);const r=(t?.display_info_text||"").toLowerCase();if(r===V.DeprecatedInfoText){s.push(this._i18nBundle.getText("deprecatedApp"))}}catch(t){e.warning(t.message)}}return s},_generateStatusTexts:function e(t){return t.map(e=>new l({text:this._i18nBundle.getText(e)}).addStyleClass(this.applyStatusClass(e)))},applyStatusClass:function e(t){if(t===this._i18nBundle.getText("alreadyAddedApp")){return"addedAppStatusText"}else if(t===this._i18nBundle.getText("deprecatedApp")){return"deprecatedAppStatusText"}else{return""}},onPressAddApps:function e(){try{const t=this;function n(){return Promise.resolve(t.refreshFavoriteApps()).then(function(){t.getParent().close();c.show(t._i18nBundle.getText("appAddedToFavorites"));t.resetPanel()})}const r=t.model.getProperty("/userSelectedApps");const s=r.map(e=>e.getBindingContext()?.getProperty("chipID"));const i=F(s,function(e){return Promise.resolve(t.appManagerInstance.addVisualization(e)).then(function(){})});return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(o){return Promise.reject(o)}},getAppsContainer:function e(){const t=this.getParent()?.getParent();return t.getContent().find(e=>e instanceof x)},getFavAppPanel:function e(){return this.getAppsContainer()?.getContent().find(e=>e instanceof M)},refreshFavoriteApps:function e(){try{const e=this;return Promise.resolve(e.getAppsContainer()?.refreshPanel(e.getFavAppPanel())).then(function(){})}catch(e){return Promise.reject(e)}},onListSelectionChange:function e(t){const n=t.getParameter("listItem");const r=t.getParameter("selected");if(!r)this.userSelectedApps.delete(n);else{const e=n.getBindingContext();const t=e?.getProperty("addedToHomePage");if(!t)this.userSelectedApps.add(n)}this.model.setProperty("/userSelectedApps",Array.from(this.userSelectedApps))},_handleError:function e(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";const[,n,r]=t.match(/\((\d{2})\d*\)\s*(.*)/)||[];this.model.setProperty("/hasError",true);this.model.setProperty("/errorType",this._getErrorType(n));this.model.setProperty("/errorDescription",r||"")},_getErrorType:function e(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";switch(t){case"10":return $.ServiceError;case"20":case"40":return $.NoResultsFound;case"30":return $.ValidationError;default:return $.DefaultError}}});return U});
6
+ //# sourceMappingURL=AppsAdditionPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppsAdditionPanel.js","names":["sap","ui","define","Log","Button","CustomListItem","ExpandableText","FlexBox","GenericTile","HBox","Label","sap_m_library","MessageToast","Text","VBox","Fragment","JSONModel","ResourceModel","Container","__AppsContainer","__BaseSettingsPanel","__FavAppPanel","__AppManager","___utils_Constants","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","_finallyRethrows","finalizer","bind","AppsContainer","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","observer","prototype","onFulfilled","onRejected","this","callback","_this","_isSettledPact","thenable","_forTo","array","check","i","reject","_cycle","length","BaseSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","FavAppPanel","AppManager","AI_APP_FINDER_API","AI_APP_FINDER_BASE_URL","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","Constants","DeprecatedInfoText","MinQueryLength","MaxDescriptionLength","SearchStatus","ErrorType","TileType","AppsAdditionPanel","extend","constructor","apply","arguments","appManagerInstance","getInstance","init","_init","BaseSettingsPanel.prototype.init.call","userSelectedApps","Set","setProperty","AI_APP_FINDER","_i18nBundle","getText","_setupActions","_setupContent","attachEvent","resetPanel","addAppsButton","getId","text","type","Emphasized","press","onPressAddApps","bindProperty","parts","formatter","hasError","searchStatus","Complete","addActionButton","Promise","resolve","getServiceAsync","_Container$getService","vizInstantiationService","load","id","name","controller","_Fragment$load","panelContent","addAggregation","model","query","errorType","DefaultError","errorDescription","Idle","loadingAnimation","_generateSearchingAnimation","suggestedAppsCount","suggestedApps","setModel","bundleName","appSuggestionList","byId","bindAggregation","path","factory","_generateListItem","context","listItem","selected","getProperty","content","renderType","wrap","direction","alignItems","items","_getAppPreviewContainer","_getAppDetailsContainer","addStyleClass","getMultiSelectControl","setEnabled","container","addItem","mode","frameType","header","subheader","tileIcon","visible","instance","instantiateVisualization","setActive","setClickable","gap","showColon","maxCharacters","_generateStatusTexts","isSupported","_isSupported","_this2","_temp5","isPanelSupported","removeActionButton","contentAdditionDialog","getParent","removePanel","updateActionButtons","_temp4","undefined","_temp3","getFavAppPanel","_temp2","isFeatureEnabled","AI_SMART_APPFINDER","_temp","navigationService","isNavigationSupported","semanticObject","action","_ref","supported","error","message","_resetPanel","defaultModelProperties","setData","getData","clear","onPressGo","_onPressGo","event","_this3","getParameter","isValidQuery","_temp7","Searching","removeSelections","fetchAppsFromSearch","rawApps","_temp6","fetchAllAvailableVisualizations","allVisualizations","fetchFavVizs","favoriteApps","fetchInsightApps","insightsApps","apps","_generateApps","_filterUnsupportedApps","err","_handleError","_wasThrown","_result","intents","map","app","vizData","supportedAppIndices","filter","_","index","homePageVisualizations","find","viz","vizId","chipID","addedToHomePage","some","visualization","title","subTitle","description","appDescription","icon","iconUrl","isStaticApp","tileType","Static","status","getAppStatusTexts","configuration","_isValidQuery","Boolean","trim","_fetchAllAvailableVisualizations","_this4","_temp9","allAvailableVisualizations","_temp8","searchableContentService","getApps","enableVisualizationPreview","allAvailableApps","reduce","visualizations","currentApp","concat","_fetchCSRFToken","fetch","method","headers","response","get","_fetchAppsFromSearch","_this5","token","JSON","stringify","UserInput","_exit","_temp12","_result2","json","_response$json2","queryResult","_temp11","ok","_response$json","errorResponse","_temp10","_getAppStatusTexts","statusTexts","parsedConfig","parse","tileConfig","tileConfiguration","infoText","display_info_text","toLowerCase","warning","stausTexts","applyStatusClass","_applyStatusClass","_onPressAddApps","_this6","_temp14","refreshFavoriteApps","close","show","vizIds","item","getBindingContext","_temp13","addVisualization","getAppsContainer","_getAppsContainer","layout","getContent","_getFavAppPanel","panel","_refreshFavoriteApps","_this7","refreshPanel","onListSelectionChange","_onListSelectionChange","delete","add","Array","from","errorCode","match","_getErrorType","ServiceError","NoResultsFound","ValidationError"],"sources":["AppsAdditionPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport Button from \"sap/m/Button\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport ExpandableText from \"sap/m/ExpandableText\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport Label from \"sap/m/Label\";\nimport { ButtonType } from \"sap/m/library\";\nimport List from \"sap/m/List\";\nimport { ListBase$SelectionChangeEvent } from \"sap/m/ListBase\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport { SearchField$SearchEvent } from \"sap/m/SearchField\";\nimport Text from \"sap/m/Text\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport Fragment from \"sap/ui/core/Fragment\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport ResourceModel from \"sap/ui/model/resource/ResourceModel\";\nimport Container from \"sap/ushell/Container\";\nimport Navigation, { Target } from \"sap/ushell/services/Navigation\";\nimport SearchableContent, { AppData } from \"sap/ushell/services/SearchableContent\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport AppsContainer from \"./AppsContainer\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport FavAppPanel from \"./FavAppPanel\";\nimport { ICustomVisualization, ICustomVizInstance, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { AI_APP_FINDER_API, AI_APP_FINDER_BASE_URL, CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES } from \"./utils/Constants\";\n\nconst Constants = {\n\tDeprecatedInfoText: \"deprecated\",\n\tMinQueryLength: 5,\n\tMaxDescriptionLength: 400\n};\n\nenum SearchStatus {\n\tIdle = \"idle\",\n\tSearching = \"searching\",\n\tComplete = \"complete\"\n}\n\nenum ErrorType {\n\tNoResultsFound = \"noResultsFound\",\n\tServiceError = \"serviceError\",\n\tValidationError = \"validationError\",\n\tDefaultError = \"defaultError\"\n}\n\nenum TileType {\n\tStatic = \"STATIC\"\n}\n\ninterface RawAppData {\n\ttitle: string;\n\tsubTitle: string;\n\tappDescription: string;\n\tchipID: string;\n\ttileType: TileType;\n\ticonUrl: string;\n\tconfiguration: string;\n}\ninterface SuggestedApp {\n\ticon: string;\n\ttitle: string;\n\tchipID: string;\n\tstatus: string[];\n\tsubTitle: string;\n\tdescription: string;\n\tisStaticApp: boolean;\n\taddedToHomePage: boolean;\n\tvizData?: IVisualization;\n}\n\ninterface QueryResponse {\n\tvalue: RawAppData[];\n}\n\ninterface ErrorResponse {\n\terror: {\n\t\tcode: string;\n\t\tmessage: string;\n\t};\n}\n\ninterface Configuration {\n\ttileConfiguration: string;\n}\n\ninterface TileConfig {\n\tdisplay_info_text: string;\n\t[key: string]: string;\n}\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n *\n * @internal\n * @experimental Since 1.136\n * @private\n *\n * @alias sap.cux.home.AppsAdditionPanel\n */\nexport default class AppsAdditionPanel extends BaseSettingsPanel {\n\tprivate appManagerInstance: AppManager = AppManager.getInstance();\n\tprivate vizInstantiationService!: VisualizationInstantiation;\n\tprivate allAvailableVisualizations!: IVisualization[];\n\tprivate userSelectedApps!: Set<CustomListItem>;\n\tprivate appSuggestionList!: List;\n\tprivate model!: JSONModel;\n\tprivate addAppsButton!: Button;\n\tprivate isPanelSupported!: boolean;\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.userSelectedApps = new Set<CustomListItem>();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_APP_FINDER);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"addAppsAndTile\"));\n\n\t\t//setup actions\n\t\tthis._setupActions();\n\n\t\t//setup content\n\t\tvoid this._setupContent();\n\n\t\t//setup events\n\t\tthis.attachEvent(\"onDialogClose\", this.resetPanel.bind(this));\n\t}\n\n\t/**\n\t * Sets up the actions for the Apps Addition Panel.\n\t *\n\t * @private\n\t */\n\tprivate _setupActions(): void {\n\t\tthis.addAppsButton = new Button(`${this.getId()}-add-app-btn`, {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tpress: () => {\n\t\t\t\tvoid this.onPressAddApps();\n\t\t\t}\n\t\t});\n\n\t\tthis.addAppsButton.bindProperty(\"enabled\", {\n\t\t\tparts: [\"/hasError\", \"/searchStatus\", \"/userSelectedApps\"],\n\t\t\tformatter: (hasError: boolean, searchStatus: SearchStatus, userSelectedApps: string[]) => {\n\t\t\t\treturn !hasError && searchStatus === SearchStatus.Complete && userSelectedApps.length > 0;\n\t\t\t}\n\t\t});\n\n\t\tthis.addActionButton(this.addAppsButton);\n\t}\n\n\t/**\n\t * Sets up the content for the Apps Addition Panel.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\tthis.vizInstantiationService = await Container.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\");\n\n\t\t//load ui fragment\n\t\tconst panelContent = (await Fragment.load({\n\t\t\tid: `${this.getId()}-content`,\n\t\t\tname: \"sap.cux.home.utils.fragment.appsAdditionContent\",\n\t\t\tcontroller: this\n\t\t})) as Control;\n\t\tthis.addAggregation(\"content\", panelContent);\n\n\t\t//initialize ui model\n\t\tthis.model = new JSONModel({\n\t\t\tquery: \"\",\n\t\t\thasError: false,\n\t\t\terrorType: ErrorType.DefaultError,\n\t\t\terrorDescription: \"\",\n\t\t\tsearchStatus: SearchStatus.Idle,\n\t\t\tloadingAnimation: this._generateSearchingAnimation(),\n\t\t\tsuggestedAppsCount: 0,\n\t\t\tuserSelectedApps: [],\n\t\t\tsuggestedApps: []\n\t\t});\n\n\t\tpanelContent.setModel(this.model);\n\t\tpanelContent.setModel(new ResourceModel({ bundleName: \"sap.cux.home.i18n.messagebundle\" }), \"i18n\");\n\t\tthis.addAppsButton.setModel(this.model);\n\n\t\t//bind suggested apps list\n\t\tthis.appSuggestionList = Fragment.byId(`${this.getId()}-content`, \"appsList\") as List;\n\t\tthis.appSuggestionList.bindAggregation(\"items\", {\n\t\t\tpath: \"/suggestedApps\",\n\t\t\tfactory: this._generateListItem.bind(this)\n\t\t});\n\t}\n\n\t/**\n\t * Generates a list item for the Apps Addition Panel.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the list item.\n\t * @param {Context} context - The binding context for the list item.\n\t * @returns {CustomListItem} The generated list item control.\n\t */\n\tprivate _generateListItem(id: string, context: Context): CustomListItem {\n\t\tconst listItem = new CustomListItem(id, {\n\t\t\tselected: context.getProperty(\"addedToHomePage\") as boolean,\n\t\t\tcontent: [\n\t\t\t\tnew FlexBox(`${id}-result-container`, {\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\twrap: \"Wrap\",\n\t\t\t\t\tdirection: context.getProperty(\"isStaticApp\") ? \"Column\" : \"Row\",\n\t\t\t\t\talignItems: context.getProperty(\"isStaticApp\") ? \"Start\" : \"Center\",\n\t\t\t\t\titems: [this._getAppPreviewContainer(id, context), this._getAppDetailsContainer(id, context)]\n\t\t\t\t}).addStyleClass(\"sapUiSmallMargin\")\n\t\t\t]\n\t\t});\n\n\t\t//bind associated checkbox to disable it when the app is already added to home page\n\t\tlistItem.getMultiSelectControl(true).setEnabled(!context.getProperty(\"addedToHomePage\"));\n\n\t\treturn listItem;\n\t}\n\n\t/**\n\t * Creates a preview container for the suggested app.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the container.\n\t * @param {Context} context - The binding context for the app.\n\t * @returns {HBox} The app preview container.\n\t */\n\tprivate _getAppPreviewContainer(id: string, context: Context): HBox {\n\t\tconst container = new HBox(`${id}-suggestedAppContainer`, {\n\t\t\trenderType: \"Bare\"\n\t\t});\n\n\t\tif (context.getProperty(\"isStaticApp\") as boolean) {\n\t\t\t// create generic tile for static app\n\t\t\tcontainer.addItem(\n\t\t\t\tnew GenericTile(`${id}-staticApp`, {\n\t\t\t\t\tmode: \"IconMode\",\n\t\t\t\t\tframeType: \"TwoByHalf\",\n\t\t\t\t\theader: context.getProperty(\"title\") as string,\n\t\t\t\t\tsubheader: context.getProperty(\"subTitle\") as string,\n\t\t\t\t\ttileIcon: context.getProperty(\"icon\") as string,\n\t\t\t\t\tvisible: context.getProperty(\"isStaticApp\") as boolean\n\t\t\t\t}).addStyleClass(\"suggestedTile\")\n\t\t\t);\n\t\t} else {\n\t\t\t// create custom visualization for other apps\n\t\t\tconst instance = this.vizInstantiationService.instantiateVisualization(\n\t\t\t\tcontext.getProperty(\"vizData\") as ICustomVisualization\n\t\t\t) as ICustomVizInstance;\n\t\t\tinstance?.setActive(true);\n\t\t\tinstance.setClickable(false);\n\t\t\tcontainer.addItem(instance);\n\t\t}\n\n\t\treturn container;\n\t}\n\n\t/**\n\t * Creates a details container for the suggested app.\n\t *\n\t * @private\n\t * @param {string} id - The unique ID for the container.\n\t * @param {Context} context - The binding context for the app.\n\t * @returns {VBox} The app details container.\n\t */\n\tprivate _getAppDetailsContainer(id: string, context: Context): VBox {\n\t\treturn new VBox(`${id}-app-details-container`, {\n\t\t\trenderType: \"Bare\",\n\t\t\tgap: \"0.5rem\",\n\t\t\titems: [\n\t\t\t\tnew Label(`${id}-descriptionLabel`, {\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appDescription\"),\n\t\t\t\t\tshowColon: true\n\t\t\t\t}),\n\t\t\t\tnew ExpandableText(`${id}-description`, {\n\t\t\t\t\ttext: context.getProperty(\"description\") as string,\n\t\t\t\t\tmaxCharacters: Constants.MaxDescriptionLength\n\t\t\t\t}),\n\t\t\t\tnew HBox(`${id}-app-status-container`, {\n\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\tvisible: (context.getProperty(\"status\") as string[]).length > 0,\n\t\t\t\t\titems: [\n\t\t\t\t\t\tnew Label(`${id}-appStatusLabel`, {\n\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"appStatus\"),\n\t\t\t\t\t\t\tshowColon: true\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tnew HBox(`${id}-app-status-texts`, {\n\t\t\t\t\t\t\trenderType: \"Bare\",\n\t\t\t\t\t\t\titems: this._generateStatusTexts(context.getProperty(\"status\") as string[])\n\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginBegin statusTextsContainer\")\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t}).addStyleClass((context.getProperty(\"isStaticApp\") as boolean) ? \"sapUiSmallMarginTop\" : \"sapUiSmallMarginBegin\");\n\t}\n\n\t/**\n\t * Checks if the Apps Addition Panel is supported. Internally, it checks if the\n\t * AI Smart App Finder feature toggle is enabled and if the associated application\n\t * is accessible for the user.\n\t *\n\t * @public\n\t * @override\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to a boolean indicating support.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\n\t\t\tif (this.getFavAppPanel()) {\n\t\t\t\ttry {\n\t\t\t\t\tconst isFeatureEnabled = await this.appManagerInstance.isFeatureEnabled(FEATURE_TOGGLES.AI_SMART_APPFINDER);\n\t\t\t\t\tif (isFeatureEnabled) {\n\t\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\t\tconst [{ supported }] = await navigationService.isNavigationSupported([\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\t\t\t\t\t\taction: \"propose\"\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\n\t\t\t\t\t\tthis.isPanelSupported = supported;\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tLog.error((error as Error).message);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addAppsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Generates the searching animation SVG as a string.\n\t *\n\t * @private\n\t * @returns {string} The SVG string for the loading animation.\n\t */\n\tprivate _generateSearchingAnimation(): string {\n\t\treturn `<svg height=\"210\" fill=\"none\">\n <g>\n <rect height=\"210\" rx=\"4\" fill=\"white\"/>\n <rect x=\"16\" y=\"143\" width=\"90%\" height=\"8\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"103\" width=\"84%\" height=\"32\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"33\" width=\"90%\" height=\"8\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n <rect x=\"16\" y=\"16\" width=\"96%\" height=\"12\" rx=\"4\" fill=\"var(--sapContent_Placeholderloading_Background)\"/>\n </g>\n </svg>`;\n\t}\n\n\t/**\n\t * Resets the panel to its default state.\n\t *\n\t * @private\n\t */\n\tpublic resetPanel(): void {\n\t\tconst defaultModelProperties = {\n\t\t\tquery: \"\",\n\t\t\thasError: false,\n\t\t\tsearchStatus: SearchStatus.Idle,\n\t\t\tsuggestedAppsCount: 0,\n\t\t\tuserSelectedApps: [],\n\t\t\tsuggestedApps: []\n\t\t};\n\n\t\tthis.model.setData({ ...this.model.getData(), ...defaultModelProperties } as object);\n\t\tthis.userSelectedApps.clear();\n\t}\n\n\t/**\n\t * Handles the \"Go\" button press event for searching suggested apps.\n\t *\n\t * @private\n\t * @async\n\t * @param {SearchField$SearchEvent} event - The search event triggered by the user.\n\t */\n\tpublic async onPressGo(event: SearchField$SearchEvent): Promise<void> {\n\t\t// reset panel if clear button is pressed\n\t\tif (event.getParameter(\"clearButtonPressed\")) {\n\t\t\tthis.resetPanel();\n\t\t\treturn;\n\t\t}\n\n\t\t// validate query\n\t\tconst query = this.model.getProperty(\"/query\") as string;\n\t\tif (!this.isValidQuery(query)) return;\n\n\t\ttry {\n\t\t\t// initiate search\n\t\t\tthis.model.setProperty(\"/hasError\", false);\n\t\t\tthis.model.setProperty(\"/searchStatus\", SearchStatus.Searching);\n\t\t\tthis.appSuggestionList.removeSelections(true);\n\n\t\t\tconst rawApps = await this.fetchAppsFromSearch(query);\n\t\t\t// suggest apps if there are results and search is not cancelled\n\t\t\tif (rawApps.length > 0 && this.model.getProperty(\"/searchStatus\") === SearchStatus.Searching) {\n\t\t\t\tconst allVisualizations = await this.fetchAllAvailableVisualizations();\n\t\t\t\tconst favoriteApps = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\t\t\tconst insightsApps = await this.appManagerInstance.fetchInsightApps(true, this._i18nBundle.getText(\"insights\") as string);\n\n\t\t\t\t// generate suggested apps\n\t\t\t\tconst apps = this._generateApps(rawApps, allVisualizations, [...favoriteApps, ...insightsApps]);\n\t\t\t\tconst suggestedApps = await this._filterUnsupportedApps(apps);\n\n\t\t\t\t// update model with filtered apps\n\t\t\t\tthis.model.setProperty(\"/suggestedApps\", suggestedApps);\n\t\t\t\tthis.model.setProperty(\"/suggestedAppsCount\", suggestedApps.length);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tLog.error((err as Error).message);\n\t\t\tthis._handleError();\n\t\t} finally {\n\t\t\t// update search status only if search is not cancelled\n\t\t\tif (this.model.getProperty(\"/searchStatus\") === SearchStatus.Searching) {\n\t\t\t\tthis.model.setProperty(\"/searchStatus\", SearchStatus.Complete);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters out unsupported apps based on accessibility.\n\t *\n\t * @private\n\t * @param {SuggestedApp[]} apps - The list of suggested apps to filter.\n\t * @returns {Promise<SuggestedApp[]>} A promise that resolves to the filtered list of supported apps.\n\t */\n\tprivate async _filterUnsupportedApps(apps: SuggestedApp[]): Promise<SuggestedApp[]> {\n\t\tconst intents = apps.map((app) => app.vizData?.target) || [];\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst supportedAppIndices = await navigationService.isNavigationSupported(intents as Target[]);\n\n\t\treturn apps.filter((_, index) => supportedAppIndices[index]);\n\t}\n\n\t/**\n\t * Generates suggested apps from raw app data and visualizations.\n\t *\n\t * @private\n\t * @param {RawAppData[]} rawApps - The raw app data to process.\n\t * @param {IVisualization[]} allVisualizations - All available visualizations.\n\t * @param {ICustomVisualization[]} homePageVisualizations - Visualizations available in homepage.\n\t * @returns {SuggestedApp[]} The list of suggested apps.\n\t */\n\tprivate _generateApps(\n\t\trawApps: RawAppData[],\n\t\tallVisualizations: IVisualization[],\n\t\thomePageVisualizations: ICustomVisualization[]\n\t): SuggestedApp[] {\n\t\treturn rawApps.map((app) => {\n\t\t\tconst vizData = allVisualizations.find((viz) => viz.vizId === app.chipID);\n\t\t\tconst addedToHomePage = homePageVisualizations.some((viz) => viz.visualization?.vizId === app.chipID);\n\t\t\treturn {\n\t\t\t\ttitle: app.title,\n\t\t\t\tchipID: app.chipID,\n\t\t\t\tsubTitle: app.subTitle,\n\t\t\t\tdescription: app.appDescription,\n\t\t\t\ticon: app.iconUrl,\n\t\t\t\tvizData,\n\t\t\t\taddedToHomePage,\n\t\t\t\tisStaticApp: app.tileType === TileType.Static,\n\t\t\t\tstatus: this.getAppStatusTexts(app.configuration, addedToHomePage)\n\t\t\t};\n\t\t}) as SuggestedApp[];\n\t}\n\n\t/**\n\t * Validates the query string based on minimum length.\n\t *\n\t * @private\n\t * @param {string} query - The query string to validate.\n\t * @returns {boolean} True if the query is valid, otherwise false.\n\t */\n\tprivate isValidQuery(query: string): boolean {\n\t\treturn Boolean(query?.trim() && query.trim().length >= Constants.MinQueryLength);\n\t}\n\n\t/**\n\t * Fetches all available visualizations for the user.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<IVisualization[]>} A promise that resolves to the list of visualizations.\n\t */\n\tprivate async fetchAllAvailableVisualizations(): Promise<IVisualization[]> {\n\t\tif (!this.allAvailableVisualizations) {\n\t\t\tconst searchableContentService = await Container.getServiceAsync<SearchableContent>(\"SearchableContent\");\n\t\t\tconst allAvailableApps = await searchableContentService.getApps({ enableVisualizationPreview: false });\n\t\t\tthis.allAvailableVisualizations = allAvailableApps.reduce((visualizations: IVisualization[], currentApp: AppData) => {\n\t\t\t\treturn visualizations.concat(currentApp.visualizations);\n\t\t\t}, []);\n\t\t}\n\n\t\treturn this.allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Fetches a CSRF token for secure API requests.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<string | null>} A promise that resolves to the CSRF token or null if fetching fails.\n\t */\n\tprivate async _fetchCSRFToken(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst response = await fetch(AI_APP_FINDER_BASE_URL, { method: \"GET\", headers: { \"X-CSRF-Token\": \"Fetch\" } });\n\t\t\treturn response.headers.get(\"X-CSRF-Token\");\n\t\t} catch (error) {\n\t\t\tLog.error(\"Failed to fetch CSRF token\", error as Error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Fetches apps from the search API based on the query.\n\t *\n\t * @private\n\t * @async\n\t * @param {string} query - The search query string.\n\t * @returns {Promise<RawAppData[]>} A promise that resolves to the list of raw app data.\n\t */\n\tprivate async fetchAppsFromSearch(query: string): Promise<RawAppData[]> {\n\t\ttry {\n\t\t\tconst token = await this._fetchCSRFToken();\n\t\t\tconst headers = {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t...(token && { \"X-CSRF-Token\": token })\n\t\t\t};\n\n\t\t\tconst response = await fetch(AI_APP_FINDER_API, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders,\n\t\t\t\tbody: JSON.stringify({ UserInput: query })\n\t\t\t});\n\n\t\t\t// handle error responses\n\t\t\tif (!response.ok) {\n\t\t\t\tconst errorResponse = (await response.json()) as ErrorResponse;\n\t\t\t\tthis._handleError(errorResponse.error?.message || \"\");\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst queryResult = (await response.json()) as QueryResponse;\n\t\t\treturn queryResult.value || [];\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t\tthis._handleError();\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves status texts for an app based on its configuration and homepage status.\n\t *\n\t * @private\n\t * @param {string} configuration - The app's configuration string.\n\t * @param {boolean} addedToHomePage - Indicates if the app is already added to the homepage.\n\t * @returns {string[]} An array of status texts for the app.\n\t */\n\tprivate getAppStatusTexts(configuration: string, addedToHomePage: boolean): string[] {\n\t\tlet statusTexts = [];\n\n\t\tif (addedToHomePage) {\n\t\t\tstatusTexts.push(this._i18nBundle.getText(\"alreadyAddedApp\") as string);\n\t\t}\n\t\tif (configuration) {\n\t\t\ttry {\n\t\t\t\tconst parsedConfig = JSON.parse(configuration) as Configuration;\n\t\t\t\tconst tileConfig = JSON.parse(parsedConfig?.tileConfiguration) as TileConfig;\n\t\t\t\tconst infoText = (tileConfig?.display_info_text || \"\").toLowerCase();\n\t\t\t\tif (infoText === Constants.DeprecatedInfoText) {\n\t\t\t\t\tstatusTexts.push(this._i18nBundle.getText(\"deprecatedApp\") as string);\n\t\t\t\t}\n\t\t\t} catch (error: unknown) {\n\t\t\t\tLog.warning((error as Error).message);\n\t\t\t}\n\t\t}\n\n\t\treturn statusTexts;\n\t}\n\n\t/**\n\t * Generates status text controls for the provided status texts.\n\t *\n\t * @private\n\t * @param {string[]} stausTexts - The list of status texts.\n\t * @returns {Text[]} An array of Text controls with applied styles.\n\t */\n\tprivate _generateStatusTexts(stausTexts: string[]): Text[] {\n\t\treturn stausTexts.map((status) => {\n\t\t\treturn new Text({\n\t\t\t\ttext: this._i18nBundle.getText(status)\n\t\t\t}).addStyleClass(this.applyStatusClass(status));\n\t\t});\n\t}\n\n\t/**\n\t * Applies a CSS class to the status text based on its type.\n\t *\n\t * @private\n\t * @param {string} status - The status text to classify.\n\t * @returns {string} The CSS class for the status text.\n\t */\n\tpublic applyStatusClass(status: string): string {\n\t\tif (status === this._i18nBundle.getText(\"alreadyAddedApp\")) {\n\t\t\treturn \"addedAppStatusText\";\n\t\t} else if (status === this._i18nBundle.getText(\"deprecatedApp\")) {\n\t\t\treturn \"deprecatedAppStatusText\";\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\t/**\n\t * Handles the \"Add Apps\" button press event to add selected apps to favorites.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async onPressAddApps(): Promise<void> {\n\t\tconst userSelectedApps = this.model.getProperty(\"/userSelectedApps\") as CustomListItem[];\n\t\tconst vizIds = userSelectedApps.map((item) => item.getBindingContext()?.getProperty(\"chipID\") as string);\n\t\tfor (const vizId of vizIds) {\n\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t}\n\n\t\t// refresh the favorite apps panel\n\t\tawait this.refreshFavoriteApps();\n\t\t(this.getParent() as ContentAdditionDialog).close();\n\t\tMessageToast.show(this._i18nBundle.getText(\"appAddedToFavorites\") as string);\n\t\tthis.resetPanel();\n\t}\n\n\t/**\n\t * Retrieves the AppsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {AppsContainer | undefined} The AppsContainer instance or undefined if not found.\n\t */\n\tprivate getAppsContainer(): AppsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof AppsContainer) as AppsContainer | undefined;\n\t}\n\n\t/**\n\t * Retrieves the favorite apps panel from the AppsContainer.\n\t *\n\t * @private\n\t * @returns {FavAppPanel | undefined} The favorite apps panel or undefined if not found.\n\t */\n\tprivate getFavAppPanel(): FavAppPanel | undefined {\n\t\treturn this.getAppsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel) => panel instanceof FavAppPanel);\n\t}\n\n\t/**\n\t * Refreshes the favorite apps panel in the AppsContainer.\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async refreshFavoriteApps(): Promise<void> {\n\t\tawait this.getAppsContainer()?.refreshPanel(this.getFavAppPanel() as FavAppPanel);\n\t}\n\n\t/**\n\t * Handles the selection change event for the suggested apps list.\n\t *\n\t * @public\n\t * @param {ListBase$SelectionChangeEvent} event - The selection change event.\n\t */\n\tpublic onListSelectionChange(event: ListBase$SelectionChangeEvent): void {\n\t\tconst listItem = event.getParameter(\"listItem\") as CustomListItem;\n\t\tconst selected = event.getParameter(\"selected\") as boolean;\n\n\t\tif (!selected) this.userSelectedApps.delete(listItem);\n\t\telse {\n\t\t\tconst context = listItem.getBindingContext();\n\t\t\tconst addedToHomePage = context?.getProperty(\"addedToHomePage\") as boolean;\n\t\t\tif (!addedToHomePage) this.userSelectedApps.add(listItem);\n\t\t}\n\n\t\tthis.model.setProperty(\"/userSelectedApps\", Array.from(this.userSelectedApps));\n\t}\n\n\t/**\n\t * Handles errors by updating the model with error details.\n\t *\n\t * @private\n\t * @param {string} [message=\"\"] - The error message to process.\n\t */\n\tprivate _handleError(message: string = \"\"): void {\n\t\tconst [, errorCode, errorDescription] = message.match(/\\((\\d{2})\\d*\\)\\s*(.*)/) || [];\n\t\tthis.model.setProperty(\"/hasError\", true);\n\t\tthis.model.setProperty(\"/errorType\", this._getErrorType(errorCode));\n\t\tthis.model.setProperty(\"/errorDescription\", errorDescription || \"\");\n\t}\n\n\t/**\n\t * Determines the error type based on the provided error code.\n\t *\n\t * @private\n\t * @param {string} [errorCode=\"\"] - The error code to evaluate.\n\t * @returns {ErrorType} The corresponding error type.\n\t */\n\tprivate _getErrorType(errorCode: string = \"\"): ErrorType {\n\t\tswitch (errorCode) {\n\t\t\tcase \"10\":\n\t\t\t\treturn ErrorType.ServiceError;\n\t\t\tcase \"20\":\n\t\t\tcase \"40\":\n\t\t\t\treturn ErrorType.NoResultsFound;\n\t\t\tcase \"30\":\n\t\t\t\treturn ErrorType.ValidationError;\n\t\t\tdefault:\n\t\t\t\treturn ErrorType.DefaultError;\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}