@sapui5/sap.cux.home 1.139.0 → 1.141.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +7 -0
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js +116 -64
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +50 -15
  8. package/src/sap/cux/home/App.d.ts +2 -2
  9. package/src/sap/cux/home/App.js +2 -2
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +2 -2
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +5 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +5 -1
  16. package/src/sap/cux/home/AppsContainer.d.ts +2 -2
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +16 -24
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +16 -23
  21. package/src/sap/cux/home/BaseApp.d.ts +2 -2
  22. package/src/sap/cux/home/BaseApp.js +2 -2
  23. package/src/sap/cux/home/BaseApp.js.map +1 -1
  24. package/src/sap/cux/home/BaseApp.ts +2 -2
  25. package/src/sap/cux/home/BaseAppPanel.d.ts +10 -0
  26. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  27. package/src/sap/cux/home/BaseAppPanel.js +22 -2
  28. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  29. package/src/sap/cux/home/BaseAppPanel.ts +16 -2
  30. package/src/sap/cux/home/BaseContainer.d.ts +10 -27
  31. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainer.gen.d.ts +61 -0
  33. package/src/sap/cux/home/BaseContainer.js +39 -71
  34. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  35. package/src/sap/cux/home/BaseContainer.ts +33 -77
  36. package/src/sap/cux/home/BaseContainerRenderer.d.ts +2 -0
  37. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  38. package/src/sap/cux/home/BaseContainerRenderer.js +31 -3
  39. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  40. package/src/sap/cux/home/BaseContainerRenderer.ts +39 -2
  41. package/src/sap/cux/home/BaseLayout.d.ts +2 -2
  42. package/src/sap/cux/home/BaseLayout.d.ts.map +1 -1
  43. package/src/sap/cux/home/BaseLayout.js +5 -4
  44. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  45. package/src/sap/cux/home/BaseLayout.ts +5 -4
  46. package/src/sap/cux/home/BaseNewsItem.d.ts +2 -2
  47. package/src/sap/cux/home/BaseNewsItem.js +2 -2
  48. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  49. package/src/sap/cux/home/BaseNewsItem.ts +2 -2
  50. package/src/sap/cux/home/BaseNewsPanel.d.ts +4 -3
  51. package/src/sap/cux/home/BaseNewsPanel.d.ts.map +1 -1
  52. package/src/sap/cux/home/BaseNewsPanel.js +14 -3
  53. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  54. package/src/sap/cux/home/BaseNewsPanel.ts +11 -5
  55. package/src/sap/cux/home/BasePagePanel.d.ts +2 -2
  56. package/src/sap/cux/home/BasePagePanel.d.ts.map +1 -1
  57. package/src/sap/cux/home/BasePagePanel.js +10 -2
  58. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  59. package/src/sap/cux/home/BasePagePanel.ts +6 -2
  60. package/src/sap/cux/home/BasePanel.d.ts +2 -21
  61. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  62. package/src/sap/cux/home/BasePanel.gen.d.ts +109 -0
  63. package/src/sap/cux/home/BasePanel.js +15 -31
  64. package/src/sap/cux/home/BasePanel.js.map +1 -1
  65. package/src/sap/cux/home/BasePanel.ts +11 -34
  66. package/src/sap/cux/home/BaseSettingsDialog.d.ts +2 -2
  67. package/src/sap/cux/home/BaseSettingsDialog.js +2 -2
  68. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  69. package/src/sap/cux/home/BaseSettingsDialog.ts +2 -2
  70. package/src/sap/cux/home/BaseSettingsPanel.d.ts +11 -2
  71. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  72. package/src/sap/cux/home/BaseSettingsPanel.js +15 -2
  73. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  74. package/src/sap/cux/home/BaseSettingsPanel.ts +17 -2
  75. package/src/sap/cux/home/CardsPanel.d.ts +2 -2
  76. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  77. package/src/sap/cux/home/CardsPanel.js +15 -7
  78. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  79. package/src/sap/cux/home/CardsPanel.ts +11 -7
  80. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  81. package/src/sap/cux/home/ContentAdditionDialog.js +0 -1
  82. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  83. package/src/sap/cux/home/ContentAdditionDialog.ts +0 -1
  84. package/src/sap/cux/home/ErrorPanel.d.ts +2 -2
  85. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  86. package/src/sap/cux/home/ErrorPanel.js +15 -5
  87. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  88. package/src/sap/cux/home/ErrorPanel.ts +11 -5
  89. package/src/sap/cux/home/FavAppPanel.d.ts +6 -2
  90. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  91. package/src/sap/cux/home/FavAppPanel.js +196 -154
  92. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  93. package/src/sap/cux/home/FavAppPanel.ts +59 -37
  94. package/src/sap/cux/home/FrequentAppPanel.d.ts +2 -2
  95. package/src/sap/cux/home/FrequentAppPanel.js +2 -2
  96. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  97. package/src/sap/cux/home/FrequentAppPanel.ts +2 -2
  98. package/src/sap/cux/home/Group.d.ts +2 -2
  99. package/src/sap/cux/home/Group.js +2 -2
  100. package/src/sap/cux/home/Group.js.map +1 -1
  101. package/src/sap/cux/home/Group.ts +2 -2
  102. package/src/sap/cux/home/IToDoPanel.d.ts +2 -2
  103. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  104. package/src/sap/cux/home/IToDoPanel.ts +2 -2
  105. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  106. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  107. package/src/sap/cux/home/InsightsAdditionPanel.ts +3 -1
  108. package/src/sap/cux/home/InsightsContainer.d.ts +4 -4
  109. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  110. package/src/sap/cux/home/InsightsContainer.js +8 -13
  111. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  112. package/src/sap/cux/home/InsightsContainer.ts +7 -12
  113. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  114. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +2 -2
  115. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  116. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +2 -3
  117. package/src/sap/cux/home/KeyUserNewsSettingsPanel.d.ts.map +1 -1
  118. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +4 -4
  119. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  120. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +6 -4
  121. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts.map +1 -1
  122. package/src/sap/cux/home/KeyUserSettingsDialog.js +18 -12
  123. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  124. package/src/sap/cux/home/KeyUserSettingsDialog.ts +9 -5
  125. package/src/sap/cux/home/Layout.d.ts +2 -3
  126. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  127. package/src/sap/cux/home/Layout.js +35 -42
  128. package/src/sap/cux/home/Layout.js.map +1 -1
  129. package/src/sap/cux/home/Layout.ts +15 -19
  130. package/src/sap/cux/home/MenuItem.d.ts +2 -2
  131. package/src/sap/cux/home/MenuItem.js +2 -2
  132. package/src/sap/cux/home/MenuItem.js.map +1 -1
  133. package/src/sap/cux/home/MenuItem.ts +2 -2
  134. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +11 -7
  135. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  136. package/src/sap/cux/home/NewsAndPagesContainer.js +22 -26
  137. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  138. package/src/sap/cux/home/NewsAndPagesContainer.ts +26 -32
  139. package/src/sap/cux/home/NewsPanel.d.ts +10 -2
  140. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  141. package/src/sap/cux/home/NewsPanel.js +23 -16
  142. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  143. package/src/sap/cux/home/NewsPanel.ts +24 -18
  144. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  145. package/src/sap/cux/home/NewsSettingsPanel.js +1 -1
  146. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  147. package/src/sap/cux/home/NewsSettingsPanel.ts +2 -2
  148. package/src/sap/cux/home/NoDataContainer.d.ts +2 -2
  149. package/src/sap/cux/home/NoDataContainer.js +3 -3
  150. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  151. package/src/sap/cux/home/NoDataContainer.ts +3 -3
  152. package/src/sap/cux/home/PagePanel.d.ts +11 -3
  153. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  154. package/src/sap/cux/home/PagePanel.js +21 -7
  155. package/src/sap/cux/home/PagePanel.js.map +1 -1
  156. package/src/sap/cux/home/PagePanel.ts +22 -8
  157. package/src/sap/cux/home/RecentAppPanel.d.ts +2 -2
  158. package/src/sap/cux/home/RecentAppPanel.js +2 -2
  159. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  160. package/src/sap/cux/home/RecentAppPanel.ts +2 -2
  161. package/src/sap/cux/home/RecommendedAppPanel.d.ts +2 -2
  162. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  163. package/src/sap/cux/home/RecommendedAppPanel.js +15 -9
  164. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  165. package/src/sap/cux/home/RecommendedAppPanel.ts +11 -6
  166. package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
  167. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  168. package/src/sap/cux/home/SettingsDialog.js +13 -6
  169. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  170. package/src/sap/cux/home/SettingsDialog.ts +14 -6
  171. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +48 -0
  172. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -0
  173. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +33 -0
  174. package/src/sap/cux/home/SideBySideIconTabFilter.js +84 -0
  175. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -0
  176. package/src/sap/cux/home/SideBySideIconTabFilter.ts +88 -0
  177. package/src/sap/cux/home/SituationPanel.d.ts +2 -2
  178. package/src/sap/cux/home/SituationPanel.js +2 -2
  179. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  180. package/src/sap/cux/home/SituationPanel.ts +2 -2
  181. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +2 -2
  182. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  183. package/src/sap/cux/home/SpaceInsightsPanel.js +11 -3
  184. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  185. package/src/sap/cux/home/SpaceInsightsPanel.ts +7 -3
  186. package/src/sap/cux/home/SpacePanel.d.ts +2 -2
  187. package/src/sap/cux/home/SpacePanel.js +2 -2
  188. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  189. package/src/sap/cux/home/SpacePanel.ts +2 -2
  190. package/src/sap/cux/home/TaskPanel.d.ts +2 -2
  191. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  192. package/src/sap/cux/home/TaskPanel.js +5 -3
  193. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  194. package/src/sap/cux/home/TaskPanel.ts +4 -3
  195. package/src/sap/cux/home/TilesPanel.d.ts +2 -3
  196. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  197. package/src/sap/cux/home/TilesPanel.js +89 -59
  198. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  199. package/src/sap/cux/home/TilesPanel.ts +93 -70
  200. package/src/sap/cux/home/ToDoPanel.d.ts +2 -2
  201. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  202. package/src/sap/cux/home/ToDoPanel.js +13 -3
  203. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  204. package/src/sap/cux/home/ToDoPanel.ts +9 -3
  205. package/src/sap/cux/home/ToDosContainer.d.ts +2 -3
  206. package/src/sap/cux/home/ToDosContainer.d.ts.map +1 -1
  207. package/src/sap/cux/home/ToDosContainer.js +3 -8
  208. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  209. package/src/sap/cux/home/ToDosContainer.ts +2 -9
  210. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts +1 -2
  211. package/src/sap/cux/home/changeHandler/LayoutHandler.d.ts.map +1 -1
  212. package/src/sap/cux/home/changeHandler/LayoutHandler.js +0 -3
  213. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  214. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +2 -6
  215. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  216. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +0 -3
  217. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  218. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +0 -3
  219. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  220. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +0 -3
  221. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  222. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +0 -3
  223. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  224. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +0 -3
  225. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  226. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +0 -3
  227. package/src/sap/cux/home/designtime/Layout.designtime.d.ts +1 -1
  228. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  229. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +4 -3
  230. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  231. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +3 -2
  232. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +0 -2
  233. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  234. package/src/sap/cux/home/flexibility/Layout.flexibility.js +0 -2
  235. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  236. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +0 -2
  237. package/src/sap/cux/home/i18n/messagebundle.properties +6 -9
  238. package/src/sap/cux/home/i18n/messagebundle_ar.properties +12 -8
  239. package/src/sap/cux/home/i18n/messagebundle_bg.properties +12 -8
  240. package/src/sap/cux/home/i18n/messagebundle_ca.properties +12 -8
  241. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +12 -8
  242. package/src/sap/cux/home/i18n/messagebundle_cs.properties +12 -8
  243. package/src/sap/cux/home/i18n/messagebundle_cy.properties +12 -8
  244. package/src/sap/cux/home/i18n/messagebundle_da.properties +12 -8
  245. package/src/sap/cux/home/i18n/messagebundle_de.properties +12 -8
  246. package/src/sap/cux/home/i18n/messagebundle_el.properties +18 -14
  247. package/src/sap/cux/home/i18n/messagebundle_en.properties +12 -8
  248. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +12 -8
  249. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +5 -7
  250. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +5 -7
  251. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +12 -8
  252. package/src/sap/cux/home/i18n/messagebundle_es.properties +12 -8
  253. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +12 -8
  254. package/src/sap/cux/home/i18n/messagebundle_et.properties +12 -8
  255. package/src/sap/cux/home/i18n/messagebundle_fi.properties +12 -8
  256. package/src/sap/cux/home/i18n/messagebundle_fr.properties +14 -10
  257. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +12 -8
  258. package/src/sap/cux/home/i18n/messagebundle_hi.properties +12 -8
  259. package/src/sap/cux/home/i18n/messagebundle_hr.properties +12 -8
  260. package/src/sap/cux/home/i18n/messagebundle_hu.properties +12 -8
  261. package/src/sap/cux/home/i18n/messagebundle_id.properties +16 -12
  262. package/src/sap/cux/home/i18n/messagebundle_it.properties +13 -9
  263. package/src/sap/cux/home/i18n/messagebundle_iw.properties +12 -8
  264. package/src/sap/cux/home/i18n/messagebundle_ja.properties +12 -8
  265. package/src/sap/cux/home/i18n/messagebundle_kk.properties +12 -8
  266. package/src/sap/cux/home/i18n/messagebundle_ko.properties +12 -8
  267. package/src/sap/cux/home/i18n/messagebundle_lt.properties +12 -8
  268. package/src/sap/cux/home/i18n/messagebundle_lv.properties +12 -8
  269. package/src/sap/cux/home/i18n/messagebundle_mk.properties +12 -8
  270. package/src/sap/cux/home/i18n/messagebundle_ms.properties +12 -8
  271. package/src/sap/cux/home/i18n/messagebundle_nl.properties +12 -8
  272. package/src/sap/cux/home/i18n/messagebundle_no.properties +12 -8
  273. package/src/sap/cux/home/i18n/messagebundle_pl.properties +12 -8
  274. package/src/sap/cux/home/i18n/messagebundle_pt.properties +12 -8
  275. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +12 -8
  276. package/src/sap/cux/home/i18n/messagebundle_ro.properties +12 -8
  277. package/src/sap/cux/home/i18n/messagebundle_ru.properties +22 -18
  278. package/src/sap/cux/home/i18n/messagebundle_sh.properties +12 -8
  279. package/src/sap/cux/home/i18n/messagebundle_sk.properties +12 -8
  280. package/src/sap/cux/home/i18n/messagebundle_sl.properties +12 -8
  281. package/src/sap/cux/home/i18n/messagebundle_sr.properties +12 -8
  282. package/src/sap/cux/home/i18n/messagebundle_sv.properties +12 -8
  283. package/src/sap/cux/home/i18n/messagebundle_th.properties +12 -8
  284. package/src/sap/cux/home/i18n/messagebundle_tr.properties +12 -8
  285. package/src/sap/cux/home/i18n/messagebundle_uk.properties +12 -8
  286. package/src/sap/cux/home/i18n/messagebundle_vi.properties +12 -8
  287. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +12 -8
  288. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +12 -8
  289. package/src/sap/cux/home/library.d.ts +10 -6
  290. package/src/sap/cux/home/library.d.ts.map +1 -1
  291. package/src/sap/cux/home/library.js +11 -6
  292. package/src/sap/cux/home/library.js.map +1 -1
  293. package/src/sap/cux/home/library.ts +11 -6
  294. package/src/sap/cux/home/themes/base/BaseContainer.less +31 -0
  295. package/src/sap/cux/home/themes/base/KeyUserSettingsDialog.less +5 -0
  296. package/src/sap/cux/home/themes/base/ToDosContainer.less +0 -4
  297. package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
  298. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  299. package/src/sap/cux/home/utils/AppManager.js +1 -1
  300. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  301. package/src/sap/cux/home/utils/AppManager.ts +9 -10
  302. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  303. package/src/sap/cux/home/utils/BatchHelper.js +1 -1
  304. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  305. package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
  306. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +0 -4
  307. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts.map +1 -1
  308. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  309. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  310. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -2
  311. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts +0 -19
  312. package/src/sap/cux/home/utils/KeyUserPersonalization.d.ts.map +0 -1
  313. package/src/sap/cux/home/utils/KeyUserPersonalization.js +0 -126
  314. package/src/sap/cux/home/utils/KeyUserPersonalization.js.map +0 -1
  315. package/src/sap/cux/home/utils/KeyUserPersonalization.ts +0 -93
@@ -1 +1 @@
1
- {"version":3,"file":"TaskPanel.js","names":["sap","ui","define","Log","ActionTile","ActionTileContent","Button","ContentConfig","Link","List","MessageBox","Popover","StandardListItem","TileAttribute","sap_m_library","NumberFormat","__MenuItem","__ToDoPanel","__DecisionDialog","___utils_Device","___utils_FESRUtil","___utils_TaskUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","ContentConfigType","LoadState","PlacementType","URLHelper","MenuItem","ToDoPanel","DecisionDialog","getIconFrameBadge","getIconFrameBadgeValueState","calculateDeviceType","DeviceType","fetchElementProperties","addFESRId","addFESRSemanticStepName","FESR_EVENTS","fetchUserDetails","formatDate","getPriority","getTaskUrl","Format","TextArrangement","Constants","GRID_VIEW_MIN_ROWS","GRID_VIEW_MAX_ROWS","GRID_VIEW_MIN_WIDTH","GRID_VIEW_TWO_COL_MIN_WIDTH","GRID_VIEW_MAX_WIDTH","CARD_HEIGHT","splitCards","cards","maxLength","cardSet","i","length","push","slice","TaskPanel","extend","metadata","library","properties","enableActions","type","group","defaultValue","visibility","customAttributeUrl","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","_customAttributeMap","_taskDefinitionMap","setProperty","_i18nBundle","getText","_viewAllTasksMenuItem","getId","title","icon","visible","press","_onPressViewAll","bind","insertAggregation","contentWrapper","_getContent","addStyleClass","generateRequestUrls","_generateRequestUrls","cardCount","urls","getCountUrl","getDataUrl","getCustomAttributeUrl","generateCardTemplate","_generateCardTemplate","context","attributes","getObject","map","attribute","index","label","contentConfig","text","href","mode","frameType","pressEnabled","enableIconFrame","enableDynamicHeight","enableNavigationButton","headerImage","badgeIcon","getProperty","badgeValueState","header","state","priority","priorityText","_toPriorityText","event","_onPressTask","tileContent","headerLink","_onClickCreatedBy","actionButtons","viewButton","getSource","getParent","firePress","PRESS","approveButton","_onActionButtonPress","undefined","rejectButton","overflowButton","Transparent","_onOverflowButtonPress","overflowButtons","_getOverflowButtonPopover","openBy","_overflowPopover","_overflowList","showHeader","content","placement","VerticalPreferredBottom","_setupOverflowList","destroyItems","forEach","actionButton","listItem","pressHandler","addItem","_loadCards","_getCustomAttributes","task","finalAttributes","maximumAttributeCount","customAttributes","TaskDefinitionID","custom_attribute","customAttribute","taskCustomAttributes","CustomAttributeData","results","existingAttribute","find","taskAttribute","Name","name","value","referenced","Text","format","_formatCustomAttribute","textArrangement","_arrangeText","Value","_addCommonAttributes","trim","description","ValueText","formattedValue","TextFirst","TextLast","TextOnly","TextSeparate","taskAttributes","findAttribute","attributeName","oAttribute","toUpperCase","currentAttribute","CURRENCYVALUE","reference","referencedAttribute","currencyFormatter","getCurrencyInstance","parseFloat","USER","FormattedValue","CompletionDeadline","CreatedOn","getTargetAppUrl","control","getBindingContext","loadState","url","Loading","redirect","_this","sourceControl","SAP__Origin","originId","CreatedBy","userId","TaskTitle","subject","CreatedByName","createdBy","InstanceID","link","triggerEmail","email","URL","window","location","hash","toString","Promise","resolve","userData","Email","require","serviceContainer","getServiceAsync","teamsHelper","_temp2","enableContactsCollaboration","_temp","encodeURIComponent","_teamsHelper$enableCo","popover","error","Error","message","String","reject","warning","onDataReceived","_onDataReceived","options","_this2","tasks","taskDefinitions","_extractCustomAttributes","_temp3","onlyCount","_updateTasks","updatedTasks","_oData","displayTiles","tiles","_this3","_addCustomAttributes","_temp4","getEnableActions","_getTaskDefintions","_downloadDecisionOptions","_addActions","key","actions","getTaskActions","getBaseUrl","_this4","decisionKeys","decisionURLs","Object","keys","reduce","includes","_temp5","_clearRequests","requests","baseURL","requestURLs","success","decisionOptions","_submitBatch","taskDefinition","CustomAttributeDefinitionData","filter","Rank","sort","attr1","attr2","Label","Type","Reference","Referenced","getNoDataText","_getNoDataText","getVerticalCardCount","_getVerticalCardCount","domRef","calculationProperties","domProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","horizontalCardCount","getHorizontalCardCount","isPlaceholder","gap","verticalCardCount","_isLoaded","rowHeights","maxAttributes","attributeCount","card","visibleRowCount","Math","min","_isGridLayoutAllowed","rowHeight","floor","max","_adjustLayout","ToDoPanel.prototype._adjustLayout.call","deviceType","LargeDesktop","XLargeDesktop","setTargetAppUrl","_setTargetAppUrl","targetAppUrl","setVisible"],"sources":["TaskPanel.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 ActionTile from \"sap/m/ActionTile\";\nimport ActionTileContent from \"sap/m/ActionTileContent\";\nimport Button from \"sap/m/Button\";\nimport ContentConfig from \"sap/m/ContentConfig\";\nimport Link, { Link$PressEvent } from \"sap/m/Link\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport TileAttribute from \"sap/m/TileAttribute\";\nimport { ButtonType, ContentConfigType, LoadState, PlacementType, URLHelper } from \"sap/m/library\";\nimport ServiceContainer from \"sap/suite/ui/commons/collaboration/ServiceContainer\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport NumberFormat from \"sap/ui/core/format/NumberFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport MenuItem from \"./MenuItem\";\nimport { $TaskPanelSettings } from \"./TaskPanel\";\nimport type { CalculationProperties, RequestOptions } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport DecisionDialog, { ActionButton, DecisionOption, getIconFrameBadge, getIconFrameBadgeValueState } from \"./utils/DecisionDialog\";\nimport { calculateDeviceType, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { fetchUserDetails, formatDate, getPriority, getTaskUrl, TaskPriority } from \"./utils/TaskUtils\";\n\ninterface CustomAttribute {\n\tname?: string;\n\tlabel?: string;\n\ttext?: string;\n\ttype?: string;\n\thref?: string;\n\tformat?: string;\n\treference?: string;\n\treferenced?: string;\n\ttextArrangement?: TextArrangement;\n}\n\ninterface TaskCustomAttribute {\n\tName: string;\n\tValue: string;\n\tValueText: string;\n\tLabel: string;\n\tType: string;\n\tRank: number;\n\tFormat: string;\n\tFormattedValue: string;\n\tReference: string;\n\tReferenced: string;\n\tTextArrangement: TextArrangement;\n}\n\nexport interface Task {\n\tSAP__Origin: string;\n\tCreatedBy: string;\n\tTaskTitle: string;\n\tCreatedByName: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n\tCompletionDeadline: string;\n\tCreatedOn: string;\n\tactions: ActionButton[];\n\tPriority: TaskPriority;\n\tCustomAttributeData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n\tattributes: CustomAttribute[];\n}\n\ninterface TaskDefintion {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n}\n\ninterface TaskDefinitionCollection {\n\tTaskDefinitionID: string;\n\tCustomAttributeDefinitionData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n}\n\nenum Format {\n\tCURRENCYVALUE = \"CURRENCYVALUE\",\n\tCURRENCYCODE = \"CURRENCYCODE\",\n\tUSER = \"USER\"\n}\n\nenum TextArrangement {\n\tTextFirst = \"TextFirst\",\n\tTextLast = \"TextLast\",\n\tTextOnly = \"TextOnly\",\n\tTextSeparate = \"TextSeparate\"\n}\n\nconst Constants = {\n\tGRID_VIEW_MIN_ROWS: 1,\n\tGRID_VIEW_MAX_ROWS: 2,\n\tGRID_VIEW_MIN_WIDTH: 304,\n\tGRID_VIEW_TWO_COL_MIN_WIDTH: 374,\n\tGRID_VIEW_MAX_WIDTH: 583,\n\tCARD_HEIGHT: {\n\t\t// Cozy - Compact\n\t\t1: 220, // 214 - 226\n\t\t2: 272, // 265 - 278\n\t\t3: 324, // 318 - 330\n\t\t4: 376 // 370 - 382\n\t}\n};\n\n/**\n * Splits an array of task cards into smaller arrays, each with a maximum specified length.\n *\n * @param {Task[]} cards - The array of task cards to be split.\n * @param {number} maxLength - The maximum length of each sub-array.\n * @returns {Task[][]} - An array of sub-arrays, each containing a maximum of `maxLength` task cards.\n */\nfunction splitCards(cards: Task[], maxLength: number): Task[][] {\n\tconst cardSet = [];\n\tfor (let i = 0; i < cards.length; i += maxLength) {\n\t\tcardSet.push(cards.slice(i, i + maxLength));\n\t}\n\n\treturn cardSet;\n}\n\n/**\n *\n * Panel class for managing and storing Task cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @internal\n * @public\n *\n * @alias sap.cux.home.TaskPanel\n */\nexport default class TaskPanel extends ToDoPanel {\n\tprivate _customAttributeMap!: Record<string, CustomAttribute[]>;\n\tprivate _taskDefinitionMap!: Record<string, DecisionOption[]>;\n\tprivate _viewAllTasksMenuItem!: MenuItem;\n\tprivate _overflowPopover!: Popover;\n\tprivate _overflowList!: List;\n\n\tconstructor(id?: string | $TaskPanelSettings);\n\tconstructor(id?: string, settings?: $TaskPanelSettings);\n\t/**\n\t * Constructor for a new Task Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $TaskPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies if actions should be enabled for the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tenableActions: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcustomAttributeUrl: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"public\" }\n\t\t}\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._customAttributeMap = {};\n\t\tthis._taskDefinitionMap = {};\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"tasks\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"tasksTabTitle\"));\n\n\t\t//Setup Menu Items - ensure that 'View All Tasks' item is the first item in the list\n\t\tthis._viewAllTasksMenuItem = new MenuItem(`${this.getId()}-view-tasks-btn`, {\n\t\t\ttitle: this._i18nBundle.getText(\"viewAllTasksTitle\"),\n\t\t\ticon: \"sap-icon://inbox\",\n\t\t\tvisible: false,\n\t\t\tpress: this._onPressViewAll.bind(this)\n\t\t});\n\t\tthis.insertAggregation(\"menuItems\", this._viewAllTasksMenuItem, 0);\n\t\taddFESRId(this._viewAllTasksMenuItem, \"goToTaskSitution\");\n\n\t\tconst [contentWrapper] = this._getContent() || [];\n\t\tcontentWrapper?.addStyleClass(\"sapUiGridTaskLayout\");\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide task-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];\n\n\t\tconst customAttributeUrl = this.getCustomAttributeUrl();\n\t\tif (customAttributeUrl) {\n\t\t\turls.push(customAttributeUrl);\n\t\t}\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * Generates a card template for tasks.\n\t * Overridden method from To-Do panel to generate task-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\tconst attributes = (context.getObject() as Task).attributes?.map((attribute, index) => {\n\t\t\treturn new TileAttribute(`${id}-${index}-attribute`, {\n\t\t\t\tlabel: attribute.label as string,\n\t\t\t\tcontentConfig: new ContentConfig(`${id}-${index}-contentConfig`, {\n\t\t\t\t\ttype: attribute.type as ContentConfigType,\n\t\t\t\t\ttext: attribute.text as string,\n\t\t\t\t\thref: attribute.href as string\n\t\t\t\t})\n\t\t\t});\n\t\t});\n\n\t\treturn new ActionTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\tenableIconFrame: true,\n\t\t\tenableDynamicHeight: true,\n\t\t\tenableNavigationButton: true,\n\t\t\theaderImage: \"sap-icon://workflow-tasks\",\n\t\t\tbadgeIcon: getIconFrameBadge(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\theader: context.getProperty(\"TaskTitle\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpriority: getPriority(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tpriorityText: this._toPriorityText(getPriority(context.getProperty(\"Priority\") as TaskPriority)),\n\t\t\tpress: (event: Event) => this._onPressTask(event),\n\t\t\ttileContent: [\n\t\t\t\tnew ActionTileContent(`${id}-actionTileContent`, {\n\t\t\t\t\theaderLink: new Link({\n\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\tpress: (event: Event): void => {\n\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tattributes\n\t\t\t\t})\n\t\t\t],\n\t\t\tactionButtons: [\n\t\t\t\t(() => {\n\t\t\t\t\tconst viewButton = new Button(`${id}-view-btn`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"viewButton\"),\n\t\t\t\t\t\tpress: (event: Event) => (event.getSource<Button>().getParent() as ActionTile).firePress(),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") === 0\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(viewButton, FESR_EVENTS.PRESS, \"todoActionViewBtn\");\n\t\t\t\t\treturn viewButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst approveButton = new Button(`${id}-approve-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/0/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/0/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/0/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/0\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(approveButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn approveButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst rejectButton = new Button(`${id}-reject-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/1/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/1/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/1/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/1\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(rejectButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn rejectButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst overflowButton = new Button(`${id}-overflow-btn`, {\n\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\t\tpress: (event: Event) => this._onOverflowButtonPress(event, context),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") >= 3\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(overflowButton, FESR_EVENTS.PRESS, \"todoActBtnOverflow\");\n\t\t\t\t\treturn overflowButton;\n\t\t\t\t})()\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handles the press event of the overflow button.\n\t * Opens a Popover containing overflow actions.\n\t *\n\t * @private\n\t * @param {Event} event - The press event triggered by the overflow button.\n\t * @param {Context} context - The context containing all actions.\n\t * @returns {void}\n\t */\n\tprivate _onOverflowButtonPress(event: Event, context: Context): void {\n\t\tconst overflowButtons = (context.getProperty(\"actions\") as ActionButton[]).slice(2);\n\t\tthis._getOverflowButtonPopover(overflowButtons).openBy(event.getSource<Button>());\n\t}\n\n\t/**\n\t * Creates or retrieves the overflow button Popover.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {Popover} The overflow button Popover.\n\t */\n\tprivate _getOverflowButtonPopover(actionButtons: ActionButton[]): Popover {\n\t\tif (!this._overflowPopover) {\n\t\t\tthis._overflowList = new List(`${this.getId()}-overflowList`);\n\t\t\tthis._overflowPopover = new Popover(`${this.getId()}-overflowPopover`, {\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._overflowList,\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom\n\t\t\t});\n\t\t}\n\n\t\t//setup task-specific with task-specific actions\n\t\tthis._setupOverflowList(actionButtons);\n\t\treturn this._overflowPopover;\n\t}\n\n\t/**\n\t * Sets up the overflow button list with the provided task-specific actions.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {void}\n\t */\n\tprivate _setupOverflowList(actionButtons: ActionButton[]): void {\n\t\tthis._overflowList.destroyItems();\n\t\tactionButtons.forEach((actionButton, index) => {\n\t\t\tconst listItem = new StandardListItem(`action-${index}`, {\n\t\t\t\ttitle: actionButton.text,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tpress: () => this._onActionButtonPress(actionButton.pressHandler as () => void)\n\t\t\t});\n\t\t\taddFESRSemanticStepName(listItem, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\tthis._overflowList.addItem(listItem);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the button press event and executes the provided press handler function,\n\t * which refreshes the UI after the button press action.\n\t *\n\t * @private\n\t * @param {Function} pressHandler - The function to be executed when the button is pressed.\n\t * @returns {void}\n\t */\n\tprivate _onActionButtonPress(pressHandler: (refreshFn: () => Promise<void>) => void): void {\n\t\tpressHandler(this._loadCards.bind(this));\n\t}\n\n\t/**\n\t * Retrieves custom attributes for a given task and formats them for display.\n\t * If the task has completion deadline and creation date, those attributes are also included.\n\t * If the task has a creator, the creator's name is included as well.\n\t *\n\t * @param {Task} task - The task object for which custom attributes are retrieved.\n\t * @returns {CustomAttribute[]} - An array of formatted custom attributes.\n\t */\n\tprivate _getCustomAttributes(task: Task): CustomAttribute[] {\n\t\tconst finalAttributes = [];\n\t\tconst maximumAttributeCount = 4;\n\t\tconst customAttributes = this._customAttributeMap[task.TaskDefinitionID] || [];\n\n\t\tfor (let custom_attribute of customAttributes) {\n\t\t\tconst customAttribute = custom_attribute;\n\t\t\tconst taskCustomAttributes = task.CustomAttributeData?.results;\n\t\t\tconst existingAttribute = taskCustomAttributes.find((taskAttribute) => {\n\t\t\t\treturn taskAttribute.Name === customAttribute.name;\n\t\t\t});\n\t\t\tlet value = \"\";\n\n\t\t\tif (existingAttribute && !customAttribute.referenced) {\n\t\t\t\tconst attribute: CustomAttribute = {\n\t\t\t\t\tlabel: customAttribute.label + \":\",\n\t\t\t\t\ttype: ContentConfigType.Text\n\t\t\t\t};\n\n\t\t\t\tif (customAttribute.format) {\n\t\t\t\t\tvalue = this._formatCustomAttribute(customAttribute, taskCustomAttributes);\n\t\t\t\t} else if (customAttribute.textArrangement) {\n\t\t\t\t\tvalue = this._arrangeText(existingAttribute, customAttribute.textArrangement);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = customAttribute.type === \"Edm.DateTime\" ? formatDate(existingAttribute.Value) : existingAttribute.Value;\n\t\t\t\t}\n\t\t\t\tattribute.text = value || \"-\";\n\t\t\t\tfinalAttributes.push(attribute);\n\t\t\t}\n\t\t}\n\n\t\t// add common attributes\n\t\tthis._addCommonAttributes(finalAttributes, task);\n\n\t\treturn finalAttributes.slice(0, maximumAttributeCount);\n\t}\n\n\t/**\n\t * Formats the given unit of measure value and description based on the specified text arrangement.\n\t *\n\t * @private\n\t * @param {TaskCustomAttribute} customAttribute The custom attribute object.\n\t * @param {TextArrangement} textArrangement The text arrangement option.\n\t * @returns {string} The formatted value.\n\t */\n\tprivate _arrangeText(customAttribute: TaskCustomAttribute, textArrangement: TextArrangement): string {\n\t\tconst value = customAttribute.Value.trim();\n\t\tconst description = customAttribute.ValueText.trim();\n\t\tlet formattedValue = \"\";\n\n\t\tswitch (textArrangement) {\n\t\t\tcase TextArrangement.TextFirst:\n\t\t\t\tformattedValue = `${description} (${value})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextLast:\n\t\t\t\tformattedValue = `${value} (${description})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextOnly:\n\t\t\t\tformattedValue = `${description}`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextSeparate:\n\t\t\t\tformattedValue = `${value}`;\n\t\t\t\tbreak;\n\t\t\tdefault: // TextFirst\n\t\t\t\tformattedValue = `${description} ${value})`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn formattedValue;\n\t}\n\n\t/**\n\t * Formats a custom attribute value based on its format type.\n\t *\n\t * @param {CustomAttribute} customAttribute - The custom attribute object.\n\t * @param {TaskCustomAttribute[]} taskAttributes - The array of task attributes.\n\t * @returns {string} - The formatted value.\n\t */\n\tprivate _formatCustomAttribute(customAttribute: CustomAttribute, taskAttributes: TaskCustomAttribute[] = []): string {\n\t\tconst findAttribute = (attributeName: string) => {\n\t\t\treturn taskAttributes.find((oAttribute) => {\n\t\t\t\treturn oAttribute.Name === attributeName;\n\t\t\t});\n\t\t};\n\t\tconst format = customAttribute.format?.toUpperCase();\n\t\tconst currentAttribute = findAttribute(customAttribute.name as string);\n\t\tlet formattedValue = currentAttribute?.Value;\n\n\t\t// Format = CurrencyValue\n\t\tif (format === Format.CURRENCYVALUE && customAttribute.reference) {\n\t\t\tconst referencedAttribute = findAttribute(customAttribute.reference);\n\n\t\t\tif (referencedAttribute) {\n\t\t\t\tconst currencyFormatter = NumberFormat.getCurrencyInstance();\n\t\t\t\tformattedValue = currencyFormatter.format(parseFloat(currentAttribute?.Value as string), referencedAttribute.Value);\n\t\t\t}\n\t\t} else if (format === Format.USER) {\n\t\t\tformattedValue = currentAttribute?.FormattedValue || currentAttribute?.Value;\n\t\t}\n\n\t\treturn formattedValue as string;\n\t}\n\n\t/**\n\t * Adds common attributes to the final attributes list based on the provided task.\n\t * Common attributes include completion deadline, creation date, and creator's name.\n\t *\n\t * @param {CustomAttribute[]} finalAttributes - The array of custom attributes to which the common attributes will be added.\n\t * @param {Task} task - The task object containing data for common attributes.\n\t */\n\tprivate _addCommonAttributes(finalAttributes: CustomAttribute[], task: Task): void {\n\t\tif (task.CompletionDeadline) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"dueDate\") + \":\",\n\t\t\t\ttext: formatDate(task.CompletionDeadline, \"MMM dd, YYYY hh:mm a\"),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\n\t\tif (task.CreatedOn) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"createdOn\") + \":\",\n\t\t\t\ttext: formatDate(task.CreatedOn),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event of a task.\n\t *\n\t * @private\n\t * @param {Event} event - The press event.\n\t */\n\tprivate _onPressTask(event: Event) {\n\t\tif (this.getTargetAppUrl()) {\n\t\t\tconst control = event.getSource<ActionTile>();\n\t\t\tconst context = control.getBindingContext();\n\t\t\tconst loadState = context?.getProperty(\"loadState\") as LoadState;\n\t\t\tconst url = getTaskUrl(\n\t\t\t\tcontext?.getProperty(\"SAP__Origin\") as string,\n\t\t\t\tcontext?.getProperty(\"InstanceID\") as string,\n\t\t\t\tthis.getTargetAppUrl()\n\t\t\t);\n\n\t\t\tif (loadState !== LoadState.Loading) {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the click event on the \"Created By\" link.\n\t * Triggers email or opens a contact card if configuration is enabled\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onClickCreatedBy(event: Link$PressEvent): Promise<void> {\n\t\tconst sourceControl = event.getSource();\n\t\tconst {\n\t\t\tSAP__Origin: originId,\n\t\t\tCreatedBy: userId,\n\t\t\tTaskTitle: subject,\n\t\t\tCreatedByName: createdBy,\n\t\t\tInstanceID\n\t\t} = event.getSource().getBindingContext()?.getObject() as Task;\n\t\tconst link = getTaskUrl(originId, InstanceID, this.getTargetAppUrl());\n\t\tconst triggerEmail = (email: string, { subject, body }: { subject: string; body: string }) => {\n\t\t\tURLHelper.triggerEmail(email, subject, body);\n\t\t};\n\t\tconst url = new URL(window.location.href);\n\t\turl.hash = link;\n\t\tconst body = url.toString();\n\n\t\tconst userData = await fetchUserDetails(originId, userId);\n\t\tif (userData.Email) {\n\t\t\tsap.ui.require([\"sap/suite/ui/commons/collaboration/ServiceContainer\"], async (serviceContainer: ServiceContainer) => {\n\t\t\t\tconst teamsHelper = await serviceContainer.getServiceAsync();\n\n\t\t\t\tif (teamsHelper.enableContactsCollaboration) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst popover = (await teamsHelper.enableContactsCollaboration(userData.Email as string, {\n\t\t\t\t\t\t\tsubject,\n\t\t\t\t\t\t\tbody: encodeURIComponent(body)\n\t\t\t\t\t\t})) as Popover;\n\t\t\t\t\t\tpopover.openBy(sourceControl);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tMessageBox.warning(this._i18nBundle.getText(\"noEmail\", [createdBy]) as string);\n\t\t}\n\t}\n\n\t/**\n\t * Hook for processing data fetched from a batch call.\n\t * This method can be overridden to perform additional data processing operations.\n\t * In this implementation, it is consumed to handle task-related data, particularly\n\t * for extracting custom attributes if action cards are enabled.\n\t *\n\t * @private\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call. Structure may vary based on the backend service.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * @returns {Promise<void>} A Promise that resolves when the data processing is complete.\n\t */\n\tpublic async onDataReceived(results: unknown[], options: RequestOptions): Promise<void> {\n\t\tconst [tasks, taskDefinitions] = results;\n\t\tthis._extractCustomAttributes(taskDefinitions as TaskDefinitionCollection[]);\n\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tconst updatedTasks = await this._updateTasks(tasks as Task[]);\n\t\t\tthis._oData.displayTiles = this._oData.tiles = updatedTasks;\n\t\t}\n\t}\n\n\t/**\n\t * Updates the tasks with attributes and actions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to update.\n\t * @returns {Promise<Task[]>} A promise that resolves with the updated array of tasks.\n\t */\n\tprivate async _updateTasks(tasks: Task[] = []): Promise<Task[]> {\n\t\t//add custom attributes to tasks\n\t\tlet updatedTasks = this._addCustomAttributes(tasks);\n\n\t\t//add actions to tasks\n\t\tif (this.getEnableActions()) {\n\t\t\t//calculate unique task definitions\n\t\t\tconst taskDefinitions = this._getTaskDefintions(updatedTasks);\n\n\t\t\t//download decision options for task defintions\n\t\t\tawait this._downloadDecisionOptions(taskDefinitions);\n\n\t\t\t//append actions\n\t\t\tupdatedTasks = this._addActions(updatedTasks);\n\t\t}\n\n\t\treturn updatedTasks;\n\t}\n\n\t/**\n\t * Adds custom attributes to each task in the provided array.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which custom attributes will be added.\n\t * @returns {Task[]} - A new array of tasks, each with added custom attributes.\n\t */\n\tprivate _addCustomAttributes(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => ({\n\t\t\t...task,\n\t\t\tattributes: this._getCustomAttributes(task)\n\t\t}));\n\t}\n\n\t/**\n\t * Adds actions to the tasks based on their task definitions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which actions will be added.\n\t * @returns {Task[]} The array of tasks with actions added.\n\t */\n\tprivate _addActions(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\treturn {\n\t\t\t\t...task,\n\t\t\t\tactions: this._taskDefinitionMap[key]\n\t\t\t\t\t? DecisionDialog.getTaskActions(task, this.getBaseUrl(), this._taskDefinitionMap, this._i18nBundle)\n\t\t\t\t\t: []\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Downloads decision options for the provided task definitions.\n\t *\n\t * @private\n\t * @param {Record<string, TaskDefinition>} taskDefinitions - The task definitions for which decision options will be downloaded.\n\t * @returns {Promise<void>} A promise that resolves when all decision options are downloaded and processed.\n\t */\n\tprivate async _downloadDecisionOptions(taskDefinitions: Record<string, TaskDefintion>): Promise<void> {\n\t\tconst decisionKeys: string[] = [];\n\t\tconst decisionURLs = Object.keys(taskDefinitions).reduce((urls: string[], key) => {\n\t\t\tif (!Object.keys(this._taskDefinitionMap).includes(key)) {\n\t\t\t\tdecisionKeys.push(key);\n\t\t\t\tthis._taskDefinitionMap[key] = [];\n\n\t\t\t\tconst { SAP__Origin, InstanceID } = taskDefinitions[key];\n\t\t\t\turls.push(`DecisionOptions?SAP__Origin='${SAP__Origin}'&InstanceID='${InstanceID}'`);\n\t\t\t}\n\t\t\treturn urls;\n\t\t}, []);\n\n\t\tif (decisionURLs.length) {\n\t\t\tthis._clearRequests();\n\t\t\tthis.requests.push({\n\t\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\t\trequestURLs: decisionURLs,\n\t\t\t\tsuccess: (results: DecisionOption[][]): Promise<void> => {\n\t\t\t\t\tresults.forEach((decisionOptions: DecisionOption[], index) => {\n\t\t\t\t\t\tthis._taskDefinitionMap[decisionKeys[index]] = decisionOptions;\n\t\t\t\t\t});\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._submitBatch();\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves unique task definitions from the provided array of tasks.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks from which to retrieve task definitions.\n\t * @returns {Record<string, TaskDefintion>} An object containing unique task definitions.\n\t */\n\tprivate _getTaskDefintions(tasks: Task[] = []): Record<string, TaskDefintion> {\n\t\tconst taskDefinitions: Record<string, TaskDefintion> = {};\n\t\ttasks.forEach((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\tif (!taskDefinitions[key]) {\n\t\t\t\ttaskDefinitions[key] = {\n\t\t\t\t\tSAP__Origin: task.SAP__Origin,\n\t\t\t\t\tInstanceID: task.InstanceID,\n\t\t\t\t\tTaskDefinitionID: task.TaskDefinitionID\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\treturn taskDefinitions;\n\t}\n\n\t/**\n\t * Extracts Custom Attribute Information to create an attribute map from raw attribute data\n\t * received from call, which is used while task processing\n\t *\n\t * @private\n\t * @param {TaskDefinitionCollection[]} taskDefinitions - array of raw tasks definitions\n\t */\n\tprivate _extractCustomAttributes(taskDefinitions: TaskDefinitionCollection[] = []): void {\n\t\ttaskDefinitions.forEach((taskDefinition: TaskDefinitionCollection) => {\n\t\t\tconst customAttributes = taskDefinition.CustomAttributeDefinitionData?.results || [];\n\t\t\tthis._customAttributeMap[taskDefinition.TaskDefinitionID] = customAttributes\n\t\t\t\t.filter((oAttribute) => oAttribute.Rank > 0)\n\t\t\t\t.sort((attr1, attr2) => attr2.Rank - attr1.Rank)\n\t\t\t\t.map((oAttribute) => ({\n\t\t\t\t\tname: oAttribute.Name,\n\t\t\t\t\tlabel: oAttribute.Label,\n\t\t\t\t\ttype: oAttribute.Type,\n\t\t\t\t\tformat: oAttribute.Format,\n\t\t\t\t\treference: oAttribute.Reference,\n\t\t\t\t\treferenced: oAttribute.Referenced,\n\t\t\t\t\ttextArrangement: oAttribute.TextArrangement\n\t\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noTaskTitle\") as string;\n\t}\n\n\t/**\n\t * Calculates the number of vertical cards that can fit within the available height of the given DOM element.\n\t *\n\t * @private\n\t * @override\n\t * @param {Element} domRef - The DOM element to calculate the vertical card count for.\n\t * @returns {number} - The number of vertical cards that can fit within the available height.\n\t */\n\tpublic getVerticalCardCount(domRef: Element, calculationProperties?: CalculationProperties): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"padding-top\"]);\n\t\tconst parentDomProperties = fetchElementProperties(domRef.parentElement as Element, [\"height\"]);\n\t\tconst titleHeight = this.calculateTitleHeight();\n\t\tconst availableHeight = parentDomProperties.height - domProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst horizontalCardCount = this.getHorizontalCardCount(domRef);\n\t\tconst isPlaceholder = calculationProperties?.isPlaceholder;\n\t\tconst gap = 16;\n\t\tlet height = 0;\n\t\tlet verticalCardCount = 0;\n\n\t\tif (this._isLoaded()) {\n\t\t\tconst cardSet = splitCards(this._oData.tiles as Task[], horizontalCardCount);\n\t\t\tconst rowHeights = cardSet.map((cards: Task[]) => {\n\t\t\t\tconst maxAttributes = cards.reduce(function (attributeCount: number, card: Task) {\n\t\t\t\t\tcard.attributes = card.attributes || [];\n\t\t\t\t\treturn card.attributes.length > attributeCount ? card.attributes.length : attributeCount;\n\t\t\t\t}, 1);\n\n\t\t\t\tlet visibleRowCount = Math.min(maxAttributes, 4);\n\t\t\t\tif (this._isGridLayoutAllowed()) {\n\t\t\t\t\t// If grid view is enabled, restrict the card height to 2 rows\n\t\t\t\t\tvisibleRowCount =\n\t\t\t\t\t\tvisibleRowCount > Constants.GRID_VIEW_MAX_ROWS ? Constants.GRID_VIEW_MAX_ROWS : Constants.GRID_VIEW_MIN_ROWS;\n\t\t\t\t}\n\n\t\t\t\treturn Constants.CARD_HEIGHT[visibleRowCount as keyof typeof Constants.CARD_HEIGHT] + gap;\n\t\t\t});\n\n\t\t\tfor (let rowHeight of rowHeights) {\n\t\t\t\tif (height + rowHeight < availableHeight) {\n\t\t\t\t\theight += rowHeight;\n\t\t\t\t\tverticalCardCount++;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tverticalCardCount = Math.floor(availableHeight / Constants.CARD_HEIGHT[isPlaceholder ? \"4\" : \"1\"]);\n\t\t}\n\n\t\treturn Math.max(verticalCardCount, 2);\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout(): void {\n\t\tsuper._adjustLayout();\n\n\t\tthis.setProperty(\n\t\t\t\"minCardWidth\",\n\t\t\tthis._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH\n\t\t);\n\t\tthis.setProperty(\"maxCardWidth\", Constants.GRID_VIEW_MAX_WIDTH);\n\t}\n\n\t/**\n\t * Determines if grid view is allowed for displaying card content based on the device type.\n\t *\n\t * @returns {boolean} `true` if the device type is either Desktop or LargeDesktop, otherwise `false`.\n\t */\n\tprotected _isGridLayoutAllowed(): boolean {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop;\n\t}\n\n\t/**\n\t * Sets the target application URL and updates the visibility of the \"View All Tasks\" menu item.\n\t *\n\t * @param {string} targetAppUrl - The URL of the target application.\n\t * @returns {this} The current instance of the TaskPanel for method chaining.\n\t */\n\tpublic setTargetAppUrl(targetAppUrl: string): this {\n\t\tthis._viewAllTasksMenuItem.setVisible(!!targetAppUrl);\n\t\tthis.setProperty(\"targetAppUrl\", targetAppUrl);\n\t\treturn this;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TaskPanel.js","names":["sap","ui","define","Log","ActionTile","ActionTileContent","Button","ContentConfig","Link","List","MessageBox","Popover","StandardListItem","TileAttribute","sap_m_library","NumberFormat","__MenuItem","__ToDoPanel","__DecisionDialog","___utils_Device","___utils_FESRUtil","___utils_TaskUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","ContentConfigType","LoadState","PlacementType","URLHelper","MenuItem","ToDoPanel","DecisionDialog","getIconFrameBadge","getIconFrameBadgeValueState","calculateDeviceType","DeviceType","fetchElementProperties","addFESRId","addFESRSemanticStepName","FESR_EVENTS","fetchUserDetails","formatDate","getPriority","getTaskUrl","Format","TextArrangement","Constants","GRID_VIEW_MIN_ROWS","GRID_VIEW_MAX_ROWS","GRID_VIEW_MIN_WIDTH","GRID_VIEW_TWO_COL_MIN_WIDTH","GRID_VIEW_MAX_WIDTH","CARD_HEIGHT","splitCards","cards","maxLength","cardSet","i","length","push","slice","TaskPanel","extend","metadata","library","properties","enableActions","type","group","defaultValue","visibility","customAttributeUrl","constructor","_constructor","id","settings","ToDoPanel.prototype.constructor.call","init","_init","ToDoPanel.prototype.init.call","_customAttributeMap","_taskDefinitionMap","setProperty","_i18nBundle","getText","_viewAllTasksMenuItem","getId","title","icon","visible","press","_onPressViewAll","bind","insertAggregation","contentWrapper","getContent","addStyleClass","generateRequestUrls","_generateRequestUrls","cardCount","urls","getCountUrl","getDataUrl","getCustomAttributeUrl","generateCardTemplate","_generateCardTemplate","context","attributes","getObject","map","attribute","index","label","contentConfig","text","href","mode","frameType","pressEnabled","enableIconFrame","enableDynamicHeight","enableNavigationButton","headerImage","badgeIcon","getProperty","badgeValueState","header","state","priority","priorityText","_toPriorityText","event","_onPressTask","tileContent","headerLink","_onClickCreatedBy","actionButtons","viewButton","getSource","getParent","firePress","PRESS","approveButton","_onActionButtonPress","undefined","rejectButton","overflowButton","Transparent","_onOverflowButtonPress","overflowButtons","_getOverflowButtonPopover","openBy","_overflowPopover","_overflowList","showHeader","content","placement","VerticalPreferredBottom","_setupOverflowList","destroyItems","forEach","actionButton","listItem","pressHandler","addItem","_loadCards","_getCustomAttributes","task","finalAttributes","maximumAttributeCount","customAttributes","TaskDefinitionID","custom_attribute","customAttribute","taskCustomAttributes","CustomAttributeData","results","existingAttribute","find","taskAttribute","Name","name","value","referenced","Text","format","_formatCustomAttribute","textArrangement","_arrangeText","Value","_addCommonAttributes","trim","description","ValueText","formattedValue","TextFirst","TextLast","TextOnly","TextSeparate","taskAttributes","findAttribute","attributeName","oAttribute","toUpperCase","currentAttribute","CURRENCYVALUE","reference","referencedAttribute","currencyFormatter","getCurrencyInstance","parseFloat","USER","FormattedValue","CompletionDeadline","CreatedOn","getTargetAppUrl","control","getBindingContext","loadState","url","Loading","redirect","_this","sourceControl","SAP__Origin","originId","CreatedBy","userId","TaskTitle","subject","CreatedByName","createdBy","InstanceID","link","triggerEmail","email","URL","window","location","hash","toString","Promise","resolve","userData","Email","require","serviceContainer","getServiceAsync","teamsHelper","_temp2","enableContactsCollaboration","_temp","encodeURIComponent","_teamsHelper$enableCo","popover","error","Error","message","String","reject","warning","onDataReceived","_onDataReceived","options","_this2","tasks","taskDefinitions","_extractCustomAttributes","_temp3","onlyCount","_updateTasks","updatedTasks","_oData","displayTiles","tiles","_this3","_addCustomAttributes","_temp4","getEnableActions","_getTaskDefintions","_downloadDecisionOptions","_addActions","key","actions","getTaskActions","getBaseUrl","_this4","decisionKeys","decisionURLs","Object","keys","reduce","includes","_temp5","_clearRequests","requests","baseURL","requestURLs","success","decisionOptions","_submitBatch","taskDefinition","CustomAttributeDefinitionData","filter","Rank","sort","attr1","attr2","Label","Type","Reference","Referenced","getNoDataText","_getNoDataText","getVerticalCardCount","_getVerticalCardCount","domRef","calculationProperties","domProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","horizontalCardCount","getHorizontalCardCount","isPlaceholder","gap","verticalCardCount","_isLoaded","rowHeights","maxAttributes","attributeCount","card","visibleRowCount","Math","min","_isGridLayoutAllowed","rowHeight","floor","max","_adjustLayout","ToDoPanel.prototype._adjustLayout.call","deviceType","LargeDesktop","XLargeDesktop","setTargetAppUrl","_setTargetAppUrl","targetAppUrl","setVisible"],"sources":["TaskPanel.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 ActionTile from \"sap/m/ActionTile\";\nimport ActionTileContent from \"sap/m/ActionTileContent\";\nimport Button from \"sap/m/Button\";\nimport ContentConfig from \"sap/m/ContentConfig\";\nimport Link, { Link$PressEvent } from \"sap/m/Link\";\nimport List from \"sap/m/List\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport Popover from \"sap/m/Popover\";\nimport StandardListItem from \"sap/m/StandardListItem\";\nimport TileAttribute from \"sap/m/TileAttribute\";\nimport { ButtonType, ContentConfigType, LoadState, PlacementType, URLHelper } from \"sap/m/library\";\nimport ServiceContainer from \"sap/suite/ui/commons/collaboration/ServiceContainer\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport { MetadataOptions } from \"sap/ui/core/Element\";\nimport NumberFormat from \"sap/ui/core/format/NumberFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport MenuItem from \"./MenuItem\";\nimport { $TaskPanelSettings } from \"./TaskPanel\";\nimport type { CalculationProperties, RequestOptions } from \"./ToDoPanel\";\nimport ToDoPanel from \"./ToDoPanel\";\nimport DecisionDialog, { ActionButton, DecisionOption, getIconFrameBadge, getIconFrameBadgeValueState } from \"./utils/DecisionDialog\";\nimport { calculateDeviceType, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { fetchUserDetails, formatDate, getPriority, getTaskUrl, TaskPriority } from \"./utils/TaskUtils\";\n\ninterface CustomAttribute {\n\tname?: string;\n\tlabel?: string;\n\ttext?: string;\n\ttype?: string;\n\thref?: string;\n\tformat?: string;\n\treference?: string;\n\treferenced?: string;\n\ttextArrangement?: TextArrangement;\n}\n\ninterface TaskCustomAttribute {\n\tName: string;\n\tValue: string;\n\tValueText: string;\n\tLabel: string;\n\tType: string;\n\tRank: number;\n\tFormat: string;\n\tFormattedValue: string;\n\tReference: string;\n\tReferenced: string;\n\tTextArrangement: TextArrangement;\n}\n\nexport interface Task {\n\tSAP__Origin: string;\n\tCreatedBy: string;\n\tTaskTitle: string;\n\tCreatedByName: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n\tCompletionDeadline: string;\n\tCreatedOn: string;\n\tactions: ActionButton[];\n\tPriority: TaskPriority;\n\tCustomAttributeData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n\tattributes: CustomAttribute[];\n}\n\ninterface TaskDefintion {\n\tSAP__Origin: string;\n\tInstanceID: string;\n\tTaskDefinitionID: string;\n}\n\ninterface TaskDefinitionCollection {\n\tTaskDefinitionID: string;\n\tCustomAttributeDefinitionData: {\n\t\tresults: TaskCustomAttribute[];\n\t};\n}\n\nenum Format {\n\tCURRENCYVALUE = \"CURRENCYVALUE\",\n\tCURRENCYCODE = \"CURRENCYCODE\",\n\tUSER = \"USER\"\n}\n\nenum TextArrangement {\n\tTextFirst = \"TextFirst\",\n\tTextLast = \"TextLast\",\n\tTextOnly = \"TextOnly\",\n\tTextSeparate = \"TextSeparate\"\n}\n\nconst Constants = {\n\tGRID_VIEW_MIN_ROWS: 1,\n\tGRID_VIEW_MAX_ROWS: 2,\n\tGRID_VIEW_MIN_WIDTH: 304,\n\tGRID_VIEW_TWO_COL_MIN_WIDTH: 374,\n\tGRID_VIEW_MAX_WIDTH: 583,\n\tCARD_HEIGHT: {\n\t\t// Cozy - Compact\n\t\t1: 220, // 214 - 226\n\t\t2: 272, // 265 - 278\n\t\t3: 324, // 318 - 330\n\t\t4: 376 // 370 - 382\n\t}\n};\n\n/**\n * Splits an array of task cards into smaller arrays, each with a maximum specified length.\n *\n * @param {Task[]} cards - The array of task cards to be split.\n * @param {number} maxLength - The maximum length of each sub-array.\n * @returns {Task[][]} - An array of sub-arrays, each containing a maximum of `maxLength` task cards.\n */\nfunction splitCards(cards: Task[], maxLength: number): Task[][] {\n\tconst cardSet = [];\n\tfor (let i = 0; i < cards.length; i += maxLength) {\n\t\tcardSet.push(cards.slice(i, i + maxLength));\n\t}\n\n\treturn cardSet;\n}\n\n/**\n *\n * Panel class for managing and storing Task cards.\n *\n * @extends ToDoPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.TaskPanel\n */\nexport default class TaskPanel extends ToDoPanel {\n\tprivate _customAttributeMap!: Record<string, CustomAttribute[]>;\n\tprivate _taskDefinitionMap!: Record<string, DecisionOption[]>;\n\tprivate _viewAllTasksMenuItem!: MenuItem;\n\tprivate _overflowPopover!: Popover;\n\tprivate _overflowList!: List;\n\n\tconstructor(id?: string | $TaskPanelSettings);\n\tconstructor(id?: string, settings?: $TaskPanelSettings);\n\t/**\n\t * Constructor for a new Task Panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $TaskPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies if actions should be enabled for the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tenableActions: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcustomAttributeUrl: { type: \"string\", group: \"Data\", defaultValue: \"\", visibility: \"public\" }\n\t\t}\n\t};\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis._customAttributeMap = {};\n\t\tthis._taskDefinitionMap = {};\n\n\t\t//Configure Header\n\t\tthis.setProperty(\"key\", \"tasks\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"tasksTabTitle\"));\n\n\t\t//Setup Menu Items - ensure that 'View All Tasks' item is the first item in the list\n\t\tthis._viewAllTasksMenuItem = new MenuItem(`${this.getId()}-view-tasks-btn`, {\n\t\t\ttitle: this._i18nBundle.getText(\"viewAllTasksTitle\"),\n\t\t\ticon: \"sap-icon://inbox\",\n\t\t\tvisible: false,\n\t\t\tpress: this._onPressViewAll.bind(this)\n\t\t});\n\t\tthis.insertAggregation(\"menuItems\", this._viewAllTasksMenuItem, 0);\n\t\taddFESRId(this._viewAllTasksMenuItem, \"goToTaskSitution\");\n\n\t\t//Add custom styles\n\t\tconst [contentWrapper] = this.getContent() || [];\n\t\tcontentWrapper?.addStyleClass(\"sapUiGridTaskLayout\");\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t * Overridden method to provide task-specific URLs.\n\t *\n\t * @private\n\t * @override\n\t * @param {number} cardCount - The number of cards to retrieve.\n\t * @returns {string[]} An array of request URLs.\n\t */\n\tpublic generateRequestUrls(cardCount: number): string[] {\n\t\tconst urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];\n\n\t\tconst customAttributeUrl = this.getCustomAttributeUrl();\n\t\tif (customAttributeUrl) {\n\t\t\turls.push(customAttributeUrl);\n\t\t}\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * Generates a card template for tasks.\n\t * Overridden method from To-Do panel to generate task-specific card template.\n\t *\n\t * @private\n\t * @override\n\t * @param {string} id The ID for the template card.\n\t * @param {Context} context The context object.\n\t * @returns {Control} The generated card control template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\tconst attributes = (context.getObject() as Task).attributes?.map((attribute, index) => {\n\t\t\treturn new TileAttribute(`${id}-${index}-attribute`, {\n\t\t\t\tlabel: attribute.label as string,\n\t\t\t\tcontentConfig: new ContentConfig(`${id}-${index}-contentConfig`, {\n\t\t\t\t\ttype: attribute.type as ContentConfigType,\n\t\t\t\t\ttext: attribute.text as string,\n\t\t\t\t\thref: attribute.href as string\n\t\t\t\t})\n\t\t\t});\n\t\t});\n\n\t\treturn new ActionTile(`${id}-actionTile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\tenableIconFrame: true,\n\t\t\tenableDynamicHeight: true,\n\t\t\tenableNavigationButton: true,\n\t\t\theaderImage: \"sap-icon://workflow-tasks\",\n\t\t\tbadgeIcon: getIconFrameBadge(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tbadgeValueState: getIconFrameBadgeValueState(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\theader: context.getProperty(\"TaskTitle\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\tpriority: getPriority(context.getProperty(\"Priority\") as TaskPriority),\n\t\t\tpriorityText: this._toPriorityText(getPriority(context.getProperty(\"Priority\") as TaskPriority)),\n\t\t\tpress: (event: Event) => this._onPressTask(event),\n\t\t\ttileContent: [\n\t\t\t\tnew ActionTileContent(`${id}-actionTileContent`, {\n\t\t\t\t\theaderLink: new Link({\n\t\t\t\t\t\ttext: context.getProperty(\"CreatedByName\") as string,\n\t\t\t\t\t\tpress: (event: Event): void => {\n\t\t\t\t\t\t\tvoid this._onClickCreatedBy(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tattributes\n\t\t\t\t})\n\t\t\t],\n\t\t\tactionButtons: [\n\t\t\t\t(() => {\n\t\t\t\t\tconst viewButton = new Button(`${id}-view-btn`, {\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"viewButton\"),\n\t\t\t\t\t\tpress: (event: Event) => (event.getSource<Button>().getParent() as ActionTile).firePress(),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") === 0\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(viewButton, FESR_EVENTS.PRESS, \"todoActionViewBtn\");\n\t\t\t\t\treturn viewButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst approveButton = new Button(`${id}-approve-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/0/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/0/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/0/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/0\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(approveButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn approveButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst rejectButton = new Button(`${id}-reject-btn`, {\n\t\t\t\t\t\ttext: context.getProperty(\"actions/1/text\") as string,\n\t\t\t\t\t\ttype: context.getProperty(\"actions/1/type\") as ButtonType,\n\t\t\t\t\t\tpress: () => this._onActionButtonPress(context.getProperty(\"actions/1/pressHandler\") as () => void),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/1\") !== undefined\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(rejectButton, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\t\t\treturn rejectButton;\n\t\t\t\t})(),\n\t\t\t\t(() => {\n\t\t\t\t\tconst overflowButton = new Button(`${id}-overflow-btn`, {\n\t\t\t\t\t\ticon: \"sap-icon://overflow\",\n\t\t\t\t\t\ttype: ButtonType.Transparent,\n\t\t\t\t\t\tpress: (event: Event) => this._onOverflowButtonPress(event, context),\n\t\t\t\t\t\tvisible: context.getProperty(\"actions/length\") >= 3\n\t\t\t\t\t});\n\t\t\t\t\taddFESRSemanticStepName(overflowButton, FESR_EVENTS.PRESS, \"todoActBtnOverflow\");\n\t\t\t\t\treturn overflowButton;\n\t\t\t\t})()\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Handles the press event of the overflow button.\n\t * Opens a Popover containing overflow actions.\n\t *\n\t * @private\n\t * @param {Event} event - The press event triggered by the overflow button.\n\t * @param {Context} context - The context containing all actions.\n\t * @returns {void}\n\t */\n\tprivate _onOverflowButtonPress(event: Event, context: Context): void {\n\t\tconst overflowButtons = (context.getProperty(\"actions\") as ActionButton[]).slice(2);\n\t\tthis._getOverflowButtonPopover(overflowButtons).openBy(event.getSource<Button>());\n\t}\n\n\t/**\n\t * Creates or retrieves the overflow button Popover.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {Popover} The overflow button Popover.\n\t */\n\tprivate _getOverflowButtonPopover(actionButtons: ActionButton[]): Popover {\n\t\tif (!this._overflowPopover) {\n\t\t\tthis._overflowList = new List(`${this.getId()}-overflowList`);\n\t\t\tthis._overflowPopover = new Popover(`${this.getId()}-overflowPopover`, {\n\t\t\t\tshowHeader: false,\n\t\t\t\tcontent: this._overflowList,\n\t\t\t\tplacement: PlacementType.VerticalPreferredBottom\n\t\t\t});\n\t\t}\n\n\t\t//setup task-specific with task-specific actions\n\t\tthis._setupOverflowList(actionButtons);\n\t\treturn this._overflowPopover;\n\t}\n\n\t/**\n\t * Sets up the overflow button list with the provided task-specific actions.\n\t *\n\t * @private\n\t * @param {ActionButton[]} actionButtons - The array of overflow actions.\n\t * @returns {void}\n\t */\n\tprivate _setupOverflowList(actionButtons: ActionButton[]): void {\n\t\tthis._overflowList.destroyItems();\n\t\tactionButtons.forEach((actionButton, index) => {\n\t\t\tconst listItem = new StandardListItem(`action-${index}`, {\n\t\t\t\ttitle: actionButton.text,\n\t\t\t\ttype: \"Active\",\n\t\t\t\tpress: () => this._onActionButtonPress(actionButton.pressHandler as () => void)\n\t\t\t});\n\t\t\taddFESRSemanticStepName(listItem, FESR_EVENTS.PRESS, \"todoActionBtn\");\n\t\t\tthis._overflowList.addItem(listItem);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the button press event and executes the provided press handler function,\n\t * which refreshes the UI after the button press action.\n\t *\n\t * @private\n\t * @param {Function} pressHandler - The function to be executed when the button is pressed.\n\t * @returns {void}\n\t */\n\tprivate _onActionButtonPress(pressHandler: (refreshFn: () => Promise<void>) => void): void {\n\t\tpressHandler(this._loadCards.bind(this));\n\t}\n\n\t/**\n\t * Retrieves custom attributes for a given task and formats them for display.\n\t * If the task has completion deadline and creation date, those attributes are also included.\n\t * If the task has a creator, the creator's name is included as well.\n\t *\n\t * @param {Task} task - The task object for which custom attributes are retrieved.\n\t * @returns {CustomAttribute[]} - An array of formatted custom attributes.\n\t */\n\tprivate _getCustomAttributes(task: Task): CustomAttribute[] {\n\t\tconst finalAttributes = [];\n\t\tconst maximumAttributeCount = 4;\n\t\tconst customAttributes = this._customAttributeMap[task.TaskDefinitionID] || [];\n\n\t\tfor (let custom_attribute of customAttributes) {\n\t\t\tconst customAttribute = custom_attribute;\n\t\t\tconst taskCustomAttributes = task.CustomAttributeData?.results;\n\t\t\tconst existingAttribute = taskCustomAttributes.find((taskAttribute) => {\n\t\t\t\treturn taskAttribute.Name === customAttribute.name;\n\t\t\t});\n\t\t\tlet value = \"\";\n\n\t\t\tif (existingAttribute && !customAttribute.referenced) {\n\t\t\t\tconst attribute: CustomAttribute = {\n\t\t\t\t\tlabel: customAttribute.label + \":\",\n\t\t\t\t\ttype: ContentConfigType.Text\n\t\t\t\t};\n\n\t\t\t\tif (customAttribute.format) {\n\t\t\t\t\tvalue = this._formatCustomAttribute(customAttribute, taskCustomAttributes);\n\t\t\t\t} else if (customAttribute.textArrangement) {\n\t\t\t\t\tvalue = this._arrangeText(existingAttribute, customAttribute.textArrangement);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = customAttribute.type === \"Edm.DateTime\" ? formatDate(existingAttribute.Value) : existingAttribute.Value;\n\t\t\t\t}\n\t\t\t\tattribute.text = value || \"-\";\n\t\t\t\tfinalAttributes.push(attribute);\n\t\t\t}\n\t\t}\n\n\t\t// add common attributes\n\t\tthis._addCommonAttributes(finalAttributes, task);\n\n\t\treturn finalAttributes.slice(0, maximumAttributeCount);\n\t}\n\n\t/**\n\t * Formats the given unit of measure value and description based on the specified text arrangement.\n\t *\n\t * @private\n\t * @param {TaskCustomAttribute} customAttribute The custom attribute object.\n\t * @param {TextArrangement} textArrangement The text arrangement option.\n\t * @returns {string} The formatted value.\n\t */\n\tprivate _arrangeText(customAttribute: TaskCustomAttribute, textArrangement: TextArrangement): string {\n\t\tconst value = customAttribute.Value.trim();\n\t\tconst description = customAttribute.ValueText.trim();\n\t\tlet formattedValue = \"\";\n\n\t\tswitch (textArrangement) {\n\t\t\tcase TextArrangement.TextFirst:\n\t\t\t\tformattedValue = `${description} (${value})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextLast:\n\t\t\t\tformattedValue = `${value} (${description})`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextOnly:\n\t\t\t\tformattedValue = `${description}`;\n\t\t\t\tbreak;\n\t\t\tcase TextArrangement.TextSeparate:\n\t\t\t\tformattedValue = `${value}`;\n\t\t\t\tbreak;\n\t\t\tdefault: // TextFirst\n\t\t\t\tformattedValue = `${description} ${value})`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn formattedValue;\n\t}\n\n\t/**\n\t * Formats a custom attribute value based on its format type.\n\t *\n\t * @param {CustomAttribute} customAttribute - The custom attribute object.\n\t * @param {TaskCustomAttribute[]} taskAttributes - The array of task attributes.\n\t * @returns {string} - The formatted value.\n\t */\n\tprivate _formatCustomAttribute(customAttribute: CustomAttribute, taskAttributes: TaskCustomAttribute[] = []): string {\n\t\tconst findAttribute = (attributeName: string) => {\n\t\t\treturn taskAttributes.find((oAttribute) => {\n\t\t\t\treturn oAttribute.Name === attributeName;\n\t\t\t});\n\t\t};\n\t\tconst format = customAttribute.format?.toUpperCase();\n\t\tconst currentAttribute = findAttribute(customAttribute.name as string);\n\t\tlet formattedValue = currentAttribute?.Value;\n\n\t\t// Format = CurrencyValue\n\t\tif (format === Format.CURRENCYVALUE && customAttribute.reference) {\n\t\t\tconst referencedAttribute = findAttribute(customAttribute.reference);\n\n\t\t\tif (referencedAttribute) {\n\t\t\t\tconst currencyFormatter = NumberFormat.getCurrencyInstance();\n\t\t\t\tformattedValue = currencyFormatter.format(parseFloat(currentAttribute?.Value as string), referencedAttribute.Value);\n\t\t\t}\n\t\t} else if (format === Format.USER) {\n\t\t\tformattedValue = currentAttribute?.FormattedValue || currentAttribute?.Value;\n\t\t}\n\n\t\treturn formattedValue as string;\n\t}\n\n\t/**\n\t * Adds common attributes to the final attributes list based on the provided task.\n\t * Common attributes include completion deadline, creation date, and creator's name.\n\t *\n\t * @param {CustomAttribute[]} finalAttributes - The array of custom attributes to which the common attributes will be added.\n\t * @param {Task} task - The task object containing data for common attributes.\n\t */\n\tprivate _addCommonAttributes(finalAttributes: CustomAttribute[], task: Task): void {\n\t\tif (task.CompletionDeadline) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"dueDate\") + \":\",\n\t\t\t\ttext: formatDate(task.CompletionDeadline, \"MMM dd, YYYY hh:mm a\"),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\n\t\tif (task.CreatedOn) {\n\t\t\tfinalAttributes.push({\n\t\t\t\tlabel: this._i18nBundle.getText(\"createdOn\") + \":\",\n\t\t\t\ttext: formatDate(task.CreatedOn),\n\t\t\t\ttype: ContentConfigType.Text\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event of a task.\n\t *\n\t * @private\n\t * @param {Event} event - The press event.\n\t */\n\tprivate _onPressTask(event: Event) {\n\t\tif (this.getTargetAppUrl()) {\n\t\t\tconst control = event.getSource<ActionTile>();\n\t\t\tconst context = control.getBindingContext();\n\t\t\tconst loadState = context?.getProperty(\"loadState\") as LoadState;\n\t\t\tconst url = getTaskUrl(\n\t\t\t\tcontext?.getProperty(\"SAP__Origin\") as string,\n\t\t\t\tcontext?.getProperty(\"InstanceID\") as string,\n\t\t\t\tthis.getTargetAppUrl()\n\t\t\t);\n\n\t\t\tif (loadState !== LoadState.Loading) {\n\t\t\t\tURLHelper.redirect(url, false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the click event on the \"Created By\" link.\n\t * Triggers email or opens a contact card if configuration is enabled\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate async _onClickCreatedBy(event: Link$PressEvent): Promise<void> {\n\t\tconst sourceControl = event.getSource();\n\t\tconst {\n\t\t\tSAP__Origin: originId,\n\t\t\tCreatedBy: userId,\n\t\t\tTaskTitle: subject,\n\t\t\tCreatedByName: createdBy,\n\t\t\tInstanceID\n\t\t} = event.getSource().getBindingContext()?.getObject() as Task;\n\t\tconst link = getTaskUrl(originId, InstanceID, this.getTargetAppUrl());\n\t\tconst triggerEmail = (email: string, { subject, body }: { subject: string; body: string }) => {\n\t\t\tURLHelper.triggerEmail(email, subject, body);\n\t\t};\n\t\tconst url = new URL(window.location.href);\n\t\turl.hash = link;\n\t\tconst body = url.toString();\n\n\t\tconst userData = await fetchUserDetails(originId, userId);\n\t\tif (userData.Email) {\n\t\t\tsap.ui.require([\"sap/suite/ui/commons/collaboration/ServiceContainer\"], async (serviceContainer: ServiceContainer) => {\n\t\t\t\tconst teamsHelper = await serviceContainer.getServiceAsync();\n\n\t\t\t\tif (teamsHelper.enableContactsCollaboration) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst popover = (await teamsHelper.enableContactsCollaboration(userData.Email as string, {\n\t\t\t\t\t\t\tsubject,\n\t\t\t\t\t\t\tbody: encodeURIComponent(body)\n\t\t\t\t\t\t})) as Popover;\n\t\t\t\t\t\tpopover.openBy(sourceControl);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttriggerEmail(userData.Email as string, { subject, body });\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tMessageBox.warning(this._i18nBundle.getText(\"noEmail\", [createdBy]) as string);\n\t\t}\n\t}\n\n\t/**\n\t * Hook for processing data fetched from a batch call.\n\t * This method can be overridden to perform additional data processing operations.\n\t * In this implementation, it is consumed to handle task-related data, particularly\n\t * for extracting custom attributes if action cards are enabled.\n\t *\n\t * @private\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call. Structure may vary based on the backend service.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * @returns {Promise<void>} A Promise that resolves when the data processing is complete.\n\t */\n\tpublic async onDataReceived(results: unknown[], options: RequestOptions): Promise<void> {\n\t\tconst [tasks, taskDefinitions] = results;\n\t\tthis._extractCustomAttributes(taskDefinitions as TaskDefinitionCollection[]);\n\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tconst updatedTasks = await this._updateTasks(tasks as Task[]);\n\t\t\tthis._oData.displayTiles = this._oData.tiles = updatedTasks;\n\t\t}\n\t}\n\n\t/**\n\t * Updates the tasks with attributes and actions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to update.\n\t * @returns {Promise<Task[]>} A promise that resolves with the updated array of tasks.\n\t */\n\tprivate async _updateTasks(tasks: Task[] = []): Promise<Task[]> {\n\t\t//add custom attributes to tasks\n\t\tlet updatedTasks = this._addCustomAttributes(tasks);\n\n\t\t//add actions to tasks\n\t\tif (this.getEnableActions()) {\n\t\t\t//calculate unique task definitions\n\t\t\tconst taskDefinitions = this._getTaskDefintions(updatedTasks);\n\n\t\t\t//download decision options for task defintions\n\t\t\tawait this._downloadDecisionOptions(taskDefinitions);\n\n\t\t\t//append actions\n\t\t\tupdatedTasks = this._addActions(updatedTasks);\n\t\t}\n\n\t\treturn updatedTasks;\n\t}\n\n\t/**\n\t * Adds custom attributes to each task in the provided array.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which custom attributes will be added.\n\t * @returns {Task[]} - A new array of tasks, each with added custom attributes.\n\t */\n\tprivate _addCustomAttributes(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => ({\n\t\t\t...task,\n\t\t\tattributes: this._getCustomAttributes(task)\n\t\t}));\n\t}\n\n\t/**\n\t * Adds actions to the tasks based on their task definitions.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks to which actions will be added.\n\t * @returns {Task[]} The array of tasks with actions added.\n\t */\n\tprivate _addActions(tasks: Task[]): Task[] {\n\t\treturn tasks.map((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\treturn {\n\t\t\t\t...task,\n\t\t\t\tactions: this._taskDefinitionMap[key]\n\t\t\t\t\t? DecisionDialog.getTaskActions(task, this.getBaseUrl(), this._taskDefinitionMap, this._i18nBundle)\n\t\t\t\t\t: []\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Downloads decision options for the provided task definitions.\n\t *\n\t * @private\n\t * @param {Record<string, TaskDefinition>} taskDefinitions - The task definitions for which decision options will be downloaded.\n\t * @returns {Promise<void>} A promise that resolves when all decision options are downloaded and processed.\n\t */\n\tprivate async _downloadDecisionOptions(taskDefinitions: Record<string, TaskDefintion>): Promise<void> {\n\t\tconst decisionKeys: string[] = [];\n\t\tconst decisionURLs = Object.keys(taskDefinitions).reduce((urls: string[], key) => {\n\t\t\tif (!Object.keys(this._taskDefinitionMap).includes(key)) {\n\t\t\t\tdecisionKeys.push(key);\n\t\t\t\tthis._taskDefinitionMap[key] = [];\n\n\t\t\t\tconst { SAP__Origin, InstanceID } = taskDefinitions[key];\n\t\t\t\turls.push(`DecisionOptions?SAP__Origin='${SAP__Origin}'&InstanceID='${InstanceID}'`);\n\t\t\t}\n\t\t\treturn urls;\n\t\t}, []);\n\n\t\tif (decisionURLs.length) {\n\t\t\tthis._clearRequests();\n\t\t\tthis.requests.push({\n\t\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\t\trequestURLs: decisionURLs,\n\t\t\t\tsuccess: (results: DecisionOption[][]): Promise<void> => {\n\t\t\t\t\tresults.forEach((decisionOptions: DecisionOption[], index) => {\n\t\t\t\t\t\tthis._taskDefinitionMap[decisionKeys[index]] = decisionOptions;\n\t\t\t\t\t});\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tawait this._submitBatch();\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves unique task definitions from the provided array of tasks.\n\t *\n\t * @private\n\t * @param {Task[]} tasks - The array of tasks from which to retrieve task definitions.\n\t * @returns {Record<string, TaskDefintion>} An object containing unique task definitions.\n\t */\n\tprivate _getTaskDefintions(tasks: Task[] = []): Record<string, TaskDefintion> {\n\t\tconst taskDefinitions: Record<string, TaskDefintion> = {};\n\t\ttasks.forEach((task) => {\n\t\t\tconst key = task.SAP__Origin + task.TaskDefinitionID;\n\t\t\tif (!taskDefinitions[key]) {\n\t\t\t\ttaskDefinitions[key] = {\n\t\t\t\t\tSAP__Origin: task.SAP__Origin,\n\t\t\t\t\tInstanceID: task.InstanceID,\n\t\t\t\t\tTaskDefinitionID: task.TaskDefinitionID\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\treturn taskDefinitions;\n\t}\n\n\t/**\n\t * Extracts Custom Attribute Information to create an attribute map from raw attribute data\n\t * received from call, which is used while task processing\n\t *\n\t * @private\n\t * @param {TaskDefinitionCollection[]} taskDefinitions - array of raw tasks definitions\n\t */\n\tprivate _extractCustomAttributes(taskDefinitions: TaskDefinitionCollection[] = []): void {\n\t\ttaskDefinitions.forEach((taskDefinition: TaskDefinitionCollection) => {\n\t\t\tconst customAttributes = taskDefinition.CustomAttributeDefinitionData?.results || [];\n\t\t\tthis._customAttributeMap[taskDefinition.TaskDefinitionID] = customAttributes\n\t\t\t\t.filter((oAttribute) => oAttribute.Rank > 0)\n\t\t\t\t.sort((attr1, attr2) => attr2.Rank - attr1.Rank)\n\t\t\t\t.map((oAttribute) => ({\n\t\t\t\t\tname: oAttribute.Name,\n\t\t\t\t\tlabel: oAttribute.Label,\n\t\t\t\t\ttype: oAttribute.Type,\n\t\t\t\t\tformat: oAttribute.Format,\n\t\t\t\t\treference: oAttribute.Reference,\n\t\t\t\t\treferenced: oAttribute.Referenced,\n\t\t\t\t\ttextArrangement: oAttribute.TextArrangement\n\t\t\t\t}));\n\t\t});\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @private\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noTaskTitle\") as string;\n\t}\n\n\t/**\n\t * Calculates the number of vertical cards that can fit within the available height of the given DOM element.\n\t *\n\t * @private\n\t * @override\n\t * @param {Element} domRef - The DOM element to calculate the vertical card count for.\n\t * @returns {number} - The number of vertical cards that can fit within the available height.\n\t */\n\tpublic getVerticalCardCount(domRef: Element, calculationProperties?: CalculationProperties): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"padding-top\"]);\n\t\tconst parentDomProperties = fetchElementProperties(domRef.parentElement as Element, [\"height\"]);\n\t\tconst titleHeight = this.calculateTitleHeight();\n\t\tconst availableHeight = parentDomProperties.height - domProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst horizontalCardCount = this.getHorizontalCardCount(domRef);\n\t\tconst isPlaceholder = calculationProperties?.isPlaceholder;\n\t\tconst gap = 16;\n\t\tlet height = 0;\n\t\tlet verticalCardCount = 0;\n\n\t\tif (this._isLoaded()) {\n\t\t\tconst cardSet = splitCards(this._oData.tiles as Task[], horizontalCardCount);\n\t\t\tconst rowHeights = cardSet.map((cards: Task[]) => {\n\t\t\t\tconst maxAttributes = cards.reduce(function (attributeCount: number, card: Task) {\n\t\t\t\t\tcard.attributes = card.attributes || [];\n\t\t\t\t\treturn card.attributes.length > attributeCount ? card.attributes.length : attributeCount;\n\t\t\t\t}, 1);\n\n\t\t\t\tlet visibleRowCount = Math.min(maxAttributes, 4);\n\t\t\t\tif (this._isGridLayoutAllowed()) {\n\t\t\t\t\t// If grid view is enabled, restrict the card height to 2 rows\n\t\t\t\t\tvisibleRowCount =\n\t\t\t\t\t\tvisibleRowCount > Constants.GRID_VIEW_MAX_ROWS ? Constants.GRID_VIEW_MAX_ROWS : Constants.GRID_VIEW_MIN_ROWS;\n\t\t\t\t}\n\n\t\t\t\treturn Constants.CARD_HEIGHT[visibleRowCount as keyof typeof Constants.CARD_HEIGHT] + gap;\n\t\t\t});\n\n\t\t\tfor (let rowHeight of rowHeights) {\n\t\t\t\tif (height + rowHeight < availableHeight) {\n\t\t\t\t\theight += rowHeight;\n\t\t\t\t\tverticalCardCount++;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tverticalCardCount = Math.floor(availableHeight / Constants.CARD_HEIGHT[isPlaceholder ? \"4\" : \"1\"]);\n\t\t}\n\n\t\treturn Math.max(verticalCardCount, 2);\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout(): void {\n\t\tsuper._adjustLayout();\n\n\t\tthis.setProperty(\n\t\t\t\"minCardWidth\",\n\t\t\tthis._isGridLayoutAllowed() ? Constants.GRID_VIEW_TWO_COL_MIN_WIDTH : Constants.GRID_VIEW_MIN_WIDTH\n\t\t);\n\t\tthis.setProperty(\"maxCardWidth\", Constants.GRID_VIEW_MAX_WIDTH);\n\t}\n\n\t/**\n\t * Determines if grid view is allowed for displaying card content based on the device type.\n\t *\n\t * @returns {boolean} `true` if the device type is either Desktop or LargeDesktop, otherwise `false`.\n\t */\n\tprotected _isGridLayoutAllowed(): boolean {\n\t\tconst deviceType = calculateDeviceType();\n\t\treturn deviceType === DeviceType.LargeDesktop || deviceType === DeviceType.XLargeDesktop;\n\t}\n\n\t/**\n\t * Sets the target application URL and updates the visibility of the \"View All Tasks\" menu item.\n\t *\n\t * @param {string} targetAppUrl - The URL of the target application.\n\t * @returns {this} The current instance of the TaskPanel for method chaining.\n\t */\n\tpublic setTargetAppUrl(targetAppUrl: string): this {\n\t\tthis._viewAllTasksMenuItem.setVisible(!!targetAppUrl);\n\t\tthis.setProperty(\"targetAppUrl\", targetAppUrl);\n\t\treturn this;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -140,8 +140,8 @@ function splitCards(cards: Task[], maxLength: number): Task[][] {
140
140
  * @version 0.0.1
141
141
  * @since 1.121
142
142
  *
143
- * @internal
144
- * @public
143
+ * @private
144
+ * @ui5-restricted ux.eng.s4producthomes1
145
145
  *
146
146
  * @alias sap.cux.home.TaskPanel
147
147
  */
@@ -207,7 +207,8 @@ export default class TaskPanel extends ToDoPanel {
207
207
  this.insertAggregation("menuItems", this._viewAllTasksMenuItem, 0);
208
208
  addFESRId(this._viewAllTasksMenuItem, "goToTaskSitution");
209
209
 
210
- const [contentWrapper] = this._getContent() || [];
210
+ //Add custom styles
211
+ const [contentWrapper] = this.getContent() || [];
211
212
  contentWrapper?.addStyleClass("sapUiGridTaskLayout");
212
213
  }
213
214
 
@@ -45,8 +45,8 @@ declare module "sap/cux/home/TilesPanel" {
45
45
  * @version 0.0.1
46
46
  * @since 1.122.0
47
47
  *
48
- * @internal
49
- * @public
48
+ * @private
49
+ * @ui5-restricted ux.eng.s4producthomes1
50
50
  *
51
51
  * @alias sap.cux.home.TilesPanel
52
52
  */
@@ -222,7 +222,6 @@ declare module "sap/cux/home/TilesPanel" {
222
222
  * Navigates to the App Finder with optional group Id.
223
223
  * @async
224
224
  * @private
225
- * @param {string} [groupId] - Optional group Id
226
225
  */
227
226
  private navigateToAppFinder;
228
227
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yBAAyB,CAAC;IASzC,OAAO,MAAM,MAAM,cAAc,CAAC;IAkBlC,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,UAAU,MAAM,qBAAqB,CAAC;IAa7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;IAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;IAW9D,KAAY,cAAc;QACzB,OAAO,kBAAkB;QACzB,QAAQ,uBAAuB;QAC/B,UAAU,oBAAoB;KAC9B;IAED,KAAY,uBAAuB;QAClC,OAAO,4BAA4B;QACnC,QAAQ,iCAAiC;QACzC,UAAU,8BAA8B;QACxC,SAAS,qCAAqC;KAC9C;IAED,KAAY,kBAAkB;QAC7B,SAAS,yBAAyB;KAClC;IAED,KAAY,2BAA2B;QACtC,SAAS,mCAAmC;QAC5C,SAAS,wCAAwC;KACjD;IAED,KAAY,aAAa;QACxB,QAAQ,aAAa;QACrB,YAAY,iBAAiB;KAC7B;IAED,MAAM,eAAe,EAAE,MAAmC,CAAC;IAC3D,MAAM,kBAAkB,EAAE,MAAqC,CAAC;IAEhE,MAAM,eAAe,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAM/C,CAAC;IAEF,MAAM,YAAY,QACoF,OACrG,CAAC;IAEF,MAAM,iBAAiB,MAAM,CAAC;IAC9B,MAAM,qBAAqB,MAAM,CAAC;IAClC,MAAM,GAAG,KAAK,CAAC;IAEf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,SAAS;oBACpC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB;oBAC3C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB;QAUvD,OAAO,CAAC,MAAM,CAA2B;QACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0D;QAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8C;QAClF,OAAO,CAAC,kBAAkB,CAAc;QACxC,OAAO,CAAC,uBAAuB,CAA8B;QAC7D,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,oBAAoB,CAAmB;QAC/C,OAAO,CAAC,aAAa,CAAQ;QAC7B,OAAO,CAAC,aAAa,CAA0C;QAC/D,OAAO,CAAC,aAAa,CAAa;QAC3B,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;QACjE,OAAO,CAAC,mBAAmB,CAAc;QACzC,OAAO,CAAC,uBAAuB,CAAY;QAC3C,OAAO,CAAC,SAAS,CAAY;QAC7B,OAAO,CAAC,iBAAiB,CAAqB;QAC9C,OAAO,CAAC,YAAY,CAAW;QAC/B,OAAO,CAAC,cAAc,CAAkB;QACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CA+BvC;QAEF;;;;;WAKG;QACH,IAAI;QAsDJ;;;;;WAKG;QACH,OAAO,CAAC,mBAAmB;QAqB3B;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QActB;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAKnB;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAqBzB;;;;;WAKG;QACH,OAAO,CAAC,kBAAkB;QAI1B;;;;;WAKG;QACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;QAkBzC;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAOtB;;;;;;WAMG;QACU,WAAW,CAAC,YAAY,GAAE,OAAe;QA2BtD;;;;;;WAMG;QACH,OAAO,CAAC,uBAAuB;QAa/B;;;;WAIG;QAEH,OAAO,CAAC,wBAAwB;QAoBhC;;;;WAIG;QAEH,OAAO,CAAC,qBAAqB;QAc7B;;;;;;WAMG;QACH,OAAO,CAAC,oBAAoB;QAQ5B;;;;;;;WAOG;QACH,OAAO,CAAC,6BAA6B;QA6BrC;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;QAmBhC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAkBvB;;;;;;;;WAQG;gBACW,eAAe;QAyB7B;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAUvB;;;WAGG;QACI,gBAAgB;QAMvB;;;WAGG;QACI,eAAe;QAMtB;;;;WAIG;QACH,OAAO,CAAC,sBAAsB;QAM9B;;;;;WAKG;gBACW,mBAAmB;QAgBjC;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;WAIG;gBACW,qBAAqB;QAQnC;;;;;;WAMG;gBACW,YAAY;QAqB1B;;;;WAIG;QACH,OAAO,CAAC,oBAAoB;QAK5B;;;;;WAKG;QACH,OAAO,CAAC,gCAAgC;QA2CxC;;;;;WAKG;QACH,OAAO,CAAC,6BAA6B;QAmGrC;;;;;;WAMG;gBACW,eAAe;QAqC7B;;;;;;WAMG;QACH,OAAO,CAAC,0BAA0B;QA4BlC,OAAO,CAAC,8BAA8B;QAetC;;;;;WAKG;QACI,aAAa;QA2CpB;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAO7B;;;;;WAKG;QACI,qBAAqB,IAAI,QAAQ,EAAE;QAgB1C;;;;;WAKG;QACI,yBAAyB,IAAI,MAAM,EAAE;QAoB5C;;;;;;;WAOG;QACH,OAAO,CAAC,sBAAsB;QAe9B;;;;;;;WAOG;QACH,OAAO,CAAC,yBAAyB;QAgBjC;;;;;;;WAOG;QACH,OAAO,CAAC,wBAAwB;QAehC;;;;;;;WAOG;QACH,OAAO,CAAC,qBAAqB;QAuB7B;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;KAQ5B;CAEA"}
1
+ {"version":3,"file":"TilesPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesPanel.ts"],"names":[],"mappings":"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"}
@@ -99,8 +99,8 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
99
99
  * @version 0.0.1
100
100
  * @since 1.122.0
101
101
  *
102
- * @internal
103
- * @public
102
+ * @private
103
+ * @ui5-restricted ux.eng.s4producthomes1
104
104
  *
105
105
  * @alias sap.cux.home.TilesPanel
106
106
  */
@@ -138,6 +138,14 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
138
138
  },
139
139
  defaultAggregation: "tiles",
140
140
  aggregations: {
141
+ /**
142
+ * Specifies the content aggregation of the panel.
143
+ */
144
+ content: {
145
+ multiple: true,
146
+ singularName: "content",
147
+ visibility: "hidden"
148
+ },
141
149
  /**
142
150
  * Aggregation of tiles available within the tiles Panel
143
151
  */
@@ -167,6 +175,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
167
175
  BasePanel.prototype.constructor.call(this, id, settings);
168
176
  this._insightsSectionTitle = this._i18nBundle.getText("insights");
169
177
  this._addFromFavDialogId = `${this.getId()}-addFromFavDialog`;
178
+ this.aInsightsApps = [];
170
179
  this._headerVisible = false;
171
180
  },
172
181
  /**
@@ -312,7 +321,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
312
321
  columns: 2
313
322
  }));
314
323
  });
315
- this._controlModel.setProperty("/tiles", this.aInsightsApps);
324
+ this._controlModel.setProperty("/tiles", this.aInsightsApps, undefined, true);
316
325
  },
317
326
  /**
318
327
  * Clears the placeholder tiles.
@@ -339,6 +348,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
339
348
  const _temp3 = _finallyRethrows(function () {
340
349
  return _catch(function () {
341
350
  const container = _this3.getParent();
351
+ _this3._showPlaceHolders();
342
352
  if (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {
343
353
  const addFromFavAppMenuItem = _this3._createAddFromFavMenuItem(tilesMenuItems.ADD_APPS, "smartAppsDialog");
344
354
  _this3.addAggregation("menuItems", addFromFavAppMenuItem);
@@ -434,9 +444,8 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
434
444
  width: "100%",
435
445
  items: [this._createMobileFlexWrapper(), this._createWrapperFlexBox()]
436
446
  });
437
- this._showPlaceHolders();
438
447
  this._tilesWrapper.setModel(this._controlModel);
439
- this._addContent(this._tilesWrapper);
448
+ this.addContent(this._tilesWrapper);
440
449
  }
441
450
  },
442
451
  /**
@@ -535,21 +544,24 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
535
544
  */
536
545
  _setDropAreaRectFunction: function _setDropAreaRectFunction(oVisualization) {
537
546
  const tilesDropAreaOffset = 8;
538
- Object.defineProperty(oVisualization, "getDropAreaRect", {
539
- value: function () {
540
- const domRef = this.getDomRef();
541
- if (!domRef) return null;
542
- const mDropRect = domRef.getBoundingClientRect();
543
- return {
544
- left: mDropRect.left - tilesDropAreaOffset,
545
- right: mDropRect.right + tilesDropAreaOffset,
546
- top: mDropRect.top,
547
- bottom: mDropRect.bottom,
548
- width: mDropRect.width,
549
- height: mDropRect.height
550
- };
551
- }
552
- });
547
+ const vizObj = oVisualization;
548
+ if (typeof vizObj.getDropAreaRect !== "function") {
549
+ Object.defineProperty(oVisualization, "getDropAreaRect", {
550
+ value: function () {
551
+ const domRef = this.getDomRef();
552
+ if (!domRef) return null;
553
+ const mDropRect = domRef.getBoundingClientRect();
554
+ return {
555
+ left: mDropRect.left - tilesDropAreaOffset,
556
+ right: mDropRect.right + tilesDropAreaOffset,
557
+ top: mDropRect.top,
558
+ bottom: mDropRect.bottom,
559
+ width: mDropRect.width,
560
+ height: mDropRect.height
561
+ };
562
+ }
563
+ });
564
+ }
553
565
  },
554
566
  /**
555
567
  * Handles the drag and drop of tiles.
@@ -658,18 +670,14 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
658
670
  * Navigates to the App Finder with optional group Id.
659
671
  * @async
660
672
  * @private
661
- * @param {string} [groupId] - Optional group Id
662
673
  */
663
- navigateToAppFinder: function _navigateToAppFinder(groupId) {
674
+ navigateToAppFinder: function _navigateToAppFinder() {
664
675
  try {
665
676
  return Promise.resolve(Container.getServiceAsync("Navigation")).then(function (navigationService) {
666
677
  const navigationObject = {
667
678
  pageID: MYHOME_PAGE_ID,
668
679
  sectionID: MYINSIGHT_SECTION_ID
669
680
  };
670
- if (groupId) {
671
- navigationObject.sectionID = groupId;
672
- }
673
681
  return Promise.resolve(navigationService.navigate({
674
682
  target: {
675
683
  shellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`
@@ -829,7 +837,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
829
837
  description: this._i18nBundle.getText("tilesSectionNoDataDescription"),
830
838
  visible: true
831
839
  }).addStyleClass("sapUiLargeMarginTop"));
832
- this._controlMap.set(id, new Dialog(id, {
840
+ const dialog = new Dialog(id, {
833
841
  title: this._i18nBundle.getText("addSmartApps"),
834
842
  content: [new Label({
835
843
  id: `${id}-label`,
@@ -857,7 +865,9 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
857
865
  text: this._i18nBundle.getText("cancelBtn"),
858
866
  press: this._closeAddFromFavDialog.bind(this)
859
867
  })]
860
- }).addStyleClass("sapContrastPlus sapCuxAddFromInsightsDialog"));
868
+ }).addStyleClass("sapContrastPlus sapCuxAddFromInsightsDialog");
869
+ this.addDependent(dialog);
870
+ this._controlMap.set(id, dialog);
861
871
  }
862
872
  setAddBtnEnabled();
863
873
  return this._controlMap.get(id);
@@ -875,40 +885,60 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerItemLa
875
885
  const dialog = _this8._controlMap.get(_this8._addFromFavDialogId);
876
886
  dialog.setBusy(true);
877
887
  const selectedItems = _this8._getSelectedInsights();
878
- return Promise.resolve(selectedItems.reduce(function (promise, oApp) {
879
- return Promise.resolve(promise).then(function () {
880
- const app = oApp.data("app");
881
- const oMovingConfig = {
882
- pageId: MYHOME_PAGE_ID,
883
- sourceSectionIndex: app.persConfig?.sectionIndex,
884
- sourceVisualizationIndex: app.persConfig?.visualizationIndex,
885
- targetSectionIndex: _this8.appManagerInstance.insightsSectionIndex,
886
- targetVisualizationIndex: -1
887
- };
888
- if (app.visualization?.displayFormatHint !== "standard" && app.visualization?.displayFormatHint !== "standardWide") {
889
- if (app.visualization?.supportedDisplayFormats?.includes("standard")) {
890
- app.visualization.displayFormatHint = "standard";
891
- } else if (app.visualization?.supportedDisplayFormats?.includes("standardWide")) {
892
- app.visualization.displayFormatHint = "standardWide";
888
+ return Promise.resolve(_this8.appManagerInstance._getSections()).then(function (sections) {
889
+ return Promise.resolve(selectedItems.reduce(function (promise, oApp) {
890
+ return Promise.resolve(promise).then(function () {
891
+ const app = oApp.data("app");
892
+ const oMovingConfig = {
893
+ pageId: MYHOME_PAGE_ID,
894
+ sourceSectionIndex: app.persConfig?.sectionIndex,
895
+ sourceVisualizationIndex: app.persConfig?.visualizationIndex,
896
+ targetSectionIndex: _this8.appManagerInstance.insightsSectionIndex,
897
+ targetVisualizationIndex: -1
898
+ };
899
+
900
+ /**
901
+ * If the app is a bookmark, we need to update the source and target section indices accordingly.
902
+ * This is because bookmarks are added to the "Recent Apps" section,
903
+ * which is always at the top of the list, and the insights section index is shifted by one.
904
+ */
905
+ // Add Selected App to Insights Section
906
+ if (app.visualization?.isBookmark) {
907
+ const recentAppSectionIndex = sections.findIndex(section => section.default);
908
+ if (recentAppSectionIndex === -1) {
909
+ oMovingConfig.sourceSectionIndex = 0;
910
+ oMovingConfig.sourceVisualizationIndex = 0;
911
+ oMovingConfig.targetSectionIndex = _this8.appManagerInstance.insightsSectionIndex + 1;
912
+ } else {
913
+ oMovingConfig.sourceSectionIndex = recentAppSectionIndex;
914
+ oMovingConfig.sourceVisualizationIndex = sections[recentAppSectionIndex]?.visualizations?.length || 0;
915
+ oMovingConfig.targetSectionIndex = _this8.appManagerInstance.insightsSectionIndex;
916
+ }
893
917
  }
894
- }
895
- // Add Selected App to Insights Section
896
- if (!app.visualization?.vizId) {
897
- app.visualization.vizId = app.visualization?.targetURL ?? "";
898
- }
899
- const _temp7 = function () {
900
- if (app.visualization?.isBookmark === true) {
901
- return Promise.resolve(_this8.appManagerInstance.addBookMark(app.visualization, oMovingConfig)).then(function () {});
902
- } else {
903
- return Promise.resolve(_this8.appManagerInstance.addVisualization(app.visualization?.vizId, MYINSIGHT_SECTION_ID)).then(function () {});
918
+ if (app.visualization?.displayFormatHint !== "standard" && app.visualization?.displayFormatHint !== "standardWide") {
919
+ if (app.visualization?.supportedDisplayFormats === "standard") {
920
+ app.visualization.displayFormatHint = "standard";
921
+ } else if (app.visualization?.supportedDisplayFormats === "standardWide") {
922
+ app.visualization.displayFormatHint = "standardWide";
923
+ }
904
924
  }
905
- }();
906
- if (_temp7 && _temp7.then) return _temp7.then(function () {});
907
- });
908
- }, Promise.resolve())).then(function () {
909
- return Promise.resolve(_this8.refreshData()).then(function () {
910
- dialog.setBusy(false);
911
- dialog.close();
925
+ if (!app.visualization?.vizId) {
926
+ app.visualization.vizId = app.visualization?.targetURL ?? "";
927
+ }
928
+ const _temp7 = function () {
929
+ if (app.visualization?.isBookmark === true) {
930
+ return Promise.resolve(_this8.appManagerInstance.addBookMark(app.visualization, oMovingConfig)).then(function () {});
931
+ } else {
932
+ return Promise.resolve(_this8.appManagerInstance.addVisualization(app.visualization?.vizId, MYINSIGHT_SECTION_ID)).then(function () {});
933
+ }
934
+ }();
935
+ if (_temp7 && _temp7.then) return _temp7.then(function () {});
936
+ });
937
+ }, Promise.resolve())).then(function () {
938
+ return Promise.resolve(_this8.refreshData()).then(function () {
939
+ dialog.setBusy(false);
940
+ dialog.close();
941
+ });
912
942
  });
913
943
  });
914
944
  } catch (e) {