@sapui5/sap.cux.home 1.142.0 → 1.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) 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.js +6 -5
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  7. package/src/sap/cux/home/AdvancedSettingsPanel.ts +6 -5
  8. package/src/sap/cux/home/App.d.ts.map +1 -1
  9. package/src/sap/cux/home/App.js +3 -0
  10. package/src/sap/cux/home/App.js.map +1 -1
  11. package/src/sap/cux/home/App.ts +3 -0
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts +74 -34
  13. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  14. package/src/sap/cux/home/AppsAdditionPanel.js +344 -146
  15. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  16. package/src/sap/cux/home/AppsAdditionPanel.ts +367 -149
  17. package/src/sap/cux/home/AppsContainer.js +2 -1
  18. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  19. package/src/sap/cux/home/AppsContainer.ts +2 -2
  20. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  21. package/src/sap/cux/home/BaseContainer.js +9 -1
  22. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  23. package/src/sap/cux/home/BaseContainer.ts +6 -2
  24. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  25. package/src/sap/cux/home/BaseContainerRenderer.js +6 -0
  26. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  27. package/src/sap/cux/home/BaseContainerRenderer.ts +6 -0
  28. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  29. package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
  30. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  31. package/src/sap/cux/home/BasePanel.js +3 -2
  32. package/src/sap/cux/home/BasePanel.js.map +1 -1
  33. package/src/sap/cux/home/BasePanel.ts +2 -1
  34. package/src/sap/cux/home/CardsContainer.d.ts +108 -0
  35. package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
  36. package/src/sap/cux/home/CardsContainer.js +207 -0
  37. package/src/sap/cux/home/CardsContainer.js.map +1 -0
  38. package/src/sap/cux/home/CardsContainer.ts +202 -0
  39. package/src/sap/cux/home/CardsPanel.d.ts +25 -59
  40. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  41. package/src/sap/cux/home/CardsPanel.js +157 -155
  42. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  43. package/src/sap/cux/home/CardsPanel.ts +152 -175
  44. package/src/sap/cux/home/ContentAdditionDialog.d.ts +2 -0
  45. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  46. package/src/sap/cux/home/ContentAdditionDialog.js +12 -6
  47. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  48. package/src/sap/cux/home/ContentAdditionDialog.ts +13 -5
  49. package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
  50. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  51. package/src/sap/cux/home/ErrorPanel.gen.d.ts +31 -0
  52. package/src/sap/cux/home/ErrorPanel.js +11 -16
  53. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  54. package/src/sap/cux/home/ErrorPanel.ts +7 -19
  55. package/src/sap/cux/home/FavAppPanel.d.ts +1 -2
  56. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  57. package/src/sap/cux/home/FavAppPanel.js +296 -301
  58. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  59. package/src/sap/cux/home/FavAppPanel.ts +18 -14
  60. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
  61. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  62. package/src/sap/cux/home/InsightsAdditionPanel.js +10 -9
  63. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  64. package/src/sap/cux/home/InsightsAdditionPanel.ts +9 -8
  65. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +1 -1
  66. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  67. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +3 -3
  68. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
  69. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  70. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +252 -39
  71. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  72. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
  73. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  74. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +11 -10
  75. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  76. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +12 -10
  77. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +2 -2
  78. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  79. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +7 -7
  80. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  81. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +2 -2
  82. package/src/sap/cux/home/Layout.d.ts +3 -1
  83. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  84. package/src/sap/cux/home/Layout.js +45 -8
  85. package/src/sap/cux/home/Layout.js.map +1 -1
  86. package/src/sap/cux/home/Layout.ts +55 -8
  87. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
  88. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  89. package/src/sap/cux/home/LayoutSettingsPanel.js +341 -56
  90. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  91. package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
  92. package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -14
  93. package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
  94. package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +3 -3
  95. package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +26 -113
  96. package/src/sap/cux/home/NewsContainer.js.map +1 -0
  97. package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +29 -118
  98. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  99. package/src/sap/cux/home/NewsGroup.ts +1 -1
  100. package/src/sap/cux/home/NewsPanel.js +2 -2
  101. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  102. package/src/sap/cux/home/NewsPanel.ts +3 -3
  103. package/src/sap/cux/home/NewsSettingsPanel.js +3 -3
  104. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  105. package/src/sap/cux/home/NewsSettingsPanel.ts +4 -4
  106. package/src/sap/cux/home/PagePanel.d.ts +1 -1
  107. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  108. package/src/sap/cux/home/PagePanel.js +18 -10
  109. package/src/sap/cux/home/PagePanel.js.map +1 -1
  110. package/src/sap/cux/home/PagePanel.ts +25 -15
  111. package/src/sap/cux/home/PagesContainer.d.ts +72 -0
  112. package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
  113. package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
  114. package/src/sap/cux/home/PagesContainer.js +333 -0
  115. package/src/sap/cux/home/PagesContainer.js.map +1 -0
  116. package/src/sap/cux/home/PagesContainer.ts +179 -0
  117. package/src/sap/cux/home/SettingsDialog.d.ts +7 -0
  118. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  119. package/src/sap/cux/home/SettingsDialog.js +18 -10
  120. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  121. package/src/sap/cux/home/SettingsDialog.ts +20 -13
  122. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
  123. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  124. package/src/sap/cux/home/SpaceInsightsPanel.js +66 -132
  125. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  126. package/src/sap/cux/home/SpaceInsightsPanel.ts +69 -151
  127. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  128. package/src/sap/cux/home/TaskPanel.js +14 -12
  129. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  130. package/src/sap/cux/home/TaskPanel.ts +17 -15
  131. package/src/sap/cux/home/TilesContainer.d.ts +111 -0
  132. package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
  133. package/src/sap/cux/home/TilesContainer.js +218 -0
  134. package/src/sap/cux/home/TilesContainer.js.map +1 -0
  135. package/src/sap/cux/home/TilesContainer.ts +216 -0
  136. package/src/sap/cux/home/TilesPanel.d.ts +22 -52
  137. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  138. package/src/sap/cux/home/TilesPanel.js +184 -165
  139. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  140. package/src/sap/cux/home/TilesPanel.ts +160 -154
  141. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  142. package/src/sap/cux/home/ToDoPanel.js +30 -58
  143. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  144. package/src/sap/cux/home/ToDoPanel.ts +29 -28
  145. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +2 -2
  146. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  147. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +1 -1
  148. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  149. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +4 -4
  150. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +2 -2
  151. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  152. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +1 -1
  153. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  154. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +4 -4
  155. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +2 -2
  156. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
  157. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +1 -1
  158. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
  159. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +3 -3
  160. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +2 -2
  161. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  162. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +4 -4
  163. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  164. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +5 -5
  165. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  166. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +30 -3
  167. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  168. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +23 -1
  169. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
  170. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  171. package/src/sap/cux/home/flexibility/Layout.flexibility.js +78 -2
  172. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  173. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +81 -1
  174. package/src/sap/cux/home/i18n/messagebundle.properties +33 -13
  175. package/src/sap/cux/home/i18n/messagebundle_ar.properties +8 -4
  176. package/src/sap/cux/home/i18n/messagebundle_bg.properties +8 -4
  177. package/src/sap/cux/home/i18n/messagebundle_ca.properties +8 -4
  178. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +8 -4
  179. package/src/sap/cux/home/i18n/messagebundle_cs.properties +8 -4
  180. package/src/sap/cux/home/i18n/messagebundle_cy.properties +8 -4
  181. package/src/sap/cux/home/i18n/messagebundle_da.properties +8 -4
  182. package/src/sap/cux/home/i18n/messagebundle_de.properties +8 -4
  183. package/src/sap/cux/home/i18n/messagebundle_el.properties +8 -4
  184. package/src/sap/cux/home/i18n/messagebundle_en.properties +9 -5
  185. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +8 -4
  186. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +14 -6
  187. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +14 -6
  188. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +8 -4
  189. package/src/sap/cux/home/i18n/messagebundle_es.properties +8 -4
  190. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +8 -4
  191. package/src/sap/cux/home/i18n/messagebundle_et.properties +8 -4
  192. package/src/sap/cux/home/i18n/messagebundle_fi.properties +8 -4
  193. package/src/sap/cux/home/i18n/messagebundle_fr.properties +8 -4
  194. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +8 -4
  195. package/src/sap/cux/home/i18n/messagebundle_hi.properties +8 -4
  196. package/src/sap/cux/home/i18n/messagebundle_hr.properties +8 -4
  197. package/src/sap/cux/home/i18n/messagebundle_hu.properties +8 -4
  198. package/src/sap/cux/home/i18n/messagebundle_id.properties +8 -4
  199. package/src/sap/cux/home/i18n/messagebundle_it.properties +10 -6
  200. package/src/sap/cux/home/i18n/messagebundle_iw.properties +8 -4
  201. package/src/sap/cux/home/i18n/messagebundle_ja.properties +8 -4
  202. package/src/sap/cux/home/i18n/messagebundle_kk.properties +8 -4
  203. package/src/sap/cux/home/i18n/messagebundle_ko.properties +8 -4
  204. package/src/sap/cux/home/i18n/messagebundle_lt.properties +8 -4
  205. package/src/sap/cux/home/i18n/messagebundle_lv.properties +8 -4
  206. package/src/sap/cux/home/i18n/messagebundle_mk.properties +8 -4
  207. package/src/sap/cux/home/i18n/messagebundle_ms.properties +8 -4
  208. package/src/sap/cux/home/i18n/messagebundle_nl.properties +8 -4
  209. package/src/sap/cux/home/i18n/messagebundle_no.properties +8 -4
  210. package/src/sap/cux/home/i18n/messagebundle_pl.properties +8 -4
  211. package/src/sap/cux/home/i18n/messagebundle_pt.properties +8 -4
  212. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +8 -4
  213. package/src/sap/cux/home/i18n/messagebundle_ro.properties +8 -4
  214. package/src/sap/cux/home/i18n/messagebundle_ru.properties +8 -4
  215. package/src/sap/cux/home/i18n/messagebundle_sh.properties +8 -4
  216. package/src/sap/cux/home/i18n/messagebundle_sk.properties +8 -4
  217. package/src/sap/cux/home/i18n/messagebundle_sl.properties +8 -4
  218. package/src/sap/cux/home/i18n/messagebundle_sr.properties +8 -4
  219. package/src/sap/cux/home/i18n/messagebundle_sv.properties +8 -4
  220. package/src/sap/cux/home/i18n/messagebundle_th.properties +8 -4
  221. package/src/sap/cux/home/i18n/messagebundle_tr.properties +8 -4
  222. package/src/sap/cux/home/i18n/messagebundle_uk.properties +8 -4
  223. package/src/sap/cux/home/i18n/messagebundle_vi.properties +8 -4
  224. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +8 -4
  225. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +8 -4
  226. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -0
  227. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  228. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  229. package/src/sap/cux/home/interface/AppsInterface.ts +1 -0
  230. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +27 -4
  231. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  232. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  233. package/src/sap/cux/home/interface/KeyUserInterface.ts +23 -4
  234. package/src/sap/cux/home/interface/LayoutInterface.d.ts +7 -0
  235. package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
  236. package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
  237. package/src/sap/cux/home/interface/LayoutInterface.ts +7 -0
  238. package/src/sap/cux/home/library.d.ts.map +1 -1
  239. package/src/sap/cux/home/library.js +7 -4
  240. package/src/sap/cux/home/library.js.map +1 -1
  241. package/src/sap/cux/home/library.ts +10 -5
  242. package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
  243. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  244. package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +0 -45
  245. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
  246. package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
  247. package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
  248. package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
  249. package/src/sap/cux/home/themes/base/library.source.less +2 -1
  250. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  251. package/src/sap/cux/home/utils/AppManager.js +2 -1
  252. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  253. package/src/sap/cux/home/utils/AppManager.ts +2 -2
  254. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
  255. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  256. package/src/sap/cux/home/utils/PerformanceUtils.js +4 -2
  257. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  258. package/src/sap/cux/home/utils/PerformanceUtils.ts +4 -2
  259. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +155 -151
  260. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
  261. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
  262. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +3 -77
  263. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
  264. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +1 -75
  265. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
  266. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
  267. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
  268. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
  269. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
  270. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
  271. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
  272. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +3 -23
  273. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
  274. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +1 -21
  275. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
  276. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
  277. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
  278. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
  279. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
  280. package/ui5.yaml +1 -0
  281. package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
  282. package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
  283. package/src/sap/cux/home/InsightsContainer.js +0 -459
  284. package/src/sap/cux/home/InsightsContainer.js.map +0 -1
  285. package/src/sap/cux/home/InsightsContainer.ts +0 -489
  286. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
  287. package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
  288. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
  289. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
  290. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
  291. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
  292. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
  293. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ToDoPanel.js","names":["sap","ui","define","Log","Card","GridContainer","GridContainerSettings","Button","GenericTile","HeaderContainer","IllustratedMessage","IllustratedMessageSize","Text","TileContent","VBox","sap_m_library","Device","UI5Element","InvisibleText","DateFormat","JSONModel","__BasePanel","__MenuItem","__ToDosContainer","__BatchHelper","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","Priority","_finallyRethrows","finalizer","bind","URLHelper","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","observer","prototype","onFulfilled","onRejected","callback","_this","_isSettledPact","thenable","_forTo","array","check","i","reject","_cycle","length","BasePanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","MenuItem","ToDosContainer","BatchHelper","calculateCardWidth","DeviceType","fetchElementProperties","addFESRId","addFESRNavigationSource","FESRNavigationSource","HttpHelper","Constants","SITUATION_ICON","PLACEHOLDER_ITEMS_COUNT","TODO_CARDS_LIMIT","TODO_SECTION_LIMIT","TODOS_REFRESH_INTERVAL","MOBILE_DEVICE_MAX_WIDTH","DEFAULT_TITLE_HEIGHT","DEFAULT_CARD_HEIGHT","DEFAULT_TAB_HEADER_HEIGHT","GAP","ToDoPanel","extend","metadata","library","properties","baseUrl","type","group","defaultValue","visibility","countUrl","dataUrl","targetAppUrl","minCardWidth","maxCardWidth","useBatch","preload","aggregations","content","multiple","singularName","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","batchHelper","init","_init","BasePanel.prototype.init.call","_oData","isLoaded","hasError","cardWidth","getSupported","isExpandedOnce","isCountCalledOnce","illustrationType","refreshInfo","_toRelativeDateTime","Date","fullRefreshInfo","_toFullRelativeDateTime","horizontalCardCount","illustrationTitle","_i18nBundle","getText","illustrationDescription","isPhone","resize","width","system","phone","tiles","Array","fill","loadState","displayTiles","_controlModel","requests","_toDoWrapper","getId","renderType","items","_generateCardContainer","_generateMobileCardContainer","_generateErrorMessage","setModel","addContent","menuItem","title","icon","press","_onPressRefresh","addAggregation","_accRefreshLabel","text","addDependent","_refreshBtn","addAriaLabelledBy","setProperty","attachEvent","Promise","resolve","_beforePanelExpand","_cardContainer","inlineBlockLayout","snapToRow","visible","layout","columns","columnSize","gap","addStyleClass","_mobileCardContainer","scrollStep","gridLayout","scrollTime","showDividers","_errorCard","_errorMessage","illustrationSize","Base","description","getParent","_getSelectedPanel","_loadCards","forceRefresh","_this2","_loadToDos","undefined","_bindInnerControls","selectedKey","getProperty","_isElementExpanded","_setCount","_getSupported","setTimeout","_generatePlaceHolderTiles","_generateRequestObject","onlyCount","concat","_submitBatch","fireEvent","_setSectionRefreshInterval","lastRefreshedTime","_updateRefreshInformation","_switchTabIfRequired","_updateHeaderIfExclusive","catch","error","Error","message","finally","refresh","_adjustLayout","_handleError","getTargetAppUrl","removeContent","_isExclusivePanel","getTitle","displayTitle","trim","_setTitle","String","_innerControlsBound","bindAggregation","path","factory","context","generateCardTemplate","bindProperty","_generateCardTemplate","mode","frameType","pressEnabled","header","tileContent","priority","priorityText","_toPriorityText","footer","key","VeryHigh","High","Medium","Low","_cardCount","_getVisibleCardCount","isPlaceholder","calculationProperties","_getLayout","isElementExpanded","targetDomRef","getDomRef","isHeaderVisible","containerDomRef","_getFullScreenContainer","sectionNodeIndex","childNodes","isMobileDevice","cardCount","getHorizontalCardCount","getVerticalCardCount","toDosContainer","_getCurrentExpandedElementName","_getHorizontalCardCount","domRef","domProperties","availableWidth","Object","slice","reduce","propertyValue","actualCardCount","minWidth","maxWidth","cardLayoutConfig","containerWidth","totalCards","Math","max","floor","_getVerticalCardCount","sectionDomProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","margin","cardHeight","verticalCardCount","_calculateTitleHeight","container","containerHeaderRef","getElementById","iconTabBarHeaderRef","_getInnerControl","defaultHeight","clientHeight","options","_this3","getCountUrl","urls","generateRequestUrls","splice","baseURL","getBaseUrl","requestURLs","success","args","onDataReceived","Number","_handleEmptyCards","_generateRequestUrls","getDataUrl","queryString","includes","_onDataReceived","results","_this4","getNoDataText","allPanels","getContent","supportedPanels","filter","panel","clearInterval","refreshFn","setInterval","setAggregation","_updateContainerHeader","displayCards","getDeviceType","Mobile","toggleFullScreenElements","date","inputDate","isNaN","relativeDateFormatter","format","fullRelativeDateFormatter","_getNoDataText","_parseResponse","response","d","numericD","numericResponse","_this5","all","map","request","createMultipartRequest","GetMultipleRequests","responses","processedResponses","JSON","parse","_temp","_wasThrown","_result","_clearRequests","_isLoaded","parentContainer","isContainerExpanded","_setLoaded","_setSupported","isSupported","_getAppIntent","pattern","match","semanticObject","action","params","paramsArray","split","param","_this6","_interrupt","_temp5","_temp3","nextAvailablePanel","panels","getAggregation","_temp4","_temp2","_getCardCount","_onPressViewAll","redirect","Task","_this7","_temp7","_temp6","exit","_exit","getDateTimeInstance","style","relative","relativeStyle"],"sources":["ToDoPanel.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 Card from \"sap/f/Card\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport Text from \"sap/m/Text\";\nimport TileContent from \"sap/m/TileContent\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState, Priority, URLHelper } from \"sap/m/library\";\nimport Device from \"sap/ui/Device\";\nimport ManagedObject from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport DateFormat from \"sap/ui/core/format/DateFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport IToDoPanel from \"./IToDoPanel\";\nimport MenuItem from \"./MenuItem\";\nimport { $ToDoPanelSettings } from \"./ToDoPanel\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport BatchHelper from \"./utils/BatchHelper\";\nimport { calculateCardWidth, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRNavigationSource, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\ninterface Request {\n\tbaseURL: string;\n\trequestURLs: string[];\n\tsuccess(args: unknown[]): Promise<void>;\n}\n\nexport interface CalculationProperties {\n\tisPlaceholder?: boolean;\n}\n\nexport interface Intent {\n\ttarget: {\n\t\tsemanticObject: string;\n\t\taction: string;\n\t};\n\tparams: {\n\t\t[key: string]: string;\n\t};\n}\n\nexport interface RequestOptions {\n\ttype: string;\n\tonlyCount?: boolean;\n}\n\nexport interface Response {\n\td?: {\n\t\tresults?: unknown[];\n\t};\n\tresults?: unknown[];\n\tvalue?: unknown[];\n}\n\nconst Constants = {\n\tSITUATION_ICON: \"sap-icon://message-warning\",\n\tPLACEHOLDER_ITEMS_COUNT: 5,\n\tTODO_CARDS_LIMIT: 100,\n\tTODO_SECTION_LIMIT: 6,\n\tTODOS_REFRESH_INTERVAL: 65000,\n\tMOBILE_DEVICE_MAX_WIDTH: 600,\n\tDEFAULT_TITLE_HEIGHT: 33,\n\tDEFAULT_CARD_HEIGHT: 168,\n\tDEFAULT_TAB_HEADER_HEIGHT: 44,\n\tGAP: 16\n};\n\n/**\n *\n * Abstract Panel class for managing and storing To-Do cards.\n *\n * @extends BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @abstract\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.ToDoPanel\n */\nexport default abstract class ToDoPanel extends BasePanel implements IToDoPanel {\n\tprotected _oData!: Record<string, unknown>;\n\tprotected requests!: Request[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _toDoWrapper!: VBox;\n\tprivate _cardContainer!: GridContainer;\n\tprivate _mobileCardContainer!: HeaderContainer;\n\tprivate _errorCard!: Card;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _refreshBtn!: Button;\n\tprivate _loadToDos!: Promise<void> | undefined;\n\tprivate _innerControlsBound!: boolean;\n\tprivate _cardCount!: number;\n\tprivate batchHelper!: BatchHelper;\n\tprivate _accRefreshLabel!: InvisibleText;\n\n\tconstructor(id?: string | $ToDoPanelSettings);\n\tconstructor(id?: string, settings?: $ToDoPanelSettings);\n\t/**\n\t * Constructor for a new To-Dos 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?: $ToDoPanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.batchHelper = new BatchHelper();\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 the base URL for batching requests sent from the panel.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tbaseUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL for fetching the count of requested to-do cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcountUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL from where the to-do cards should be fetched.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tdataUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL of the target application associated with the to-do cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\ttargetAppUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the minimum width of the card in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tminCardWidth: { type: \"int\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies the maximum width of the card in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tmaxCardWidth: { type: \"int\", group: \"Misc\", defaultValue: 583, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies whether the panel should batch requests.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tuseBatch: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies whether the panel data should be preloaded.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tpreload: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"hidden\" },\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Specifies the content aggregation of the panel.\n\t\t\t */\n\t\t\tcontent: { multiple: true, singularName: \"content\", visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tstatic fullRelativeDateFormatter = DateFormat.getDateTimeInstance({\n\t\tstyle: \"long\",\n\t\trelative: true,\n\t\trelativeStyle: \"wide\"\n\t});\n\n\tstatic relativeDateFormatter = DateFormat.getDateTimeInstance({\n\t\tstyle: \"medium\",\n\t\trelative: true,\n\t\trelativeStyle: \"short\"\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\n\t\t//Initialise ToDos Model\n\t\tthis._oData = {\n\t\t\tlength: 0,\n\t\t\tisLoaded: false,\n\t\t\thasError: false,\n\t\t\tcardWidth: \"20rem\",\n\t\t\tgetSupported: false,\n\t\t\tisExpandedOnce: false,\n\t\t\tisCountCalledOnce: false,\n\t\t\tillustrationType: \"sapIllus-NoTasks\",\n\t\t\trefreshInfo: this._toRelativeDateTime(new Date()),\n\t\t\tfullRefreshInfo: this._toFullRelativeDateTime(new Date()),\n\t\t\thorizontalCardCount: Constants.PLACEHOLDER_ITEMS_COUNT,\n\t\t\tillustrationTitle: this._i18nBundle.getText(\"noToDoTitle\"),\n\t\t\tillustrationDescription: this._i18nBundle.getText(\"noToDoDesc\"),\n\t\t\tisPhone: Device.resize.width < Constants.MOBILE_DEVICE_MAX_WIDTH || Device.system.phone,\n\t\t\ttiles: new Array(Constants.PLACEHOLDER_ITEMS_COUNT).fill({ loadState: \"Loading\" }),\n\t\t\tdisplayTiles: new Array(Constants.PLACEHOLDER_ITEMS_COUNT).fill({ loadState: \"Loading\" })\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\n\t\t//Initialize Request Queue\n\t\tthis.requests = [];\n\n\t\t//Add Wrapper Container to Panel\n\t\tthis._toDoWrapper = new VBox(`${this.getId()}-toDosWrapper`, {\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [this._generateCardContainer(), this._generateMobileCardContainer(), this._generateErrorMessage()]\n\t\t});\n\t\tthis._toDoWrapper.setModel(this._controlModel);\n\t\tthis.addContent(this._toDoWrapper);\n\n\t\t//Setup Common Menu Items\n\t\tconst menuItem = new MenuItem(`${this.getId()}-refresh`, {\n\t\t\ttitle: this._i18nBundle.getText(\"refresh\"),\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\tpress: () => this._onPressRefresh()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"todosRefresh\");\n\n\t\tthis._accRefreshLabel = new InvisibleText(`${this.getId()}-refreshAccText`, {\n\t\t\ttext: this._toFullRelativeDateTime(new Date())\n\t\t});\n\t\tthis.addDependent(this._accRefreshLabel);\n\t\tthis._refreshBtn = new Button(`${this.getId()}-refreshBtn`, {\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\ttext: this._toRelativeDateTime(new Date()),\n\t\t\tpress: () => this._onPressRefresh()\n\t\t});\n\t\tthis._refreshBtn.addAriaLabelledBy(this._accRefreshLabel);\n\t\taddFESRId(this._refreshBtn, \"manualTodoRefresh\");\n\t\tthis.addAggregation(\"actionButtons\", this._refreshBtn);\n\n\t\t//Configure Full Screen and Expand Event handlers\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tthis.attachEvent(\"onExpand\", async () => {\n\t\t\tawait this._beforePanelExpand();\n\t\t});\n\t}\n\n\t/**\n\t * Generates the card container (GridContainer) for displaying cards.\n\t *\n\t * @private\n\t * @returns {GridContainer} The generated card container.\n\t */\n\tprivate _generateCardContainer(): GridContainer {\n\t\t//create container\n\t\tif (!this._cardContainer) {\n\t\t\tthis._cardContainer = new GridContainer(`${this.getId()}-flexContainer`, {\n\t\t\t\tinlineBlockLayout: true,\n\t\t\t\tsnapToRow: true,\n\t\t\t\tvisible: \"{= !${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }\",\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-layout`, {\n\t\t\t\t\tcolumns: \"{/horizontalCardCount}\",\n\t\t\t\t\tcolumnSize: \"{/cardWidth}\",\n\t\t\t\t\tgap: \"1rem\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapCuxToDoCardsContainer\");\n\t\t}\n\n\t\treturn this._cardContainer;\n\t}\n\n\t/**\n\t * Generates the mobile card container (HeaderContainer) for displaying cards on mobile devices.\n\t *\n\t * @private\n\t * @returns {HeaderContainer} The generated mobile card container.\n\t */\n\tprivate _generateMobileCardContainer(): HeaderContainer {\n\t\t// Create a HeaderContainer for mobile devices\n\t\tif (!this._mobileCardContainer) {\n\t\t\tthis._mobileCardContainer = new HeaderContainer(`${this.getId()}-headerContainer`, {\n\t\t\t\tvisible: \"{= ${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }\",\n\t\t\t\tscrollStep: 0,\n\t\t\t\tgridLayout: true,\n\t\t\t\tscrollTime: 1000,\n\t\t\t\tshowDividers: false,\n\t\t\t\tsnapToRow: true\n\t\t\t}).addStyleClass(\"sapCuxToDoMobileCardsContainer\");\n\t\t}\n\n\t\treturn this._mobileCardContainer;\n\t}\n\n\t/**\n\t * Generates the error message card for displaying error messages.\n\t *\n\t * @private\n\t * @returns {Card} The generated error message card.\n\t */\n\tprivate _generateErrorMessage(): Card {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: \"{/illustrationTitle}\",\n\t\t\t\tdescription: \"{/illustrationDescription}\",\n\t\t\t\tillustrationType: \"{/illustrationType}\"\n\t\t\t});\n\t\t\tthis._errorCard = new Card(`${this.getId()}-errorCard`, {\n\t\t\t\tcontent: this._errorMessage,\n\t\t\t\tvisible: \"{= ${/tiles/length} === 0 || ${/hasError} === true }\"\n\t\t\t});\n\t\t}\n\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Handler for the Refresh button for each panel.\n\t * Reloads the selected panel\n\t *\n\t * @async\n\t * @private\n\t */\n\tprivate _onPressRefresh(): void {\n\t\tvoid ((this.getParent() as ToDosContainer)?._getSelectedPanel() as ToDoPanel)?._loadCards(true);\n\t}\n\n\t/**\n\t * Loads the To-Do cards for the panel.\n\t *\n\t * @private\n\t * @param {boolean} forceRefresh - force refresh cards\n\t * @returns {Promise<void>} A promise that resolves when the cards are loaded.\n\t */\n\tpublic async _loadCards(forceRefresh?: boolean): Promise<void> {\n\t\tif (this._loadToDos !== undefined && !forceRefresh) {\n\t\t\treturn this._loadToDos;\n\t\t} else {\n\t\t\tthis._bindInnerControls();\n\t\t\tthis._loadToDos = new Promise((resolve) => {\n\t\t\t\tconst selectedKey = (this.getParent() as BaseContainer)?._getSelectedPanel()?.getProperty(\"key\") as string;\n\t\t\t\tconst requests: Request[] = [];\n\n\t\t\t\tthis._oData.isLoaded = false;\n\t\t\t\tthis._oData.isCountCalledOnce = false;\n\t\t\t\tthis._oData.isExpandedOnce = this._isElementExpanded();\n\t\t\t\tthis._setCount();\n\n\t\t\t\tif (this._getSupported()) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t// Load Placeholder Cards\n\t\t\t\t\t\tthis._generatePlaceHolderTiles();\n\n\t\t\t\t\t\t// Add Initial Batch Requests\n\t\t\t\t\t\trequests.push(\n\t\t\t\t\t\t\tthis._generateRequestObject({ type: selectedKey, onlyCount: !this.getProperty(\"preload\") && selectedKey !== this.getProperty(\"key\") })\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.requests = this.requests.concat(requests);\n\n\t\t\t\t\t\t//Submit Batch Requests\n\t\t\t\t\t\tthis._submitBatch()\n\t\t\t\t\t\t\t.then(async () => {\n\t\t\t\t\t\t\t\tthis._oData.isLoaded = this.getProperty(\"preload\") || selectedKey === this.getProperty(\"key\");\n\t\t\t\t\t\t\t\tthis.fireEvent(\"loaded\");\n\n\t\t\t\t\t\t\t\tthis._oData.isCountCalledOnce = true;\n\t\t\t\t\t\t\t\tthis._setCount(this._oData.length as string);\n\n\t\t\t\t\t\t\t\tthis._setSectionRefreshInterval();\n\t\t\t\t\t\t\t\tthis._oData.refreshInfo = this._toRelativeDateTime(new Date());\n\t\t\t\t\t\t\t\tthis._oData.fullRefreshInfo = this._toFullRelativeDateTime(new Date());\n\t\t\t\t\t\t\t\tthis._oData.lastRefreshedTime = new Date();\n\t\t\t\t\t\t\t\tthis._updateRefreshInformation();\n\n\t\t\t\t\t\t\t\tawait this._switchTabIfRequired();\n\t\t\t\t\t\t\t\tthis._updateHeaderIfExclusive();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\t\t\t\tLog.error(error instanceof Error ? error.message : \"\");\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis._controlModel.refresh();\n\t\t\t\t\t\t\t\tthis._adjustLayout();\n\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis._handleError(`User not authorized to access: + ${this.getTargetAppUrl()}`);\n\n\t\t\t\t\t// Remove Item from IconTabBar\n\t\t\t\t\t(this.getParent() as ToDosContainer)?.removeContent(this);\n\n\t\t\t\t\t//resolve the promise\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn this._loadToDos;\n\t}\n\n\t/**\n\t * Update Container Header if the panel is exclusive\n\t *\n\t * @private\n\t */\n\tprivate _updateHeaderIfExclusive() {\n\t\tif (this._isExclusivePanel()) {\n\t\t\tconst title = (this.getParent() as ToDosContainer).getTitle();\n\t\t\tconst displayTitle = title?.trim() || this._i18nBundle.getText(\"toDosTitle\");\n\t\t\t(this.getParent() as ToDosContainer)._setTitle(`${displayTitle} (${String(this._oData.length)})`);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a one-time binding of inner controls for the ToDoPanel.\n\t * @private\n\t */\n\tprivate _bindInnerControls(): void {\n\t\tif (!this._innerControlsBound) {\n\t\t\t//bind card container\n\t\t\tthis._cardContainer.bindAggregation(\"items\", {\n\t\t\t\tpath: \"/displayTiles\",\n\t\t\t\tlength: Constants.TODO_CARDS_LIMIT,\n\t\t\t\tfactory: (id, context) => this.generateCardTemplate(id, context)?.bindProperty?.(\"width\", { path: \"/cardWidth\" })\n\t\t\t});\n\n\t\t\t//bind mobile card container\n\t\t\tthis._mobileCardContainer.bindAggregation(\"content\", {\n\t\t\t\tpath: \"/displayTiles\",\n\t\t\t\tlength: Constants.TODO_CARDS_LIMIT,\n\t\t\t\tfactory: (id, context) => this.generateCardTemplate(id, context)?.bindProperty?.(\"width\", { path: \"/cardWidth\" })\n\t\t\t});\n\n\t\t\tthis._innerControlsBound = true;\n\t\t}\n\t}\n\n\t/**\n\t * Generates the card template for the Current Panel.\n\t *\n\t * @public\n\t * @param {string} id The ID for the template.\n\t * @param {object} context The context for the template.\n\t * @returns {object} The generated card template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\treturn new GenericTile(`${id}-tile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\theader: context.getProperty(\"title\") as string,\n\t\t\twidth: context.getProperty(\"/cardWidth\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\ttileContent: [\n\t\t\t\tnew TileContent(`${id}-tileContent`, {\n\t\t\t\t\tpriority: context.getProperty(\"priority\") as Priority,\n\t\t\t\t\tpriorityText: this._toPriorityText(context.getProperty(\"priority\") as Priority),\n\t\t\t\t\tfooter: context.getProperty(\"footerText\") as string,\n\t\t\t\t\tcontent: new Text(`${id}-situationContent`, {\n\t\t\t\t\t\ttext: context.getProperty(\"message\") as string\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Convert a priority string to a corresponding priority text.\n\t *\n\t * @private\n\t * @param {Priority} priority - The priority string.\n\t * @returns {string} The corresponding priority text.\n\t */\n\tpublic _toPriorityText(priority: Priority): string {\n\t\tlet key;\n\t\tif (priority === Priority.VeryHigh) {\n\t\t\tkey = \"veryHighPriority\";\n\t\t} else if (priority === Priority.High) {\n\t\t\tkey = \"highPriority\";\n\t\t} else if (priority === Priority.Medium) {\n\t\t\tkey = \"mediumPriority\";\n\t\t} else if (priority === Priority.Low) {\n\t\t\tkey = \"lowPriority\";\n\t\t} else {\n\t\t\tkey = \"nonePriority\";\n\t\t}\n\n\t\treturn this._i18nBundle.getText(key) as string;\n\t}\n\n\t/**\n\t * Generates placeholder tiles for the panel.\n\t *\n\t * @private\n\t */\n\tprivate _generatePlaceHolderTiles(): void {\n\t\tthis._cardCount = this._getVisibleCardCount({ isPlaceholder: true });\n\t\tthis._oData.displayTiles = this._oData.tiles = new Array(this._cardCount).fill({ loadState: \"Loading\" });\n\t\tthis._oData.isLoaded = this._oData.hasError = false;\n\t\tthis._controlModel.refresh();\n\t}\n\n\t/**\n\t * Calculates the number of visible cards that can fit within the available space of the To-Dos panel.\n\t *\n\t * @private\n\t * @param {CalculationProperties} [calculationProperties] - Optional properties to assist in the calculation.\n\t * @returns {number} - The number of visible cards.\n\t */\n\tprivate _getVisibleCardCount(calculationProperties?: CalculationProperties): number {\n\t\tconst layout = (this.getParent() as ToDosContainer)?._getLayout();\n\t\tlet isElementExpanded = false;\n\t\tlet targetDomRef = this._toDoWrapper?.getDomRef();\n\n\t\tif (layout) {\n\t\t\tisElementExpanded = this._isElementExpanded();\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst containerDomRef = (isElementExpanded ? layout._getFullScreenContainer() : layout).getDomRef();\n\t\t\tconst sectionNodeIndex = isHeaderVisible && !isElementExpanded ? 1 : 0;\n\t\t\ttargetDomRef = containerDomRef?.childNodes[sectionNodeIndex] as Element;\n\t\t}\n\n\t\tconst isMobileDevice = this._controlModel.getProperty(\"/isPhone\") as boolean;\n\t\tlet cardCount = isMobileDevice ? Constants.TODO_SECTION_LIMIT : 1;\n\n\t\tif (targetDomRef) {\n\t\t\t// @ts-expect-error Calculate Horizontal Card Count\n\t\t\tcardCount = this.getHorizontalCardCount(targetDomRef, calculationProperties);\n\n\t\t\tif (isElementExpanded) {\n\t\t\t\t// @ts-expect-error Calculate Vertical Card Count\n\t\t\t\tcardCount *= this.getVerticalCardCount(targetDomRef, calculationProperties);\n\t\t\t}\n\n\t\t\t//Restrict cards to the maximum limit\n\t\t\tcardCount = cardCount > Constants.TODO_CARDS_LIMIT ? Constants.TODO_CARDS_LIMIT : cardCount;\n\t\t}\n\n\t\treturn cardCount;\n\t}\n\n\t/**\n\t * Checks if the current element is expanded to full screen.\n\t *\n\t * @private\n\t * @returns {boolean} - True if the element is expanded, otherwise false.\n\t */\n\tprivate _isElementExpanded(): boolean {\n\t\tconst toDosContainer = this.getParent() as ToDosContainer;\n\t\tconst layout = toDosContainer._getLayout();\n\t\treturn layout?._getCurrentExpandedElementName() === toDosContainer.getProperty(\"fullScreenName\");\n\t}\n\n\t/**\n\t * Calculates the number of horizontal cards that can fit within the available width of the given DOM element.\n\t *\n\t * @private\n\t * @param {Element} domRef - The DOM element to calculate the horizontal card count for.\n\t * @returns {number} - The number of horizontal cards that can fit within the available width.\n\t */\n\tprotected getHorizontalCardCount(domRef: Element): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"width\", \"padding-left\", \"padding-right\", \"margin-left\", \"margin-right\"]);\n\t\tconst availableWidth = Object.values(domProperties)\n\t\t\t.slice(1)\n\t\t\t.reduce((width, propertyValue) => width - propertyValue, domProperties[\"width\"]);\n\t\tconst actualCardCount = this._oData.length as number;\n\t\tconst isMobileDevice = this._controlModel.getProperty(\"/isPhone\") as boolean;\n\t\tlet horizontalCardCount;\n\t\tconst minWidth = this.getProperty(\"minCardWidth\") as number;\n\t\tconst maxWidth = this.getProperty(\"maxCardWidth\") as number;\n\t\tconst cardLayoutConfig = {\n\t\t\tcontainerWidth: availableWidth,\n\t\t\ttotalCards: actualCardCount,\n\t\t\tminWidth: minWidth,\n\t\t\tmaxWidth: maxWidth,\n\t\t\tgap: Constants.GAP\n\t\t};\n\t\tconst cardWidth = calculateCardWidth(cardLayoutConfig);\n\t\tif (isMobileDevice) {\n\t\t\thorizontalCardCount = Constants.TODO_SECTION_LIMIT;\n\t\t} else {\n\t\t\thorizontalCardCount = Math.max(Math.floor(availableWidth / cardWidth), 1);\n\t\t}\n\n\t\t// Calculate Horizontal Card Count\n\t\tthis._controlModel.setProperty(\"/cardWidth\", `${cardWidth / 16}rem`);\n\t\tthis._controlModel.setProperty(\"/horizontalCardCount\", horizontalCardCount);\n\n\t\treturn horizontalCardCount;\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 * @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\tprotected getVerticalCardCount(domRef: Element): number {\n\t\tconst sectionDomProperties = 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 - sectionDomProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst margin = 14;\n\t\tconst cardHeight = Constants.DEFAULT_CARD_HEIGHT + margin;\n\t\tconst verticalCardCount = Math.max(Math.floor(availableHeight / cardHeight), 2); //minimum of 2 rows should be displayed\n\n\t\treturn verticalCardCount;\n\t}\n\n\t/**\n\t * Calculates the combined height of the title and tab header for the To-Dos panel.\n\t *\n\t * @private\n\t * @returns {number} - The combined height of the title and tab header.\n\t */\n\tprotected calculateTitleHeight(): number {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tconst containerHeaderRef = UI5Element.getElementById(`${container.getId()}-header`)?.getDomRef();\n\t\tconst iconTabBarHeaderRef = UI5Element.getElementById(`${container._getInnerControl().getId()}--header`)?.getDomRef();\n\t\tconst defaultHeight = Constants.DEFAULT_TITLE_HEIGHT + Constants.DEFAULT_TAB_HEADER_HEIGHT;\n\t\tlet titleHeight = 0;\n\n\t\tif (containerHeaderRef && iconTabBarHeaderRef) {\n\t\t\ttitleHeight = containerHeaderRef.clientHeight + iconTabBarHeaderRef.clientHeight;\n\t\t}\n\n\t\treturn Math.max(titleHeight, defaultHeight);\n\t}\n\n\t/**\n\t * Generates a request object for batch requests.\n\t *\n\t * @private\n\t * @param {RequestOptions} options - Additional properties for generating the request object.\n\t * @param {boolean} [options.onlyCount] - Whether to include only the count in the request.\n\t * @returns {Object} The generated request object.\n\t */\n\tprivate _generateRequestObject(options: RequestOptions): Request {\n\t\tconst cardCount = this._getVisibleCardCount();\n\t\tconst countUrl = this.getCountUrl();\n\t\tconst urls = this.generateRequestUrls?.(cardCount);\n\n\t\tif (countUrl && options?.onlyCount) {\n\t\t\turls.splice(1);\n\t\t}\n\n\t\treturn {\n\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\trequestURLs: urls,\n\t\t\tsuccess: async (args: unknown[]): Promise<void> => {\n\t\t\t\t//data process extension for panels\n\t\t\t\tawait this.onDataReceived(countUrl ? args.splice(1) : args, options);\n\n\t\t\t\t//set card count and handle empty cards\n\t\t\t\tthis._oData.length = countUrl ? Number(args[0]) : (this._oData.tiles as object[]).length;\n\t\t\t\tthis._handleEmptyCards();\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t *\n\t * @public\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 = [];\n\t\tconst countUrl = this.getCountUrl();\n\n\t\tif (countUrl) {\n\t\t\turls.push(countUrl);\n\t\t}\n\n\t\tlet dataUrl = this.getDataUrl();\n\t\tif (this.getProperty(\"useBatch\")) {\n\t\t\tconst queryString = this.getProperty(\"preload\") ? \"\" : `$skip=0&$top=${cardCount}`;\n\t\t\tdataUrl = dataUrl.includes(\"?\") ? `${dataUrl}&${queryString}` : `${dataUrl}?${queryString}`;\n\t\t}\n\t\turls.push(dataUrl);\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * A promise that resolves when the data has been processed.\n\t * This method can be overridden to perform additional data processing operations.\n\t *\n\t * @public\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * Structure may vary based on the backend service.\n\t */\n\tpublic async onDataReceived(results: unknown[] = [], options?: RequestOptions): Promise<void> {\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tthis._oData.displayTiles = this._oData.tiles = results[0] || [];\n\t\t}\n\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * Handles the scenario when there are no cards to display.\n\t * Updates the illustration and description based on the selected panel and card count.\n\t *\n\t * @private\n\t */\n\tprivate _handleEmptyCards() {\n\t\tif (Number(this._oData.length) === 0) {\n\t\t\tthis._oData.illustrationType = \"sapIllus-EmptyPlanningCalendar\";\n\t\t\tthis._oData.illustrationTitle = this._isExclusivePanel() ? this._i18nBundle.getText(\"noToDoTitle\") : this.getNoDataText();\n\t\t\tthis._oData.illustrationDescription = this._isExclusivePanel()\n\t\t\t\t? this._i18nBundle.getText(\"noToDoDesc\")\n\t\t\t\t: this._i18nBundle.getText(\"emptyToDoDesc\");\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the panel is exclusive based on support and the number of panels.\n\t *\n\t * @private\n\t * @returns {boolean} True if the panel is exclusive, otherwise false.\n\t */\n\tprivate _isExclusivePanel(): boolean {\n\t\tconst allPanels = (this.getParent() as ToDosContainer).getContent() as ToDoPanel[];\n\t\tconst supportedPanels = allPanels.filter((panel) => panel._getSupported());\n\n\t\treturn supportedPanels.length === 1 || (allPanels.length === 1 && this._getSupported());\n\t}\n\n\t/**\n\t * Sets the interval for refreshing the section.\n\t *\n\t * @private\n\t */\n\tprivate _setSectionRefreshInterval(): void {\n\t\tclearInterval(this._oData.refreshFn as number);\n\t\tthis._oData.refreshFn = setInterval(() => {\n\t\t\tthis._oData.lastRefreshedTime = this._oData.lastRefreshedTime || new Date();\n\t\t\tthis._oData.refreshInfo = this._toRelativeDateTime(this._oData.lastRefreshedTime as Date);\n\t\t\tthis._oData.fullRefreshInfo = this._toFullRelativeDateTime(this._oData.lastRefreshedTime as Date);\n\t\t\tthis._updateRefreshInformation();\n\t\t}, Constants.TODOS_REFRESH_INTERVAL);\n\t}\n\n\t/**\n\t * Updates the refresh information and adjusts the layout.\n\t *\n\t * @private\n\t */\n\tpublic _updateRefreshInformation(): void {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tif (container.getProperty(\"selectedKey\") === this.getProperty(\"key\")) {\n\t\t\tthis._refreshBtn.setProperty(\"text\", this._oData.refreshInfo, true);\n\t\t\tthis._accRefreshLabel.setProperty(\"text\", this._oData.fullRefreshInfo, true);\n\t\t\tthis._refreshBtn.setAggregation(\"tooltip\", this._oData.fullRefreshInfo as ManagedObject, true);\n\t\t\tcontainer._updateContainerHeader(this);\n\t\t}\n\n\t\tthis._adjustLayout();\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t */\n\tpublic _adjustLayout() {\n\t\t// Update visible cards\n\t\tconst cardCount = this._getVisibleCardCount();\n\t\tif ((this._oData.tiles as object[]).length && !this._oData.hasError) {\n\t\t\tconst displayCards = (this._oData.tiles as object[]).slice(0, cardCount);\n\t\t\tthis._controlModel.setProperty(\"/displayTiles\", displayCards);\n\t\t}\n\n\t\t// Update if device type is phone\n\t\tthis._controlModel.setProperty(\"/isPhone\", this.getDeviceType() === DeviceType.Mobile);\n\n\t\t// Show/Hide Full Screen Button if available\n\t\t(this.getParent() as ToDosContainer)?.toggleFullScreenElements(\n\t\t\tthis,\n\t\t\tthis._isElementExpanded() || Number(this._oData.length) > cardCount\n\t\t);\n\t}\n\n\t/**\n\t * Formats the given date to a relative date.\n\t *\n\t * @private\n\t * @param {Date} date Date object or Date String\n\t * @returns {string} Formatted Date\n\t */\n\tpublic _toRelativeDateTime(date: Date): string {\n\t\tconst inputDate = new Date(date);\n\t\treturn isNaN(Number(inputDate)) ? \"\" : ToDoPanel.relativeDateFormatter.format(inputDate);\n\t}\n\n\t/**\n\t * Formats the given date to a relative date string with full units (e.g., \"2 minutes ago\").\n\t * Intended for accessibility use such as screen readers.\n\t *\n\t * @private\n\t * @param {Date} date Date object or date string\n\t * @returns {string} Fully formatted relative date string\n\t */\n\tprivate _toFullRelativeDateTime(date: Date): string {\n\t\tconst inputDate = new Date(date);\n\t\treturn isNaN(Number(inputDate)) ? \"\" : ToDoPanel.fullRelativeDateFormatter.format(inputDate);\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @public\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noData\") as string;\n\t}\n\n\t/**\n\t * Parses the response object and returns the appropriate value.\n\t *\n\t * @private\n\t * @param {Object} response - The response object.\n\t * @param {Object} [response.d] - The 'd' property of the response object.\n\t * @param {Array} [response.d.results] - The results array.\n\t * @param {string|number} [response.d] - The 'd' property of the response object which may contain a numeric value.\n\t * @param {string|number} [response] - The response object which may contain a numeric value.\n\t * @param {string|number} [response.value] - The 'value' property of the response object which may contain a numeric value.\n\t * @returns {Response} - The parsed value extracted from the response object.\n\t */\n\tprivate _parseResponse(response: Response): Response {\n\t\tconst { d = {}, value } = response || {};\n\t\tconst results = d?.results;\n\t\tconst numericD = !isNaN(+d) && +d;\n\t\tconst numericResponse = !isNaN(+response) && +response;\n\n\t\treturn (results || numericD || numericResponse || value || response || 0) as Response;\n\t}\n\n\t/**\n\t * Submits a batch request for multiple URLs and processes the responses.\n\t *\n\t * @private\n\t * @returns {Promise} A Promise that resolves when all batch requests are completed.\n\t */\n\tprotected _submitBatch(): Promise<unknown[]> {\n\t\treturn Promise.all(\n\t\t\tthis.requests.map(async (request: Request) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst useBatch = this.getProperty(\"useBatch\") as boolean;\n\t\t\t\t\tlet responses = useBatch\n\t\t\t\t\t\t? await this.batchHelper.createMultipartRequest(request.baseURL, request.requestURLs)\n\t\t\t\t\t\t: await HttpHelper.GetMultipleRequests(request.requestURLs);\n\n\t\t\t\t\tif (responses.length) {\n\t\t\t\t\t\tconst processedResponses = responses.map((response: string | Response) => {\n\t\t\t\t\t\t\tif (typeof response === \"string\") {\n\t\t\t\t\t\t\t\tresponse = JSON.parse(response) as Response;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this._parseResponse(response);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t// Call success callback, if any\n\t\t\t\t\t\tif (request.success && typeof request.success === \"function\") {\n\t\t\t\t\t\t\tawait request.success(processedResponses);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn processedResponses;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\"Invalid response\");\n\t\t\t\t\t}\n\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\tthis._handleError(error);\n\t\t\t\t} finally {\n\t\t\t\t\tthis._clearRequests();\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * Handles errors by updating the data and logging the error.\n\t *\n\t * @private\n\t * @param {Error} error - The error object to handle.\n\t */\n\tprivate _handleError(error: unknown) {\n\t\tthis._oData.displayTiles = this._oData.tiles = [];\n\t\tthis._oData.getSupported = this._oData.isLoaded = this._oData.hasError = true;\n\t\tthis._oData.illustrationType = \"sapIllus-UnableToLoad\";\n\t\tthis._oData.illustrationTitle = this._oData.illustrationDescription = \"\";\n\n\t\tLog.error(error as string);\n\t\tthis._controlModel.refresh();\n\t}\n\n\t/**\n\t * Clears the list of requests.\n\t *\n\t * @private\n\t */\n\tprotected _clearRequests() {\n\t\tthis.requests = [];\n\t}\n\n\t/**\n\t * Checks if the panel is loaded.\n\t *\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic _isLoaded(): boolean {\n\t\tconst parentContainer = this.getParent() as ToDosContainer;\n\t\tconst isContainerExpanded = parentContainer?._getLayout()?.getProperty(\"expanded\") as boolean;\n\n\t\tconst { isLoaded, isExpandedOnce } = this._oData;\n\n\t\tif (!isContainerExpanded) {\n\t\t\treturn isLoaded as boolean;\n\t\t}\n\n\t\treturn (isExpandedOnce && isLoaded) as boolean;\n\t}\n\n\t/**\n\t * Set the loaded status of the ToDoPanel.\n\t *\n\t * @private\n\t * @param {boolean} isLoaded - The new loaded status to set for the ToDoPanel.\n\t */\n\tpublic _setLoaded(isLoaded: boolean): void {\n\t\tthis._oData.isLoaded = isLoaded;\n\t}\n\n\t/**\n\t * Gets the supported status of the panel.\n\t *\n\t * @private\n\t * @returns {boolean} The supported status of the panel.\n\t */\n\tpublic _getSupported(): boolean {\n\t\treturn this._oData.getSupported as boolean;\n\t}\n\n\t/**\n\t * Sets the supported status of the panel.\n\t *\n\t * @private\n\t * @param {boolean} value - The value to set for supported status.\n\t */\n\tpublic _setSupported(isSupported: boolean): void {\n\t\tthis._oData.getSupported = isSupported;\n\t}\n\n\t/**\n\t * Extracts the app intent from the target app URL.\n\t *\n\t * @private\n\t * @returns {Intent | null} The app intent object with target and parameters, or null if not found.\n\t */\n\tpublic _getAppIntent(): Intent | null {\n\t\tconst pattern = /#([^?-]+)-([^?#]+)(?:\\?([^#]+))?(?:#.*)?/;\n\t\tconst match = this.getTargetAppUrl().match(pattern);\n\n\t\tif (match) {\n\t\t\tconst target = {\n\t\t\t\tsemanticObject: match[1],\n\t\t\t\taction: match[2]\n\t\t\t};\n\t\t\tconst params = {} as Record<string, string>;\n\n\t\t\tif (match[3]) {\n\t\t\t\tconst paramsArray = match[3].split(\"&\");\n\t\t\t\tfor (const param of paramsArray) {\n\t\t\t\t\tconst [key, value] = param.split(\"=\");\n\t\t\t\t\tparams[key] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttarget,\n\t\t\t\tparams\n\t\t\t};\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Switch to available tab if current panel has empty cards or has error\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async _switchTabIfRequired() {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tconst selectedKey = container?.getProperty(\"selectedKey\") as string;\n\n\t\tif (selectedKey === this.getProperty(\"key\") && (this._oData.length === 0 || this._oData.hasError)) {\n\t\t\tlet nextAvailablePanel;\n\t\t\tconst panels = container?.getAggregation(\"content\") as ToDoPanel[];\n\n\t\t\tfor (const panel of panels) {\n\t\t\t\tif (panel !== this) {\n\t\t\t\t\t//ensure that panel is loaded first\n\t\t\t\t\tawait panel._loadCards();\n\n\t\t\t\t\tif (panel._getSupported() && !panel._isLoaded() && panel._getCardCount() > 0) {\n\t\t\t\t\t\tnextAvailablePanel = panel;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (nextAvailablePanel) {\n\t\t\t\tcontainer?.setProperty(\"selectedKey\", nextAvailablePanel.getProperty(\"key\"));\n\t\t\t\tToDosContainer.cardCount = this._cardCount;\n\t\t\t\tawait nextAvailablePanel._loadCards(true);\n\t\t\t\tToDosContainer.cardCount = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event to view all items.\n\t *\n\t * @private\n\t */\n\tpublic _onPressViewAll() {\n\t\tURLHelper.redirect(this.getTargetAppUrl(), false);\n\t\taddFESRNavigationSource(FESRNavigationSource.Task);\n\t}\n\n\t/**\n\t * Retrieves the count of cards in the panel.\n\t *\n\t * @private\n\t * @returns {number} The number of cards.\n\t */\n\tpublic _getCardCount(): number {\n\t\treturn Number(this._oData.length);\n\t}\n\n\t/**\n\t * Handles actions to be performed before the To-Dos panel is expanded.\n\t * If the panel has not been expanded before in full screen, the cards will be loaded once.\n\t *\n\t * @private\n\t */\n\tprivate async _beforePanelExpand() {\n\t\tif (!this._oData.isExpandedOnce) {\n\t\t\tthis._oData.isExpandedOnce = true;\n\t\t\tif (!this.getProperty(\"preload\")) {\n\t\t\t\tawait this._loadCards(true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tclearInterval(this._oData.refreshFn as number);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ToDoPanel.js","names":["sap","ui","define","Log","Card","GridContainer","GridContainerSettings","Button","GenericTile","HeaderContainer","IllustratedMessage","IllustratedMessageSize","Text","TileContent","VBox","sap_m_library","Device","UI5Element","InvisibleText","DateFormat","JSONModel","__BasePanel","__MenuItem","__ToDosContainer","__BatchHelper","___utils_Device","___utils_FESRUtil","__HttpHelper","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","Priority","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","URLHelper","BasePanel","MenuItem","ToDosContainer","BatchHelper","calculateCardWidth","DeviceType","fetchElementProperties","addFESRId","addFESRNavigationSource","FESRNavigationSource","HttpHelper","Constants","SITUATION_ICON","PLACEHOLDER_ITEMS_COUNT","TODO_CARDS_LIMIT","TODO_SECTION_LIMIT","TODOS_REFRESH_INTERVAL","MOBILE_DEVICE_MAX_WIDTH","DEFAULT_TITLE_HEIGHT","DEFAULT_CARD_HEIGHT","DEFAULT_TAB_HEADER_HEIGHT","GAP","ToDoPanel","extend","metadata","library","properties","baseUrl","type","group","defaultValue","visibility","countUrl","dataUrl","targetAppUrl","minCardWidth","maxCardWidth","useBatch","preload","aggregations","content","multiple","singularName","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","batchHelper","init","_init","BasePanel.prototype.init.call","_oData","isLoaded","hasError","cardWidth","getSupported","isExpandedOnce","isCountCalledOnce","illustrationType","refreshInfo","_toRelativeDateTime","Date","fullRefreshInfo","_toFullRelativeDateTime","horizontalCardCount","illustrationTitle","_i18nBundle","getText","illustrationDescription","isPhone","resize","width","system","phone","tiles","Array","fill","loadState","displayTiles","_controlModel","requests","_toDoWrapper","getId","renderType","items","_generateCardContainer","_generateMobileCardContainer","_generateErrorMessage","setModel","addContent","menuItem","title","icon","press","_onPressRefresh","addAggregation","_accRefreshLabel","text","addDependent","_refreshBtn","addAriaLabelledBy","setProperty","attachEvent","Promise","resolve","_beforePanelExpand","_cardContainer","inlineBlockLayout","snapToRow","visible","layout","columns","columnSize","gap","addStyleClass","_mobileCardContainer","scrollStep","gridLayout","scrollTime","showDividers","_errorCard","_errorMessage","illustrationSize","Base","description","getParent","_getSelectedPanel","_loadCards","forceRefresh","_this2","_loadToDos","undefined","_bindInnerControls","selectedKey","getProperty","_isElementExpanded","_setCount","_getSupported","setTimeout","_generatePlaceHolderTiles","_generateRequestObject","onlyCount","concat","_submitBatch","fireEvent","_setSectionRefreshInterval","lastRefreshedTime","_updateRefreshInformation","_switchTabIfRequired","_updateHeaderIfExclusive","catch","error","_handleError","finally","_clearRequests","refresh","_adjustLayout","getTargetAppUrl","removeContent","_isExclusivePanel","getTitle","displayTitle","trim","_setTitle","String","_innerControlsBound","bindAggregation","path","factory","context","generateCardTemplate","bindProperty","_generateCardTemplate","mode","frameType","pressEnabled","header","tileContent","priority","priorityText","_toPriorityText","footer","key","VeryHigh","High","Medium","Low","_cardCount","_getVisibleCardCount","isPlaceholder","calculationProperties","_getLayout","isElementExpanded","targetDomRef","getDomRef","isHeaderVisible","containerDomRef","_getFullScreenContainer","sectionNodeIndex","childNodes","isMobileDevice","cardCount","getHorizontalCardCount","getVerticalCardCount","toDosContainer","_getCurrentExpandedElementName","_getHorizontalCardCount","domRef","domProperties","availableWidth","Object","slice","reduce","propertyValue","actualCardCount","minWidth","maxWidth","cardLayoutConfig","containerWidth","totalCards","Math","max","floor","_getVerticalCardCount","sectionDomProperties","parentDomProperties","parentElement","titleHeight","calculateTitleHeight","availableHeight","height","margin","cardHeight","verticalCardCount","_calculateTitleHeight","container","containerHeaderRef","getElementById","iconTabBarHeaderRef","_getInnerControl","defaultHeight","clientHeight","options","_this3","getCountUrl","urls","generateRequestUrls","splice","baseURL","getBaseUrl","requestURLs","success","args","parsedCount","Number","isNaN","Error","onDataReceived","_handleEmptyCards","_generateRequestUrls","getDataUrl","queryString","includes","_onDataReceived","results","_this4","getNoDataText","allPanels","getContent","supportedPanels","filter","panel","clearInterval","refreshFn","setInterval","setAggregation","_updateContainerHeader","displayCards","getDeviceType","Mobile","toggleFullScreenElements","date","inputDate","relativeDateFormatter","format","fullRelativeDateFormatter","_getNoDataText","_parseResponse","response","d","numericD","numericResponse","_this5","all","map","request","createMultipartRequest","GetMultipleRequests","responses","isArray","processedResponses","JSON","parse","_temp","_isLoaded","parentContainer","isContainerExpanded","_setLoaded","_setSupported","isSupported","_getAppIntent","pattern","match","semanticObject","action","params","paramsArray","split","param","_this6","_interrupt","_temp5","_temp3","nextAvailablePanel","panels","getAggregation","_temp4","_temp2","_getCardCount","_onPressViewAll","redirect","Task","_this7","_temp7","_temp6","exit","_exit","getDateTimeInstance","style","relative","relativeStyle"],"sources":["ToDoPanel.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 Card from \"sap/f/Card\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport Text from \"sap/m/Text\";\nimport TileContent from \"sap/m/TileContent\";\nimport VBox from \"sap/m/VBox\";\nimport { LoadState, Priority, URLHelper } from \"sap/m/library\";\nimport Device from \"sap/ui/Device\";\nimport ManagedObject from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport InvisibleText from \"sap/ui/core/InvisibleText\";\nimport DateFormat from \"sap/ui/core/format/DateFormat\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport IToDoPanel from \"./IToDoPanel\";\nimport MenuItem from \"./MenuItem\";\nimport { $ToDoPanelSettings } from \"./ToDoPanel\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport BatchHelper from \"./utils/BatchHelper\";\nimport { calculateCardWidth, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { addFESRId, addFESRNavigationSource, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport HttpHelper from \"./utils/HttpHelper\";\n\ninterface Request {\n\tbaseURL: string;\n\trequestURLs: string[];\n\tsuccess(args: unknown[]): Promise<void>;\n}\n\nexport interface CalculationProperties {\n\tisPlaceholder?: boolean;\n}\n\nexport interface Intent {\n\ttarget: {\n\t\tsemanticObject: string;\n\t\taction: string;\n\t};\n\tparams: {\n\t\t[key: string]: string;\n\t};\n}\n\nexport interface RequestOptions {\n\ttype: string;\n\tonlyCount?: boolean;\n}\n\nexport interface Response {\n\td?: {\n\t\tresults?: unknown[];\n\t};\n\tresults?: unknown[];\n\tvalue?: unknown[];\n}\n\nconst Constants = {\n\tSITUATION_ICON: \"sap-icon://message-warning\",\n\tPLACEHOLDER_ITEMS_COUNT: 5,\n\tTODO_CARDS_LIMIT: 100,\n\tTODO_SECTION_LIMIT: 6,\n\tTODOS_REFRESH_INTERVAL: 65000,\n\tMOBILE_DEVICE_MAX_WIDTH: 600,\n\tDEFAULT_TITLE_HEIGHT: 33,\n\tDEFAULT_CARD_HEIGHT: 168,\n\tDEFAULT_TAB_HEADER_HEIGHT: 44,\n\tGAP: 16\n};\n\n/**\n *\n * Abstract Panel class for managing and storing To-Do cards.\n *\n * @extends BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @abstract\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.ToDoPanel\n */\nexport default abstract class ToDoPanel extends BasePanel implements IToDoPanel {\n\tprotected _oData!: Record<string, unknown>;\n\tprotected requests!: Request[];\n\tprivate _controlModel!: JSONModel;\n\tprivate _toDoWrapper!: VBox;\n\tprivate _cardContainer!: GridContainer;\n\tprivate _mobileCardContainer!: HeaderContainer;\n\tprivate _errorCard!: Card;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _refreshBtn!: Button;\n\tprivate _loadToDos!: Promise<void> | undefined;\n\tprivate _innerControlsBound!: boolean;\n\tprivate _cardCount!: number;\n\tprivate batchHelper!: BatchHelper;\n\tprivate _accRefreshLabel!: InvisibleText;\n\n\tconstructor(id?: string | $ToDoPanelSettings);\n\tconstructor(id?: string, settings?: $ToDoPanelSettings);\n\t/**\n\t * Constructor for a new To-Dos 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?: $ToDoPanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.batchHelper = new BatchHelper();\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 the base URL for batching requests sent from the panel.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tbaseUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL for fetching the count of requested to-do cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tcountUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL from where the to-do cards should be fetched.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\tdataUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the URL of the target application associated with the to-do cards.\n\t\t\t *\n\t\t\t * @public\n\t\t\t */\n\t\t\ttargetAppUrl: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"public\" },\n\t\t\t/**\n\t\t\t * Specifies the minimum width of the card in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tminCardWidth: { type: \"int\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies the maximum width of the card in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tmaxCardWidth: { type: \"int\", group: \"Misc\", defaultValue: 583, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies whether the panel should batch requests.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tuseBatch: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Specifies whether the panel data should be preloaded.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\tpreload: { type: \"boolean\", group: \"Data\", defaultValue: false, visibility: \"hidden\" }\n\t\t},\n\t\taggregations: {\n\t\t\t/**\n\t\t\t * Specifies the content aggregation of the panel.\n\t\t\t */\n\t\t\tcontent: { multiple: true, singularName: \"content\", visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tstatic fullRelativeDateFormatter = DateFormat.getDateTimeInstance({\n\t\tstyle: \"long\",\n\t\trelative: true,\n\t\trelativeStyle: \"wide\"\n\t});\n\n\tstatic relativeDateFormatter = DateFormat.getDateTimeInstance({\n\t\tstyle: \"medium\",\n\t\trelative: true,\n\t\trelativeStyle: \"short\"\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\n\t\t//Initialise ToDos Model\n\t\tthis._oData = {\n\t\t\tlength: 0,\n\t\t\tisLoaded: false,\n\t\t\thasError: false,\n\t\t\tcardWidth: \"20rem\",\n\t\t\tgetSupported: false,\n\t\t\tisExpandedOnce: false,\n\t\t\tisCountCalledOnce: false,\n\t\t\tillustrationType: \"sapIllus-NoTasks\",\n\t\t\trefreshInfo: this._toRelativeDateTime(new Date()),\n\t\t\tfullRefreshInfo: this._toFullRelativeDateTime(new Date()),\n\t\t\thorizontalCardCount: Constants.PLACEHOLDER_ITEMS_COUNT,\n\t\t\tillustrationTitle: this._i18nBundle.getText(\"noToDoTitle\"),\n\t\t\tillustrationDescription: this._i18nBundle.getText(\"noToDoDesc\"),\n\t\t\tisPhone: Device.resize.width < Constants.MOBILE_DEVICE_MAX_WIDTH || Device.system.phone,\n\t\t\ttiles: new Array(Constants.PLACEHOLDER_ITEMS_COUNT).fill({ loadState: \"Loading\" }),\n\t\t\tdisplayTiles: new Array(Constants.PLACEHOLDER_ITEMS_COUNT).fill({ loadState: \"Loading\" })\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\n\t\t//Initialize Request Queue\n\t\tthis.requests = [];\n\n\t\t//Add Wrapper Container to Panel\n\t\tthis._toDoWrapper = new VBox(`${this.getId()}-toDosWrapper`, {\n\t\t\trenderType: \"Bare\",\n\t\t\titems: [this._generateCardContainer(), this._generateMobileCardContainer(), this._generateErrorMessage()]\n\t\t});\n\t\tthis._toDoWrapper.setModel(this._controlModel);\n\t\tthis.addContent(this._toDoWrapper);\n\n\t\t//Setup Common Menu Items\n\t\tconst menuItem = new MenuItem(`${this.getId()}-refresh`, {\n\t\t\ttitle: this._i18nBundle.getText(\"refresh\"),\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\tpress: () => this._onPressRefresh()\n\t\t});\n\t\tthis.addAggregation(\"menuItems\", menuItem);\n\t\taddFESRId(menuItem, \"todosRefresh\");\n\n\t\tthis._accRefreshLabel = new InvisibleText(`${this.getId()}-refreshAccText`, {\n\t\t\ttext: this._toFullRelativeDateTime(new Date())\n\t\t});\n\t\tthis.addDependent(this._accRefreshLabel);\n\t\tthis._refreshBtn = new Button(`${this.getId()}-refreshBtn`, {\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\ttext: this._toRelativeDateTime(new Date()),\n\t\t\tpress: () => this._onPressRefresh()\n\t\t});\n\t\tthis._refreshBtn.addAriaLabelledBy(this._accRefreshLabel);\n\t\taddFESRId(this._refreshBtn, \"manualTodoRefresh\");\n\t\tthis.addAggregation(\"actionButtons\", this._refreshBtn);\n\n\t\t//Configure Full Screen and Expand Event handlers\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tthis.attachEvent(\"onExpand\", async () => {\n\t\t\tawait this._beforePanelExpand();\n\t\t});\n\t}\n\n\t/**\n\t * Generates the card container (GridContainer) for displaying cards.\n\t *\n\t * @private\n\t * @returns {GridContainer} The generated card container.\n\t */\n\tprivate _generateCardContainer(): GridContainer {\n\t\t//create container\n\t\tif (!this._cardContainer) {\n\t\t\tthis._cardContainer = new GridContainer(`${this.getId()}-flexContainer`, {\n\t\t\t\tinlineBlockLayout: true,\n\t\t\t\tsnapToRow: true,\n\t\t\t\tvisible: \"{= !${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }\",\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-layout`, {\n\t\t\t\t\tcolumns: \"{/horizontalCardCount}\",\n\t\t\t\t\tcolumnSize: \"{/cardWidth}\",\n\t\t\t\t\tgap: \"1rem\"\n\t\t\t\t})\n\t\t\t}).addStyleClass(\"sapCuxToDoCardsContainer\");\n\t\t}\n\n\t\treturn this._cardContainer;\n\t}\n\n\t/**\n\t * Generates the mobile card container (HeaderContainer) for displaying cards on mobile devices.\n\t *\n\t * @private\n\t * @returns {HeaderContainer} The generated mobile card container.\n\t */\n\tprivate _generateMobileCardContainer(): HeaderContainer {\n\t\t// Create a HeaderContainer for mobile devices\n\t\tif (!this._mobileCardContainer) {\n\t\t\tthis._mobileCardContainer = new HeaderContainer(`${this.getId()}-headerContainer`, {\n\t\t\t\tvisible: \"{= ${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }\",\n\t\t\t\tscrollStep: 0,\n\t\t\t\tgridLayout: true,\n\t\t\t\tscrollTime: 1000,\n\t\t\t\tshowDividers: false,\n\t\t\t\tsnapToRow: true\n\t\t\t}).addStyleClass(\"sapCuxToDoMobileCardsContainer\");\n\t\t}\n\n\t\treturn this._mobileCardContainer;\n\t}\n\n\t/**\n\t * Generates the error message card for displaying error messages.\n\t *\n\t * @private\n\t * @returns {Card} The generated error message card.\n\t */\n\tprivate _generateErrorMessage(): Card {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: \"{/illustrationTitle}\",\n\t\t\t\tdescription: \"{/illustrationDescription}\",\n\t\t\t\tillustrationType: \"{/illustrationType}\"\n\t\t\t});\n\t\t\tthis._errorCard = new Card(`${this.getId()}-errorCard`, {\n\t\t\t\tcontent: this._errorMessage,\n\t\t\t\tvisible: \"{= ${/tiles/length} === 0 || ${/hasError} === true }\"\n\t\t\t});\n\t\t}\n\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Handler for the Refresh button for each panel.\n\t * Reloads the selected panel\n\t *\n\t * @async\n\t * @private\n\t */\n\tprivate _onPressRefresh(): void {\n\t\tvoid ((this.getParent() as ToDosContainer)?._getSelectedPanel() as ToDoPanel)?._loadCards(true);\n\t}\n\n\t/**\n\t * Loads the To-Do cards for the panel.\n\t *\n\t * @private\n\t * @param {boolean} forceRefresh - force refresh cards\n\t * @returns {Promise<void>} A promise that resolves when the cards are loaded.\n\t */\n\tpublic async _loadCards(forceRefresh?: boolean): Promise<void> {\n\t\tif (this._loadToDos !== undefined && !forceRefresh) {\n\t\t\treturn this._loadToDos;\n\t\t} else {\n\t\t\tthis._bindInnerControls();\n\t\t\tthis._loadToDos = new Promise((resolve) => {\n\t\t\t\tconst selectedKey = (this.getParent() as BaseContainer)?._getSelectedPanel()?.getProperty(\"key\") as string;\n\t\t\t\tconst requests: Request[] = [];\n\n\t\t\t\tthis._oData.isLoaded = false;\n\t\t\t\tthis._oData.isCountCalledOnce = false;\n\t\t\t\tthis._oData.isExpandedOnce = this._isElementExpanded();\n\t\t\t\tthis._setCount();\n\n\t\t\t\tif (this._getSupported()) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t// Load Placeholder Cards\n\t\t\t\t\t\tthis._generatePlaceHolderTiles();\n\n\t\t\t\t\t\t// Add Initial Batch Requests\n\t\t\t\t\t\trequests.push(\n\t\t\t\t\t\t\tthis._generateRequestObject({\n\t\t\t\t\t\t\t\ttype: selectedKey,\n\t\t\t\t\t\t\t\tonlyCount: !this.getProperty(\"preload\") && selectedKey !== this.getProperty(\"key\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.requests = this.requests.concat(requests);\n\n\t\t\t\t\t\t//Submit Batch Requests\n\t\t\t\t\t\tthis._submitBatch()\n\t\t\t\t\t\t\t.then(async () => {\n\t\t\t\t\t\t\t\tthis._oData.isLoaded = this.getProperty(\"preload\") || selectedKey === this.getProperty(\"key\");\n\t\t\t\t\t\t\t\tthis.fireEvent(\"loaded\");\n\n\t\t\t\t\t\t\t\tthis._oData.isCountCalledOnce = true;\n\t\t\t\t\t\t\t\tthis._setCount(this._oData.length as string);\n\n\t\t\t\t\t\t\t\tthis._setSectionRefreshInterval();\n\t\t\t\t\t\t\t\tthis._oData.refreshInfo = this._toRelativeDateTime(new Date());\n\t\t\t\t\t\t\t\tthis._oData.fullRefreshInfo = this._toFullRelativeDateTime(new Date());\n\t\t\t\t\t\t\t\tthis._oData.lastRefreshedTime = new Date();\n\t\t\t\t\t\t\t\tthis._updateRefreshInformation();\n\n\t\t\t\t\t\t\t\tawait this._switchTabIfRequired();\n\t\t\t\t\t\t\t\tthis._updateHeaderIfExclusive();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\t\t\t\tthis._handleError(error);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis._clearRequests();\n\t\t\t\t\t\t\t\tthis._controlModel.refresh();\n\t\t\t\t\t\t\t\tthis._adjustLayout();\n\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis._handleError(`User not authorized to access: + ${this.getTargetAppUrl()}`);\n\n\t\t\t\t\t// Remove Item from IconTabBar\n\t\t\t\t\t(this.getParent() as ToDosContainer)?.removeContent(this);\n\n\t\t\t\t\t//resolve the promise\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn this._loadToDos;\n\t}\n\n\t/**\n\t * Update Container Header if the panel is exclusive\n\t *\n\t * @private\n\t */\n\tprivate _updateHeaderIfExclusive() {\n\t\tif (this._isExclusivePanel()) {\n\t\t\tconst title = (this.getParent() as ToDosContainer).getTitle();\n\t\t\tconst displayTitle = title?.trim() || this._i18nBundle.getText(\"toDosTitle\");\n\t\t\t(this.getParent() as ToDosContainer)._setTitle(`${displayTitle} (${String(this._oData.length)})`);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a one-time binding of inner controls for the ToDoPanel.\n\t * @private\n\t */\n\tprivate _bindInnerControls(): void {\n\t\tif (!this._innerControlsBound) {\n\t\t\t//bind card container\n\t\t\tthis._cardContainer.bindAggregation(\"items\", {\n\t\t\t\tpath: \"/displayTiles\",\n\t\t\t\tlength: Constants.TODO_CARDS_LIMIT,\n\t\t\t\tfactory: (id, context) => this.generateCardTemplate(id, context)?.bindProperty?.(\"width\", { path: \"/cardWidth\" })\n\t\t\t});\n\n\t\t\t//bind mobile card container\n\t\t\tthis._mobileCardContainer.bindAggregation(\"content\", {\n\t\t\t\tpath: \"/displayTiles\",\n\t\t\t\tlength: Constants.TODO_CARDS_LIMIT,\n\t\t\t\tfactory: (id, context) => this.generateCardTemplate(id, context)?.bindProperty?.(\"width\", { path: \"/cardWidth\" })\n\t\t\t});\n\n\t\t\tthis._innerControlsBound = true;\n\t\t}\n\t}\n\n\t/**\n\t * Generates the card template for the Current Panel.\n\t *\n\t * @public\n\t * @param {string} id The ID for the template.\n\t * @param {object} context The context for the template.\n\t * @returns {object} The generated card template.\n\t */\n\tpublic generateCardTemplate(id: string, context: Context): Control {\n\t\treturn new GenericTile(`${id}-tile`, {\n\t\t\tmode: \"ActionMode\",\n\t\t\tframeType: \"TwoByOne\",\n\t\t\tpressEnabled: true,\n\t\t\theader: context.getProperty(\"title\") as string,\n\t\t\twidth: context.getProperty(\"/cardWidth\") as string,\n\t\t\tstate: context.getProperty(\"loadState\") as LoadState,\n\t\t\ttileContent: [\n\t\t\t\tnew TileContent(`${id}-tileContent`, {\n\t\t\t\t\tpriority: context.getProperty(\"priority\") as Priority,\n\t\t\t\t\tpriorityText: this._toPriorityText(context.getProperty(\"priority\") as Priority),\n\t\t\t\t\tfooter: context.getProperty(\"footerText\") as string,\n\t\t\t\t\tcontent: new Text(`${id}-situationContent`, {\n\t\t\t\t\t\ttext: context.getProperty(\"message\") as string\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * Convert a priority string to a corresponding priority text.\n\t *\n\t * @private\n\t * @param {Priority} priority - The priority string.\n\t * @returns {string} The corresponding priority text.\n\t */\n\tpublic _toPriorityText(priority: Priority): string {\n\t\tlet key;\n\t\tif (priority === Priority.VeryHigh) {\n\t\t\tkey = \"veryHighPriority\";\n\t\t} else if (priority === Priority.High) {\n\t\t\tkey = \"highPriority\";\n\t\t} else if (priority === Priority.Medium) {\n\t\t\tkey = \"mediumPriority\";\n\t\t} else if (priority === Priority.Low) {\n\t\t\tkey = \"lowPriority\";\n\t\t} else {\n\t\t\tkey = \"nonePriority\";\n\t\t}\n\n\t\treturn this._i18nBundle.getText(key) as string;\n\t}\n\n\t/**\n\t * Generates placeholder tiles for the panel.\n\t *\n\t * @private\n\t */\n\tprivate _generatePlaceHolderTiles(): void {\n\t\tthis._cardCount = this._getVisibleCardCount({ isPlaceholder: true });\n\t\tthis._oData.displayTiles = this._oData.tiles = new Array(this._cardCount).fill({ loadState: \"Loading\" });\n\t\tthis._oData.isLoaded = this._oData.hasError = false;\n\t\tthis._controlModel.refresh();\n\t}\n\n\t/**\n\t * Calculates the number of visible cards that can fit within the available space of the To-Dos panel.\n\t *\n\t * @private\n\t * @param {CalculationProperties} [calculationProperties] - Optional properties to assist in the calculation.\n\t * @returns {number} - The number of visible cards.\n\t */\n\tprivate _getVisibleCardCount(calculationProperties?: CalculationProperties): number {\n\t\tconst layout = (this.getParent() as ToDosContainer)?._getLayout();\n\t\tlet isElementExpanded = false;\n\t\tlet targetDomRef = this._toDoWrapper?.getDomRef();\n\n\t\tif (layout) {\n\t\t\tisElementExpanded = this._isElementExpanded();\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst containerDomRef = (isElementExpanded ? layout._getFullScreenContainer() : layout).getDomRef();\n\t\t\tconst sectionNodeIndex = isHeaderVisible && !isElementExpanded ? 1 : 0;\n\t\t\ttargetDomRef = containerDomRef?.childNodes[sectionNodeIndex] as Element;\n\t\t}\n\n\t\tconst isMobileDevice = this._controlModel.getProperty(\"/isPhone\") as boolean;\n\t\tlet cardCount = isMobileDevice ? Constants.TODO_SECTION_LIMIT : 1;\n\n\t\tif (targetDomRef) {\n\t\t\t// @ts-expect-error Calculate Horizontal Card Count\n\t\t\tcardCount = this.getHorizontalCardCount(targetDomRef, calculationProperties);\n\n\t\t\tif (isElementExpanded) {\n\t\t\t\t// @ts-expect-error Calculate Vertical Card Count\n\t\t\t\tcardCount *= this.getVerticalCardCount(targetDomRef, calculationProperties);\n\t\t\t}\n\n\t\t\t//Restrict cards to the maximum limit\n\t\t\tcardCount = cardCount > Constants.TODO_CARDS_LIMIT ? Constants.TODO_CARDS_LIMIT : cardCount;\n\t\t}\n\n\t\treturn cardCount;\n\t}\n\n\t/**\n\t * Checks if the current element is expanded to full screen.\n\t *\n\t * @private\n\t * @returns {boolean} - True if the element is expanded, otherwise false.\n\t */\n\tprivate _isElementExpanded(): boolean {\n\t\tconst toDosContainer = this.getParent() as ToDosContainer;\n\t\tconst layout = toDosContainer._getLayout();\n\t\treturn layout?._getCurrentExpandedElementName() === toDosContainer.getProperty(\"fullScreenName\");\n\t}\n\n\t/**\n\t * Calculates the number of horizontal cards that can fit within the available width of the given DOM element.\n\t *\n\t * @private\n\t * @param {Element} domRef - The DOM element to calculate the horizontal card count for.\n\t * @returns {number} - The number of horizontal cards that can fit within the available width.\n\t */\n\tprotected getHorizontalCardCount(domRef: Element): number {\n\t\tconst domProperties = fetchElementProperties(domRef, [\"width\", \"padding-left\", \"padding-right\", \"margin-left\", \"margin-right\"]);\n\t\tconst availableWidth = Object.values(domProperties)\n\t\t\t.slice(1)\n\t\t\t.reduce((width, propertyValue) => width - propertyValue, domProperties[\"width\"]);\n\t\tconst actualCardCount = this._oData.length as number;\n\t\tconst isMobileDevice = this._controlModel.getProperty(\"/isPhone\") as boolean;\n\t\tlet horizontalCardCount;\n\t\tconst minWidth = this.getProperty(\"minCardWidth\") as number;\n\t\tconst maxWidth = this.getProperty(\"maxCardWidth\") as number;\n\t\tconst cardLayoutConfig = {\n\t\t\tcontainerWidth: availableWidth,\n\t\t\ttotalCards: actualCardCount,\n\t\t\tminWidth: minWidth,\n\t\t\tmaxWidth: maxWidth,\n\t\t\tgap: Constants.GAP\n\t\t};\n\t\tconst cardWidth = calculateCardWidth(cardLayoutConfig);\n\t\tif (isMobileDevice) {\n\t\t\thorizontalCardCount = Constants.TODO_SECTION_LIMIT;\n\t\t} else {\n\t\t\thorizontalCardCount = Math.max(Math.floor(availableWidth / cardWidth), 1);\n\t\t}\n\n\t\t// Calculate Horizontal Card Count\n\t\tthis._controlModel.setProperty(\"/cardWidth\", `${cardWidth / 16}rem`);\n\t\tthis._controlModel.setProperty(\"/horizontalCardCount\", horizontalCardCount);\n\n\t\treturn horizontalCardCount;\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 * @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\tprotected getVerticalCardCount(domRef: Element): number {\n\t\tconst sectionDomProperties = 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 - sectionDomProperties[\"padding-top\"] * 2 - titleHeight;\n\t\tconst margin = 14;\n\t\tconst cardHeight = Constants.DEFAULT_CARD_HEIGHT + margin;\n\t\tconst verticalCardCount = Math.max(Math.floor(availableHeight / cardHeight), 2); //minimum of 2 rows should be displayed\n\n\t\treturn verticalCardCount;\n\t}\n\n\t/**\n\t * Calculates the combined height of the title and tab header for the To-Dos panel.\n\t *\n\t * @private\n\t * @returns {number} - The combined height of the title and tab header.\n\t */\n\tprotected calculateTitleHeight(): number {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tconst containerHeaderRef = UI5Element.getElementById(`${container.getId()}-header`)?.getDomRef();\n\t\tconst iconTabBarHeaderRef = UI5Element.getElementById(`${container._getInnerControl().getId()}--header`)?.getDomRef();\n\t\tconst defaultHeight = Constants.DEFAULT_TITLE_HEIGHT + Constants.DEFAULT_TAB_HEADER_HEIGHT;\n\t\tlet titleHeight = 0;\n\n\t\tif (containerHeaderRef && iconTabBarHeaderRef) {\n\t\t\ttitleHeight = containerHeaderRef.clientHeight + iconTabBarHeaderRef.clientHeight;\n\t\t}\n\n\t\treturn Math.max(titleHeight, defaultHeight);\n\t}\n\n\t/**\n\t * Generates a request object for batch requests.\n\t *\n\t * @private\n\t * @param {RequestOptions} options - Additional properties for generating the request object.\n\t * @param {boolean} [options.onlyCount] - Whether to include only the count in the request.\n\t * @returns {Object} The generated request object.\n\t */\n\tprivate _generateRequestObject(options: RequestOptions): Request {\n\t\tconst cardCount = this._getVisibleCardCount();\n\t\tconst countUrl = this.getCountUrl();\n\t\tconst urls = this.generateRequestUrls?.(cardCount);\n\n\t\tif (countUrl && options?.onlyCount) {\n\t\t\turls.splice(1);\n\t\t}\n\n\t\treturn {\n\t\t\tbaseURL: this.getBaseUrl(),\n\t\t\trequestURLs: urls,\n\t\t\tsuccess: async (args: unknown[]): Promise<void> => {\n\t\t\t\tconst parsedCount = Number(args[0]);\n\t\t\t\tif (isNaN(parsedCount)) throw new Error(\"Invalid Count\");\n\n\t\t\t\t//data process extension for panels\n\t\t\t\tawait this.onDataReceived(countUrl ? args.splice(1) : args, options);\n\n\t\t\t\t//set card count and handle empty cards\n\t\t\t\tthis._oData.length = countUrl ? parsedCount : (this._oData.tiles as object[]).length;\n\t\t\t\tthis._handleEmptyCards();\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Generates request URLs for fetching data based on the specified card count.\n\t *\n\t * @public\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 = [];\n\t\tconst countUrl = this.getCountUrl();\n\n\t\tif (countUrl) {\n\t\t\turls.push(countUrl);\n\t\t}\n\n\t\tlet dataUrl = this.getDataUrl();\n\t\tif (this.getProperty(\"useBatch\")) {\n\t\t\tconst queryString = this.getProperty(\"preload\") ? \"\" : `$skip=0&$top=${cardCount}`;\n\t\t\tdataUrl = dataUrl.includes(\"?\") ? `${dataUrl}&${queryString}` : `${dataUrl}?${queryString}`;\n\t\t}\n\t\turls.push(dataUrl);\n\n\t\treturn urls;\n\t}\n\n\t/**\n\t * A promise that resolves when the data has been processed.\n\t * This method can be overridden to perform additional data processing operations.\n\t *\n\t * @public\n\t * @async\n\t * @param {unknown[]} results - Data retrieved from the batch call.\n\t * @param {RequestOptions} options - Additional options for parsing the data.\n\t * Structure may vary based on the backend service.\n\t */\n\tpublic async onDataReceived(results: unknown[] = [], options?: RequestOptions): Promise<void> {\n\t\tif (!options || (options && !options.onlyCount)) {\n\t\t\tthis._oData.displayTiles = this._oData.tiles = results[0] || [];\n\t\t}\n\n\t\tawait Promise.resolve();\n\t}\n\n\t/**\n\t * Handles the scenario when there are no cards to display.\n\t * Updates the illustration and description based on the selected panel and card count.\n\t *\n\t * @private\n\t */\n\tprivate _handleEmptyCards() {\n\t\tif (Number(this._oData.length) === 0) {\n\t\t\tthis._oData.illustrationType = \"sapIllus-EmptyPlanningCalendar\";\n\t\t\tthis._oData.illustrationTitle = this._isExclusivePanel() ? this._i18nBundle.getText(\"noToDoTitle\") : this.getNoDataText();\n\t\t\tthis._oData.illustrationDescription = this._isExclusivePanel()\n\t\t\t\t? this._i18nBundle.getText(\"noToDoDesc\")\n\t\t\t\t: this._i18nBundle.getText(\"emptyToDoDesc\");\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the panel is exclusive based on support and the number of panels.\n\t *\n\t * @private\n\t * @returns {boolean} True if the panel is exclusive, otherwise false.\n\t */\n\tprivate _isExclusivePanel(): boolean {\n\t\tconst allPanels = (this.getParent() as ToDosContainer).getContent() as ToDoPanel[];\n\t\tconst supportedPanels = allPanels.filter((panel) => panel._getSupported());\n\n\t\treturn supportedPanels.length === 1 || (allPanels.length === 1 && this._getSupported());\n\t}\n\n\t/**\n\t * Sets the interval for refreshing the section.\n\t *\n\t * @private\n\t */\n\tprivate _setSectionRefreshInterval(): void {\n\t\tclearInterval(this._oData.refreshFn as number);\n\t\tthis._oData.refreshFn = setInterval(() => {\n\t\t\tthis._oData.lastRefreshedTime = this._oData.lastRefreshedTime || new Date();\n\t\t\tthis._oData.refreshInfo = this._toRelativeDateTime(this._oData.lastRefreshedTime as Date);\n\t\t\tthis._oData.fullRefreshInfo = this._toFullRelativeDateTime(this._oData.lastRefreshedTime as Date);\n\t\t\tthis._updateRefreshInformation();\n\t\t}, Constants.TODOS_REFRESH_INTERVAL);\n\t}\n\n\t/**\n\t * Updates the refresh information and adjusts the layout.\n\t *\n\t * @private\n\t */\n\tpublic _updateRefreshInformation(): void {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tif (container.getProperty(\"selectedKey\") === this.getProperty(\"key\")) {\n\t\t\tthis._refreshBtn.setProperty(\"text\", this._oData.refreshInfo, true);\n\t\t\tthis._accRefreshLabel.setProperty(\"text\", this._oData.fullRefreshInfo, true);\n\t\t\tthis._refreshBtn.setAggregation(\"tooltip\", this._oData.fullRefreshInfo as ManagedObject, true);\n\t\t\tcontainer._updateContainerHeader(this);\n\t\t}\n\n\t\tthis._adjustLayout();\n\t}\n\n\t/**\n\t * Adjusts the layout based on card count and device type.\n\t *\n\t * @private\n\t */\n\tpublic _adjustLayout() {\n\t\t// Update visible cards\n\t\tconst cardCount = this._getVisibleCardCount();\n\t\tif ((this._oData.tiles as object[]).length && !this._oData.hasError) {\n\t\t\tconst displayCards = (this._oData.tiles as object[]).slice(0, cardCount);\n\t\t\tthis._controlModel.setProperty(\"/displayTiles\", displayCards);\n\t\t}\n\n\t\t// Update if device type is phone\n\t\tthis._controlModel.setProperty(\"/isPhone\", this.getDeviceType() === DeviceType.Mobile);\n\n\t\t// Show/Hide Full Screen Button if available\n\t\t(this.getParent() as ToDosContainer)?.toggleFullScreenElements(\n\t\t\tthis,\n\t\t\tthis._isElementExpanded() || Number(this._oData.length) > cardCount\n\t\t);\n\t}\n\n\t/**\n\t * Formats the given date to a relative date.\n\t *\n\t * @private\n\t * @param {Date} date Date object or Date String\n\t * @returns {string} Formatted Date\n\t */\n\tpublic _toRelativeDateTime(date: Date): string {\n\t\tconst inputDate = new Date(date);\n\t\treturn isNaN(Number(inputDate)) ? \"\" : ToDoPanel.relativeDateFormatter.format(inputDate);\n\t}\n\n\t/**\n\t * Formats the given date to a relative date string with full units (e.g., \"2 minutes ago\").\n\t * Intended for accessibility use such as screen readers.\n\t *\n\t * @private\n\t * @param {Date} date Date object or date string\n\t * @returns {string} Fully formatted relative date string\n\t */\n\tprivate _toFullRelativeDateTime(date: Date): string {\n\t\tconst inputDate = new Date(date);\n\t\treturn isNaN(Number(inputDate)) ? \"\" : ToDoPanel.fullRelativeDateFormatter.format(inputDate);\n\t}\n\n\t/**\n\t * Get the text for the \"No Data\" message.\n\t *\n\t * @public\n\t * @returns {string} The text for the \"No Data\" message.\n\t */\n\tpublic getNoDataText(): string {\n\t\treturn this._i18nBundle.getText(\"noData\") as string;\n\t}\n\n\t/**\n\t * Parses the response object and returns the appropriate value.\n\t *\n\t * @private\n\t * @param {Object} response - The response object.\n\t * @param {Object} [response.d] - The 'd' property of the response object.\n\t * @param {Array} [response.d.results] - The results array.\n\t * @param {string|number} [response.d] - The 'd' property of the response object which may contain a numeric value.\n\t * @param {string|number} [response] - The response object which may contain a numeric value.\n\t * @param {string|number} [response.value] - The 'value' property of the response object which may contain a numeric value.\n\t * @returns {Response} - The parsed value extracted from the response object.\n\t */\n\tprivate _parseResponse(response: Response): Response {\n\t\tconst { d = {}, value } = response || {};\n\t\tconst results = d?.results;\n\t\tconst numericD = !isNaN(+d) && +d;\n\t\tconst numericResponse = !isNaN(+response) && +response;\n\n\t\treturn (results || numericD || numericResponse || value || response || 0) as Response;\n\t}\n\n\t/**\n\t * Submits a batch request for multiple URLs and processes the responses.\n\t *\n\t * @private\n\t * @returns {Promise} A Promise that resolves when all batch requests are completed.\n\t */\n\tprotected _submitBatch(): Promise<unknown[]> {\n\t\treturn Promise.all(\n\t\t\tthis.requests.map(async (request: Request) => {\n\t\t\t\tconst useBatch = this.getProperty(\"useBatch\") as boolean;\n\t\t\t\tlet responses = useBatch\n\t\t\t\t\t? await this.batchHelper.createMultipartRequest(request.baseURL, request.requestURLs)\n\t\t\t\t\t: await HttpHelper.GetMultipleRequests(request.requestURLs);\n\n\t\t\t\tif (responses && Array.isArray(responses) && responses.length) {\n\t\t\t\t\tconst processedResponses = responses.map((response: string | Response) => {\n\t\t\t\t\t\tif (typeof response === \"string\") {\n\t\t\t\t\t\t\tresponse = JSON.parse(response) as Response;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn this._parseResponse(response);\n\t\t\t\t\t});\n\n\t\t\t\t\t// Call success callback, if any\n\t\t\t\t\tif (request.success && typeof request.success === \"function\") {\n\t\t\t\t\t\tawait request.success(processedResponses);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn processedResponses;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(\"Invalid response\");\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t/**\n\t * Handles errors by updating the data and logging the error.\n\t *\n\t * @private\n\t * @param {Error} error - The error object to handle.\n\t */\n\tprivate _handleError(error: unknown) {\n\t\tthis._oData.displayTiles = this._oData.tiles = [];\n\t\tthis._oData.getSupported = this._oData.isLoaded = this._oData.hasError = true;\n\t\tthis._oData.illustrationType = \"sapIllus-UnableToLoad\";\n\t\tthis._oData.illustrationTitle = this._oData.illustrationDescription = \"\";\n\n\t\tLog.error(error as string);\n\t\tthis._controlModel.refresh();\n\t}\n\n\t/**\n\t * Clears the list of requests.\n\t *\n\t * @private\n\t */\n\tprotected _clearRequests() {\n\t\tthis.requests = [];\n\t}\n\n\t/**\n\t * Checks if the panel is loaded.\n\t *\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic _isLoaded(): boolean {\n\t\tconst parentContainer = this.getParent() as ToDosContainer;\n\t\tconst isContainerExpanded = parentContainer?._getLayout()?.getProperty(\"expanded\") as boolean;\n\n\t\tconst { isLoaded, isExpandedOnce } = this._oData;\n\n\t\tif (!isContainerExpanded) {\n\t\t\treturn isLoaded as boolean;\n\t\t}\n\n\t\treturn (isExpandedOnce && isLoaded) as boolean;\n\t}\n\n\t/**\n\t * Set the loaded status of the ToDoPanel.\n\t *\n\t * @private\n\t * @param {boolean} isLoaded - The new loaded status to set for the ToDoPanel.\n\t */\n\tpublic _setLoaded(isLoaded: boolean): void {\n\t\tthis._oData.isLoaded = isLoaded;\n\t}\n\n\t/**\n\t * Gets the supported status of the panel.\n\t *\n\t * @private\n\t * @returns {boolean} The supported status of the panel.\n\t */\n\tpublic _getSupported(): boolean {\n\t\treturn this._oData.getSupported as boolean;\n\t}\n\n\t/**\n\t * Sets the supported status of the panel.\n\t *\n\t * @private\n\t * @param {boolean} value - The value to set for supported status.\n\t */\n\tpublic _setSupported(isSupported: boolean): void {\n\t\tthis._oData.getSupported = isSupported;\n\t}\n\n\t/**\n\t * Extracts the app intent from the target app URL.\n\t *\n\t * @private\n\t * @returns {Intent | null} The app intent object with target and parameters, or null if not found.\n\t */\n\tpublic _getAppIntent(): Intent | null {\n\t\tconst pattern = /#([^?-]+)-([^?#]+)(?:\\?([^#]+))?(?:#.*)?/;\n\t\tconst match = this.getTargetAppUrl().match(pattern);\n\n\t\tif (match) {\n\t\t\tconst target = {\n\t\t\t\tsemanticObject: match[1],\n\t\t\t\taction: match[2]\n\t\t\t};\n\t\t\tconst params = {} as Record<string, string>;\n\n\t\t\tif (match[3]) {\n\t\t\t\tconst paramsArray = match[3].split(\"&\");\n\t\t\t\tfor (const param of paramsArray) {\n\t\t\t\t\tconst [key, value] = param.split(\"=\");\n\t\t\t\t\tparams[key] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttarget,\n\t\t\t\tparams\n\t\t\t};\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/**\n\t * Switch to available tab if current panel has empty cards or has error\n\t *\n\t * @private\n\t * @async\n\t */\n\tprivate async _switchTabIfRequired() {\n\t\tconst container = this.getParent() as ToDosContainer;\n\t\tconst selectedKey = container?.getProperty(\"selectedKey\") as string;\n\n\t\tif (selectedKey === this.getProperty(\"key\") && (this._oData.length === 0 || this._oData.hasError)) {\n\t\t\tlet nextAvailablePanel;\n\t\t\tconst panels = container?.getAggregation(\"content\") as ToDoPanel[];\n\n\t\t\tfor (const panel of panels) {\n\t\t\t\tif (panel !== this) {\n\t\t\t\t\t//ensure that panel is loaded first\n\t\t\t\t\tawait panel._loadCards();\n\n\t\t\t\t\tif (panel._getSupported() && !panel._isLoaded() && panel._getCardCount() > 0) {\n\t\t\t\t\t\tnextAvailablePanel = panel;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (nextAvailablePanel) {\n\t\t\t\tcontainer?.setProperty(\"selectedKey\", nextAvailablePanel.getProperty(\"key\"));\n\t\t\t\tToDosContainer.cardCount = this._cardCount;\n\t\t\t\tawait nextAvailablePanel._loadCards(true);\n\t\t\t\tToDosContainer.cardCount = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles the press event to view all items.\n\t *\n\t * @private\n\t */\n\tpublic _onPressViewAll() {\n\t\tURLHelper.redirect(this.getTargetAppUrl(), false);\n\t\taddFESRNavigationSource(FESRNavigationSource.Task);\n\t}\n\n\t/**\n\t * Retrieves the count of cards in the panel.\n\t *\n\t * @private\n\t * @returns {number} The number of cards.\n\t */\n\tpublic _getCardCount(): number {\n\t\treturn Number(this._oData.length);\n\t}\n\n\t/**\n\t * Handles actions to be performed before the To-Dos panel is expanded.\n\t * If the panel has not been expanded before in full screen, the cards will be loaded once.\n\t *\n\t * @private\n\t */\n\tprivate async _beforePanelExpand() {\n\t\tif (!this._oData.isExpandedOnce) {\n\t\t\tthis._oData.isExpandedOnce = true;\n\t\t\tif (!this.getProperty(\"preload\")) {\n\t\t\t\tawait this._loadCards(true);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tclearInterval(this._oData.refreshFn as number);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -177,7 +177,7 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
177
177
  *
178
178
  * @private
179
179
  */
180
- preload: { type: "boolean", group: "Data", defaultValue: false, visibility: "hidden" },
180
+ preload: { type: "boolean", group: "Data", defaultValue: false, visibility: "hidden" }
181
181
  },
182
182
  aggregations: {
183
183
  /**
@@ -377,7 +377,10 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
377
377
 
378
378
  // Add Initial Batch Requests
379
379
  requests.push(
380
- this._generateRequestObject({ type: selectedKey, onlyCount: !this.getProperty("preload") && selectedKey !== this.getProperty("key") })
380
+ this._generateRequestObject({
381
+ type: selectedKey,
382
+ onlyCount: !this.getProperty("preload") && selectedKey !== this.getProperty("key")
383
+ })
381
384
  );
382
385
  this.requests = this.requests.concat(requests);
383
386
 
@@ -400,9 +403,10 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
400
403
  this._updateHeaderIfExclusive();
401
404
  })
402
405
  .catch((error: unknown) => {
403
- Log.error(error instanceof Error ? error.message : "");
406
+ this._handleError(error);
404
407
  })
405
408
  .finally(() => {
409
+ this._clearRequests();
406
410
  this._controlModel.refresh();
407
411
  this._adjustLayout();
408
412
  resolve();
@@ -674,11 +678,14 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
674
678
  baseURL: this.getBaseUrl(),
675
679
  requestURLs: urls,
676
680
  success: async (args: unknown[]): Promise<void> => {
681
+ const parsedCount = Number(args[0]);
682
+ if (isNaN(parsedCount)) throw new Error("Invalid Count");
683
+
677
684
  //data process extension for panels
678
685
  await this.onDataReceived(countUrl ? args.splice(1) : args, options);
679
686
 
680
687
  //set card count and handle empty cards
681
- this._oData.length = countUrl ? Number(args[0]) : (this._oData.tiles as object[]).length;
688
+ this._oData.length = countUrl ? parsedCount : (this._oData.tiles as object[]).length;
682
689
  this._handleEmptyCards();
683
690
  }
684
691
  };
@@ -876,33 +883,27 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
876
883
  protected _submitBatch(): Promise<unknown[]> {
877
884
  return Promise.all(
878
885
  this.requests.map(async (request: Request) => {
879
- try {
880
- const useBatch = this.getProperty("useBatch") as boolean;
881
- let responses = useBatch
882
- ? await this.batchHelper.createMultipartRequest(request.baseURL, request.requestURLs)
883
- : await HttpHelper.GetMultipleRequests(request.requestURLs);
884
-
885
- if (responses.length) {
886
- const processedResponses = responses.map((response: string | Response) => {
887
- if (typeof response === "string") {
888
- response = JSON.parse(response) as Response;
889
- }
890
- return this._parseResponse(response);
891
- });
892
-
893
- // Call success callback, if any
894
- if (request.success && typeof request.success === "function") {
895
- await request.success(processedResponses);
886
+ const useBatch = this.getProperty("useBatch") as boolean;
887
+ let responses = useBatch
888
+ ? await this.batchHelper.createMultipartRequest(request.baseURL, request.requestURLs)
889
+ : await HttpHelper.GetMultipleRequests(request.requestURLs);
890
+
891
+ if (responses && Array.isArray(responses) && responses.length) {
892
+ const processedResponses = responses.map((response: string | Response) => {
893
+ if (typeof response === "string") {
894
+ response = JSON.parse(response) as Response;
896
895
  }
896
+ return this._parseResponse(response);
897
+ });
897
898
 
898
- return processedResponses;
899
- } else {
900
- throw new Error("Invalid response");
899
+ // Call success callback, if any
900
+ if (request.success && typeof request.success === "function") {
901
+ await request.success(processedResponses);
901
902
  }
902
- } catch (error: unknown) {
903
- this._handleError(error);
904
- } finally {
905
- this._clearRequests();
903
+
904
+ return processedResponses;
905
+ } else {
906
+ throw new Error("Invalid response");
906
907
  }
907
908
  })
908
909
  );
@@ -5,8 +5,8 @@ declare module "sap/cux/home/changeHandler/NewsFeedVisibilityChange" {
5
5
  */
6
6
  import Control from "sap/ui/core/Control";
7
7
  import { IKeyUserChangeObject } from "sap/cux/home/interface/KeyUserInterface";
8
- import NewsAndPagesContainer from "sap/cux/home/NewsAndPagesContainer";
9
- function getContainer(control: Control): NewsAndPagesContainer;
8
+ import NewsContainer from "sap/cux/home/NewsContainer";
9
+ function getContainer(control: Control): NewsContainer;
10
10
  let debounceTimeout: ReturnType<typeof setTimeout> | null;
11
11
  const NewsFeedVisibilityChange: {
12
12
  applyChange: (change: IKeyUserChangeObject, control: Control) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"NewsFeedVisibilityChange.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,qDAAqD,CAAC;IACrE;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,oBAAoB,EAA4B,MAAM,yCAAyC,CAAC;IACzG,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;IAEvE,SAAS,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAI7D;IACD,IAAI,eAAe,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAW,CAAC;IAEjE,MAAM,wBAAwB;8BACP,oBAAoB,WAAW,OAAO;+BAcrC,oBAAoB,WAAW,OAAO;;mCASlC,oBAAoB;;;;;KAO/C,CAAC;IAEF,eAAe,wBAAwB,CAAC;CAEvC"}
1
+ {"version":3,"file":"NewsFeedVisibilityChange.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,qDAAqD,CAAC;IACrE;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,oBAAoB,EAA4B,MAAM,yCAAyC,CAAC;IACzG,OAAO,aAAa,MAAM,4BAA4B,CAAC;IAEvD,SAAS,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAIrD;IACD,IAAI,eAAe,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAW,CAAC;IAEjE,MAAM,wBAAwB;8BACP,oBAAoB,WAAW,OAAO;+BAcrC,oBAAoB,WAAW,OAAO;;mCASlC,oBAAoB;;;;;KAO/C,CAAC;IAEF,eAAe,wBAAwB,CAAC;CAEvC"}
@@ -6,7 +6,7 @@ sap.ui.define(["sap/ui/fl/changeHandler/condenser/Classification"], function (Co
6
6
  "use strict";
7
7
 
8
8
  function getContainer(control) {
9
- return control.getItems().find(item => item.getMetadata().getName() === "sap.cux.home.NewsAndPagesContainer");
9
+ return control.getItems().find(item => item.getMetadata().getName() === "sap.cux.home.NewsContainer");
10
10
  }
11
11
  let debounceTimeout = null;
12
12
  const NewsFeedVisibilityChange = {
@@ -1 +1 @@
1
- {"version":3,"file":"NewsFeedVisibilityChange.js","names":["sap","ui","define","CondenserClassification","getContainer","control","getItems","find","item","getMetadata","getName","debounceTimeout","NewsFeedVisibilityChange","applyChange","change","container","clearTimeout","setTimeout","newsVisibilityChangeHandler","getContent","revertChange","isNewsFeedVisible","completeChangeContent","getCondenserInfo","affectedControl","getSelector","classification","LastOneWins","uniqueKey"],"sources":["NewsFeedVisibilityChange.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport CondenserClassification from \"sap/ui/fl/changeHandler/condenser/Classification\";\nimport BaseLayout from \"../BaseLayout\";\nimport { IKeyUserChangeObject, INewsFeedVisibiliyChange } from \"../interface/KeyUserInterface\";\nimport NewsAndPagesContainer from \"../NewsAndPagesContainer\";\n\nfunction getContainer(control: Control): NewsAndPagesContainer {\n\treturn (control as BaseLayout)\n\t\t.getItems()\n\t\t.find((item) => item.getMetadata().getName() === \"sap.cux.home.NewsAndPagesContainer\") as NewsAndPagesContainer;\n}\nlet debounceTimeout: ReturnType<typeof setTimeout> | null = null;\n\nconst NewsFeedVisibilityChange = {\n\tapplyChange: (change: IKeyUserChangeObject, control: Control) => {\n\t\tconst container = getContainer(control);\n\n\t\t// Debounce the newsPersonalization call\n\t\tif (debounceTimeout) {\n\t\t\tclearTimeout(debounceTimeout);\n\t\t}\n\n\t\tdebounceTimeout = setTimeout(() => {\n\t\t\tcontainer?.newsVisibilityChangeHandler(change.getContent());\n\t\t}, 0);\n\n\t\treturn true;\n\t},\n\trevertChange: (change: IKeyUserChangeObject, control: Control) => {\n\t\tconst container = getContainer(control);\n\t\tlet revertChange = change.getContent() as INewsFeedVisibiliyChange;\n\t\trevertChange.isNewsFeedVisible = !revertChange.isNewsFeedVisible;\n\t\tcontainer?.newsVisibilityChangeHandler(revertChange);\n\t},\n\tcompleteChangeContent: () => {\n\t\treturn;\n\t},\n\tgetCondenserInfo: (change: IKeyUserChangeObject) => {\n\t\treturn {\n\t\t\taffectedControl: change.getSelector(),\n\t\t\tclassification: (CondenserClassification as { LastOneWins: string }).LastOneWins,\n\t\t\tuniqueKey: \"newsFeedVisibility\"\n\t\t};\n\t}\n};\n\nexport default NewsFeedVisibilityChange;\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,iEAAAC,uBAAA;EAAA;;EAWA,SAASC,YAAYA,CAACC,OAAgB,EAAyB;IAC9D,OAAQA,OAAO,CACbC,QAAQ,CAAC,CAAC,CACVC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,KAAK,oCAAoC,CAAC;EACxF;EACA,IAAIC,eAAqD,GAAG,IAAI;EAEhE,MAAMC,wBAAwB,GAAG;IAChCC,WAAW,EAAEA,CAACC,MAA4B,EAAET,OAAgB,KAAK;MAChE,MAAMU,SAAS,GAAGX,YAAY,CAACC,OAAO,CAAC;;MAEvC;MACA,IAAIM,eAAe,EAAE;QACpBK,YAAY,CAACL,eAAe,CAAC;MAC9B;MAEAA,eAAe,GAAGM,UAAU,CAAC,MAAM;QAClCF,SAAS,EAAEG,2BAA2B,CAACJ,MAAM,CAACK,UAAU,CAAC,CAAC,CAAC;MAC5D,CAAC,EAAE,CAAC,CAAC;MAEL,OAAO,IAAI;IACZ,CAAC;IACDC,YAAY,EAAEA,CAACN,MAA4B,EAAET,OAAgB,KAAK;MACjE,MAAMU,SAAS,GAAGX,YAAY,CAACC,OAAO,CAAC;MACvC,IAAIe,YAAY,GAAGN,MAAM,CAACK,UAAU,CAAC,CAA6B;MAClEC,YAAY,CAACC,iBAAiB,GAAG,CAACD,YAAY,CAACC,iBAAiB;MAChEN,SAAS,EAAEG,2BAA2B,CAACE,YAAY,CAAC;IACrD,CAAC;IACDE,qBAAqB,EAAEA,CAAA,KAAM;MAC5B;IACD,CAAC;IACDC,gBAAgB,EAAGT,MAA4B,IAAK;MACnD,OAAO;QACNU,eAAe,EAAEV,MAAM,CAACW,WAAW,CAAC,CAAC;QACrCC,cAAc,EAAGvB,uBAAuB,CAA6BwB,WAAW;QAChFC,SAAS,EAAE;MACZ,CAAC;IACF;EACD,CAAC;EAAC,OAEahB,wBAAwB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"NewsFeedVisibilityChange.js","names":["sap","ui","define","CondenserClassification","getContainer","control","getItems","find","item","getMetadata","getName","debounceTimeout","NewsFeedVisibilityChange","applyChange","change","container","clearTimeout","setTimeout","newsVisibilityChangeHandler","getContent","revertChange","isNewsFeedVisible","completeChangeContent","getCondenserInfo","affectedControl","getSelector","classification","LastOneWins","uniqueKey"],"sources":["NewsFeedVisibilityChange.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Control from \"sap/ui/core/Control\";\nimport CondenserClassification from \"sap/ui/fl/changeHandler/condenser/Classification\";\nimport BaseLayout from \"../BaseLayout\";\nimport { IKeyUserChangeObject, INewsFeedVisibiliyChange } from \"../interface/KeyUserInterface\";\nimport NewsContainer from \"../NewsContainer\";\n\nfunction getContainer(control: Control): NewsContainer {\n\treturn (control as BaseLayout)\n\t\t.getItems()\n\t\t.find((item) => item.getMetadata().getName() === \"sap.cux.home.NewsContainer\") as NewsContainer;\n}\nlet debounceTimeout: ReturnType<typeof setTimeout> | null = null;\n\nconst NewsFeedVisibilityChange = {\n\tapplyChange: (change: IKeyUserChangeObject, control: Control) => {\n\t\tconst container = getContainer(control);\n\n\t\t// Debounce the newsPersonalization call\n\t\tif (debounceTimeout) {\n\t\t\tclearTimeout(debounceTimeout);\n\t\t}\n\n\t\tdebounceTimeout = setTimeout(() => {\n\t\t\tcontainer?.newsVisibilityChangeHandler(change.getContent() as INewsFeedVisibiliyChange);\n\t\t}, 0);\n\n\t\treturn true;\n\t},\n\trevertChange: (change: IKeyUserChangeObject, control: Control) => {\n\t\tconst container = getContainer(control);\n\t\tlet revertChange = change.getContent() as INewsFeedVisibiliyChange;\n\t\trevertChange.isNewsFeedVisible = !revertChange.isNewsFeedVisible;\n\t\tcontainer?.newsVisibilityChangeHandler(revertChange);\n\t},\n\tcompleteChangeContent: () => {\n\t\treturn;\n\t},\n\tgetCondenserInfo: (change: IKeyUserChangeObject) => {\n\t\treturn {\n\t\t\taffectedControl: change.getSelector(),\n\t\t\tclassification: (CondenserClassification as { LastOneWins: string }).LastOneWins,\n\t\t\tuniqueKey: \"newsFeedVisibility\"\n\t\t};\n\t}\n};\n\nexport default NewsFeedVisibilityChange;\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,iEAAAC,uBAAA;EAAA;;EAWA,SAASC,YAAYA,CAACC,OAAgB,EAAiB;IACtD,OAAQA,OAAO,CACbC,QAAQ,CAAC,CAAC,CACVC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,KAAK,4BAA4B,CAAC;EAChF;EACA,IAAIC,eAAqD,GAAG,IAAI;EAEhE,MAAMC,wBAAwB,GAAG;IAChCC,WAAW,EAAEA,CAACC,MAA4B,EAAET,OAAgB,KAAK;MAChE,MAAMU,SAAS,GAAGX,YAAY,CAACC,OAAO,CAAC;;MAEvC;MACA,IAAIM,eAAe,EAAE;QACpBK,YAAY,CAACL,eAAe,CAAC;MAC9B;MAEAA,eAAe,GAAGM,UAAU,CAAC,MAAM;QAClCF,SAAS,EAAEG,2BAA2B,CAACJ,MAAM,CAACK,UAAU,CAAC,CAA6B,CAAC;MACxF,CAAC,EAAE,CAAC,CAAC;MAEL,OAAO,IAAI;IACZ,CAAC;IACDC,YAAY,EAAEA,CAACN,MAA4B,EAAET,OAAgB,KAAK;MACjE,MAAMU,SAAS,GAAGX,YAAY,CAACC,OAAO,CAAC;MACvC,IAAIe,YAAY,GAAGN,MAAM,CAACK,UAAU,CAAC,CAA6B;MAClEC,YAAY,CAACC,iBAAiB,GAAG,CAACD,YAAY,CAACC,iBAAiB;MAChEN,SAAS,EAAEG,2BAA2B,CAACE,YAAY,CAAC;IACrD,CAAC;IACDE,qBAAqB,EAAEA,CAAA,KAAM;MAC5B;IACD,CAAC;IACDC,gBAAgB,EAAGT,MAA4B,IAAK;MACnD,OAAO;QACNU,eAAe,EAAEV,MAAM,CAACW,WAAW,CAAC,CAAC;QACrCC,cAAc,EAAGvB,uBAAuB,CAA6BwB,WAAW;QAChFC,SAAS,EAAE;MACZ,CAAC;IACF;EACD,CAAC;EAAC,OAEahB,wBAAwB;AAAA","ignoreList":[]}
@@ -7,12 +7,12 @@ import Control from "sap/ui/core/Control";
7
7
  import CondenserClassification from "sap/ui/fl/changeHandler/condenser/Classification";
8
8
  import BaseLayout from "../BaseLayout";
9
9
  import { IKeyUserChangeObject, INewsFeedVisibiliyChange } from "../interface/KeyUserInterface";
10
- import NewsAndPagesContainer from "../NewsAndPagesContainer";
10
+ import NewsContainer from "../NewsContainer";
11
11
 
12
- function getContainer(control: Control): NewsAndPagesContainer {
12
+ function getContainer(control: Control): NewsContainer {
13
13
  return (control as BaseLayout)
14
14
  .getItems()
15
- .find((item) => item.getMetadata().getName() === "sap.cux.home.NewsAndPagesContainer") as NewsAndPagesContainer;
15
+ .find((item) => item.getMetadata().getName() === "sap.cux.home.NewsContainer") as NewsContainer;
16
16
  }
17
17
  let debounceTimeout: ReturnType<typeof setTimeout> | null = null;
18
18
 
@@ -26,7 +26,7 @@ const NewsFeedVisibilityChange = {
26
26
  }
27
27
 
28
28
  debounceTimeout = setTimeout(() => {
29
- container?.newsVisibilityChangeHandler(change.getContent());
29
+ container?.newsVisibilityChangeHandler(change.getContent() as INewsFeedVisibiliyChange);
30
30
  }, 0);
31
31
 
32
32
  return true;
@@ -5,8 +5,8 @@ declare module "sap/cux/home/changeHandler/SetNewsFeedUrl" {
5
5
  */
6
6
  import Control from "sap/ui/core/Control";
7
7
  import { IKeyUserChangeObject } from "sap/cux/home/interface/KeyUserInterface";
8
- import NewsAndPagesContainer from "sap/cux/home/NewsAndPagesContainer";
9
- function getContainer(control: Control): NewsAndPagesContainer;
8
+ import NewsContainer from "sap/cux/home/NewsContainer";
9
+ function getContainer(control: Control): NewsContainer;
10
10
  let debounceTimeout: ReturnType<typeof setTimeout> | null;
11
11
  const SetNewsFeedUrl: {
12
12
  applyChange: (change: IKeyUserChangeObject, control: Control) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"SetNewsFeedUrl.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2CAA2C,CAAC;IAC3D;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,yCAAyC,CAAC;IAC9F,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;IAEvE,SAAS,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAI7D;IACD,IAAI,eAAe,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAW,CAAC;IAEjE,MAAM,cAAc;8BACG,oBAAoB,WAAW,OAAO;+BAcrC,oBAAoB,WAAW,OAAO;;mCAalC,oBAAoB;;;;;KAO/C,CAAC;IAEF,eAAe,cAAc,CAAC;CAE7B"}
1
+ {"version":3,"file":"SetNewsFeedUrl.d.ts","sourceRoot":"../../../../../..","sources":["src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2CAA2C,CAAC;IAC3D;;;OAGG;IAEH,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,yCAAyC,CAAC;IAC9F,OAAO,aAAa,MAAM,4BAA4B,CAAC;IAEvD,SAAS,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAIrD;IACD,IAAI,eAAe,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAW,CAAC;IAEjE,MAAM,cAAc;8BACG,oBAAoB,WAAW,OAAO;+BAcrC,oBAAoB,WAAW,OAAO;;mCAalC,oBAAoB;;;;;KAO/C,CAAC;IAEF,eAAe,cAAc,CAAC;CAE7B"}
@@ -6,7 +6,7 @@ sap.ui.define(["sap/ui/fl/changeHandler/condenser/Classification"], function (Co
6
6
  "use strict";
7
7
 
8
8
  function getContainer(control) {
9
- return control.getItems().find(item => item.getMetadata().getName() === "sap.cux.home.NewsAndPagesContainer");
9
+ return control.getItems().find(item => item.getMetadata().getName() === "sap.cux.home.NewsContainer");
10
10
  }
11
11
  let debounceTimeout = null;
12
12
  const SetNewsFeedUrl = {