@sapui5/sap.cux.home 1.142.0 → 1.142.2

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 (528) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +4 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.gen.d.ts +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js +7 -6
  7. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  8. package/src/sap/cux/home/AdvancedSettingsPanel.ts +7 -6
  9. package/src/sap/cux/home/App.d.ts.map +1 -1
  10. package/src/sap/cux/home/App.gen.d.ts +1 -1
  11. package/src/sap/cux/home/App.js +6 -3
  12. package/src/sap/cux/home/App.js.map +1 -1
  13. package/src/sap/cux/home/App.ts +6 -3
  14. package/src/sap/cux/home/AppsAdditionPanel.d.ts +47 -34
  15. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  16. package/src/sap/cux/home/AppsAdditionPanel.js +334 -238
  17. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  18. package/src/sap/cux/home/AppsAdditionPanel.ts +345 -231
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.gen.d.ts +1 -1
  21. package/src/sap/cux/home/AppsContainer.js +4 -3
  22. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  23. package/src/sap/cux/home/AppsContainer.ts +4 -3
  24. package/src/sap/cux/home/BaseApp.gen.d.ts +1 -1
  25. package/src/sap/cux/home/BaseApp.js +1 -1
  26. package/src/sap/cux/home/BaseApp.js.map +1 -1
  27. package/src/sap/cux/home/BaseApp.ts +1 -1
  28. package/src/sap/cux/home/BaseAppPanel.d.ts +9 -0
  29. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  30. package/src/sap/cux/home/BaseAppPanel.gen.d.ts +1 -1
  31. package/src/sap/cux/home/BaseAppPanel.js +21 -2
  32. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  33. package/src/sap/cux/home/BaseAppPanel.ts +23 -2
  34. package/src/sap/cux/home/BaseAppPersPanel.d.ts +1 -1
  35. package/src/sap/cux/home/BaseAppPersPanel.gen.d.ts +1 -1
  36. package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
  37. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  38. package/src/sap/cux/home/BaseAppPersPanel.ts +1 -1
  39. package/src/sap/cux/home/BaseContainer.d.ts +2 -2
  40. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  41. package/src/sap/cux/home/BaseContainer.gen.d.ts +1 -1
  42. package/src/sap/cux/home/BaseContainer.js +11 -3
  43. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  44. package/src/sap/cux/home/BaseContainer.ts +8 -4
  45. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  46. package/src/sap/cux/home/BaseContainerRenderer.js +7 -1
  47. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  48. package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
  49. package/src/sap/cux/home/BaseLayout.d.ts +1 -1
  50. package/src/sap/cux/home/BaseLayout.gen.d.ts +1 -1
  51. package/src/sap/cux/home/BaseLayout.js +1 -1
  52. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  53. package/src/sap/cux/home/BaseLayout.ts +1 -1
  54. package/src/sap/cux/home/BaseLayoutRenderer.js +1 -1
  55. package/src/sap/cux/home/BaseLayoutRenderer.js.map +1 -1
  56. package/src/sap/cux/home/BaseLayoutRenderer.ts +1 -1
  57. package/src/sap/cux/home/BaseNewsItem.d.ts +1 -1
  58. package/src/sap/cux/home/BaseNewsItem.gen.d.ts +1 -1
  59. package/src/sap/cux/home/BaseNewsItem.js +1 -1
  60. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  61. package/src/sap/cux/home/BaseNewsItem.ts +1 -1
  62. package/src/sap/cux/home/BaseNewsPanel.gen.d.ts +1 -1
  63. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  64. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  65. package/src/sap/cux/home/BaseNewsPanel.ts +3 -3
  66. package/src/sap/cux/home/BasePagePanel.d.ts +1 -1
  67. package/src/sap/cux/home/BasePagePanel.gen.d.ts +1 -1
  68. package/src/sap/cux/home/BasePagePanel.js +1 -1
  69. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  70. package/src/sap/cux/home/BasePagePanel.ts +1 -1
  71. package/src/sap/cux/home/BasePanel.d.ts +1 -1
  72. package/src/sap/cux/home/BasePanel.gen.d.ts +1 -1
  73. package/src/sap/cux/home/BasePanel.js +1 -1
  74. package/src/sap/cux/home/BasePanel.js.map +1 -1
  75. package/src/sap/cux/home/BasePanel.ts +1 -1
  76. package/src/sap/cux/home/BaseSettingsDialog.d.ts +1 -1
  77. package/src/sap/cux/home/BaseSettingsDialog.gen.d.ts +1 -1
  78. package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
  79. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  80. package/src/sap/cux/home/BaseSettingsDialog.ts +1 -1
  81. package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -1
  82. package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +1 -1
  83. package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
  84. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  85. package/src/sap/cux/home/BaseSettingsPanel.ts +1 -1
  86. package/src/sap/cux/home/CardsContainer.d.ts +108 -0
  87. package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
  88. package/src/sap/cux/home/CardsContainer.js +207 -0
  89. package/src/sap/cux/home/CardsContainer.js.map +1 -0
  90. package/src/sap/cux/home/CardsContainer.ts +202 -0
  91. package/src/sap/cux/home/CardsPanel.d.ts +43 -62
  92. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  93. package/src/sap/cux/home/CardsPanel.gen.d.ts +1 -1
  94. package/src/sap/cux/home/CardsPanel.js +346 -286
  95. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  96. package/src/sap/cux/home/CardsPanel.ts +212 -201
  97. package/src/sap/cux/home/ContentAdditionDialog.d.ts +3 -1
  98. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  99. package/src/sap/cux/home/ContentAdditionDialog.js +13 -7
  100. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  101. package/src/sap/cux/home/ContentAdditionDialog.ts +14 -6
  102. package/src/sap/cux/home/CustomFlexBox.gen.d.ts +1 -1
  103. package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
  104. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  105. package/src/sap/cux/home/ErrorPanel.gen.d.ts +32 -1
  106. package/src/sap/cux/home/ErrorPanel.js +12 -17
  107. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  108. package/src/sap/cux/home/ErrorPanel.ts +8 -20
  109. package/src/sap/cux/home/FavAppPanel.d.ts +1 -2
  110. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  111. package/src/sap/cux/home/FavAppPanel.js +297 -302
  112. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  113. package/src/sap/cux/home/FavAppPanel.ts +15 -11
  114. package/src/sap/cux/home/FrequentAppPanel.js +1 -1
  115. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  116. package/src/sap/cux/home/FrequentAppPanel.ts +1 -1
  117. package/src/sap/cux/home/Group.d.ts +1 -1
  118. package/src/sap/cux/home/Group.gen.d.ts +1 -1
  119. package/src/sap/cux/home/Group.js +1 -1
  120. package/src/sap/cux/home/Group.js.map +1 -1
  121. package/src/sap/cux/home/Group.ts +1 -1
  122. package/src/sap/cux/home/IToDoPanel.d.ts +1 -1
  123. package/src/sap/cux/home/IToDoPanel.js +1 -1
  124. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  125. package/src/sap/cux/home/IToDoPanel.ts +1 -1
  126. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
  127. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  128. package/src/sap/cux/home/InsightsAdditionPanel.js +9 -9
  129. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  130. package/src/sap/cux/home/InsightsAdditionPanel.ts +8 -8
  131. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +8 -0
  132. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
  133. package/src/sap/cux/home/InsightsCardsSettingsPanel.js +16 -1
  134. package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
  135. package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +12 -1
  136. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +2 -2
  137. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  138. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +2 -2
  139. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
  140. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +253 -40
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
  144. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  145. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +12 -11
  146. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +13 -11
  148. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +3 -3
  149. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  150. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +8 -8
  151. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
  152. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  153. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +3 -3
  154. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +1 -1
  155. package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -1
  156. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  157. package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -1
  158. package/src/sap/cux/home/Layout.d.ts +4 -2
  159. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  160. package/src/sap/cux/home/Layout.js +50 -9
  161. package/src/sap/cux/home/Layout.js.map +1 -1
  162. package/src/sap/cux/home/Layout.ts +60 -9
  163. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
  164. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  165. package/src/sap/cux/home/LayoutSettingsPanel.js +342 -57
  166. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  167. package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
  168. package/src/sap/cux/home/MenuItem.d.ts +1 -1
  169. package/src/sap/cux/home/MenuItem.gen.d.ts +1 -1
  170. package/src/sap/cux/home/MenuItem.js +1 -1
  171. package/src/sap/cux/home/MenuItem.js.map +1 -1
  172. package/src/sap/cux/home/MenuItem.ts +1 -1
  173. package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -14
  174. package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
  175. package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +4 -4
  176. package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +27 -114
  177. package/src/sap/cux/home/NewsContainer.js.map +1 -0
  178. package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +30 -119
  179. package/src/sap/cux/home/NewsGroup.gen.d.ts +1 -1
  180. package/src/sap/cux/home/NewsGroup.js +1 -1
  181. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  182. package/src/sap/cux/home/NewsGroup.ts +2 -2
  183. package/src/sap/cux/home/NewsItem.gen.d.ts +1 -1
  184. package/src/sap/cux/home/NewsItem.js +1 -1
  185. package/src/sap/cux/home/NewsItem.js.map +1 -1
  186. package/src/sap/cux/home/NewsItem.ts +1 -1
  187. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  188. package/src/sap/cux/home/NewsPanel.gen.d.ts +1 -1
  189. package/src/sap/cux/home/NewsPanel.js +13 -15
  190. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  191. package/src/sap/cux/home/NewsPanel.ts +14 -17
  192. package/src/sap/cux/home/NewsSettingsPanel.js +5 -5
  193. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  194. package/src/sap/cux/home/NewsSettingsPanel.ts +6 -6
  195. package/src/sap/cux/home/NoDataContainer.js +1 -1
  196. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  197. package/src/sap/cux/home/NoDataContainer.ts +1 -1
  198. package/src/sap/cux/home/Page.d.ts +1 -1
  199. package/src/sap/cux/home/Page.gen.d.ts +1 -1
  200. package/src/sap/cux/home/Page.js +1 -1
  201. package/src/sap/cux/home/Page.js.map +1 -1
  202. package/src/sap/cux/home/Page.ts +1 -1
  203. package/src/sap/cux/home/PagePanel.d.ts +1 -1
  204. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  205. package/src/sap/cux/home/PagePanel.js +19 -11
  206. package/src/sap/cux/home/PagePanel.js.map +1 -1
  207. package/src/sap/cux/home/PagePanel.ts +26 -16
  208. package/src/sap/cux/home/PageSettingsPanel.js +1 -1
  209. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  210. package/src/sap/cux/home/PageSettingsPanel.ts +1 -1
  211. package/src/sap/cux/home/PagesContainer.d.ts +72 -0
  212. package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
  213. package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
  214. package/src/sap/cux/home/PagesContainer.js +333 -0
  215. package/src/sap/cux/home/PagesContainer.js.map +1 -0
  216. package/src/sap/cux/home/PagesContainer.ts +179 -0
  217. package/src/sap/cux/home/RecentAppPanel.d.ts +18 -0
  218. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  219. package/src/sap/cux/home/RecentAppPanel.js +30 -1
  220. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  221. package/src/sap/cux/home/RecentAppPanel.ts +33 -2
  222. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  223. package/src/sap/cux/home/RecommendedAppPanel.js +6 -5
  224. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  225. package/src/sap/cux/home/RecommendedAppPanel.ts +5 -4
  226. package/src/sap/cux/home/SettingsDialog.d.ts +8 -1
  227. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  228. package/src/sap/cux/home/SettingsDialog.js +185 -15
  229. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  230. package/src/sap/cux/home/SettingsDialog.ts +15 -5
  231. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +1 -1
  232. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +1 -1
  233. package/src/sap/cux/home/SideBySideIconTabFilter.js +1 -1
  234. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  235. package/src/sap/cux/home/SideBySideIconTabFilter.ts +1 -1
  236. package/src/sap/cux/home/SituationPanel.js +1 -1
  237. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  238. package/src/sap/cux/home/SituationPanel.ts +1 -1
  239. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
  240. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  241. package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +1 -1
  242. package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
  243. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  244. package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
  245. package/src/sap/cux/home/SpacePanel.gen.d.ts +1 -1
  246. package/src/sap/cux/home/SpacePanel.js +1 -1
  247. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  248. package/src/sap/cux/home/SpacePanel.ts +1 -1
  249. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  250. package/src/sap/cux/home/TaskPanel.gen.d.ts +1 -1
  251. package/src/sap/cux/home/TaskPanel.js +17 -2
  252. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  253. package/src/sap/cux/home/TaskPanel.ts +16 -2
  254. package/src/sap/cux/home/TilesContainer.d.ts +111 -0
  255. package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
  256. package/src/sap/cux/home/TilesContainer.js +218 -0
  257. package/src/sap/cux/home/TilesContainer.js.map +1 -0
  258. package/src/sap/cux/home/TilesContainer.ts +216 -0
  259. package/src/sap/cux/home/TilesPanel.d.ts +22 -52
  260. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  261. package/src/sap/cux/home/TilesPanel.gen.d.ts +1 -1
  262. package/src/sap/cux/home/TilesPanel.js +185 -166
  263. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  264. package/src/sap/cux/home/TilesPanel.ts +161 -155
  265. package/src/sap/cux/home/ToDoPanel.d.ts +1 -0
  266. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  267. package/src/sap/cux/home/ToDoPanel.gen.d.ts +1 -1
  268. package/src/sap/cux/home/ToDoPanel.js +39 -64
  269. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  270. package/src/sap/cux/home/ToDoPanel.ts +33 -32
  271. package/src/sap/cux/home/ToDosContainer.js +1 -1
  272. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  273. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  274. package/src/sap/cux/home/changeHandler/LayoutHandler.js +1 -1
  275. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  276. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +1 -1
  277. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +3 -3
  278. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  279. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +2 -2
  280. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  281. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +5 -5
  282. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +3 -3
  283. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  284. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +2 -2
  285. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  286. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +5 -5
  287. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +3 -3
  288. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
  289. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +2 -2
  290. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
  291. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +4 -4
  292. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +3 -3
  293. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  294. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +5 -5
  295. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  296. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +6 -6
  297. package/src/sap/cux/home/designtime/Layout.designtime.js +1 -1
  298. package/src/sap/cux/home/designtime/Layout.designtime.js.map +1 -1
  299. package/src/sap/cux/home/designtime/Layout.designtime.ts +1 -1
  300. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  301. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +31 -4
  302. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  303. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +24 -2
  304. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
  305. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  306. package/src/sap/cux/home/flexibility/Layout.flexibility.js +79 -3
  307. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  308. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +82 -2
  309. package/src/sap/cux/home/i18n/messagebundle.properties +27 -13
  310. package/src/sap/cux/home/i18n/messagebundle_ar.properties +20 -4
  311. package/src/sap/cux/home/i18n/messagebundle_bg.properties +20 -8
  312. package/src/sap/cux/home/i18n/messagebundle_ca.properties +21 -9
  313. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +26 -14
  314. package/src/sap/cux/home/i18n/messagebundle_cs.properties +20 -8
  315. package/src/sap/cux/home/i18n/messagebundle_cy.properties +20 -8
  316. package/src/sap/cux/home/i18n/messagebundle_da.properties +20 -8
  317. package/src/sap/cux/home/i18n/messagebundle_de.properties +22 -10
  318. package/src/sap/cux/home/i18n/messagebundle_el.properties +20 -8
  319. package/src/sap/cux/home/i18n/messagebundle_en.properties +20 -8
  320. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +20 -8
  321. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +20 -8
  322. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +20 -8
  323. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +20 -8
  324. package/src/sap/cux/home/i18n/messagebundle_es.properties +21 -8
  325. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +20 -8
  326. package/src/sap/cux/home/i18n/messagebundle_et.properties +20 -8
  327. package/src/sap/cux/home/i18n/messagebundle_fi.properties +20 -8
  328. package/src/sap/cux/home/i18n/messagebundle_fr.properties +20 -8
  329. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +20 -8
  330. package/src/sap/cux/home/i18n/messagebundle_hi.properties +20 -8
  331. package/src/sap/cux/home/i18n/messagebundle_hr.properties +20 -8
  332. package/src/sap/cux/home/i18n/messagebundle_hu.properties +20 -8
  333. package/src/sap/cux/home/i18n/messagebundle_id.properties +33 -21
  334. package/src/sap/cux/home/i18n/messagebundle_it.properties +25 -13
  335. package/src/sap/cux/home/i18n/messagebundle_iw.properties +20 -8
  336. package/src/sap/cux/home/i18n/messagebundle_ja.properties +20 -8
  337. package/src/sap/cux/home/i18n/messagebundle_kk.properties +20 -8
  338. package/src/sap/cux/home/i18n/messagebundle_ko.properties +20 -8
  339. package/src/sap/cux/home/i18n/messagebundle_lt.properties +20 -8
  340. package/src/sap/cux/home/i18n/messagebundle_lv.properties +20 -8
  341. package/src/sap/cux/home/i18n/messagebundle_mk.properties +20 -8
  342. package/src/sap/cux/home/i18n/messagebundle_ms.properties +20 -8
  343. package/src/sap/cux/home/i18n/messagebundle_nl.properties +20 -8
  344. package/src/sap/cux/home/i18n/messagebundle_no.properties +20 -8
  345. package/src/sap/cux/home/i18n/messagebundle_pl.properties +20 -8
  346. package/src/sap/cux/home/i18n/messagebundle_pt.properties +20 -8
  347. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +20 -8
  348. package/src/sap/cux/home/i18n/messagebundle_ro.properties +20 -8
  349. package/src/sap/cux/home/i18n/messagebundle_ru.properties +20 -8
  350. package/src/sap/cux/home/i18n/messagebundle_sh.properties +26 -14
  351. package/src/sap/cux/home/i18n/messagebundle_sk.properties +20 -8
  352. package/src/sap/cux/home/i18n/messagebundle_sl.properties +21 -9
  353. package/src/sap/cux/home/i18n/messagebundle_sr.properties +26 -14
  354. package/src/sap/cux/home/i18n/messagebundle_sv.properties +20 -8
  355. package/src/sap/cux/home/i18n/messagebundle_th.properties +20 -8
  356. package/src/sap/cux/home/i18n/messagebundle_tr.properties +20 -8
  357. package/src/sap/cux/home/i18n/messagebundle_uk.properties +24 -12
  358. package/src/sap/cux/home/i18n/messagebundle_vi.properties +20 -8
  359. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +20 -8
  360. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +20 -8
  361. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -1
  362. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  363. package/src/sap/cux/home/interface/AppsInterface.ts +1 -1
  364. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -1
  365. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  366. package/src/sap/cux/home/interface/CardsInterface.js +1 -1
  367. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  368. package/src/sap/cux/home/interface/CardsInterface.ts +1 -2
  369. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +28 -5
  370. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  371. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  372. package/src/sap/cux/home/interface/KeyUserInterface.ts +24 -5
  373. package/src/sap/cux/home/interface/LayoutInterface.d.ts +8 -1
  374. package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
  375. package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
  376. package/src/sap/cux/home/interface/LayoutInterface.ts +8 -1
  377. package/src/sap/cux/home/interface/PageSpaceInterface.d.ts +1 -1
  378. package/src/sap/cux/home/interface/PageSpaceInterface.js.map +1 -1
  379. package/src/sap/cux/home/interface/PageSpaceInterface.ts +1 -1
  380. package/src/sap/cux/home/library.d.ts.map +1 -1
  381. package/src/sap/cux/home/library.js +8 -5
  382. package/src/sap/cux/home/library.js.map +1 -1
  383. package/src/sap/cux/home/library.ts +11 -6
  384. package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
  385. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  386. package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +0 -45
  387. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
  388. package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
  389. package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
  390. package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
  391. package/src/sap/cux/home/themes/base/library.source.less +2 -1
  392. package/src/sap/cux/home/utils/Accessibility.d.ts +1 -1
  393. package/src/sap/cux/home/utils/Accessibility.js +1 -1
  394. package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
  395. package/src/sap/cux/home/utils/Accessibility.ts +1 -1
  396. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +1 -1
  397. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +1 -1
  398. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
  399. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +1 -1
  400. package/src/sap/cux/home/utils/AppManager.js +1 -1
  401. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  402. package/src/sap/cux/home/utils/AppManager.ts +1 -1
  403. package/src/sap/cux/home/utils/BatchHelper.d.ts +2 -1
  404. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  405. package/src/sap/cux/home/utils/BatchHelper.js +8 -3
  406. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  407. package/src/sap/cux/home/utils/BatchHelper.ts +9 -2
  408. package/src/sap/cux/home/utils/ColorUtils.d.ts +1 -1
  409. package/src/sap/cux/home/utils/ColorUtils.js +1 -1
  410. package/src/sap/cux/home/utils/ColorUtils.js.map +1 -1
  411. package/src/sap/cux/home/utils/ColorUtils.ts +1 -1
  412. package/src/sap/cux/home/utils/CommonUtils.js +1 -1
  413. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  414. package/src/sap/cux/home/utils/CommonUtils.ts +1 -1
  415. package/src/sap/cux/home/utils/Constants.js +1 -1
  416. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  417. package/src/sap/cux/home/utils/Constants.ts +1 -1
  418. package/src/sap/cux/home/utils/DataFormatUtils.d.ts +1 -1
  419. package/src/sap/cux/home/utils/DataFormatUtils.js +1 -1
  420. package/src/sap/cux/home/utils/DataFormatUtils.js.map +1 -1
  421. package/src/sap/cux/home/utils/DataFormatUtils.ts +1 -1
  422. package/src/sap/cux/home/utils/DecisionDialog.js +1 -1
  423. package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
  424. package/src/sap/cux/home/utils/DecisionDialog.ts +1 -1
  425. package/src/sap/cux/home/utils/Device.js +1 -1
  426. package/src/sap/cux/home/utils/Device.js.map +1 -1
  427. package/src/sap/cux/home/utils/Device.ts +1 -1
  428. package/src/sap/cux/home/utils/DragDropUtils.d.ts +1 -1
  429. package/src/sap/cux/home/utils/DragDropUtils.js +1 -1
  430. package/src/sap/cux/home/utils/DragDropUtils.js.map +1 -1
  431. package/src/sap/cux/home/utils/DragDropUtils.ts +1 -1
  432. package/src/sap/cux/home/utils/FESRUtil.d.ts +1 -1
  433. package/src/sap/cux/home/utils/FESRUtil.js +1 -1
  434. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  435. package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
  436. package/src/sap/cux/home/utils/FeatureUtils.js +1 -1
  437. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  438. package/src/sap/cux/home/utils/FeatureUtils.ts +1 -1
  439. package/src/sap/cux/home/utils/HttpHelper.js +1 -1
  440. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  441. package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
  442. package/src/sap/cux/home/utils/IconList.d.ts +1 -1
  443. package/src/sap/cux/home/utils/IconList.js +1 -1
  444. package/src/sap/cux/home/utils/IconList.js.map +1 -1
  445. package/src/sap/cux/home/utils/IconList.ts +1 -1
  446. package/src/sap/cux/home/utils/InsightsUtils.d.ts +1 -1
  447. package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
  448. package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
  449. package/src/sap/cux/home/utils/InsightsUtils.ts +1 -1
  450. package/src/sap/cux/home/utils/PXFeedback.js +1 -1
  451. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -1
  452. package/src/sap/cux/home/utils/PXFeedback.ts +1 -1
  453. package/src/sap/cux/home/utils/PageManager.js +1 -1
  454. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  455. package/src/sap/cux/home/utils/PageManager.ts +1 -1
  456. package/src/sap/cux/home/utils/PagesIconsConstants.d.ts +1 -1
  457. package/src/sap/cux/home/utils/PagesIconsConstants.js +1 -1
  458. package/src/sap/cux/home/utils/PagesIconsConstants.js.map +1 -1
  459. package/src/sap/cux/home/utils/PagesIconsConstants.ts +1 -1
  460. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
  461. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  462. package/src/sap/cux/home/utils/PerformanceUtils.js +5 -3
  463. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  464. package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -3
  465. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +1 -1
  466. package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -1
  467. package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
  468. package/src/sap/cux/home/utils/PersonalisationUtils.ts +1 -1
  469. package/src/sap/cux/home/utils/RecommendedCardUtil.js +1 -1
  470. package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -1
  471. package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1 -1
  472. package/src/sap/cux/home/utils/SituationUtils.js +1 -1
  473. package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
  474. package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
  475. package/src/sap/cux/home/utils/TaskUtils.js +1 -1
  476. package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
  477. package/src/sap/cux/home/utils/TaskUtils.ts +1 -1
  478. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +1 -1
  479. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  480. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  481. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
  482. package/src/sap/cux/home/utils/extension/CardExtension.js +1 -1
  483. package/src/sap/cux/home/utils/extension/CardExtension.js.map +1 -1
  484. package/src/sap/cux/home/utils/extension/CardExtension.ts +1 -1
  485. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +151 -152
  486. package/src/sap/cux/home/utils/fragment/showDecisionDialog.fragment.xml +1 -1
  487. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts +1 -1
  488. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js +1 -1
  489. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -1
  490. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.ts +1 -1
  491. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
  492. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
  493. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +4 -78
  494. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
  495. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +2 -76
  496. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
  497. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
  498. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
  499. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
  500. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
  501. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
  502. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
  503. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +4 -24
  504. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
  505. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +2 -22
  506. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
  507. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
  508. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
  509. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
  510. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
  511. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts +1 -1
  512. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js +1 -1
  513. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -1
  514. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.ts +1 -1
  515. package/ui5.yaml +1 -0
  516. package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
  517. package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
  518. package/src/sap/cux/home/InsightsContainer.js +0 -459
  519. package/src/sap/cux/home/InsightsContainer.js.map +0 -1
  520. package/src/sap/cux/home/InsightsContainer.ts +0 -489
  521. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
  522. package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
  523. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
  524. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
  525. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
  526. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
  527. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
  528. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/m/ActionTile", "sap/m/ActionTileContent", "sap/m/Button", "sap/m/ContentConfig", "sap/m/Link", "sap/m/List", "sap/m/MessageBox", "sap/m/Popover", "sap/m/StandardListItem", "sap/m/TileAttribute", "sap/m/library", "sap/ui/core/format/NumberFormat", "./MenuItem", "./ToDoPanel", "./utils/DecisionDialog", "./utils/Device", "./utils/FESRUtil", "./utils/TaskUtils"], function (Log, ActionTile, ActionTileContent, Button, ContentConfig, Link, List, MessageBox, Popover, StandardListItem, TileAttribute, sap_m_library, NumberFormat, __MenuItem, __ToDoPanel, __DecisionDialog, ___utils_Device, ___utils_FESRUtil, ___utils_TaskUtils) {
6
6
  "use strict";
@@ -178,7 +178,22 @@ sap.ui.define(["sap/base/Log", "sap/m/ActionTile", "sap/m/ActionTileContent", "s
178
178
  * @returns {string[]} An array of request URLs.
179
179
  */
180
180
  generateRequestUrls: function _generateRequestUrls(cardCount) {
181
- const urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];
181
+ const urls = [];
182
+
183
+ // Count URL
184
+ const countUrl = this.getCountUrl();
185
+ if (countUrl) {
186
+ urls.push(countUrl);
187
+ }
188
+
189
+ // Data URL
190
+ const dataUrl = this.getDataUrl();
191
+ if (dataUrl) {
192
+ const enhancedUrl = `${dataUrl},CustomAttributeData&$expand=CustomAttributeData`;
193
+ urls.push(countUrl ? `${enhancedUrl}&$skip=0&$top=${cardCount}` : enhancedUrl);
194
+ }
195
+
196
+ // Custom Attribute URL
182
197
  const customAttributeUrl = this.getCustomAttributeUrl();
183
198
  if (customAttributeUrl) {
184
199
  urls.push(customAttributeUrl);
@@ -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","addFESRNavigationSource","addFESRSemanticStepName","FESR_EVENTS","FESRNavigationSource","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","Task","_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, addFESRNavigationSource, addFESRSemanticStepName, FESR_EVENTS, FESRNavigationSource } 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\taddFESRNavigationSource(FESRNavigationSource.Task);\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","addFESRNavigationSource","addFESRSemanticStepName","FESR_EVENTS","FESRNavigationSource","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","countUrl","getCountUrl","dataUrl","getDataUrl","enhancedUrl","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","Task","_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-2026 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, addFESRNavigationSource, addFESRSemanticStepName, FESR_EVENTS, FESRNavigationSource } 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: string[] = [];\n\n\t\t// Count URL\n\t\tconst countUrl = this.getCountUrl();\n\t\tif (countUrl) {\n\t\t\turls.push(countUrl);\n\t\t}\n\n\t\t// Data URL\n\t\tconst dataUrl = this.getDataUrl();\n\t\tif (dataUrl) {\n\t\t\tconst enhancedUrl = `${dataUrl},CustomAttributeData&$expand=CustomAttributeData`;\n\t\t\turls.push(countUrl ? `${enhancedUrl}&$skip=0&$top=${cardCount}` : enhancedUrl);\n\t\t}\n\n\t\t// Custom Attribute URL\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\taddFESRNavigationSource(FESRNavigationSource.Task);\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,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
 
6
6
  import Log from "sap/base/Log";
@@ -222,8 +222,22 @@ export default class TaskPanel extends ToDoPanel {
222
222
  * @returns {string[]} An array of request URLs.
223
223
  */
224
224
  public generateRequestUrls(cardCount: number): string[] {
225
- const urls = [this.getCountUrl(), `${this.getDataUrl()},CustomAttributeData&$expand=CustomAttributeData&$skip=0&$top=${cardCount}`];
225
+ const urls: string[] = [];
226
226
 
227
+ // Count URL
228
+ const countUrl = this.getCountUrl();
229
+ if (countUrl) {
230
+ urls.push(countUrl);
231
+ }
232
+
233
+ // Data URL
234
+ const dataUrl = this.getDataUrl();
235
+ if (dataUrl) {
236
+ const enhancedUrl = `${dataUrl},CustomAttributeData&$expand=CustomAttributeData`;
237
+ urls.push(countUrl ? `${enhancedUrl}&$skip=0&$top=${cardCount}` : enhancedUrl);
238
+ }
239
+
240
+ // Custom Attribute URL
227
241
  const customAttributeUrl = this.getCustomAttributeUrl();
228
242
  if (customAttributeUrl) {
229
243
  urls.push(customAttributeUrl);
@@ -0,0 +1,111 @@
1
+ declare module "sap/cux/home/TilesContainer" {
2
+ /*!
3
+ * SAP UI development toolkit for HTML5 (SAPUI5)
4
+ * * (c) Copyright 2009-2026 SAP SE. All rights reserved
5
+ */
6
+ import type { $BaseContainerSettings } from "sap/cux/home/BaseContainer";
7
+ import BaseContainer from "sap/cux/home/BaseContainer";
8
+ import BasePanel from "sap/cux/home/BasePanel";
9
+ import TilesPanel from "sap/cux/home/TilesPanel";
10
+ const tilesPanelName: string;
11
+ const cardsPanelName: string;
12
+ const spaceInsightsPanelName: string;
13
+ interface IpanelLoaded {
14
+ [key: string]: {
15
+ loaded: boolean | undefined;
16
+ count: number;
17
+ };
18
+ }
19
+ interface IpanelContext {
20
+ [key: string]: TilesPanel;
21
+ }
22
+ /**
23
+ *
24
+ * Container class for managing and storing Insights Tiles.
25
+ *
26
+ * @extends sap.cux.home.BaseContainer
27
+ *
28
+ * @author SAP SE
29
+ * @version 0.0.1
30
+ * @since 1.142
31
+ *
32
+ * @private
33
+ * @ui5-restricted ux.eng.s4producthomes1
34
+ *
35
+ * @alias sap.cux.home.TilesContainer
36
+ */
37
+ export default class TilesContainer extends BaseContainer {
38
+ static readonly renderer: {
39
+ apiVersion: number;
40
+ render: (rm: import("sap/ui/core/RenderManager").default, control: BaseContainer) => void;
41
+ renderContent: (rm: import("sap/ui/core/RenderManager").default, control: BaseContainer) => void;
42
+ };
43
+ private _isInitialRender;
44
+ private panelLoaded;
45
+ private panelContext;
46
+ constructor(id?: string | $BaseContainerSettings);
47
+ constructor(id?: string, settings?: $BaseContainerSettings);
48
+ /**
49
+ * Init lifecycle method
50
+ *
51
+ * @private
52
+ * @override
53
+ */
54
+ init(): void;
55
+ /**
56
+ * Loads the Insights section.
57
+ * Overrides the load method of the BaseContainer.
58
+ *
59
+ * @private
60
+ * @override
61
+ */
62
+ load(): void;
63
+ /**
64
+ * Handles the hiding of a panel by removing its content, updating the panel load status,
65
+ * and managing the display of the container header and error panel.
66
+ *
67
+ * @param {BasePanel} panel - The panel to be hidden.
68
+ * @private
69
+ */
70
+ handleHidePanel(panel: BasePanel): void;
71
+ /**
72
+ * Unhides the specified panel if it is hidden.
73
+ *
74
+ * @param {TilesPanel} panel - The panel to unhide.
75
+ */
76
+ unhidePanelIfHidden(panel: TilesPanel): void;
77
+ /**
78
+ * Adjusts the layout of the container.
79
+ *
80
+ * @private
81
+ * @override
82
+ */
83
+ adjustLayout(): void;
84
+ /**
85
+ * Handles the loading of a panel.
86
+ *
87
+ * @param {string} panelName - The name of the panel.
88
+ * @param {object} oVal - The load status and count of the panel.
89
+ * @param {boolean} oVal.loaded - The load status of the panel.
90
+ * @param {number} oVal.count - The count of items in the panel.
91
+ */
92
+ handlePanelLoad(panelName: string, oVal: {
93
+ loaded: boolean;
94
+ count: number;
95
+ }): void;
96
+ /**
97
+ * Retrieves the generic placeholder content for the Insights container.
98
+ *
99
+ * @returns {string} The HTML string representing the Insights container's placeholder content.
100
+ */
101
+ protected getGenericPlaceholderContent(): string;
102
+ /**
103
+ * Refreshes the data for a specific panel based on its key.
104
+ *
105
+ * @private
106
+ * @param {string} key - The key of the panel to refresh.
107
+ */
108
+ refreshData(key: string): Promise<void>;
109
+ }
110
+ }
111
+ //# sourceMappingURL=TilesContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TilesContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/TilesContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6BAA6B,CAAC;IAC7C;;;OAGG;IAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;IACzE,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAE/C,OAAO,UAAU,MAAM,yBAAyB,CAAC;IAGjD,MAAM,cAAc,EAAE,MAAkC,CAAC;IACzD,MAAM,cAAc,EAAE,MAAkC,CAAC;IACzD,MAAM,sBAAsB,EAAE,MAA0C,CAAC;IAEzE,UAAU,YAAY;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9D;IAED,UAAU,aAAa;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC1B;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa;QACxD,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;UAGtB;QACF,OAAO,CAAC,gBAAgB,CAAiB;QACzC,OAAO,CAAC,WAAW,CAAgB;QACnC,OAAO,CAAC,YAAY,CAAiB;oBAEzB,EAAE,CAAC,EAAE,MAAM,GAAG,sBAAsB;oBACpC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB;QAW1D;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAsBnB;;;;;;WAMG;QACI,IAAI;QAiBX;;;;;;WAMG;QACI,eAAe,CAAC,KAAK,EAAE,SAAS;QAMvC;;;;WAIG;QACI,mBAAmB,CAAC,KAAK,EAAE,UAAU;QAuC5C;;;;;WAKG;QACI,YAAY;QAKnB;;;;;;;WAOG;QACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAOlF;;;;WAIG;QACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;QAIhD;;;;;WAKG;QACU,WAAW,CAAC,GAAG,EAAE,MAAM;KAIpC;CAEA"}