@sapui5/sap.cux.home 1.140.0 → 1.142.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 (234) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +1 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  4. package/src/sap/cux/home/AdvancedSettingsPanel.js +3 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.ts +3 -1
  7. package/src/sap/cux/home/App.d.ts.map +1 -1
  8. package/src/sap/cux/home/App.js +6 -1
  9. package/src/sap/cux/home/App.js.map +1 -1
  10. package/src/sap/cux/home/App.ts +7 -1
  11. package/src/sap/cux/home/AppsAdditionPanel.d.ts +1 -0
  12. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  13. package/src/sap/cux/home/AppsAdditionPanel.js +64 -59
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +44 -34
  16. package/src/sap/cux/home/AppsContainer.d.ts +5 -1
  17. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  18. package/src/sap/cux/home/AppsContainer.js +44 -37
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +43 -33
  21. package/src/sap/cux/home/BaseAppPanel.d.ts +2 -1
  22. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  23. package/src/sap/cux/home/BaseAppPanel.js +3 -1
  24. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  25. package/src/sap/cux/home/BaseAppPanel.ts +5 -2
  26. package/src/sap/cux/home/BaseContainer.d.ts +8 -0
  27. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  28. package/src/sap/cux/home/BaseContainer.js +26 -4
  29. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  30. package/src/sap/cux/home/BaseContainer.ts +26 -3
  31. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  32. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  33. package/src/sap/cux/home/BaseContainerRenderer.ts +1 -1
  34. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  35. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  36. package/src/sap/cux/home/BaseNewsPanel.ts +2 -2
  37. package/src/sap/cux/home/BasePanel.d.ts +7 -0
  38. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  39. package/src/sap/cux/home/BasePanel.js +20 -0
  40. package/src/sap/cux/home/BasePanel.js.map +1 -1
  41. package/src/sap/cux/home/BasePanel.ts +16 -0
  42. package/src/sap/cux/home/BaseSettingsPanel.d.ts +9 -0
  43. package/src/sap/cux/home/BaseSettingsPanel.d.ts.map +1 -1
  44. package/src/sap/cux/home/BaseSettingsPanel.js +13 -0
  45. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  46. package/src/sap/cux/home/BaseSettingsPanel.ts +15 -0
  47. package/src/sap/cux/home/CardsPanel.d.ts +7 -0
  48. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  49. package/src/sap/cux/home/CardsPanel.js +132 -113
  50. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  51. package/src/sap/cux/home/CardsPanel.ts +19 -8
  52. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  53. package/src/sap/cux/home/ContentAdditionDialog.js +6 -2
  54. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  55. package/src/sap/cux/home/ContentAdditionDialog.ts +5 -1
  56. package/src/sap/cux/home/ErrorPanel.js +2 -2
  57. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  58. package/src/sap/cux/home/ErrorPanel.ts +2 -2
  59. package/src/sap/cux/home/FavAppPanel.d.ts +4 -10
  60. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  61. package/src/sap/cux/home/FavAppPanel.js +432 -446
  62. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  63. package/src/sap/cux/home/FavAppPanel.ts +56 -84
  64. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  65. package/src/sap/cux/home/FrequentAppPanel.js +5 -1
  66. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  67. package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
  68. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  69. package/src/sap/cux/home/InsightsAdditionPanel.js +3 -1
  70. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  71. package/src/sap/cux/home/InsightsAdditionPanel.ts +2 -0
  72. package/src/sap/cux/home/InsightsContainer.d.ts.map +1 -1
  73. package/src/sap/cux/home/InsightsContainer.js +2 -2
  74. package/src/sap/cux/home/InsightsContainer.js.map +1 -1
  75. package/src/sap/cux/home/InsightsContainer.ts +1 -1
  76. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -4
  77. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  78. package/src/sap/cux/home/NewsAndPagesContainer.js +2 -2
  79. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  80. package/src/sap/cux/home/NewsAndPagesContainer.ts +4 -4
  81. package/src/sap/cux/home/NewsPanel.d.ts +17 -0
  82. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  83. package/src/sap/cux/home/NewsPanel.js +100 -68
  84. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  85. package/src/sap/cux/home/NewsPanel.ts +60 -33
  86. package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
  87. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  88. package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
  89. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  90. package/src/sap/cux/home/NewsSettingsPanel.ts +215 -80
  91. package/src/sap/cux/home/Page.d.ts.map +1 -1
  92. package/src/sap/cux/home/Page.js +4 -1
  93. package/src/sap/cux/home/Page.js.map +1 -1
  94. package/src/sap/cux/home/Page.ts +2 -0
  95. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  96. package/src/sap/cux/home/PagePanel.js +5 -2
  97. package/src/sap/cux/home/PagePanel.js.map +1 -1
  98. package/src/sap/cux/home/PagePanel.ts +8 -8
  99. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  100. package/src/sap/cux/home/PageSettingsPanel.js +6 -3
  101. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  102. package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
  103. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  104. package/src/sap/cux/home/RecentAppPanel.js +6 -0
  105. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  106. package/src/sap/cux/home/RecentAppPanel.ts +5 -1
  107. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  108. package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
  109. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  110. package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
  111. package/src/sap/cux/home/SettingsDialog.d.ts +1 -0
  112. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  113. package/src/sap/cux/home/SettingsDialog.js +13 -6
  114. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  115. package/src/sap/cux/home/SettingsDialog.ts +14 -6
  116. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
  117. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  118. package/src/sap/cux/home/SideBySideIconTabFilter.js +12 -1
  119. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  120. package/src/sap/cux/home/SideBySideIconTabFilter.ts +13 -1
  121. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  122. package/src/sap/cux/home/SituationPanel.js +7 -2
  123. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  124. package/src/sap/cux/home/SituationPanel.ts +2 -0
  125. package/src/sap/cux/home/SpaceInsightsPanel.js +1 -1
  126. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  127. package/src/sap/cux/home/SpaceInsightsPanel.ts +1 -1
  128. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  129. package/src/sap/cux/home/TaskPanel.js +3 -0
  130. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  131. package/src/sap/cux/home/TaskPanel.ts +2 -1
  132. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  133. package/src/sap/cux/home/TilesPanel.js +10 -3
  134. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  135. package/src/sap/cux/home/TilesPanel.ts +7 -3
  136. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  137. package/src/sap/cux/home/ToDoPanel.js +29 -8
  138. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  139. package/src/sap/cux/home/ToDoPanel.ts +19 -8
  140. package/src/sap/cux/home/ToDosContainer.js +3 -3
  141. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  142. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  143. package/src/sap/cux/home/i18n/messagebundle.properties +13 -7
  144. package/src/sap/cux/home/i18n/messagebundle_ar.properties +0 -2
  145. package/src/sap/cux/home/i18n/messagebundle_bg.properties +0 -2
  146. package/src/sap/cux/home/i18n/messagebundle_ca.properties +0 -2
  147. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +0 -2
  148. package/src/sap/cux/home/i18n/messagebundle_cs.properties +0 -2
  149. package/src/sap/cux/home/i18n/messagebundle_cy.properties +0 -2
  150. package/src/sap/cux/home/i18n/messagebundle_da.properties +0 -2
  151. package/src/sap/cux/home/i18n/messagebundle_de.properties +0 -2
  152. package/src/sap/cux/home/i18n/messagebundle_el.properties +0 -2
  153. package/src/sap/cux/home/i18n/messagebundle_en.properties +0 -2
  154. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +0 -2
  155. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +1 -3
  156. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +1 -3
  157. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +0 -2
  158. package/src/sap/cux/home/i18n/messagebundle_es.properties +0 -2
  159. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +0 -2
  160. package/src/sap/cux/home/i18n/messagebundle_et.properties +0 -2
  161. package/src/sap/cux/home/i18n/messagebundle_fi.properties +0 -2
  162. package/src/sap/cux/home/i18n/messagebundle_fr.properties +0 -2
  163. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +0 -2
  164. package/src/sap/cux/home/i18n/messagebundle_hi.properties +0 -2
  165. package/src/sap/cux/home/i18n/messagebundle_hr.properties +0 -2
  166. package/src/sap/cux/home/i18n/messagebundle_hu.properties +0 -2
  167. package/src/sap/cux/home/i18n/messagebundle_id.properties +0 -2
  168. package/src/sap/cux/home/i18n/messagebundle_it.properties +0 -2
  169. package/src/sap/cux/home/i18n/messagebundle_iw.properties +0 -2
  170. package/src/sap/cux/home/i18n/messagebundle_ja.properties +0 -2
  171. package/src/sap/cux/home/i18n/messagebundle_kk.properties +0 -2
  172. package/src/sap/cux/home/i18n/messagebundle_ko.properties +0 -2
  173. package/src/sap/cux/home/i18n/messagebundle_lt.properties +0 -2
  174. package/src/sap/cux/home/i18n/messagebundle_lv.properties +0 -2
  175. package/src/sap/cux/home/i18n/messagebundle_mk.properties +0 -2
  176. package/src/sap/cux/home/i18n/messagebundle_ms.properties +0 -2
  177. package/src/sap/cux/home/i18n/messagebundle_nl.properties +0 -2
  178. package/src/sap/cux/home/i18n/messagebundle_no.properties +0 -2
  179. package/src/sap/cux/home/i18n/messagebundle_pl.properties +0 -2
  180. package/src/sap/cux/home/i18n/messagebundle_pt.properties +1 -3
  181. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +0 -2
  182. package/src/sap/cux/home/i18n/messagebundle_ro.properties +0 -2
  183. package/src/sap/cux/home/i18n/messagebundle_ru.properties +0 -2
  184. package/src/sap/cux/home/i18n/messagebundle_sh.properties +0 -2
  185. package/src/sap/cux/home/i18n/messagebundle_sk.properties +0 -2
  186. package/src/sap/cux/home/i18n/messagebundle_sl.properties +0 -2
  187. package/src/sap/cux/home/i18n/messagebundle_sr.properties +0 -2
  188. package/src/sap/cux/home/i18n/messagebundle_sv.properties +1 -3
  189. package/src/sap/cux/home/i18n/messagebundle_th.properties +0 -2
  190. package/src/sap/cux/home/i18n/messagebundle_tr.properties +0 -2
  191. package/src/sap/cux/home/i18n/messagebundle_uk.properties +0 -2
  192. package/src/sap/cux/home/i18n/messagebundle_vi.properties +0 -2
  193. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +0 -2
  194. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +0 -2
  195. package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -0
  196. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  197. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  198. package/src/sap/cux/home/interface/AppsInterface.ts +6 -0
  199. package/src/sap/cux/home/library.d.ts.map +1 -1
  200. package/src/sap/cux/home/library.js +1 -0
  201. package/src/sap/cux/home/library.js.map +1 -1
  202. package/src/sap/cux/home/library.ts +1 -0
  203. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
  204. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  205. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  206. package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
  207. package/src/sap/cux/home/utils/AppManager.d.ts +7 -6
  208. package/src/sap/cux/home/utils/AppManager.d.ts.map +1 -1
  209. package/src/sap/cux/home/utils/AppManager.js +1 -1
  210. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  211. package/src/sap/cux/home/utils/AppManager.ts +9 -10
  212. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  213. package/src/sap/cux/home/utils/BatchHelper.js +1 -1
  214. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  215. package/src/sap/cux/home/utils/BatchHelper.ts +4 -1
  216. package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
  217. package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
  218. package/src/sap/cux/home/utils/FESRUtil.js +36 -1
  219. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  220. package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
  221. package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
  222. package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
  223. package/src/sap/cux/home/utils/PXFeedback.js +28 -0
  224. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
  225. package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
  226. package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
  227. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  228. package/src/sap/cux/home/utils/PageManager.js +6 -6
  229. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  230. package/src/sap/cux/home/utils/PageManager.ts +6 -5
  231. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  232. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  233. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
  234. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +1 -1
@@ -194,6 +194,8 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
194
194
  const DeviceType = ___utils_Device["DeviceType"];
195
195
  const fetchElementProperties = ___utils_Device["fetchElementProperties"];
196
196
  const addFESRId = ___utils_FESRUtil["addFESRId"];
197
+ const addFESRNavigationSource = ___utils_FESRUtil["addFESRNavigationSource"];
198
+ const FESRNavigationSource = ___utils_FESRUtil["FESRNavigationSource"];
197
199
  const HttpHelper = _interopRequireDefault(__HttpHelper);
198
200
  const Constants = {
199
201
  SITUATION_ICON: "sap-icon://message-warning",
@@ -304,6 +306,17 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
304
306
  group: "Misc",
305
307
  defaultValue: true,
306
308
  visibility: "hidden"
309
+ },
310
+ /**
311
+ * Specifies whether the panel data should be preloaded.
312
+ *
313
+ * @private
314
+ */
315
+ preload: {
316
+ type: "boolean",
317
+ group: "Data",
318
+ defaultValue: false,
319
+ visibility: "hidden"
307
320
  }
308
321
  },
309
322
  aggregations: {
@@ -436,7 +449,7 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
436
449
  // Create a HeaderContainer for mobile devices
437
450
  if (!this._mobileCardContainer) {
438
451
  this._mobileCardContainer = new HeaderContainer(`${this.getId()}-headerContainer`, {
439
- visible: "{/isPhone}",
452
+ visible: "{= ${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }",
440
453
  scrollStep: 0,
441
454
  gridLayout: true,
442
455
  scrollTime: 1000,
@@ -506,14 +519,14 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
506
519
  // Add Initial Batch Requests
507
520
  requests.push(_this2._generateRequestObject({
508
521
  type: selectedKey,
509
- onlyCount: selectedKey !== _this2.getProperty("key")
522
+ onlyCount: !_this2.getProperty("preload") && selectedKey !== _this2.getProperty("key")
510
523
  }));
511
524
  _this2.requests = _this2.requests.concat(requests);
512
525
 
513
526
  //Submit Batch Requests
514
527
  _this2._submitBatch().then(function () {
515
528
  try {
516
- _this2._oData.isLoaded = selectedKey === _this2.getProperty("key");
529
+ _this2._oData.isLoaded = _this2.getProperty("preload") || selectedKey === _this2.getProperty("key");
517
530
  _this2.fireEvent("loaded");
518
531
  _this2._oData.isCountCalledOnce = true;
519
532
  _this2._setCount(_this2._oData.length);
@@ -559,7 +572,9 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
559
572
  */
560
573
  _updateHeaderIfExclusive: function _updateHeaderIfExclusive() {
561
574
  if (this._isExclusivePanel()) {
562
- this.getParent()._setTitle(`${this._i18nBundle.getText("toDosTitle")} (${String(this._oData.length)})`);
575
+ const title = this.getParent().getTitle();
576
+ const displayTitle = title?.trim() || this._i18nBundle.getText("toDosTitle");
577
+ this.getParent()._setTitle(`${displayTitle} (${String(this._oData.length)})`);
563
578
  }
564
579
  },
565
580
  /**
@@ -812,7 +827,7 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
812
827
  }
813
828
  let dataUrl = this.getDataUrl();
814
829
  if (this.getProperty("useBatch")) {
815
- const queryString = `$skip=0&$top=${cardCount}`;
830
+ const queryString = this.getProperty("preload") ? "" : `$skip=0&$top=${cardCount}`;
816
831
  dataUrl = dataUrl.includes("?") ? `${dataUrl}&${queryString}` : `${dataUrl}?${queryString}`;
817
832
  }
818
833
  urls.push(dataUrl);
@@ -1168,6 +1183,7 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
1168
1183
  */
1169
1184
  _onPressViewAll: function _onPressViewAll() {
1170
1185
  URLHelper.redirect(this.getTargetAppUrl(), false);
1186
+ addFESRNavigationSource(FESRNavigationSource.Task);
1171
1187
  },
1172
1188
  /**
1173
1189
  * Retrieves the count of cards in the panel.
@@ -1187,13 +1203,18 @@ sap.ui.define(["sap/base/Log", "sap/f/Card", "sap/f/GridContainer", "sap/f/GridC
1187
1203
  _beforePanelExpand: function _beforePanelExpand() {
1188
1204
  try {
1189
1205
  const _this7 = this;
1190
- const _temp6 = function () {
1206
+ const _temp7 = function () {
1191
1207
  if (!_this7._oData.isExpandedOnce) {
1192
1208
  _this7._oData.isExpandedOnce = true;
1193
- return Promise.resolve(_this7._loadCards(true)).then(function () {});
1209
+ const _temp6 = function () {
1210
+ if (!_this7.getProperty("preload")) {
1211
+ return Promise.resolve(_this7._loadCards(true)).then(function () {});
1212
+ }
1213
+ }();
1214
+ if (_temp6 && _temp6.then) return _temp6.then(function () {});
1194
1215
  }
1195
1216
  }();
1196
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
1217
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
1197
1218
  } catch (e) {
1198
1219
  return Promise.reject(e);
1199
1220
  }
@@ -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","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","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","_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","_this7","_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 } 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},\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}\",\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: 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 = 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\t(this.getParent() as ToDosContainer)._setTitle(`${this._i18nBundle.getText(\"toDosTitle\")} (${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 = `$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}\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\tawait this._loadCards(true);\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","_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":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,siBAAAC,GAAA,EAAAC,IAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,MAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAC,IAAA,EAAAC,aAAA,EAAAC,MAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,aAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,YAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAkjBO,SAAAG,OAAgBC,IAAI,EAAEC,OAAO,EAAE;IACrC,IAAI;MACH,IAAIC,MAAM,GAAGF,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAMG,CAAC,EAAE;MACV,OAAOF,OAAO,CAACE,CAAC,CAAC;IAClB;IACA,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;MAC1B,OAAOF,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC,EAAEH,OAAO,CAAC;IACpC;IACA,OAAOC,MAAM;EACd;EAAC,MA3iBmBG,QAAQ,GAAAvB,aAAA;EA8iBrB,SAASwB,gBAAgBA,CAACN,IAAI,EAAEO,SAAS,EAAE;IACjD,IAAI;MACH,IAAIL,MAAM,GAAGF,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAOG,CAAC,EAAE;MACX,OAAOI,SAAS,CAAC,IAAI,EAAEJ,CAAC,CAAC;IAC1B;IACA,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;MAC1B,OAAOF,MAAM,CAACE,IAAI,CAACG,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAED,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E;IACA,OAAOD,SAAS,CAAC,KAAK,EAAEL,MAAM,CAAC;EAChC;EAAC,MAxjB6BO,SAAS,GAAA3B,aAAA;EAAA,MAmJ1B4B,eAAA,GAAkB,aAAc,OAAOC,MAAM,KAAK,WAAW,GAAIA,MAAM,CAACC,QAAQ,KAAKD,MAAM,CAACC,QAAQ,GAAGD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAI,YAAY;EA7HvJ,SAASE,OAAOA,CAACC,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAE;IAC3C,IAAI,CAACF,IAAI,CAACG,CAAC,EAAE;MACZ,IAAID,KAAK,YAAYE,KAAK,EAAE;QAC3B,IAAIF,KAAK,CAACC,CAAC,EAAE;UACZ,IAAIF,KAAK,GAAG,CAAC,EAAE;YACdA,KAAK,GAAGC,KAAK,CAACC,CAAC;UAChB;UACAD,KAAK,GAAGA,KAAK,CAACG,CAAC;QAChB,CAAC,MAAM;UACNH,KAAK,CAACI,CAAC,GAAGP,OAAO,CAACL,IAAI,CAAC,IAAI,EAAEM,IAAI,EAAEC,KAAK,CAAC;UACzC;QACD;MACD;MACA,IAAIC,KAAK,IAAIA,KAAK,CAACZ,IAAI,EAAE;QACxBY,KAAK,CAACZ,IAAI,CAACS,OAAO,CAACL,IAAI,CAAC,IAAI,EAAEM,IAAI,EAAEC,KAAK,CAAC,EAAEF,OAAO,CAACL,IAAI,CAAC,IAAI,EAAEM,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE;MACD;MACAA,IAAI,CAACG,CAAC,GAAGF,KAAK;MACdD,IAAI,CAACK,CAAC,GAAGH,KAAK;MACd,MAAMK,QAAQ,GAAGP,IAAI,CAACM,CAAC;MACvB,IAAIC,QAAQ,EAAE;QACbA,QAAQ,CAACP,IAAI,CAAC;MACf;IACD;EACD;EAAC,MA9DYI,KAAA,GAAQ,aAAc,YAAW;IAC7C,SAAAA,MAAA,EAAiB,CAAC;IAClBA,KAAA,CAAMI,SAAS,CAAClB,IAAI,GAAG,UAASmB,WAAW,EAAEC,UAAU,EAAE;MACxD,MAAMtB,MAAM,GAAG,IAAAgB,KAAA,CAAU,CAAC;MAC1B,MAAMH,KAAK,GAAG,IAAI,CAACE,CAAC;MACpB,IAAIF,KAAK,EAAE;QACV,MAAMU,QAAQ,GAAGV,KAAK,GAAG,CAAC,GAAGQ,WAAW,GAAGC,UAAU;QACrD,IAAIC,QAAQ,EAAE;UACb,IAAI;YACHZ,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEuB,QAAQ,CAAC,IAAI,CAACN,CAAC,CAAC,CAAC;UACrC,CAAC,CAAC,OAAOhB,CAAC,EAAE;YACXU,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEC,CAAC,CAAC;UACtB;UACA,OAAOD,MAAM;QACd,CAAC,MAAM;UACN,OAAO,IAAI;QACZ;MACD;MACA,IAAI,CAACkB,CAAC,GAAG,UAASM,KAAK,EAAE;QACxB,IAAI;UACH,MAAMV,KAAK,GAAGU,KAAK,CAACP,CAAC;UACrB,IAAIO,KAAK,CAACT,CAAC,GAAG,CAAC,EAAE;YAChBJ,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEqB,WAAW,GAAGA,WAAW,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC;UAC7D,CAAC,MAAM,IAAIQ,UAAU,EAAE;YACtBX,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEsB,UAAU,CAACR,KAAK,CAAC,CAAC;UACtC,CAAC,MAAM;YACNH,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEc,KAAK,CAAC;UAC1B;QACD,CAAC,CAAC,OAAOb,CAAC,EAAE;UACXU,OAAA,CAAQX,MAAM,EAAE,CAAC,EAAEC,CAAC,CAAC;QACtB;MACD,CAAC;MACD,OAAOD,MAAM;IACd,CAAC;IACD,OAAAgB,KAAA;EACD,CAAC,CAAE,CAAC;EA6BG,SAASS,cAAcA,CAACC,QAAQ,EAAE;IACxC,OAAOA,QAAQ,YAAYV,KAAK,IAAIU,QAAQ,CAACX,CAAC,GAAG,CAAC;EACnD;EA+CO,SAASY,MAAMA,CAACC,KAAK,EAAE9B,IAAI,EAAE+B,KAAK,EAAE;IAC1C,IAAIC,CAAC,GAAG,CAAC,CAAC;MAAElB,IAAI;MAAEmB,MAAM;IACxB,SAASC,MAAMA,CAAChC,MAAM,EAAE;MACvB,IAAI;QACH,OAAO,EAAE8B,CAAC,GAAGF,KAAK,CAACK,MAAM,KAAK,CAACJ,KAAK,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,EAAE;UAClD7B,MAAM,GAAGF,IAAI,CAACgC,CAAC,CAAC;UAChB,IAAI9B,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;YAC1B,IAAIuB,cAAc,CAACzB,MAAM,CAAC,EAAE;cAC3BA,MAAM,GAAGA,MAAM,CAACiB,CAAC;YAClB,CAAC,MAAM;cACNjB,MAAM,CAACE,IAAI,CAAC8B,MAAM,EAAED,MAAM,KAAKA,MAAM,GAAGpB,OAAO,CAACL,IAAI,CAAC,IAAI,EAAEM,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;cACnF;YACD;UACD;QACD;QACA,IAAIJ,IAAI,EAAE;UACTD,OAAO,CAACC,IAAI,EAAE,CAAC,EAAEZ,MAAM,CAAC;QACzB,CAAC,MAAM;UACNY,IAAI,GAAGZ,MAAM;QACd;MACD,CAAC,CAAC,OAAOC,CAAC,EAAE;QACXU,OAAO,CAACC,IAAI,KAAKA,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEf,CAAC,CAAC;MAC5C;IACD;IACA+B,MAAM,CAAC,CAAC;IACR,OAAOpB,IAAI;EACZ;EAAC,MAhHMsB,SAAS,GAAAzC,sBAAA,CAAAP,WAAA;EA4IT,SAASiD,MAAMA,CAACC,MAAM,EAAEtC,IAAI,EAAE+B,KAAK,EAAE;IAC3C,IAAI,OAAOO,MAAM,CAAC5B,eAAe,CAAC,KAAK,UAAU,EAAE;MAClD,IAAIE,QAAQ,GAAG0B,MAAM,CAAC5B,eAAe,CAAC,CAAC,CAAC;QAAE6B,IAAI;QAAEzB,IAAI;QAAEmB,MAAM;MAC5D,SAASC,MAAMA,CAAChC,MAAM,EAAE;QACvB,IAAI;UACH,OAAO,CAAC,CAACqC,IAAI,GAAG3B,QAAQ,CAAC4B,IAAI,CAAC,CAAC,EAAEC,IAAI,KAAK,CAACV,KAAK,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9D7B,MAAM,GAAGF,IAAI,CAACuC,IAAI,CAACvB,KAAK,CAAC;YACzB,IAAId,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;cAC1B,IAAIuB,cAAc,CAACzB,MAAM,CAAC,EAAE;gBAC3BA,MAAM,GAAGA,MAAM,CAACiB,CAAC;cAClB,CAAC,MAAM;gBACNjB,MAAM,CAACE,IAAI,CAAC8B,MAAM,EAAED,MAAM,KAAKA,MAAM,GAAGpB,OAAO,CAACL,IAAI,CAAC,IAAI,EAAEM,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF;cACD;YACD;UACD;UACA,IAAIJ,IAAI,EAAE;YACTD,OAAO,CAACC,IAAI,EAAE,CAAC,EAAEZ,MAAM,CAAC;UACzB,CAAC,MAAM;YACNY,IAAI,GAAGZ,MAAM;UACd;QACD,CAAC,CAAC,OAAOC,CAAC,EAAE;UACXU,OAAO,CAACC,IAAI,KAAKA,IAAI,GAAG,IAAII,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEf,CAAC,CAAC;QAC5C;MACD;MACA+B,MAAM,CAAC,CAAC;MACR,IAAItB,QAAQ,CAAC8B,MAAM,EAAE;QACpB,IAAIC,MAAM,GAAG,SAAAA,CAAS3B,KAAK,EAAE;UAC5B,IAAI;YACH,IAAI,CAACuB,IAAI,CAACE,IAAI,EAAE;cACf7B,QAAQ,CAAC8B,MAAM,CAAC,CAAC;YAClB;UACD,CAAC,CAAC,OAAMvC,CAAC,EAAE,CACX;UACA,OAAOa,KAAK;QACb,CAAC;QACD,IAAIF,IAAI,IAAIA,IAAI,CAACV,IAAI,EAAE;UACtB,OAAOU,IAAI,CAACV,IAAI,CAACuC,MAAM,EAAE,UAASxC,CAAC,EAAE;YACpC,MAAMwC,MAAM,CAACxC,CAAC,CAAC;UAChB,CAAC,CAAC;QACH;QACAwC,MAAM,CAAC,CAAC;MACT;MACA,OAAO7B,IAAI;IACZ;IACA;IACA,IAAI,EAAE,QAAQ,IAAIwB,MAAM,CAAC,EAAE;MAC1B,MAAM,IAAIM,SAAS,CAAC,wBAAwB,CAAC;IAC9C;IACA;IACA,IAAIC,MAAM,GAAG,EAAE;IACf,KAAK,IAAIb,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,MAAM,CAACH,MAAM,EAAEH,CAAC,EAAE,EAAE;MACvCa,MAAM,CAACC,IAAI,CAACR,MAAM,CAACN,CAAC,CAAC,CAAC;IACvB;IACA,OAAOH,MAAM,CAACgB,MAAM,EAAE,UAASb,CAAC,EAAE;MAAE,OAAOhC,IAAI,CAAC6C,MAAM,CAACb,CAAC,CAAC,CAAC;IAAE,CAAC,EAAED,KAAK,CAAC;EACtE;EAAC,MAjMMgB,QAAQ,GAAApD,sBAAA,CAAAN,UAAA;EAAA,MAER2D,cAAc,GAAArD,sBAAA,CAAAL,gBAAA;EAAA,MACd2D,WAAW,GAAAtD,sBAAA,CAAAJ,aAAA;EAAA,MACT2D,kBAAkB,GAAA1D,eAAA;EAAA,MAAE2D,UAAU,GAAA3D,eAAA;EAAA,MAAE4D,sBAAsB,GAAA5D,eAAA;EAAA,MACtD6D,SAAS,GAAA5D,iBAAA;EAAA,MAAE6D,uBAAuB,GAAA7D,iBAAA;EAAA,MAAE8D,oBAAoB,GAAA9D,iBAAA;EAAA,MAC1D+D,UAAU,GAAA7D,sBAAA,CAAAD,YAAA;EAmCjB,MAAM+D,SAAS,GAAG;IACjBC,cAAc,EAAE,4BAA4B;IAC5CC,uBAAuB,EAAE,CAAC;IAC1BC,gBAAgB,EAAE,GAAG;IACrBC,kBAAkB,EAAE,CAAC;IACrBC,sBAAsB,EAAE,KAAK;IAC7BC,uBAAuB,EAAE,GAAG;IAC5BC,oBAAoB,EAAE,EAAE;IACxBC,mBAAmB,EAAE,GAAG;IACxBC,yBAAyB,EAAE,EAAE;IAC7BC,GAAG,EAAE;EACN,CAAC;;EAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAfA,MAgB8BC,SAAS,GAAShC,SAAS,CAAAiC,MAAA;IA6BxCC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,UAAU,EAAE;QACX;AACH;AACA;AACA;AACA;QACGC,OAAO,EAAE;UAAEC,IAAI,EAAE,QAAQ;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,EAAE;UAAEC,UAAU,EAAE;QAAS,CAAC;QAClF;AACH;AACA;AACA;AACA;QACGC,QAAQ,EAAE;UAAEJ,IAAI,EAAE,QAAQ;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,EAAE;UAAEC,UAAU,EAAE;QAAS,CAAC;QACnF;AACH;AACA;AACA;AACA;QACGE,OAAO,EAAE;UAAEL,IAAI,EAAE,QAAQ;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,EAAE;UAAEC,UAAU,EAAE;QAAS,CAAC;QAClF;AACH;AACA;AACA;AACA;QACGG,YAAY,EAAE;UAAEN,IAAI,EAAE,QAAQ;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,EAAE;UAAEC,UAAU,EAAE;QAAS,CAAC;QACvF;AACH;AACA;AACA;AACA;QACGI,YAAY,EAAE;UAAEP,IAAI,EAAE,KAAK;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,GAAG;UAAEC,UAAU,EAAE;QAAS,CAAC;QACrF;AACH;AACA;AACA;AACA;QACGK,YAAY,EAAE;UAAER,IAAI,EAAE,KAAK;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,GAAG;UAAEC,UAAU,EAAE;QAAS,CAAC;QACrF;AACH;AACA;AACA;AACA;QACGM,QAAQ,EAAE;UAAET,IAAI,EAAE,SAAS;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,IAAI;UAAEC,UAAU,EAAE;QAAS,CAAC;QACtF;AACH;AACA;AACA;AACA;QACGO,OAAO,EAAE;UAAEV,IAAI,EAAE,SAAS;UAAEC,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,KAAK;UAAEC,UAAU,EAAE;QAAS;MACtF,CAAC;MACDQ,YAAY,EAAE;QACb;AACH;AACA;QACGC,OAAO,EAAE;UAAEC,QAAQ,EAAE,IAAI;UAAEC,YAAY,EAAE,SAAS;UAAEX,UAAU,EAAE;QAAS;MAC1E;IACD,CAAC;IArED;AACD;AACA;AACA;AACA;AACA;IACQY,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAA6B,EAAE;MAC9DC,oCAAA,OAAMF,EAAE,EAAEC,QAAQ;MAClB,IAAI,CAACE,WAAW,GAAG,IAAI7C,WAAW,CAAC,CAAC;IACrC,CAAC;IA0ED;AACD;AACA;AACA;AACA;AACA;IACQ8C,IAAI,WAAAC,MAAA,EAAS;MAAA,MAAAtE,KAAA,GA4DZ,IAAI;MA3DXuE,6BAAA;;MAEA;MACA,IAAI,CAACC,MAAM,GAAG;QACb/D,MAAM,EAAE,CAAC;QACTgE,QAAQ,EAAE,KAAK;QACfC,QAAQ,EAAE,KAAK;QACfC,SAAS,EAAE,OAAO;QAClBC,YAAY,EAAE,KAAK;QACnBC,cAAc,EAAE,KAAK;QACrBC,iBAAiB,EAAE,KAAK;QACxBC,gBAAgB,EAAE,kBAAkB;QACpCC,WAAW,EAAE,IAAI,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;QACjDC,eAAe,EAAE,IAAI,CAACC,uBAAuB,CAAC,IAAIF,IAAI,CAAC,CAAC,CAAC;QACzDG,mBAAmB,EAAEtD,SAAS,CAACE,uBAAuB;QACtDqD,iBAAiB,EAAE,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,aAAa,CAAC;QAC1DC,uBAAuB,EAAE,IAAI,CAACF,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC;QAC/DE,OAAO,EAAErI,MAAM,CAACsI,MAAM,CAACC,KAAK,GAAG7D,SAAS,CAACM,uBAAuB,IAAIhF,MAAM,CAACwI,MAAM,CAACC,KAAK;QACvFC,KAAK,EAAE,IAAIC,KAAK,CAACjE,SAAS,CAACE,uBAAuB,CAAC,CAACgE,IAAI,CAAC;UAAEC,SAAS,EAAE;QAAU,CAAC,CAAC;QAClFC,YAAY,EAAE,IAAIH,KAAK,CAACjE,SAAS,CAACE,uBAAuB,CAAC,CAACgE,IAAI,CAAC;UAAEC,SAAS,EAAE;QAAU,CAAC;MACzF,CAAC;MACD,IAAI,CAACE,aAAa,GAAG,IAAI3I,SAAS,CAAC,IAAI,CAAC+G,MAAM,CAAC;;MAE/C;MACA,IAAI,CAAC6B,QAAQ,GAAG,EAAE;;MAElB;MACA,IAAI,CAACC,YAAY,GAAG,IAAInJ,IAAI,CAAC,GAAG,IAAI,CAACoJ,KAAK,CAAC,CAAC,eAAe,EAAE;QAC5DC,UAAU,EAAE,MAAM;QAClBC,KAAK,EAAE,CAAC,IAAI,CAACC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAACC,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAACC,qBAAqB,CAAC,CAAC;MACzG,CAAC,CAAC;MACF,IAAI,CAACN,YAAY,CAACO,QAAQ,CAAC,IAAI,CAACT,aAAa,CAAC;MAC9C,IAAI,CAACU,UAAU,CAAC,IAAI,CAACR,YAAY,CAAC;;MAElC;MACA,MAAMS,QAAQ,GAAG,IAAI1F,QAAQ,CAAC,GAAG,IAAI,CAACkF,KAAK,CAAC,CAAC,UAAU,EAAE;QACxDS,KAAK,EAAE,IAAI,CAACzB,WAAW,CAACC,OAAO,CAAC,SAAS,CAAC;QAC1CyB,IAAI,EAAE,oBAAoB;QAC1BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,eAAe,CAAC;MACnC,CAAC,CAAC;MACF,IAAI,CAACC,cAAc,CAAC,WAAW,EAAEL,QAAQ,CAAC;MAC1CpF,SAAS,CAACoF,QAAQ,EAAE,cAAc,CAAC;MAEnC,IAAI,CAACM,gBAAgB,GAAG,IAAI9J,aAAa,CAAC,GAAG,IAAI,CAACgJ,KAAK,CAAC,CAAC,iBAAiB,EAAE;QAC3Ee,IAAI,EAAE,IAAI,CAAClC,uBAAuB,CAAC,IAAIF,IAAI,CAAC,CAAC;MAC9C,CAAC,CAAC;MACF,IAAI,CAACqC,YAAY,CAAC,IAAI,CAACF,gBAAgB,CAAC;MACxC,IAAI,CAACG,WAAW,GAAG,IAAI5K,MAAM,CAAC,GAAG,IAAI,CAAC2J,KAAK,CAAC,CAAC,aAAa,EAAE;QAC3DU,IAAI,EAAE,oBAAoB;QAC1BK,IAAI,EAAE,IAAI,CAACrC,mBAAmB,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;QAC1CgC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,eAAe,CAAC;MACnC,CAAC,CAAC;MACF,IAAI,CAACK,WAAW,CAACC,iBAAiB,CAAC,IAAI,CAACJ,gBAAgB,CAAC;MACzD1F,SAAS,CAAC,IAAI,CAAC6F,WAAW,EAAE,mBAAmB,CAAC;MAChD,IAAI,CAACJ,cAAc,CAAC,eAAe,EAAE,IAAI,CAACI,WAAW,CAAC;;MAEtD;MACA,IAAI,CAACE,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC;MAC1C,IAAI,CAACC,WAAW,CAAC,UAAU;QAAA,IAAc;UAAA,OAAAC,OAAA,CAAAC,OAAA,CAClC7H,KAAA,CAAK8H,kBAAkB,CAAC,CAAC,EAAApJ,IAAA;QAChC,CAAC,QAAAD,CAAA;UAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;QAAA;MAAA,EAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSiI,sBAAsB,WAAAA,uBAAA,EAAkB;MAC/C;MACA,IAAI,CAAC,IAAI,CAACqB,cAAc,EAAE;QACzB,IAAI,CAACA,cAAc,GAAG,IAAIrL,aAAa,CAAC,GAAG,IAAI,CAAC6J,KAAK,CAAC,CAAC,gBAAgB,EAAE;UACxEyB,iBAAiB,EAAE,IAAI;UACvBC,SAAS,EAAE,IAAI;UACfC,OAAO,EAAE,yEAAyE;UAClFC,MAAM,EAAE,IAAIxL,qBAAqB,CAAC,GAAG,IAAI,CAAC4J,KAAK,CAAC,CAAC,SAAS,EAAE;YAC3D6B,OAAO,EAAE,wBAAwB;YACjCC,UAAU,EAAE,cAAc;YAC1BC,GAAG,EAAE;UACN,CAAC;QACF,CAAC,CAAC,CAACC,aAAa,CAAC,0BAA0B,CAAC;MAC7C;MAEA,OAAO,IAAI,CAACR,cAAc;IAC3B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSpB,4BAA4B,WAAAA,6BAAA,EAAoB;MACvD;MACA,IAAI,CAAC,IAAI,CAAC6B,oBAAoB,EAAE;QAC/B,IAAI,CAACA,oBAAoB,GAAG,IAAI1L,eAAe,CAAC,GAAG,IAAI,CAACyJ,KAAK,CAAC,CAAC,kBAAkB,EAAE;UAClF2B,OAAO,EAAE,wEAAwE;UACjFO,UAAU,EAAE,CAAC;UACbC,UAAU,EAAE,IAAI;UAChBC,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,KAAK;UACnBX,SAAS,EAAE;QACZ,CAAC,CAAC,CAACM,aAAa,CAAC,gCAAgC,CAAC;MACnD;MAEA,OAAO,IAAI,CAACC,oBAAoB;IACjC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS5B,qBAAqB,WAAAA,sBAAA,EAAS;MACrC,IAAI,CAAC,IAAI,CAACiC,UAAU,EAAE;QACrB,IAAI,CAACC,aAAa,GAAG,IAAI/L,kBAAkB,CAAC,GAAG,IAAI,CAACwJ,KAAK,CAAC,CAAC,eAAe,EAAE;UAC3EwC,gBAAgB,EAAE/L,sBAAsB,CAACgM,IAAI;UAC7ChC,KAAK,EAAE,sBAAsB;UAC7BiC,WAAW,EAAE,4BAA4B;UACzClE,gBAAgB,EAAE;QACnB,CAAC,CAAC;QACF,IAAI,CAAC8D,UAAU,GAAG,IAAIpM,IAAI,CAAC,GAAG,IAAI,CAAC8J,KAAK,CAAC,CAAC,YAAY,EAAE;UACvD3C,OAAO,EAAE,IAAI,CAACkF,aAAa;UAC3BZ,OAAO,EAAE;QACV,CAAC,CAAC;MACH;MAEA,OAAO,IAAI,CAACW,UAAU;IACvB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACS1B,eAAe,WAAAA,gBAAA,EAAS;MAC/B,KAAO,IAAI,CAAC+B,SAAS,CAAC,CAAC,EAAqBC,iBAAiB,CAAC,CAAC,EAAgBC,UAAU,CAAC,IAAI,CAAC;IAChG,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACcA,UAAU,WAAAA,WAACC,YAAsB;MAAA,IAAiB;QAAA,MAAAC,MAAA,GAC1D,IAAI;QAAR,IAAIA,MAAA,CAAKC,UAAU,KAAKC,SAAS,IAAI,CAACH,YAAY,EAAE;UACnD,OAAAzB,OAAA,CAAAC,OAAA,CAAOyB,MAAA,CAAKC,UAAU;QACvB,CAAC,MAAM;UACND,MAAA,CAAKG,kBAAkB,CAAC,CAAC;UACzBH,MAAA,CAAKC,UAAU,GAAG,IAAI3B,OAAO,CAAEC,OAAO,IAAK;YAC1C,MAAM6B,WAAW,GAAIJ,MAAA,CAAKJ,SAAS,CAAC,CAAC,EAAoBC,iBAAiB,CAAC,CAAC,EAAEQ,WAAW,CAAC,KAAK,CAAW;YAC1G,MAAMtD,QAAmB,GAAG,EAAE;YAE9BiD,MAAA,CAAK9E,MAAM,CAACC,QAAQ,GAAG,KAAK;YAC5B6E,MAAA,CAAK9E,MAAM,CAACM,iBAAiB,GAAG,KAAK;YACrCwE,MAAA,CAAK9E,MAAM,CAACK,cAAc,GAAGyE,MAAA,CAAKM,kBAAkB,CAAC,CAAC;YACtDN,MAAA,CAAKO,SAAS,CAAC,CAAC;YAEhB,IAAIP,MAAA,CAAKQ,aAAa,CAAC,CAAC,EAAE;cACzBC,UAAU,CAAC,MAAM;gBAChB;gBACAT,MAAA,CAAKU,yBAAyB,CAAC,CAAC;;gBAEhC;gBACA3D,QAAQ,CAACjF,IAAI,CACZkI,MAAA,CAAKW,sBAAsB,CAAC;kBAAEjH,IAAI,EAAE0G,WAAW;kBAAEQ,SAAS,EAAE,CAACZ,MAAA,CAAKK,WAAW,CAAC,SAAS,CAAC,IAAID,WAAW,KAAKJ,MAAA,CAAKK,WAAW,CAAC,KAAK;gBAAE,CAAC,CACtI,CAAC;gBACDL,MAAA,CAAKjD,QAAQ,GAAGiD,MAAA,CAAKjD,QAAQ,CAAC8D,MAAM,CAAC9D,QAAQ,CAAC;;gBAE9C;gBACAiD,MAAA,CAAKc,YAAY,CAAC,CAAC,CACjB1L,IAAI;kBAAA,IAAa;oBACjB4K,MAAA,CAAK9E,MAAM,CAACC,QAAQ,GAAG6E,MAAA,CAAKK,WAAW,CAAC,SAAS,CAAC,IAAID,WAAW,KAAKJ,MAAA,CAAKK,WAAW,CAAC,KAAK,CAAC;oBAC7FL,MAAA,CAAKe,SAAS,CAAC,QAAQ,CAAC;oBAExBf,MAAA,CAAK9E,MAAM,CAACM,iBAAiB,GAAG,IAAI;oBACpCwE,MAAA,CAAKO,SAAS,CAACP,MAAA,CAAK9E,MAAM,CAAC/D,MAAgB,CAAC;oBAE5C6I,MAAA,CAAKgB,0BAA0B,CAAC,CAAC;oBACjChB,MAAA,CAAK9E,MAAM,CAACQ,WAAW,GAAGsE,MAAA,CAAKrE,mBAAmB,CAAC,IAAIC,IAAI,CAAC,CAAC,CAAC;oBAC9DoE,MAAA,CAAK9E,MAAM,CAACW,eAAe,GAAGmE,MAAA,CAAKlE,uBAAuB,CAAC,IAAIF,IAAI,CAAC,CAAC,CAAC;oBACtEoE,MAAA,CAAK9E,MAAM,CAAC+F,iBAAiB,GAAG,IAAIrF,IAAI,CAAC,CAAC;oBAC1CoE,MAAA,CAAKkB,yBAAyB,CAAC,CAAC;oBAAC,OAAA5C,OAAA,CAAAC,OAAA,CAE3ByB,MAAA,CAAKmB,oBAAoB,CAAC,CAAC,EAAA/L,IAAA;sBACjC4K,MAAA,CAAKoB,wBAAwB,CAAC,CAAC;oBAAC;kBACjC,CAAC,QAAAjM,CAAA;oBAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;kBAAA;gBAAA,EAAC,CACDkM,KAAK,CAAEC,KAAc,IAAK;kBAC1BpO,GAAG,CAACoO,KAAK,CAACA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAG,EAAE,CAAC;gBACvD,CAAC,CAAC,CACDC,OAAO,CAAC,MAAM;kBACdzB,MAAA,CAAKlD,aAAa,CAAC4E,OAAO,CAAC,CAAC;kBAC5B1B,MAAA,CAAK2B,aAAa,CAAC,CAAC;kBACpBpD,OAAO,CAAC,CAAC;gBACV,CAAC,CAAC;cACJ,CAAC,CAAC;YACH,CAAC,MAAM;cACNyB,MAAA,CAAK4B,YAAY,CAAC,oCAAoC5B,MAAA,CAAK6B,eAAe,CAAC,CAAC,EAAE,CAAC;;cAE/E;cACC7B,MAAA,CAAKJ,SAAS,CAAC,CAAC,EAAqBkC,aAAa,CAAA9B,MAAK,CAAC;;cAEzD;cACAzB,OAAO,CAAC,CAAC;YACV;UACD,CAAC,CAAC;QACH;QAEA,OAAAD,OAAA,CAAAC,OAAA,CAAOyB,MAAA,CAAKC,UAAU;MACvB,CAAC,QAAA9K,CAAA;QAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACSiM,wBAAwB,WAAAA,yBAAA,EAAG;MAClC,IAAI,IAAI,CAACW,iBAAiB,CAAC,CAAC,EAAE;QAC7B,MAAMrE,KAAK,GAAI,IAAI,CAACkC,SAAS,CAAC,CAAC,CAAoBoC,QAAQ,CAAC,CAAC;QAC7D,MAAMC,YAAY,GAAGvE,KAAK,EAAEwE,IAAI,CAAC,CAAC,IAAI,IAAI,CAACjG,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC;QAC3E,IAAI,CAAC0D,SAAS,CAAC,CAAC,CAAoBuC,SAAS,CAAC,GAAGF,YAAY,KAAKG,MAAM,CAAC,IAAI,CAAClH,MAAM,CAAC/D,MAAM,CAAC,GAAG,CAAC;MAClG;IACD,CAAC;IAED;AACD;AACA;AACA;IACSgJ,kBAAkB,WAAAA,mBAAA,EAAS;MAClC,IAAI,CAAC,IAAI,CAACkC,mBAAmB,EAAE;QAC9B;QACA,IAAI,CAAC5D,cAAc,CAAC6D,eAAe,CAAC,OAAO,EAAE;UAC5CC,IAAI,EAAE,eAAe;UACrBpL,MAAM,EAAEsB,SAAS,CAACG,gBAAgB;UAClC4J,OAAO,EAAEA,CAAC7H,EAAE,EAAE8H,OAAO,KAAK,IAAI,CAACC,oBAAoB,CAAC/H,EAAE,EAAE8H,OAAO,CAAC,EAAEE,YAAY,GAAG,OAAO,EAAE;YAAEJ,IAAI,EAAE;UAAa,CAAC;QACjH,CAAC,CAAC;;QAEF;QACA,IAAI,CAACrD,oBAAoB,CAACoD,eAAe,CAAC,SAAS,EAAE;UACpDC,IAAI,EAAE,eAAe;UACrBpL,MAAM,EAAEsB,SAAS,CAACG,gBAAgB;UAClC4J,OAAO,EAAEA,CAAC7H,EAAE,EAAE8H,OAAO,KAAK,IAAI,CAACC,oBAAoB,CAAC/H,EAAE,EAAE8H,OAAO,CAAC,EAAEE,YAAY,GAAG,OAAO,EAAE;YAAEJ,IAAI,EAAE;UAAa,CAAC;QACjH,CAAC,CAAC;QAEF,IAAI,CAACF,mBAAmB,GAAG,IAAI;MAChC;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQK,oBAAoB,WAAAE,sBAACjI,EAAU,EAAE8H,OAAgB,EAAW;MAClE,OAAO,IAAIlP,WAAW,CAAC,GAAGoH,EAAE,OAAO,EAAE;QACpCkI,IAAI,EAAE,YAAY;QAClBC,SAAS,EAAE,UAAU;QACrBC,YAAY,EAAE,IAAI;QAClBC,MAAM,EAAEP,OAAO,CAACpC,WAAW,CAAC,OAAO,CAAW;QAC9C/D,KAAK,EAAEmG,OAAO,CAACpC,WAAW,CAAC,YAAY,CAAW;QAClDtK,KAAK,EAAE0M,OAAO,CAACpC,WAAW,CAAC,WAAW,CAAc;QACpD4C,WAAW,EAAE,CACZ,IAAIrP,WAAW,CAAC,GAAG+G,EAAE,cAAc,EAAE;UACpCuI,QAAQ,EAAET,OAAO,CAACpC,WAAW,CAAC,UAAU,CAAa;UACrD8C,YAAY,EAAE,IAAI,CAACC,eAAe,CAACX,OAAO,CAACpC,WAAW,CAAC,UAAU,CAAa,CAAC;UAC/EgD,MAAM,EAAEZ,OAAO,CAACpC,WAAW,CAAC,YAAY,CAAW;UACnD/F,OAAO,EAAE,IAAI3G,IAAI,CAAC,GAAGgH,EAAE,mBAAmB,EAAE;YAC3CqD,IAAI,EAAEyE,OAAO,CAACpC,WAAW,CAAC,SAAS;UACpC,CAAC;QACF,CAAC,CAAC;MAEJ,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQ+C,eAAe,WAAAA,gBAACF,QAAkB,EAAU;MAClD,IAAII,GAAG;MACP,IAAIJ,QAAQ,KAAK7N,QAAQ,CAACkO,QAAQ,EAAE;QACnCD,GAAG,GAAG,kBAAkB;MACzB,CAAC,MAAM,IAAIJ,QAAQ,KAAK7N,QAAQ,CAACmO,IAAI,EAAE;QACtCF,GAAG,GAAG,cAAc;MACrB,CAAC,MAAM,IAAIJ,QAAQ,KAAK7N,QAAQ,CAACoO,MAAM,EAAE;QACxCH,GAAG,GAAG,gBAAgB;MACvB,CAAC,MAAM,IAAIJ,QAAQ,KAAK7N,QAAQ,CAACqO,GAAG,EAAE;QACrCJ,GAAG,GAAG,aAAa;MACpB,CAAC,MAAM;QACNA,GAAG,GAAG,cAAc;MACrB;MAEA,OAAO,IAAI,CAACrH,WAAW,CAACC,OAAO,CAACoH,GAAG,CAAC;IACrC,CAAC;IAED;AACD;AACA;AACA;AACA;IACS5C,yBAAyB,WAAAA,0BAAA,EAAS;MACzC,IAAI,CAACiD,UAAU,GAAG,IAAI,CAACC,oBAAoB,CAAC;QAAEC,aAAa,EAAE;MAAK,CAAC,CAAC;MACpE,IAAI,CAAC3I,MAAM,CAAC2B,YAAY,GAAG,IAAI,CAAC3B,MAAM,CAACuB,KAAK,GAAG,IAAIC,KAAK,CAAC,IAAI,CAACiH,UAAU,CAAC,CAAChH,IAAI,CAAC;QAAEC,SAAS,EAAE;MAAU,CAAC,CAAC;MACxG,IAAI,CAAC1B,MAAM,CAACC,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACE,QAAQ,GAAG,KAAK;MACnD,IAAI,CAAC0B,aAAa,CAAC4E,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSkC,oBAAoB,WAAAA,qBAACE,qBAA6C,EAAU;MACnF,MAAMjF,MAAM,GAAI,IAAI,CAACe,SAAS,CAAC,CAAC,EAAqBmE,UAAU,CAAC,CAAC;MACjE,IAAIC,iBAAiB,GAAG,KAAK;MAC7B,IAAIC,YAAY,GAAG,IAAI,CAACjH,YAAY,EAAEkH,SAAS,CAAC,CAAC;MAEjD,IAAIrF,MAAM,EAAE;QACXmF,iBAAiB,GAAG,IAAI,CAAC1D,kBAAkB,CAAC,CAAC;QAC7C,MAAM6D,eAAe,GAAGtF,MAAM,CAACwB,WAAW,CAAC,YAAY,CAAY;QACnE,MAAM+D,eAAe,GAAG,CAACJ,iBAAiB,GAAGnF,MAAM,CAACwF,uBAAuB,CAAC,CAAC,GAAGxF,MAAM,EAAEqF,SAAS,CAAC,CAAC;QACnG,MAAMI,gBAAgB,GAAGH,eAAe,IAAI,CAACH,iBAAiB,GAAG,CAAC,GAAG,CAAC;QACtEC,YAAY,GAAGG,eAAe,EAAEG,UAAU,CAACD,gBAAgB,CAAY;MACxE;MAEA,MAAME,cAAc,GAAG,IAAI,CAAC1H,aAAa,CAACuD,WAAW,CAAC,UAAU,CAAY;MAC5E,IAAIoE,SAAS,GAAGD,cAAc,GAAG/L,SAAS,CAACI,kBAAkB,GAAG,CAAC;MAEjE,IAAIoL,YAAY,EAAE;QACjB;QACAQ,SAAS,GAAG,IAAI,CAACC,sBAAsB,CAACT,YAAY,EAAEH,qBAAqB,CAAC;QAE5E,IAAIE,iBAAiB,EAAE;UACtB;UACAS,SAAS,IAAI,IAAI,CAACE,oBAAoB,CAACV,YAAY,EAAEH,qBAAqB,CAAC;QAC5E;;QAEA;QACAW,SAAS,GAAGA,SAAS,GAAGhM,SAAS,CAACG,gBAAgB,GAAGH,SAAS,CAACG,gBAAgB,GAAG6L,SAAS;MAC5F;MAEA,OAAOA,SAAS;IACjB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSnE,kBAAkB,WAAAA,mBAAA,EAAY;MACrC,MAAMsE,cAAc,GAAG,IAAI,CAAChF,SAAS,CAAC,CAAmB;MACzD,MAAMf,MAAM,GAAG+F,cAAc,CAACb,UAAU,CAAC,CAAC;MAC1C,OAAOlF,MAAM,EAAEgG,8BAA8B,CAAC,CAAC,KAAKD,cAAc,CAACvE,WAAW,CAAC,gBAAgB,CAAC;IACjG,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACWqE,sBAAsB,WAAAI,wBAACC,MAAe,EAAU;MACzD,MAAMC,aAAa,GAAG5M,sBAAsB,CAAC2M,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;MAC/H,MAAME,cAAc,GAAGC,MAAM,CAACrN,MAAM,CAACmN,aAAa,CAAC,CACjDG,KAAK,CAAC,CAAC,CAAC,CACRC,MAAM,CAAC,CAAC9I,KAAK,EAAE+I,aAAa,KAAK/I,KAAK,GAAG+I,aAAa,EAAEL,aAAa,CAAC,OAAO,CAAC,CAAC;MACjF,MAAMM,eAAe,GAAG,IAAI,CAACpK,MAAM,CAAC/D,MAAgB;MACpD,MAAMqN,cAAc,GAAG,IAAI,CAAC1H,aAAa,CAACuD,WAAW,CAAC,UAAU,CAAY;MAC5E,IAAItE,mBAAmB;MACvB,MAAMwJ,QAAQ,GAAG,IAAI,CAAClF,WAAW,CAAC,cAAc,CAAW;MAC3D,MAAMmF,QAAQ,GAAG,IAAI,CAACnF,WAAW,CAAC,cAAc,CAAW;MAC3D,MAAMoF,gBAAgB,GAAG;QACxBC,cAAc,EAAET,cAAc;QAC9BU,UAAU,EAAEL,eAAe;QAC3BC,QAAQ,EAAEA,QAAQ;QAClBC,QAAQ,EAAEA,QAAQ;QAClBxG,GAAG,EAAEvG,SAAS,CAACU;MAChB,CAAC;MACD,MAAMkC,SAAS,GAAGnD,kBAAkB,CAACuN,gBAAgB,CAAC;MACtD,IAAIjB,cAAc,EAAE;QACnBzI,mBAAmB,GAAGtD,SAAS,CAACI,kBAAkB;MACnD,CAAC,MAAM;QACNkD,mBAAmB,GAAG6J,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACb,cAAc,GAAG5J,SAAS,CAAC,EAAE,CAAC,CAAC;MAC1E;;MAEA;MACA,IAAI,CAACyB,aAAa,CAACsB,WAAW,CAAC,YAAY,EAAE,GAAG/C,SAAS,GAAG,EAAE,KAAK,CAAC;MACpE,IAAI,CAACyB,aAAa,CAACsB,WAAW,CAAC,sBAAsB,EAAErC,mBAAmB,CAAC;MAE3E,OAAOA,mBAAmB;IAC3B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACW4I,oBAAoB,WAAAoB,sBAAChB,MAAe,EAAU;MACvD,MAAMiB,oBAAoB,GAAG5N,sBAAsB,CAAC2M,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;MAC5E,MAAMkB,mBAAmB,GAAG7N,sBAAsB,CAAC2M,MAAM,CAACmB,aAAa,EAAa,CAAC,QAAQ,CAAC,CAAC;MAC/F,MAAMC,WAAW,GAAG,IAAI,CAACC,oBAAoB,CAAC,CAAC;MAC/C,MAAMC,eAAe,GAAGJ,mBAAmB,CAACK,MAAM,GAAGN,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAGG,WAAW;MAC1G,MAAMI,MAAM,GAAG,EAAE;MACjB,MAAMC,UAAU,GAAG/N,SAAS,CAACQ,mBAAmB,GAAGsN,MAAM;MACzD,MAAME,iBAAiB,GAAGb,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACO,eAAe,GAAGG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;MAEjF,OAAOC,iBAAiB;IACzB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACWL,oBAAoB,WAAAM,sBAAA,EAAW;MACxC,MAAMC,SAAS,GAAG,IAAI,CAAC/G,SAAS,CAAC,CAAmB;MACpD,MAAMgH,kBAAkB,GAAG5S,UAAU,CAAC6S,cAAc,CAAC,GAAGF,SAAS,CAAC1J,KAAK,CAAC,CAAC,SAAS,CAAC,EAAEiH,SAAS,CAAC,CAAC;MAChG,MAAM4C,mBAAmB,GAAG9S,UAAU,CAAC6S,cAAc,CAAC,GAAGF,SAAS,CAACI,gBAAgB,CAAC,CAAC,CAAC9J,KAAK,CAAC,CAAC,UAAU,CAAC,EAAEiH,SAAS,CAAC,CAAC;MACrH,MAAM8C,aAAa,GAAGvO,SAAS,CAACO,oBAAoB,GAAGP,SAAS,CAACS,yBAAyB;MAC1F,IAAIiN,WAAW,GAAG,CAAC;MAEnB,IAAIS,kBAAkB,IAAIE,mBAAmB,EAAE;QAC9CX,WAAW,GAAGS,kBAAkB,CAACK,YAAY,GAAGH,mBAAmB,CAACG,YAAY;MACjF;MAEA,OAAOrB,IAAI,CAACC,GAAG,CAACM,WAAW,EAAEa,aAAa,CAAC;IAC5C,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACSrG,sBAAsB,WAAAA,uBAACuG,OAAuB,EAAW;MAAA,MAAAC,MAAA,GAcxD,IAAI;MAbZ,MAAM1C,SAAS,GAAG,IAAI,CAACb,oBAAoB,CAAC,CAAC;MAC7C,MAAM9J,QAAQ,GAAG,IAAI,CAACsN,WAAW,CAAC,CAAC;MACnC,MAAMC,IAAI,GAAG,IAAI,CAACC,mBAAmB,GAAG7C,SAAS,CAAC;MAElD,IAAI3K,QAAQ,IAAIoN,OAAO,EAAEtG,SAAS,EAAE;QACnCyG,IAAI,CAACE,MAAM,CAAC,CAAC,CAAC;MACf;MAEA,OAAO;QACNC,OAAO,EAAE,IAAI,CAACC,UAAU,CAAC,CAAC;QAC1BC,WAAW,EAAEL,IAAI;QACjBM,OAAO,WAAAA,CAASC,IAAe;UAAA,IAAoB;YAClD;YAAA,OAAAtJ,OAAA,CAAAC,OAAA,CACM4I,MAAA,CAAKU,cAAc,CAAC/N,QAAQ,GAAG8N,IAAI,CAACL,MAAM,CAAC,CAAC,CAAC,GAAGK,IAAI,EAAEV,OAAO,CAAC,EAAA9R,IAAA;cAEpE;cACA+R,MAAA,CAAKjM,MAAM,CAAC/D,MAAM,GAAG2C,QAAQ,GAAGgO,MAAM,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,GAAIT,MAAA,CAAKjM,MAAM,CAACuB,KAAK,CAActF,MAAM;cACxFgQ,MAAA,CAAKY,iBAAiB,CAAC,CAAC;YAAC;UAC1B,CAAC,QAAA5S,CAAA;YAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;UAAA;QAAA;MACF,CAAC;IACF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQmS,mBAAmB,WAAAU,qBAACvD,SAAiB,EAAY;MACvD,MAAM4C,IAAI,GAAG,EAAE;MACf,MAAMvN,QAAQ,GAAG,IAAI,CAACsN,WAAW,CAAC,CAAC;MAEnC,IAAItN,QAAQ,EAAE;QACbuN,IAAI,CAACvP,IAAI,CAACgC,QAAQ,CAAC;MACpB;MAEA,IAAIC,OAAO,GAAG,IAAI,CAACkO,UAAU,CAAC,CAAC;MAC/B,IAAI,IAAI,CAAC5H,WAAW,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM6H,WAAW,GAAG,IAAI,CAAC7H,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,gBAAgBoE,SAAS,EAAE;QAClF1K,OAAO,GAAGA,OAAO,CAACoO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAGpO,OAAO,IAAImO,WAAW,EAAE,GAAG,GAAGnO,OAAO,IAAImO,WAAW,EAAE;MAC5F;MACAb,IAAI,CAACvP,IAAI,CAACiC,OAAO,CAAC;MAElB,OAAOsN,IAAI;IACZ,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACcQ,cAAc,WAAAO,gBAACC,OAAkB,GAAG,EAAE,EAAEnB,OAAwB;MAAA,IAAiB;QAAA,MAAAoB,MAAA,GAE5F,IAAI;QADL,IAAI,CAACpB,OAAO,IAAKA,OAAO,IAAI,CAACA,OAAO,CAACtG,SAAU,EAAE;UAChD0H,MAAA,CAAKpN,MAAM,CAAC2B,YAAY,GAAGyL,MAAA,CAAKpN,MAAM,CAACuB,KAAK,GAAG4L,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;QAChE;QAAC,OAAA/J,OAAA,CAAAC,OAAA,CAEKD,OAAO,CAACC,OAAO,CAAC,CAAC,EAAAnJ,IAAA;MACxB,CAAC,QAAAD,CAAA;QAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACS4S,iBAAiB,WAAAA,kBAAA,EAAG;MAC3B,IAAID,MAAM,CAAC,IAAI,CAAC5M,MAAM,CAAC/D,MAAM,CAAC,KAAK,CAAC,EAAE;QACrC,IAAI,CAAC+D,MAAM,CAACO,gBAAgB,GAAG,gCAAgC;QAC/D,IAAI,CAACP,MAAM,CAACc,iBAAiB,GAAG,IAAI,CAAC+F,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC9F,WAAW,CAACC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAACqM,aAAa,CAAC,CAAC;QACzH,IAAI,CAACrN,MAAM,CAACiB,uBAAuB,GAAG,IAAI,CAAC4F,iBAAiB,CAAC,CAAC,GAC3D,IAAI,CAAC9F,WAAW,CAACC,OAAO,CAAC,YAAY,CAAC,GACtC,IAAI,CAACD,WAAW,CAACC,OAAO,CAAC,eAAe,CAAC;MAC7C;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACS6F,iBAAiB,WAAAA,kBAAA,EAAY;MACpC,MAAMyG,SAAS,GAAI,IAAI,CAAC5I,SAAS,CAAC,CAAC,CAAoB6I,UAAU,CAAC,CAAgB;MAClF,MAAMC,eAAe,GAAGF,SAAS,CAACG,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACpI,aAAa,CAAC,CAAC,CAAC;MAE1E,OAAOkI,eAAe,CAACvR,MAAM,KAAK,CAAC,IAAKqR,SAAS,CAACrR,MAAM,KAAK,CAAC,IAAI,IAAI,CAACqJ,aAAa,CAAC,CAAE;IACxF,CAAC;IAED;AACD;AACA;AACA;AACA;IACSQ,0BAA0B,WAAAA,2BAAA,EAAS;MAC1C6H,aAAa,CAAC,IAAI,CAAC3N,MAAM,CAAC4N,SAAmB,CAAC;MAC9C,IAAI,CAAC5N,MAAM,CAAC4N,SAAS,GAAGC,WAAW,CAAC,MAAM;QACzC,IAAI,CAAC7N,MAAM,CAAC+F,iBAAiB,GAAG,IAAI,CAAC/F,MAAM,CAAC+F,iBAAiB,IAAI,IAAIrF,IAAI,CAAC,CAAC;QAC3E,IAAI,CAACV,MAAM,CAACQ,WAAW,GAAG,IAAI,CAACC,mBAAmB,CAAC,IAAI,CAACT,MAAM,CAAC+F,iBAAyB,CAAC;QACzF,IAAI,CAAC/F,MAAM,CAACW,eAAe,GAAG,IAAI,CAACC,uBAAuB,CAAC,IAAI,CAACZ,MAAM,CAAC+F,iBAAyB,CAAC;QACjG,IAAI,CAACC,yBAAyB,CAAC,CAAC;MACjC,CAAC,EAAEzI,SAAS,CAACK,sBAAsB,CAAC;IACrC,CAAC;IAED;AACD;AACA;AACA;AACA;IACQoI,yBAAyB,WAAAA,0BAAA,EAAS;MACxC,MAAMyF,SAAS,GAAG,IAAI,CAAC/G,SAAS,CAAC,CAAmB;MACpD,IAAI+G,SAAS,CAACtG,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,CAACA,WAAW,CAAC,KAAK,CAAC,EAAE;QACrE,IAAI,CAACnC,WAAW,CAACE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAClD,MAAM,CAACQ,WAAW,EAAE,IAAI,CAAC;QACnE,IAAI,CAACqC,gBAAgB,CAACK,WAAW,CAAC,MAAM,EAAE,IAAI,CAAClD,MAAM,CAACW,eAAe,EAAE,IAAI,CAAC;QAC5E,IAAI,CAACqC,WAAW,CAAC8K,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC9N,MAAM,CAACW,eAAe,EAAmB,IAAI,CAAC;QAC9F8K,SAAS,CAACsC,sBAAsB,CAAC,IAAI,CAAC;MACvC;MAEA,IAAI,CAACtH,aAAa,CAAC,CAAC;IACrB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQA,aAAa,WAAAA,cAAA,EAAG;MACtB;MACA,MAAM8C,SAAS,GAAG,IAAI,CAACb,oBAAoB,CAAC,CAAC;MAC7C,IAAK,IAAI,CAAC1I,MAAM,CAACuB,KAAK,CAActF,MAAM,IAAI,CAAC,IAAI,CAAC+D,MAAM,CAACE,QAAQ,EAAE;QACpE,MAAM8N,YAAY,GAAI,IAAI,CAAChO,MAAM,CAACuB,KAAK,CAAc0I,KAAK,CAAC,CAAC,EAAEV,SAAS,CAAC;QACxE,IAAI,CAAC3H,aAAa,CAACsB,WAAW,CAAC,eAAe,EAAE8K,YAAY,CAAC;MAC9D;;MAEA;MACA,IAAI,CAACpM,aAAa,CAACsB,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC+K,aAAa,CAAC,CAAC,KAAKhR,UAAU,CAACiR,MAAM,CAAC;;MAEtF;MACC,IAAI,CAACxJ,SAAS,CAAC,CAAC,EAAqByJ,wBAAwB,CAC7D,IAAI,EACJ,IAAI,CAAC/I,kBAAkB,CAAC,CAAC,IAAIwH,MAAM,CAAC,IAAI,CAAC5M,MAAM,CAAC/D,MAAM,CAAC,GAAGsN,SAC3D,CAAC;IACF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACQ9I,mBAAmB,WAAAA,oBAAC2N,IAAU,EAAU;MAC9C,MAAMC,SAAS,GAAG,IAAI3N,IAAI,CAAC0N,IAAI,CAAC;MAChC,OAAOE,KAAK,CAAC1B,MAAM,CAACyB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAGnQ,SAAS,CAACqQ,qBAAqB,CAACC,MAAM,CAACH,SAAS,CAAC;IACzF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACSzN,uBAAuB,WAAAA,wBAACwN,IAAU,EAAU;MACnD,MAAMC,SAAS,GAAG,IAAI3N,IAAI,CAAC0N,IAAI,CAAC;MAChC,OAAOE,KAAK,CAAC1B,MAAM,CAACyB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAGnQ,SAAS,CAACuQ,yBAAyB,CAACD,MAAM,CAACH,SAAS,CAAC;IAC7F,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQhB,aAAa,WAAAqB,eAAA,EAAW;MAC9B,OAAO,IAAI,CAAC3N,WAAW,CAACC,OAAO,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACS2N,cAAc,WAAAA,eAACC,QAAkB,EAAY;MACpD,MAAM;QAAEC,CAAC,GAAG,CAAC,CAAC;QAAE/T;MAAM,CAAC,GAAG8T,QAAQ,IAAI,CAAC,CAAC;MACxC,MAAMzB,OAAO,GAAG0B,CAAC,EAAE1B,OAAO;MAC1B,MAAM2B,QAAQ,GAAG,CAACR,KAAK,CAAC,CAACO,CAAC,CAAC,IAAI,CAACA,CAAC;MACjC,MAAME,eAAe,GAAG,CAACT,KAAK,CAAC,CAACM,QAAQ,CAAC,IAAI,CAACA,QAAQ;MAEtD,OAAQzB,OAAO,IAAI2B,QAAQ,IAAIC,eAAe,IAAIjU,KAAK,IAAI8T,QAAQ,IAAI,CAAC;IACzE,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACWhJ,YAAY,WAAAA,aAAA,EAAuB;MAAA,MAAAoJ,MAAA,GAIxB,IAAI;MAHxB,OAAO5L,OAAO,CAAC6L,GAAG,CACjB,IAAI,CAACpN,QAAQ,CAACqN,GAAG,WAAQC,OAAgB;QAAA,IAAK;UAAA,OAAA/L,OAAA,CAAAC,OAAA,CAAAjJ,gBAAA;YAAA,OAAAP,MAAA,aACzC;cACH,MAAMoF,QAAQ,GAAG+P,MAAA,CAAK7J,WAAW,CAAC,UAAU,CAAY;cAAC,OAAA/B,OAAA,CAAAC,OAAA,CACzCpE,QAAQ,GACf+P,MAAA,CAAKpP,WAAW,CAACwP,sBAAsB,CAACD,OAAO,CAAC7C,OAAO,EAAE6C,OAAO,CAAC3C,WAAW,CAAC,GAC7ElP,UAAU,CAAC+R,mBAAmB,CAACF,OAAO,CAAC3C,WAAW,CAAC,EAAAtS,IAAA,WAFxDoV,SAAS;gBAAA,IAITA,SAAS,CAACrT,MAAM;kBACnB,MAAMsT,kBAAkB,GAAGD,SAAS,CAACJ,GAAG,CAAEN,QAA2B,IAAK;oBACzE,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;sBACjCA,QAAQ,GAAGY,IAAI,CAACC,KAAK,CAACb,QAAQ,CAAa;oBAC5C;oBACA,OAAOI,MAAA,CAAKL,cAAc,CAACC,QAAQ,CAAC;kBACrC,CAAC,CAAC;;kBAEF;kBAAA,MAAAc,KAAA;oBAAA,IACIP,OAAO,CAAC1C,OAAO,IAAI,OAAO0C,OAAO,CAAC1C,OAAO,KAAK,UAAU;sBAAA,OAAArJ,OAAA,CAAAC,OAAA,CACrD8L,OAAO,CAAC1C,OAAO,CAAC8C,kBAAkB,CAAC,EAAArV,IAAA;oBAAA;kBAAA;kBAAA,OAAAwV,KAAA,IAAAA,KAAA,CAAAxV,IAAA,GAAAwV,KAAA,CAAAxV,IAAA;oBAG1C,OAAOqV,kBAAkB;kBAAC,KAAnBA,kBAAkB;gBAAA;kBAEzB,MAAM,IAAIlJ,KAAK,CAAC,kBAAkB,CAAC;gBAAC;cAAA;YAEtC,CAAC,YAAQD,KAAc,EAAE;cACxB4I,MAAA,CAAKtI,YAAY,CAACN,KAAK,CAAC;YACzB,CAAC;UAAA,aAAAuJ,UAAA,EAAAC,OAAA;YACAZ,MAAA,CAAKa,cAAc,CAAC,CAAC;YAAC,IAAAF,UAAA,QAAAC,OAAA;YAAA,OAAAA,OAAA;UAAA;QAExB,CAAC,QAAA3V,CAAA;UAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;QAAA;MAAA,EACF,CAAC;IACF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACSyM,YAAY,WAAAA,aAACN,KAAc,EAAE;MACpC,IAAI,CAACpG,MAAM,CAAC2B,YAAY,GAAG,IAAI,CAAC3B,MAAM,CAACuB,KAAK,GAAG,EAAE;MACjD,IAAI,CAACvB,MAAM,CAACI,YAAY,GAAG,IAAI,CAACJ,MAAM,CAACC,QAAQ,GAAG,IAAI,CAACD,MAAM,CAACE,QAAQ,GAAG,IAAI;MAC7E,IAAI,CAACF,MAAM,CAACO,gBAAgB,GAAG,uBAAuB;MACtD,IAAI,CAACP,MAAM,CAACc,iBAAiB,GAAG,IAAI,CAACd,MAAM,CAACiB,uBAAuB,GAAG,EAAE;MAExEjJ,GAAG,CAACoO,KAAK,CAACA,KAAe,CAAC;MAC1B,IAAI,CAACxE,aAAa,CAAC4E,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;AACD;AACA;AACA;AACA;IACWqJ,cAAc,WAAAA,eAAA,EAAG;MAC1B,IAAI,CAAChO,QAAQ,GAAG,EAAE;IACnB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQiO,SAAS,WAAAA,UAAA,EAAY;MAC3B,MAAMC,eAAe,GAAG,IAAI,CAACrL,SAAS,CAAC,CAAmB;MAC1D,MAAMsL,mBAAmB,GAAGD,eAAe,EAAElH,UAAU,CAAC,CAAC,EAAE1D,WAAW,CAAC,UAAU,CAAY;MAE7F,MAAM;QAAElF,QAAQ;QAAEI;MAAe,CAAC,GAAG,IAAI,CAACL,MAAM;MAEhD,IAAI,CAACgQ,mBAAmB,EAAE;QACzB,OAAO/P,QAAQ;MAChB;MAEA,OAAQI,cAAc,IAAIJ,QAAQ;IACnC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQgQ,UAAU,WAAAA,WAAChQ,QAAiB,EAAQ;MAC1C,IAAI,CAACD,MAAM,CAACC,QAAQ,GAAGA,QAAQ;IAChC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQqF,aAAa,WAAAA,cAAA,EAAY;MAC/B,OAAO,IAAI,CAACtF,MAAM,CAACI,YAAY;IAChC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQ8P,aAAa,WAAAA,cAACC,WAAoB,EAAQ;MAChD,IAAI,CAACnQ,MAAM,CAACI,YAAY,GAAG+P,WAAW;IACvC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQC,aAAa,WAAAA,cAAA,EAAkB;MACrC,MAAMC,OAAO,GAAG,0CAA0C;MAC1D,MAAMC,KAAK,GAAG,IAAI,CAAC3J,eAAe,CAAC,CAAC,CAAC2J,KAAK,CAACD,OAAO,CAAC;MAEnD,IAAIC,KAAK,EAAE;QACV,MAAMlU,MAAM,GAAG;UACdmU,cAAc,EAAED,KAAK,CAAC,CAAC,CAAC;UACxBE,MAAM,EAAEF,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,MAAMG,MAAM,GAAG,CAAC,CAA2B;QAE3C,IAAIH,KAAK,CAAC,CAAC,CAAC,EAAE;UACb,MAAMI,WAAW,GAAGJ,KAAK,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC,GAAG,CAAC;UACvC,KAAK,MAAMC,KAAK,IAAIF,WAAW,EAAE;YAChC,MAAM,CAACtI,GAAG,EAAEtN,KAAK,CAAC,GAAG8V,KAAK,CAACD,KAAK,CAAC,GAAG,CAAC;YACrCF,MAAM,CAACrI,GAAG,CAAC,GAAGtN,KAAK;UACpB;QACD;QAEA,OAAO;UACNsB,MAAM;UACNqU;QACD,CAAC;MACF,CAAC,MAAM;QACN,OAAO,IAAI;MACZ;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACexK,oBAAoB,WAAAA,qBAAA;MAAA,IAAG;QAAA,MAAA4K,MAAA,GAClB,IAAI;QAAtB,MAAMpF,SAAS,GAAGoF,MAAA,CAAKnM,SAAS,CAAC,CAAmB;QACpD,MAAMQ,WAAW,GAAGuG,SAAS,EAAEtG,WAAW,CAAC,aAAa,CAAW;QAAC,OAAA/B,OAAA,CAAAC,OAAA;UAAA,IAEhE6B,WAAW,KAAK2L,MAAA,CAAK1L,WAAW,CAAC,KAAK,CAAC,KAAK0L,MAAA,CAAK7Q,MAAM,CAAC/D,MAAM,KAAK,CAAC,IAAI4U,MAAA,CAAK7Q,MAAM,CAACE,QAAQ,CAAC;YAAA,IAAA4Q,UAAA;YAAA,SAAAC,OAAA;cAAA,MAAAC,MAAA;gBAAA,IAgB5FC,kBAAkB;kBACrBxF,SAAS,EAAEvI,WAAW,CAAC,aAAa,EAAE+N,kBAAkB,CAAC9L,WAAW,CAAC,KAAK,CAAC,CAAC;kBAC5ErI,cAAc,CAACyM,SAAS,GAAGsH,MAAA,CAAKpI,UAAU;kBAAC,OAAArF,OAAA,CAAAC,OAAA,CACrC4N,kBAAkB,CAACrM,UAAU,CAAC,IAAI,CAAC,EAAA1K,IAAA;oBACzC4C,cAAc,CAACyM,SAAS,GAAGvE,SAAS;kBAAC;gBAAA;cAAA;cAAA,IAAAgM,MAAA,IAAAA,MAAA,CAAA9W,IAAA,SAAA8W,MAAA,CAAA9W,IAAA;YAAA;YAnBtC,IAAI+W,kBAAkB;YACtB,MAAMC,MAAM,GAAGzF,SAAS,EAAE0F,cAAc,CAAC,SAAS,CAAgB;YAAC,MAAAC,MAAA,GAAAjV,MAAA,CAE/C+U,MAAM,YAAfxD,KAAK,EAAY;cAAA,MAAA2D,MAAA;gBAAA,IACvB3D,KAAK,KAAAmD,MAAS;kBACjB;kBAAA,OAAAzN,OAAA,CAAAC,OAAA,CACMqK,KAAK,CAAC9I,UAAU,CAAC,CAAC,EAAA1K,IAAA;oBAAA,IAEpBwT,KAAK,CAACpI,aAAa,CAAC,CAAC,IAAI,CAACoI,KAAK,CAACoC,SAAS,CAAC,CAAC,IAAIpC,KAAK,CAAC4D,aAAa,CAAC,CAAC,GAAG,CAAC;sBAC3EL,kBAAkB,GAAGvD,KAAK;sBAACoD,UAAA;oBAAA;kBAAA;gBAAA;cAAA;cAAA,IAAAO,MAAA,IAAAA,MAAA,CAAAnX,IAAA,SAAAmX,MAAA,CAAAnX,IAAA;YAI9B,CAAC;cAAA,OAAA4W,UAAA;YAAA;YAAA,OAAAM,MAAA,IAAAA,MAAA,CAAAlX,IAAA,GAAAkX,MAAA,CAAAlX,IAAA,CAAA6W,MAAA,IAAAA,MAAA,CAAAK,MAAA;UAAA;QAAA;MASH,CAAC,QAAAnX,CAAA;QAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACQsX,eAAe,WAAAA,gBAAA,EAAG;MACxBhX,SAAS,CAACiX,QAAQ,CAAC,IAAI,CAAC7K,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC;MACjDvJ,uBAAuB,CAACC,oBAAoB,CAACoU,IAAI,CAAC;IACnD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQH,aAAa,WAAAA,cAAA,EAAW;MAC9B,OAAO1E,MAAM,CAAC,IAAI,CAAC5M,MAAM,CAAC/D,MAAM,CAAC;IAClC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACeqH,kBAAkB,WAAAA,mBAAA;MAAA,IAAG;QAAA,MAAAoO,MAAA,GAC7B,IAAI;QAAA,MAAAC,MAAA;UAAA,IAAL,CAACD,MAAA,CAAK1R,MAAM,CAACK,cAAc;YAC9BqR,MAAA,CAAK1R,MAAM,CAACK,cAAc,GAAG,IAAI;YAAC,MAAAuR,MAAA;cAAA,IAC9B,CAACF,MAAA,CAAKvM,WAAW,CAAC,SAAS,CAAC;gBAAA,OAAA/B,OAAA,CAAAC,OAAA,CACzBqO,MAAA,CAAK9M,UAAU,CAAC,IAAI,CAAC,EAAA1K,IAAA;cAAA;YAAA;YAAA,IAAA0X,MAAA,IAAAA,MAAA,CAAA1X,IAAA,SAAA0X,MAAA,CAAA1X,IAAA;UAAA;QAAA;QAAA,OAAAkJ,OAAA,CAAAC,OAAA,CAAAsO,MAAA,IAAAA,MAAA,CAAAzX,IAAA,GAAAyX,MAAA,CAAAzX,IAAA;MAG9B,CAAC,QAAAD,CAAA;QAAA,OAAAmJ,OAAA,CAAArH,MAAA,CAAA9B,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACQ4X,IAAI,WAAAC,MAAA,EAAG;MACbnE,aAAa,CAAC,IAAI,CAAC3N,MAAM,CAAC4N,SAAmB,CAAC;IAC/C;EAAC;EAp+B4B1P,SAAS,CAyF/BuQ,yBAAyB,GAAGzV,UAAU,CAAC+Y,mBAAmB,CAAC;IACjEC,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EAChB,CAAC,CAAC;EA7F2BhU,SAAS,CA+F/BqQ,qBAAqB,GAAGvV,UAAU,CAAC+Y,mBAAmB,CAAC;IAC7DC,KAAK,EAAE,QAAQ;IACfC,QAAQ,EAAE,IAAI;IACdC,aAAa,EAAE;EAChB,CAAC,CAAC;EAAA,OAnG2BhU,SAAS;AAAA","ignoreList":[]}
@@ -33,7 +33,7 @@ import { $ToDoPanelSettings } from "./ToDoPanel";
33
33
  import ToDosContainer from "./ToDosContainer";
34
34
  import BatchHelper from "./utils/BatchHelper";
35
35
  import { calculateCardWidth, DeviceType, fetchElementProperties } from "./utils/Device";
36
- import { addFESRId } from "./utils/FESRUtil";
36
+ import { addFESRId, addFESRNavigationSource, FESRNavigationSource } from "./utils/FESRUtil";
37
37
  import HttpHelper from "./utils/HttpHelper";
38
38
 
39
39
  interface Request {
@@ -171,7 +171,13 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
171
171
  *
172
172
  * @private
173
173
  */
174
- useBatch: { type: "boolean", group: "Misc", defaultValue: true, visibility: "hidden" }
174
+ useBatch: { type: "boolean", group: "Misc", defaultValue: true, visibility: "hidden" },
175
+ /**
176
+ * Specifies whether the panel data should be preloaded.
177
+ *
178
+ * @private
179
+ */
180
+ preload: { type: "boolean", group: "Data", defaultValue: false, visibility: "hidden" },
175
181
  },
176
182
  aggregations: {
177
183
  /**
@@ -297,7 +303,7 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
297
303
  // Create a HeaderContainer for mobile devices
298
304
  if (!this._mobileCardContainer) {
299
305
  this._mobileCardContainer = new HeaderContainer(`${this.getId()}-headerContainer`, {
300
- visible: "{/isPhone}",
306
+ visible: "{= ${/isPhone} && !${/hasError} && (!${/isLoaded} || ${/length} > 0) }",
301
307
  scrollStep: 0,
302
308
  gridLayout: true,
303
309
  scrollTime: 1000,
@@ -371,14 +377,14 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
371
377
 
372
378
  // Add Initial Batch Requests
373
379
  requests.push(
374
- this._generateRequestObject({ type: selectedKey, onlyCount: selectedKey !== this.getProperty("key") })
380
+ this._generateRequestObject({ type: selectedKey, onlyCount: !this.getProperty("preload") && selectedKey !== this.getProperty("key") })
375
381
  );
376
382
  this.requests = this.requests.concat(requests);
377
383
 
378
384
  //Submit Batch Requests
379
385
  this._submitBatch()
380
386
  .then(async () => {
381
- this._oData.isLoaded = selectedKey === this.getProperty("key");
387
+ this._oData.isLoaded = this.getProperty("preload") || selectedKey === this.getProperty("key");
382
388
  this.fireEvent("loaded");
383
389
 
384
390
  this._oData.isCountCalledOnce = true;
@@ -424,7 +430,9 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
424
430
  */
425
431
  private _updateHeaderIfExclusive() {
426
432
  if (this._isExclusivePanel()) {
427
- (this.getParent() as ToDosContainer)._setTitle(`${this._i18nBundle.getText("toDosTitle")} (${String(this._oData.length)})`);
433
+ const title = (this.getParent() as ToDosContainer).getTitle();
434
+ const displayTitle = title?.trim() || this._i18nBundle.getText("toDosTitle");
435
+ (this.getParent() as ToDosContainer)._setTitle(`${displayTitle} (${String(this._oData.length)})`);
428
436
  }
429
437
  }
430
438
 
@@ -693,7 +701,7 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
693
701
 
694
702
  let dataUrl = this.getDataUrl();
695
703
  if (this.getProperty("useBatch")) {
696
- const queryString = `$skip=0&$top=${cardCount}`;
704
+ const queryString = this.getProperty("preload") ? "" : `$skip=0&$top=${cardCount}`;
697
705
  dataUrl = dataUrl.includes("?") ? `${dataUrl}&${queryString}` : `${dataUrl}?${queryString}`;
698
706
  }
699
707
  urls.push(dataUrl);
@@ -1050,6 +1058,7 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
1050
1058
  */
1051
1059
  public _onPressViewAll() {
1052
1060
  URLHelper.redirect(this.getTargetAppUrl(), false);
1061
+ addFESRNavigationSource(FESRNavigationSource.Task);
1053
1062
  }
1054
1063
 
1055
1064
  /**
@@ -1071,7 +1080,9 @@ export default abstract class ToDoPanel extends BasePanel implements IToDoPanel
1071
1080
  private async _beforePanelExpand() {
1072
1081
  if (!this._oData.isExpandedOnce) {
1073
1082
  this._oData.isExpandedOnce = true;
1074
- await this._loadCards(true);
1083
+ if (!this.getProperty("preload")) {
1084
+ await this._loadCards(true);
1085
+ }
1075
1086
  }
1076
1087
  }
1077
1088
 
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./BaseContainer", "./utils/placeholder/ToDosPlaceholder", "./utils/Device"], function (Log, Container, __BaseContainer, ___utils_placeholder_ToDosPlaceholder, ___utils_Device) {
5
+ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./BaseContainer", "./utils/Device", "./utils/placeholder/ToDosPlaceholder"], function (Log, Container, __BaseContainer, ___utils_Device, ___utils_placeholder_ToDosPlaceholder) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -114,7 +114,7 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./BaseContainer", "./uti
114
114
  _cycle();
115
115
  return pact;
116
116
  }
117
- const getTodosPlaceholder = ___utils_placeholder_ToDosPlaceholder["getTodosPlaceholder"];
117
+ const DeviceType = ___utils_Device["DeviceType"];
118
118
  function _forOf(target, body, check) {
119
119
  if (typeof target[_iteratorSymbol] === "function") {
120
120
  var iterator = target[_iteratorSymbol](),
@@ -175,7 +175,7 @@ sap.ui.define(["sap/base/Log", "sap/ushell/Container", "./BaseContainer", "./uti
175
175
  return body(values[i]);
176
176
  }, check);
177
177
  }
178
- const DeviceType = ___utils_Device["DeviceType"];
178
+ const getTodosPlaceholder = ___utils_placeholder_ToDosPlaceholder["getTodosPlaceholder"];
179
179
  /**
180
180
  *
181
181
  * Container class for managing and storing To-Do cards.