@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
@@ -1 +1 @@
1
- {"version":3,"file":"CardsPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","SelectionVariant","CardHelper","InsightsInMemoryCachingHost","HBox","HeaderContainer","VBox","EventBus","Card","JSONModel","Container","S4MyHome","__BasePanel","__MenuItem","__AppManager","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","___utils_InsightsUtils","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BasePanel","_finallyRethrows","finalizer","bind","MenuItem","AppManager","getPageManagerInstance","PREFERED_CARDS","SETTINGS_PANELS_KEYS","recycleId","calculateCardWidth","DeviceType","fetchElementProperties","focusDraggedItem","addFESRId","createShowMoreActionButton","createShowMoreMenuItem","getAssociatedFullScreenMenuItem","sortMenuItems","targetsAreEqual","PersonalisationUtils","UShellPersonalizer","cardsMenuItems","cardsContainerMenuItems","cardsContainerActionButtons","sortedMenuItems","REFRESH","EDIT_CARDS","AI_INSIGHT_CARD","Constants","PLACEHOLDER_CARD_COUNT","CARDS_GAP","RECOMMENDATION_PATH","runtimeHostCreated","CardsPanel","extend","metadata","library","properties","title","type","group","defaultValue","visibility","key","fullScreenName","defaultAggregation","aggregations","content","multiple","singularName","cards","host","events","handleHidePanel","parameters","handleUnhidePanel","visibleCardsUpdated","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","aVisibleCardInstances","cardsInViewport","_appSwitched","_headerVisible","init","_init","_this","BasePanel.prototype.init.call","setProperty","cardWidth","cardHeight","getDeviceType","Mobile","_oData","userVisibleCards","userAllCards","isPhone","_controlModel","appManagerInstance","getInstance","_controlMap","Map","refreshMenuItem","_createRefreshMenuItem","editCardsMenuItem","_createEditCardsMenuItem","menuItems","forEach","menuItem","addAggregation","_sortMenuItems","oEventBus","subscribe","sChannelId","sEventId","oData","Promise","resolve","_createCards","rerenderCards","_importdone","reject","_setupWrapper","_toggleCardActivity","_this2","toggleUserActions","event","show","getParameter","_temp2","_temp","attachRouteMatched","error","warning","Error","message","String","aCards","_this3","cardHelperInstance","_getManifestEntryFromCard","oCard","sEntry","cardWithManifestPromise","manifestEntry","getManifestEntry","_pManifestReady","attachManifestReady","_addRuntimeHost","_this4","_this5","_this6","_this7","_this8","getAggregation","action","oEvent","sType","oParameters","_temp3","ibnTarget","preventDefault","oIntegrationCardManifest","aHeaderActions","header","actions","oCheckSemanticProperty","configuration","_semanticDateRangeSetting","value","JSON","parse","Object","keys","length","processSemanticDate","aContentActions","getContentActions","oHeaderAction","oContentAction","bOldCardExtension","indexOf","_manageOldCardExtension","getServiceAsync","navigationService","navigate","target","params","ibnParams","text","_i18nBundle","getText","icon","_refreshCardData","visible","oEntry","cacheType","cardId","getParent","_getLayout","openSettingsDialog","INSIGHTS_CARDS","oCardParams","aRelevantFilters","_relevantODataFilters","bRelevantFilters","aRelevantParams","_relevantODataParameters","bRelevantParams","oCardDataSource","dataSources","oFilterService","filterService","oDataSourceSettings","odataVersion","getParentAppDetails","descriptorContent","parentApp","semanticObject","intents","isNavigationSupported","_navigationService$is","aResponses","supported","sShellHash","semanticURL","shellHash","attachAction","setAggregation","oCardSV","getCombinedParameters","sParamName","sFilterName","oCardParamsFilterName","aSelectOptions","SelectOptions","aRanges","Ranges","Sign","Option","Low","massAddSelectOption","oTempParam","selectionVariant","toJSONObject","stringify","_getContentActions","manifest","item","row","stateData","status","publish","require","InsightsCacheData","sCardId","cacheDataInstance","clearCache","refreshData","_refreshData","_this9","_temp4","_getServiceAsync","_refreshUserCards","renderPanel","_renderPanel","_this0","_temp6","fireEvent","_temp5","pageManagerInstance","all","hasCustomSpace","_rerenderCards","skipRecommendation","_this1","_cardsRendered","_temp10","sDefaultAggreName","_getCardContainer","getMetadata","getDefaultAggregationName","removeAllAggregation","_showPlaceHolders","preferedCardIDs","_getUserVisibleCardModel","userVisibleCardModel","getProperty","listBinding","bindList","hasListeners","enableExtendedChangeDetection","attachChange","visibleCards","_showCards","fireHandleHidePanel","getPersonalisationProperty","showRecommendation","_temp1","undefined","_temp0","_getRecommendationCards","_temp9","_temp8","checkForRecommendedCards","_temp7","_updateRecommendationStatus","setNewVisibleCards","_setNewVisibleCards","_this10","visibleCardModel","aNewCards","_checkForRecommendedCards","_this11","manifestIds","oVisCard","idx","rec","push","rank","ranking","index","uniqueManifestDetails","getUniqueManifestDetails","regenerateCards","aUpdatedCards","_exit2","_temp12","_result2","_temp11","_updateCards","map","newManifest","_getUniqueManifestDetails","exists","some","existingItem","_getManifests","_this12","_getCardManifest","aManifests","aRegeneratedCards","mappedResults","_removeDuplicateRegeneratedCards","_regenerateCards","allManifestIds","_this13","aMappedManifest","createUniqueKey","uniqueMap","uniqueKey","oError","aOriginalList","originalMap","originalItem","parentAppId","values","_getPersonalizationData","_this14","_temp14","oPersonalizer","read","oPersData","_temp13","_getPersonalization","_this14$_getPersonali","_getPersonalisationProperty","propertyKey","_this15","_this16","getRecommenedCards","aRecommendedCards","_handleRecommendationCards","_this17","cardManifests","_cardsFlexWrapper","getId","renderType","width","items","_createCardContainer","_createMobileCardContainer","setModel","addContent","cardsContainerSettings","columnSize","rowSize","gap","cardsContainer","addStyleClass","setLayout","addDragDropConfigTo","_handleCardsDnd","cardsMobileContainer","scrollStep","scrollStepByItem","gridLayout","scrollTime","showDividers","cardManifest","_getAnalyticalCardManifest","placeholderArray","Array","_calculatePlaceholderCardCount","fill","aInsightsCards","_","card","height","previewMode","oPreviewHBox","justifyContent","layoutDomRef","_getInsightsContainer","getDomRef","count","sectionDomRef","childNodes","domProperties","availableWidth","cardLayoutConfig","containerWidth","totalCards","minWidth","maxWidth","Math","floor","panelName","getName","fireHandleUnhidePanel","updatePanelsItemCount","oUserCard","overlay","overlayHBoxWrapper","addItem","oPreviewVBox","direction","_handleEditCards","parent","getSource","handleHideHeader","_handleHideHeader","_toggleHeaderActions","handleAddHeader","_handleAddHeader","refreshCards","_refreshCards","_this18","sInsertPosition","oDragItem","iDragItemIndex","indexOfItem","oDropItem","iDropItemIndex","setBusy","_temp17","_temp16","setTimeout","_temp15","_getUserAllCardModel","userAllCardsModel","updateCardList","_wasThrown","_result3","_updateCardList","_this19","aUserVisibleCards","aUserAllCards","sDragedPositionRank","sDropedPositionRank","iUpdatedDragItemIndex","findIndex","iUpdatedDropItemIndex","_temp18","handleDndCardsRanking","_updateMultipleCards","_sortCardsOnRank","filter","sort","a","b","persContainerId","getPersContainerId","ownerComponent","getOwnerComponent","_this20","write","_calculateVisibleCardCount","layout","pageDomRef","deviceType","isHeaderVisible","sectionNodeIndex","iAvailableWidth","max","_adjustLayout","isMobileDevice","isElementExpanded","_getCurrentExpandedElementName","cardCount","slice","getManifest","cardWrapper","shareCardsInViewport","showFullScreenButton","toggleFullScreenElements","fullScreenButton","fullScreenText","getTitle","updateMenuItem","get","SHOW_MORE","updateActionButton","setWidth","setColumnSize","getContainerMenuItems","_getContainerMenuItems","_containerMenuItems","containerRefreshMenuItem","containerEditCardsMenuItem","containerShowMoreMenuItem","set","getContainerActionButtons","_getContainerActionButtons","_containerActionButtons","actionButton","insightsContainer","fesrId","press","bShow","toggleMenuListItem","toggleActionButton","panelMenuItems","_shareCardsInViewport","exit","_exit","destroy"],"sources":["CardsPanel.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 GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport SelectionVariant from \"sap/fe/navigation/SelectionVariant\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport InsightsInMemoryCachingHost from \"sap/insights/base/InMemoryCachingHost\";\nimport Button from \"sap/m/Button\";\nimport HBox from \"sap/m/HBox\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport ManagedObject, { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport Host from \"sap/ui/integration/Host\";\nimport Card from \"sap/ui/integration/widgets/Card\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Container from \"sap/ushell/Container\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport { Intent } from \"sap/ushell/services/AppLifeCycle\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport BasePanel from \"./BasePanel\";\nimport { $CardsPanelSettings } from \"./CardsPanel\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport MenuItem from \"./MenuItem\";\nimport {\n\tICard,\n\tICardAction,\n\tICardActionParameters,\n\tICardDetails,\n\tICardHelper,\n\tICardHelperInstance,\n\tICardManifest,\n\tInsightsCacheData,\n\tIRegeneratedCard,\n\tISapApp,\n\tISapCard\n} from \"./interface/CardsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { PREFERED_CARDS, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateCardWidth, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId } from \"./utils/FESRUtil\";\nimport {\n\tcreateShowMoreActionButton,\n\tcreateShowMoreMenuItem,\n\tgetAssociatedFullScreenMenuItem,\n\tsortMenuItems,\n\ttargetsAreEqual\n} from \"./utils/InsightsUtils\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\nexport enum cardsMenuItems {\n\tREFRESH = \"cards-refresh\",\n\tEDIT_CARDS = \"cards-editCards\",\n\tAI_INSIGHT_CARD = \"cards-addAIInsightCard\"\n}\n\nexport enum cardsContainerMenuItems {\n\tREFRESH = \"container-cards-refresh\",\n\tEDIT_CARDS = \"container-cards-editCards\",\n\tSHOW_MORE = \"cardsContainerFullScreenMenuItem\",\n\tAI_INSIGHT_CARD = \"container-cards-addAIInsightCard\"\n}\n\nexport enum cardsContainerActionButtons {\n\tSHOW_MORE = \"cardsContanerFullScreenActionButton\"\n}\nconst sortedMenuItems: (cardsMenuItems | string)[] = [\n\tcardsMenuItems.REFRESH,\n\tcardsMenuItems.EDIT_CARDS,\n\tcardsMenuItems.AI_INSIGHT_CARD,\n\t\"showMore\",\n\t\"settings\"\n];\n\ninterface IcardActionEvent {\n\tgetParameter(sParam: string): unknown;\n\tpreventDefault(): void;\n}\n\nconst Constants = {\n\tPLACEHOLDER_CARD_COUNT: 10,\n\tCARDS_GAP: 16\n};\n\nexport interface TargetIntent {\n\ttarget: Partial<Intent>;\n\tparams?: {\n\t\t[key: string]: string;\n\t};\n}\nconst RECOMMENDATION_PATH = \"showRecommendation\";\nlet runtimeHostCreated = false;\n\n/**\n *\n * Panel class for managing and storing Insights Cards.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.CardsPanel\n */\n\nexport default class CardsPanel extends BasePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\ttitle: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\tkey: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", defaultValue: \"SI2\", visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"cards\",\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\t/**\n\t\t\t * Aggregation of cards available within the cards panel\n\t\t\t */\n\t\t\tcards: { type: \"sap.ui.integration.widgets.Card\", multiple: true, singularName: \"card\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Aggregation of the integration host used by the cards panel.\n\t\t\t */\n\t\t\thost: { type: \"sap.ui.integration.Host\", multiple: false, singularName: \"host\", visibility: \"hidden\" }\n\t\t},\n\t\tevents: {\n\t\t\thandleHidePanel: {\n\t\t\t\tparameters: {}\n\t\t\t},\n\t\t\thandleUnhidePanel: {\n\t\t\t\tparameters: {}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Event is fired when cards in viewport are updated.\n\t\t\t */\n\t\t\tvisibleCardsUpdated: {\n\t\t\t\tparameters: {\n\t\t\t\t\tcards: { type: \"sap.ui.integration.widgets.Card[]\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate _cardsFlexWrapper!: VBox;\n\tprivate cardsContainer!: GridContainer;\n\tprivate cardsMobileContainer!: HeaderContainer;\n\tprivate aVisibleCardInstances: Card[] = [];\n\tprivate _oData!: Record<string, unknown>;\n\tprivate _controlModel!: JSONModel;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate appManagerInstance!: AppManager;\n\tprivate cardsContainerSettings!: GridContainerSettings;\n\tprivate cardWidth!: string;\n\tprivate cardHeight!: string;\n\tprivate cardsInViewport: Card[] = [];\n\tprivate oEventBus!: EventBus;\n\tprivate _appSwitched: boolean = false;\n\tprivate _containerMenuItems!: MenuItem[];\n\tprivate _containerActionButtons!: Button[];\n\tprivate insightsContainer!: InsightsContainer;\n\tprivate _headerVisible: boolean = false;\n\tprivate _controlMap!: Map<string, UI5Element>;\n\tprivate _cardsRendered!: Promise<void> | undefined;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate hasCustomSpace!: boolean;\n\n\tconstructor(idOrSettings?: string | $CardsPanelSettings);\n\tconstructor(id?: string, settings?: $CardsPanelSettings);\n\t/**\n\t * Constructor for a new card 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?: $CardsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Initializes the Cards Panel.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", \"cards\");\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tthis.cardWidth = \"19rem\";\n\t\tthis.cardHeight = this.getDeviceType() === DeviceType.Mobile ? \"25.5rem\" : \"33rem\";\n\n\t\t//Initialize Tiles Model\n\t\tthis._oData = {\n\t\t\tuserVisibleCards: [] as ICard[],\n\t\t\tuserAllCards: [] as ICard[],\n\t\t\tisPhone: this.getDeviceType() === DeviceType.Mobile\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t// Setup Menu Items\n\t\tconst refreshMenuItem = this._createRefreshMenuItem(cardsMenuItems.REFRESH, \"cardsRefresh\");\n\t\tconst editCardsMenuItem = this._createEditCardsMenuItem(cardsMenuItems.EDIT_CARDS, \"manageCards\");\n\n\t\tconst menuItems = [refreshMenuItem, editCardsMenuItem];\n\t\tmenuItems.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t\tthis._sortMenuItems(sortedMenuItems);\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"cardsImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tawait this._createCards(oData as ICardManifest[]);\n\t\t\t\tawait this.rerenderCards();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Setup Wrapper for Cards\n\t\tthis._setupWrapper();\n\n\t\t// Toggles the activity of cards\n\t\tthis._toggleCardActivity();\n\t}\n\n\t/**\n\t * Toggles the activity of cards on route change.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _toggleCardActivity(): void {\n\t\tconst toggleUserActions = async (event: Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\tif (show) {\n\t\t\t\tif (this._appSwitched) {\n\t\t\t\t\tawait this.rerenderCards();\n\t\t\t\t\tthis._appSwitched = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._appSwitched = true;\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t} catch (error) {\n\t\t\tLog.warning(error instanceof Error ? error.message : String(error));\n\t\t}\n\t}\n\n\t/**\n\t * Create imported cards\n\t * @param {ICardManifest[]} aCards - array of card manifests\n\t * @returns {any}\n\t */\n\tprivate async _createCards(aCards: ICardManifest[]) {\n\t\tawait this.cardHelperInstance?._createCards(aCards);\n\t\treturn this.rerenderCards();\n\t}\n\n\t/**\n\t * Retrieves a manifest entry from a card.\n\t * If the manifest entry is not immediately available, it waits for the manifest to be ready.\n\t *\n\t * @param {object} oCard - The card object from which to retrieve the manifest entry.\n\t * @param {string} sEntry - The manifest entry key to retrieve.\n\t * @returns {Promise<ICardManifest | undefined>} A promise that resolves with the manifest entry value.\n\t */\n\tprivate _getManifestEntryFromCard(oCard: Card, sEntry: string): Promise<ICardManifest | undefined> {\n\t\tconst cardWithManifestPromise = oCard as Card & { _pManifestReady?: Promise<ICardManifest | undefined> };\n\t\tconst manifestEntry = oCard.getManifestEntry(sEntry) as ICardManifest | undefined;\n\t\tif (manifestEntry) {\n\t\t\treturn Promise.resolve(manifestEntry);\n\t\t} else {\n\t\t\tif (!cardWithManifestPromise._pManifestReady) {\n\t\t\t\tcardWithManifestPromise._pManifestReady = new Promise<ICardManifest | undefined>((resolve) => {\n\t\t\t\t\toCard.attachManifestReady(() => {\n\t\t\t\t\t\tresolve(oCard.getManifestEntry(sEntry) as ICardManifest | undefined);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn cardWithManifestPromise._pManifestReady;\n\t\t}\n\t}\n\n\t/**\n\t * Adds a runtime host for the cards panel.\n\t *\n\t * @private\n\t */\n\tprivate _addRuntimeHost() {\n\t\tconst host = (this.getAggregation(\"host\") || new InsightsInMemoryCachingHost(\"runtimeHost\")) as Host;\n\t\tconst action = async (oEvent: IcardActionEvent) => {\n\t\t\tconst sType = oEvent.getParameter(\"type\") as string;\n\t\t\tlet oParameters = (oEvent.getParameter(\"parameters\") as ICardActionParameters) || {};\n\n\t\t\tif (sType === \"Navigation\" && oParameters.ibnTarget) {\n\t\t\t\toEvent.preventDefault();\n\t\t\t\tconst oCard = (oEvent.getParameter(\"card\") as Card) || {},\n\t\t\t\t\toIntegrationCardManifest = (oCard?.getManifestEntry(\"sap.card\") || {}) as ISapCard,\n\t\t\t\t\taHeaderActions = oIntegrationCardManifest?.header?.actions || [];\n\n\t\t\t\t//processing semantic date as param for navigation\n\t\t\t\t//check to verify if _semanticDateRangeSetting property is present in manifest\n\t\t\t\tlet oCheckSemanticProperty;\n\t\t\t\tif (oIntegrationCardManifest?.configuration?.parameters?._semanticDateRangeSetting?.value) {\n\t\t\t\t\toCheckSemanticProperty = JSON.parse(\n\t\t\t\t\t\toIntegrationCardManifest.configuration.parameters._semanticDateRangeSetting.value\n\t\t\t\t\t) as object;\n\t\t\t\t}\n\t\t\t\tif (oCheckSemanticProperty && Object.keys(oCheckSemanticProperty).length) {\n\t\t\t\t\toParameters = this.cardHelperInstance.processSemanticDate(\n\t\t\t\t\t\toParameters,\n\t\t\t\t\t\toIntegrationCardManifest\n\t\t\t\t\t) as ICardActionParameters;\n\t\t\t\t}\n\n\t\t\t\tlet aContentActions = this.getContentActions(oIntegrationCardManifest);\n\n\t\t\t\tconst oHeaderAction = aHeaderActions[0] || {},\n\t\t\t\t\toContentAction = aContentActions[0] || {};\n\n\t\t\t\tconst bOldCardExtension = !!(\n\t\t\t\t\t(oHeaderAction?.parameters &&\n\t\t\t\t\t\ttypeof oHeaderAction.parameters === \"string\" &&\n\t\t\t\t\t\toHeaderAction.parameters.indexOf(\"{= extension.formatters.addPropertyValueToAppState\") > -1) ||\n\t\t\t\t\t(oContentAction?.parameters &&\n\t\t\t\t\t\ttypeof oContentAction.parameters === \"string\" &&\n\t\t\t\t\t\toContentAction.parameters.indexOf(\"{= extension.formatters.addPropertyValueToAppState\") > -1)\n\t\t\t\t);\n\n\t\t\t\tthis._manageOldCardExtension(bOldCardExtension, oEvent, oParameters);\n\n\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\tawait navigationService.navigate({\n\t\t\t\t\ttarget: oParameters.ibnTarget,\n\t\t\t\t\tparams: oParameters.ibnParams\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"refresh\") as string,\n\t\t\t\ticon: \"sap-icon://refresh\",\n\t\t\t\taction: (oCard: Card) => {\n\t\t\t\t\tthis._refreshCardData(oCard);\n\t\t\t\t},\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\tconst oEntry = await this._getManifestEntryFromCard(oCard, \"sap.insights\");\n\t\t\t\t\treturn oEntry && !oEntry.cacheType;\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"viewFilteredBy\") as string,\n\t\t\t\ticon: \"sap-icon://filter\",\n\t\t\t\taction: (oCard: Card) => {\n\t\t\t\t\tconst cardId = (oCard.getManifestEntry(\"sap.app\") as ISapApp).id;\n\t\t\t\t\t(this.getParent() as InsightsContainer)\n\t\t\t\t\t\t?._getLayout()\n\t\t\t\t\t\t.openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_CARDS, { cardId });\n\t\t\t\t},\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\tconst oEntry = await this._getManifestEntryFromCard(oCard, \"sap.insights\");\n\t\t\t\t\tif (oEntry) {\n\t\t\t\t\t\tconst oCardParams = (oCard.getManifestEntry(\"sap.card\") as ISapCard)?.configuration?.parameters;\n\t\t\t\t\t\tconst aRelevantFilters = oCardParams?._relevantODataFilters?.value || [];\n\t\t\t\t\t\tconst bRelevantFilters = aRelevantFilters?.length;\n\t\t\t\t\t\tconst aRelevantParams = oCardParams?._relevantODataParameters?.value || [];\n\t\t\t\t\t\tconst bRelevantParams = aRelevantParams?.length;\n\t\t\t\t\t\tconst oCardDataSource = (oCard.getManifestEntry(\"sap.app\") as ISapApp).dataSources;\n\t\t\t\t\t\tconst oFilterService = oCardDataSource?.filterService;\n\t\t\t\t\t\tconst oDataSourceSettings = oFilterService?.settings;\n\t\t\t\t\t\t// show ViewFilteredBy Option only if relevantFilters or relevantParameters are there and is OdataV2 version\n\t\t\t\t\t\treturn !!(\n\t\t\t\t\t\t\t(bRelevantFilters || bRelevantParams) &&\n\t\t\t\t\t\t\toDataSourceSettings &&\n\t\t\t\t\t\t\toDataSourceSettings.odataVersion === \"2.0\"\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"navigateToParent\") as string,\n\t\t\t\ticon: \"sap-icon://display-more\",\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\treturn this._getManifestEntryFromCard(oCard, \"sap.insights\").then(async (oEntry: ICardManifest | undefined) => {\n\t\t\t\t\t\tif (oEntry) {\n\t\t\t\t\t\t\tconst parentApp = await this.cardHelperInstance.getParentAppDetails({\n\t\t\t\t\t\t\t\tdescriptorContent: oCard.getManifestEntry(\"/\") as ICardManifest\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (parentApp.semanticObject && parentApp.action) {\n\t\t\t\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\t\t\t\tconst intents: TargetIntent[] = [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\t\t\tsemanticObject: parentApp.semanticObject,\n\t\t\t\t\t\t\t\t\t\t\taction: parentApp.action\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\tconst aResponses = (await navigationService.isNavigationSupported(intents)) as { supported: boolean }[];\n\t\t\t\t\t\t\t\treturn aResponses[0].supported || false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\taction: async (oCard: Card) => {\n\t\t\t\t\tconst parentApp = await this.cardHelperInstance.getParentAppDetails({\n\t\t\t\t\t\tdescriptorContent: oCard.getManifestEntry(\"/\") as ICardManifest\n\t\t\t\t\t});\n\t\t\t\t\tconst sShellHash = parentApp.semanticURL || parentApp.semanticObject;\n\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\tawait navigationService.navigate({\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\tshellHash: sShellHash\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t\thost.attachAction(action);\n\t\thost.setProperty(\"actions\", actions);\n\t\tthis.setAggregation(\"host\", host);\n\t}\n\n\t/**\n\t * Updates parameters for an old card extension\n\t * @private\n\t * @param {boolean} bOldCardExtension - Determines whether the card is using an old card extension.\n\t * @param {IcardActionEvent} oEvent - An event object\n\t * @param {ICardActionParameters} oParameters - Parameter object\n\t */\n\n\tprivate _manageOldCardExtension(bOldCardExtension: boolean, oEvent: IcardActionEvent, oParameters: ICardActionParameters) {\n\t\tif (bOldCardExtension) {\n\t\t\tconst oCardSV = new SelectionVariant();\n\t\t\tconst oCardParams = (oEvent.getParameter(\"card\") as Card).getCombinedParameters();\n\t\t\t(oCardParams?._relevantODataParameters as string[]).forEach((sParamName: string) => {\n\t\t\t\tif (oParameters.ibnParams) {\n\t\t\t\t\toParameters.ibnParams[sParamName] = oCardParams[sParamName];\n\t\t\t\t}\n\t\t\t});\n\t\t\t(oCardParams?._relevantODataFilters as string[]).forEach((sFilterName: string) => {\n\t\t\t\tconst oCardParamsFilterName = JSON.parse(oCardParams[sFilterName] as string) as {\n\t\t\t\t\tParameters: unknown;\n\t\t\t\t\tSelectOptions: { PropertyName: string; Ranges: { Sign: string; Option: string; Low: string }[] }[];\n\t\t\t\t};\n\t\t\t\tconst aSelectOptions = oCardParamsFilterName.SelectOptions[0];\n\t\t\t\tconst aRanges = aSelectOptions.Ranges;\n\t\t\t\tif (aRanges?.length === 1 && aRanges[0].Sign === \"I\" && aRanges[0].Option === \"EQ\") {\n\t\t\t\t\tif (oParameters.ibnParams) {\n\t\t\t\t\t\toParameters.ibnParams[sFilterName] = aRanges[0].Low;\n\t\t\t\t\t}\n\t\t\t\t} else if (aRanges?.length > 0) {\n\t\t\t\t\toCardSV.massAddSelectOption(sFilterName, aRanges);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst oTempParam = JSON.parse(oParameters?.ibnParams?.[\"sap-xapp-state-data\"] as string) as Record<string, unknown>;\n\t\t\toTempParam.selectionVariant = oCardSV.toJSONObject();\n\t\t\tif (oParameters.ibnParams) {\n\t\t\t\toParameters.ibnParams[\"sap-xapp-state-data\"] = JSON.stringify(oTempParam);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves actions for a card based on its content type.\n\t *\n\t * @private\n\t * @param {ISapCard} manifest - The manifest object.\n\t * @returns {Array} The content actions.\n\t */\n\tprivate getContentActions(manifest: ISapCard): ICardAction[] {\n\t\tlet actions;\n\t\tif (manifest.type === \"List\") {\n\t\t\tactions = manifest?.content?.item?.actions;\n\t\t} else if (manifest.type === \"Table\") {\n\t\t\tactions = manifest?.content?.row?.actions;\n\t\t} else {\n\t\t\tactions = manifest?.content?.actions;\n\t\t}\n\t\treturn actions || [];\n\t}\n\n\t/**\n\t * Handles the completion of the import process.\n\t *\n\t * @private\n\t */\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"cardsImported\", stateData);\n\t}\n\n\t/**\n\t * Refreshes the data for a given card.\n\t *\n\t * @private\n\t * @param {Card} oCard - The card to refresh.\n\t */\n\tprivate _refreshCardData(oCard: Card) {\n\t\tsap.ui.require([\"sap/insights/base/CacheData\"], (InsightsCacheData: InsightsCacheData) => {\n\t\t\tconst sCardId = (oCard.getManifestEntry(\"sap.app\") as ISapApp).id;\n\t\t\tconst cacheDataInstance = InsightsCacheData.getInstance();\n\t\t\tcacheDataInstance.clearCache(sCardId);\n\t\t\toCard.refreshData();\n\t\t});\n\t}\n\n\t/**\n\t * Triggers a full refresh of the Insights Cards's data and UI.\n\t *\n\t * Reloads all the user cards within the Insights Cards section by reinitializing relevant services\n\t * and re-rendering the panel.\n\t *\n\t * @public\n\t * @returns {Promise<void>} A promise that resolves once the Insights Cards section has been refreshed.\n\t */\n\tpublic async refreshData(): Promise<void> {\n\t\ttry {\n\t\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\t\tawait this.cardHelperInstance._refreshUserCards(false);\n\t\t\tawait this.renderPanel();\n\t\t} catch (error) {\n\t\t\tLog.error(\"Failed to refresh cards: \", error instanceof Error ? error.message : (error as string));\n\t\t}\n\t}\n\n\t/**\n\t * Renders the panel.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the panel is rendered.\n\t */\n\tpublic async renderPanel(): Promise<void> {\n\t\tif (!this.cardHelperInstance) {\n\t\t\tthis.pageManagerInstance = this.pageManagerInstance || getPageManagerInstance(this);\n\t\t\tconst [cardHelperInstance, hasCustomSpace] = await Promise.all([\n\t\t\t\t(CardHelper as ICardHelper).getServiceAsync(),\n\t\t\t\tthis.pageManagerInstance.hasCustomSpace()\n\t\t\t]);\n\t\t\tthis.cardHelperInstance = cardHelperInstance;\n\t\t\tthis.hasCustomSpace = hasCustomSpace;\n\t\t}\n\t\tawait this.rerenderCards();\n\t\tthis.fireEvent(\"loaded\");\n\t}\n\n\t/**\n\t * Rerenders the cards.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the cards are rerendered.\n\t */\n\tprivate async rerenderCards(skipRecommendation: boolean = false): Promise<void> {\n\t\tif (!this._cardsRendered) {\n\t\t\tthis._cardsRendered = new Promise((resolve, reject) => {\n\t\t\t\tvoid (async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Enable placeholders after updating/rerendering cards\n\t\t\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\n\t\t\t\t\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\t\t\t\t\tthis._showPlaceHolders();\n\t\t\t\t\t\t// Fetch Cards from insights service\n\t\t\t\t\t\tconst preferedCardIDs = this.hasCustomSpace ? PREFERED_CARDS : [];\n\t\t\t\t\t\tconst userVisibleCardModel = await this.cardHelperInstance?._getUserVisibleCardModel(preferedCardIDs);\n\t\t\t\t\t\tconst aCards = userVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\t\t\t\tconst listBinding = userVisibleCardModel?.bindList(\"/cards\");\n\t\t\t\t\t\tif (!listBinding.hasListeners(\"change\")) {\n\t\t\t\t\t\t\tlistBinding?.enableExtendedChangeDetection(true, \"/cards\", {});\n\t\t\t\t\t\t\tlistBinding?.attachChange(async () => {\n\t\t\t\t\t\t\t\tawait (this._cardsRendered ?? Promise.resolve());\n\t\t\t\t\t\t\t\tconst visibleCards = userVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\t\t\t\t\t\tif (visibleCards.length !== this.aVisibleCardInstances.length && visibleCards.length > 0) {\n\t\t\t\t\t\t\t\t\tthis._showCards(visibleCards);\n\t\t\t\t\t\t\t\t} else if (!visibleCards.length) {\n\t\t\t\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._controlModel.setProperty(\"/userVisibleCards\", aCards);\n\t\t\t\t\t\tlet showRecommendation = await this.getPersonalisationProperty(RECOMMENDATION_PATH);\n\t\t\t\t\t\tif (aCards.length === 0 && showRecommendation === undefined && !skipRecommendation) {\n\t\t\t\t\t\t\tawait this._getRecommendationCards();\n\t\t\t\t\t\t} else if (aCards.length) {\n\t\t\t\t\t\t\tif (showRecommendation === undefined) {\n\t\t\t\t\t\t\t\tawait this._updateRecommendationStatus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// from available cards, check for old recommended cards and update it if present,\n\t\t\t\t\t\t\t// else show available visible cards\n\t\t\t\t\t\t\tawait this.checkForRecommendedCards(aCards);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._cardsRendered = undefined;\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\tthis._cardsRendered = undefined;\n\t\t\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t\t\tLog.error(error.message);\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t});\n\t\t}\n\t\treturn this._cardsRendered;\n\t}\n\t/**\n\t * Sets the new visible cards in the model and updates the UI.\n\t * @private\n\t */\n\tprivate async setNewVisibleCards() {\n\t\tconst preferedCardIDs = this.hasCustomSpace ? PREFERED_CARDS : [];\n\t\tconst visibleCardModel = await this.cardHelperInstance._getUserVisibleCardModel(preferedCardIDs);\n\t\tconst aNewCards = visibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\tthis._controlModel.setProperty(\"/userVisibleCards\", aNewCards);\n\t\tthis._showCards(aNewCards);\n\t}\n\n\t/**\n\t * Checks for recommended cards and updates their manifests if necessary.\n\t *\n\t * This method iterates through the provided cards to identify recommended cards that need to be updated.\n\t * It regenerates the manifests for these cards, updates the model with the regenerated cards, and displays\n\t * the updated cards. If no recommended cards are found, it displays the original cards.\n\t *\n\t * @param {ICard[]} aCards - An array of card objects to check for recommendations.\n\t * Each card contains a `descriptorContent` property with metadata about the card.\n\t * @returns {Promise<void>} A promise that resolves when the check and updates are complete.\n\t * @private\n\t */\n\tprivate async checkForRecommendedCards(aCards: ICard[]): Promise<void> {\n\t\tlet manifestIds: ICardDetails[] = [];\n\t\taCards.forEach((oVisCard, idx) => {\n\t\t\tlet oCard = oVisCard.descriptorContent;\n\t\t\tif (\n\t\t\t\toCard[\"sap.card\"]?.rec === true &&\n\t\t\t\t(!oCard[\"sap.card\"][\"configuration\"] || !oCard[\"sap.card\"][\"configuration\"][\"csrfTokens\"])\n\t\t\t) {\n\t\t\t\tmanifestIds.push({\n\t\t\t\t\tcardId: oCard?.[\"sap.app\"]?.id as string,\n\t\t\t\t\trank: oCard?.[\"sap.insights\"]?.ranking || oVisCard?.rank,\n\t\t\t\t\tid: oCard?.[\"sap.insights\"]?.[\"parentAppId\"] || \"\",\n\t\t\t\t\ttarget: oCard?.[\"sap.card\"]?.[\"header\"]?.[\"actions\"]?.length\n\t\t\t\t\t\t? (oCard[\"sap.card\"][\"header\"][\"actions\"][0]?.[\"parameters\"] as ICardActionParameters)?.ibnTarget\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tindex: idx\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tif (manifestIds.length) {\n\t\t\tconst uniqueManifestDetails: ICardDetails[] = this.getUniqueManifestDetails(manifestIds);\n\t\t\tconst aUpdatedCards = await this.regenerateCards(uniqueManifestDetails, manifestIds);\n\t\t\tif (aUpdatedCards?.length) {\n\t\t\t\t// Update the model with updated cards\n\t\t\t\tawait this.cardHelperInstance._updateCards(\n\t\t\t\t\taUpdatedCards.map((oCard: ICardDetails) => oCard?.newManifest?.descriptorContent) as ICardManifest[]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.setNewVisibleCards();\n\t\t} else {\n\t\t\tthis._showCards(aCards);\n\t\t}\n\t}\n\n\t/**\n\t * Filters and returns a list of unique manifest IDs.\n\t *\n\t * This method iterates through the provided list of manifest IDs and ensures that only unique entries\n\t * are included in the returned list. Uniqueness is determined based on the `id` and `target` properties.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to filter for uniqueness.\n\t * Each object contains properties such as `id` and `target`.\n\t * @returns {ICardDetails[]} An array of unique manifest ID objects.\n\t * @private\n\t */\n\tprivate getUniqueManifestDetails(manifestIds: ICardDetails[]): ICardDetails[] {\n\t\tconst uniqueManifestDetails: ICardDetails[] = [];\n\t\tmanifestIds.forEach((item) => {\n\t\t\tconst exists = uniqueManifestDetails.some(\n\t\t\t\t(existingItem) => existingItem.id === item.id && targetsAreEqual(existingItem.target, item.target)\n\t\t\t);\n\t\t\tif (!exists) {\n\t\t\t\tuniqueManifestDetails.push(JSON.parse(JSON.stringify(item)) as ICardDetails);\n\t\t\t}\n\t\t});\n\t\treturn uniqueManifestDetails;\n\t}\n\n\t/**\n\t * Retrieves and processes card manifests based on the provided manifest IDs.\n\t *\n\t * This method fetches card manifests using the `AppManager` instance,\n\t * and removes duplicate regenerated cards to ensure uniqueness.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to fetch and process.\n\t * Each object contains details such as `id`, `target`, and other card-specific properties.\n\t * @returns {Promise<ICardDetails[]>} A promise that resolves to an array of processed and unique card manifest details.\n\t * @private\n\t */\n\tprivate async _getManifests(manifestIds: ICardDetails[]): Promise<ICardDetails[]> {\n\t\t// from the provided manifestIds which are unique generate new recommended card manifests\n\t\tlet aManifests = await this.appManagerInstance._getCardManifest(undefined, manifestIds);\n\t\tif (aManifests?.length) {\n\t\t\tlet aRegeneratedCards = aManifests.map(function (oCard) {\n\t\t\t\tif (oCard?.[\"sap.card\"]) {\n\t\t\t\t\toCard[\"sap.card\"].rec = true;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid: oCard[\"sap.app\"]?.id,\n\t\t\t\t\tdescriptorContent: oCard\n\t\t\t\t} as IRegeneratedCard;\n\t\t\t});\n\t\t\t// sometimes same card is recommended more than once, hence remove such duplicates\n\t\t\tlet mappedResults = this._removeDuplicateRegeneratedCards(aRegeneratedCards, manifestIds);\n\t\t\treturn mappedResults;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Regenerates card manifests and updates the original manifest list with the regenerated data.\n\t *\n\t * This method fetches updated card manifests, maps them to their corresponding original cards,\n\t * and updates the `newManifest` property of the original cards. It ensures that the regenerated\n\t * cards are correctly associated with their original counterparts based on a unique key.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to regenerate.\n\t * Each object contains details such as `id`, `target`, and other card-specific properties.\n\t * @param {ICardDetails[]} allManifestIds - An array of all manifest ID objects, including those\n\t * that need to be updated with regenerated manifests.\n\t * @returns {Promise<ICardDetails[] | undefined>} A promise that resolves to an array of updated card details,\n\t * or `undefined` if an error occurs.\n\t * @private\n\t */\n\tprivate async regenerateCards(manifestIds: ICardDetails[], allManifestIds: ICardDetails[]): Promise<ICardDetails[] | undefined> {\n\t\ttry {\n\t\t\tlet aMappedManifest = await this._getManifests(manifestIds);\n\n\t\t\t// create unique identifier for each card based on its id and target properties.\n\t\t\tconst createUniqueKey = (item: ICardDetails): string => {\n\t\t\t\tif (item?.target?.semanticObject && item?.target?.action) {\n\t\t\t\t\treturn item.id + \"|\" + item.target.semanticObject + \"|\" + item.target.action;\n\t\t\t\t}\n\t\t\t\treturn item.id; // Return just the id if the target is invalid\n\t\t\t};\n\n\t\t\tlet uniqueMap: Record<string, IRegeneratedCard> = {};\n\t\t\t// Create a map of unique keys to newManifest data\n\t\t\t// Iterate through the aMappedManifest array and populate the uniqueMap with unique keys and their corresponding newManifest data\n\t\t\t// This ensures that each unique key maps to its respective newManifest data, allowing for easy retrieval later.\n\t\t\t// This is done to avoid duplicates and ensure that each card is only represented once in the final output.\n\t\t\taMappedManifest.forEach(function (item) {\n\t\t\t\tlet uniqueKey = createUniqueKey(item);\n\t\t\t\tif (item.newManifest) {\n\t\t\t\t\tuniqueMap[uniqueKey] = item.newManifest;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tlet aUpdatedCards: ICardDetails[] = [];\n\t\t\tif (aMappedManifest.length) {\n\t\t\t\t// Map newManifest data back into allManifestIds based on the uniquekey\n\t\t\t\tallManifestIds.forEach(function (oCard) {\n\t\t\t\t\tlet uniqueKey = createUniqueKey(oCard);\n\t\t\t\t\t// Check if the uniqueKey exists in the uniqueMap, if present, assign the corresponding newManifest data to the oCard object\n\t\t\t\t\t// This effectively updates the oCard object with the newManifest data, allowing for further processing or rendering.\n\t\t\t\t\t// This is done to ensure that the original card objects are updated with the newManifest data, allowing for further processing or rendering.\n\t\t\t\t\tif (uniqueMap[uniqueKey]) {\n\t\t\t\t\t\toCard.newManifest = uniqueMap[uniqueKey];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newManifest = oCard[\"newManifest\"];\n\t\t\t\t\tconst descriptorContent = newManifest?.descriptorContent;\n\t\t\t\t\tif (descriptorContent) {\n\t\t\t\t\t\tdescriptorContent[\"sap.insights\"] = {\n\t\t\t\t\t\t\t...descriptorContent[\"sap.insights\"],\n\t\t\t\t\t\t\tranking: oCard.rank\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (descriptorContent[\"sap.app\"]) {\n\t\t\t\t\t\t\tdescriptorContent[\"sap.app\"].id = oCard.cardId;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewManifest.id = oCard.cardId;\n\t\t\t\t\t\taUpdatedCards.push(JSON.parse(JSON.stringify(oCard)) as ICardDetails);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn aUpdatedCards;\n\t\t} catch (oError) {\n\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Removes duplicate regenerated cards and maps them to their corresponding original cards.\n\t *\n\t * This method processes a list of regenerated cards and maps them to their corresponding original cards\n\t * based on their `id`. If a regenerated card matches an original card, it is added as the `newManifest`\n\t * property of the original card. The method ensures that each original card is updated with its corresponding\n\t * regenerated card, if available.\n\t *\n\t * @param {IRegeneratedCard[]} aCards - An array of regenerated cards. Each card contains a `descriptorContent` property\n\t * that includes metadata about the card.\n\t * @param {ICardDetails[]} aOriginalList - An array of original card details. Each card contains an `id` property\n\t * that is used to match it with regenerated cards.\n\t * @returns {ICardDetails[]} An array of original card details, with the `newManifest` property updated for cards\n\t * that have matching regenerated cards.\n\t * @private\n\t */\n\tprivate _removeDuplicateRegeneratedCards(aCards: IRegeneratedCard[], aOriginalList: ICardDetails[]): ICardDetails[] {\n\t\t// Create a mapping from aOriginalList for easy access (grouping by id)\n\t\tconst originalMap = {} as Record<string, ICardDetails>;\n\t\taOriginalList.forEach((originalItem) => {\n\t\t\tif (originalItem.id) {\n\t\t\t\toriginalMap[originalItem.id] = JSON.parse(JSON.stringify(originalItem)) as ICardDetails;\n\t\t\t}\n\t\t});\n\n\t\t// Process each card in aCards\n\t\taCards.forEach(function (oCard) {\n\t\t\tconst sCardId = oCard?.descriptorContent?.[\"sap.insights\"]?.parentAppId as string;\n\t\t\t// Check if we have a matching original list item\n\t\t\tif (sCardId && originalMap[sCardId]) {\n\t\t\t\tconst originalItem = originalMap[sCardId];\n\t\t\t\t// Check if updatedManifest already added\n\t\t\t\tif (!originalItem[\"newManifest\"]) {\n\t\t\t\t\t// Map newManifest to the original item\n\t\t\t\t\toriginalItem[\"newManifest\"] = oCard;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn Object.values(originalMap);\n\t}\n\n\t/**\n\t * Retrieves personalization data from the personalization service.\n\t *\n\t * This method ensures that the personalization service (`oPersonalizer`) is initialized\n\t * and fetches the latest personalization data. If no data is found, it returns an empty object.\n\t *\n\t * @private\n\t * @returns {Promise<IPersonalizationData>} A promise that resolves to the personalization data.\n\t * If no data is available, an empty object is returned.\n\t */\n\tprivate async _getPersonalizationData(): Promise<IPersonalizationData> {\n\t\tif (!this.oPersonalizer) {\n\t\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\t}\n\t\tconst oPersData = await this.oPersonalizer.read();\n\t\treturn oPersData || {};\n\t}\n\n\t// Fetch personalization data property value\n\tprivate async getPersonalisationProperty(propertyKey: string) {\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\treturn oPersData?.[propertyKey as keyof IPersonalizationData];\n\t}\n\n\t/**\n\t * Checks for recommendation cards.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the check is complete.\n\t */\n\tprivate async _getRecommendationCards() {\n\t\tconst aRecommendedCards = await this.appManagerInstance.getRecommenedCards();\n\t\tif (aRecommendedCards?.length) {\n\t\t\treturn this._handleRecommendationCards(aRecommendedCards);\n\t\t}\n\t\tthis.fireHandleHidePanel();\n\t}\n\n\t/**\n\t * Handle Recommendation Cards\n\t * @param aRecommendedCards\n\t * @private\n\t */\n\tprivate async _handleRecommendationCards(aRecommendedCards: ICard[]) {\n\t\tconst cardManifests = aRecommendedCards.map((oCard) => oCard.descriptorContent);\n\t\tawait this.cardHelperInstance?._createCards(cardManifests);\n\t\tawait this._updateRecommendationStatus();\n\t\treturn this.setNewVisibleCards();\n\t}\n\n\t/**\n\t * Sets up the wrapper for the cards.\n\t *\n\t * @private\n\t */\n\tprivate _setupWrapper() {\n\t\tif (!this._cardsFlexWrapper) {\n\t\t\tthis._cardsFlexWrapper = new VBox(`${this.getId()}-cardsFlexWrapper`, {\n\t\t\t\trenderType: \"Bare\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\titems: [this._createCardContainer(), this._createMobileCardContainer()]\n\t\t\t});\n\t\t\tthis._cardsFlexWrapper.setModel(this._controlModel);\n\t\t\tthis.addContent(this._cardsFlexWrapper);\n\t\t}\n\t}\n\n\t/**\n\t * Creates the card container.\n\t *\n\t * @private\n\t * @returns {GridContainer} The card container.\n\t */\n\tprivate _createCardContainer() {\n\t\tthis.cardsContainerSettings = new GridContainerSettings(`${this.getId()}-insightsCardsContainerSettings`, {\n\t\t\tcolumnSize: this.cardWidth,\n\t\t\trowSize: this.cardHeight,\n\t\t\tgap: \"1rem\"\n\t\t});\n\t\tthis.cardsContainer = new GridContainer(`${this.getId()}-insightsCardsFlexBox`, {\n\t\t\tvisible: \"{= !${/isPhone}}\"\n\t\t})\n\t\t\t.addStyleClass(\"sapUiSmallMarginTop\")\n\t\t\t.setLayout(this.cardsContainerSettings);\n\t\tthis.cardsContainer.setModel(this._controlModel);\n\t\tthis.addDragDropConfigTo(this.cardsContainer, (oEvent) => this._handleCardsDnd(oEvent));\n\n\t\treturn this.cardsContainer;\n\t}\n\n\t/**\n\t * Creates the mobile card container.\n\t *\n\t * @private\n\t * @returns {HeaderContainer} The mobile card container.\n\t */\n\tprivate _createMobileCardContainer() {\n\t\tthis.cardsMobileContainer = new HeaderContainer(`${this.getId()}-insightsCardsMobileFlexBox`, {\n\t\t\tscrollStep: 0,\n\t\t\tscrollStepByItem: 1,\n\t\t\tgridLayout: true,\n\t\t\tscrollTime: 1000,\n\t\t\tshowDividers: false,\n\t\t\tvisible: \"{/isPhone}\"\n\t\t});\n\t\tthis.cardsMobileContainer.setModel(this._controlModel);\n\t\tthis.addDragDropConfigTo(this.cardsMobileContainer, (oEvent) => this._handleCardsDnd(oEvent));\n\n\t\treturn this.cardsMobileContainer;\n\t}\n\n\t/**\n\t * Displays placeholder cards while loading.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _showPlaceHolders() {\n\t\tconst cardManifest = this.appManagerInstance._getAnalyticalCardManifest();\n\t\tconst placeholderArray = new Array(this._calculatePlaceholderCardCount()).fill(null);\n\t\tconst aInsightsCards = placeholderArray.map((_, index: number) => {\n\t\t\tconst card = new Card(recycleId(`${this.getId()}--placeHolderCard--${index}`), {\n\t\t\t\twidth: this.cardWidth,\n\t\t\t\theight: this.cardHeight,\n\t\t\t\tpreviewMode: \"Abstract\",\n\t\t\t\tmanifest: cardManifest,\n\t\t\t\thost: this.getAggregation(\"host\") as Control\n\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\");\n\t\t\treturn card;\n\t\t});\n\t\t// Create Wrapper HBox for Card\n\t\tconst oPreviewHBox = new HBox(recycleId(`${this.getId()}--wrapperBox`), {\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: aInsightsCards\n\t\t});\n\n\t\t// add HBox as item to GridList\n\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\tif (sDefaultAggreName) {\n\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, oPreviewHBox);\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the number of placeholder cards that can fit within the available container width.\n\t *\n\t * @private\n\t * @returns {number} The number of placeholder cards that should be displayed. Defaults to 1 if no valid count is determined.\n\t */\n\tprivate _calculatePlaceholderCardCount(): number {\n\t\tconst layoutDomRef = this._getInsightsContainer()?._getLayout()?.getDomRef();\n\t\tlet count = 0;\n\t\tif (layoutDomRef) {\n\t\t\tconst sectionDomRef = layoutDomRef.childNodes[0] as Element;\n\t\t\tconst domProperties = fetchElementProperties(sectionDomRef, [\"width\", \"padding-left\", \"padding-right\"]);\n\t\t\tlet availableWidth = domProperties.width - domProperties[\"padding-left\"] - domProperties[\"padding-right\"];\n\t\t\tconst cardLayoutConfig = {\n\t\t\t\tcontainerWidth: availableWidth,\n\t\t\t\ttotalCards: Constants.PLACEHOLDER_CARD_COUNT,\n\t\t\t\tminWidth: 304,\n\t\t\t\tmaxWidth: 583,\n\t\t\t\tgap: 16\n\t\t\t};\n\t\t\tconst cardWidth = this.getDeviceType() === DeviceType.Mobile ? 19 : calculateCardWidth(cardLayoutConfig);\n\n\t\t\t// Calculate and log the number of cards that can fit\n\t\t\tcount =\n\t\t\t\tthis.getDeviceType() === DeviceType.Mobile\n\t\t\t\t\t? this.aVisibleCardInstances.length\n\t\t\t\t\t: Math.floor(availableWidth / (cardWidth + Constants.CARDS_GAP));\n\t\t\tthis.cardWidth = `${cardWidth / 16}rem`;\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\t/**\n\t * Displays the cards.\n\t *\n\t * @private\n\t * @param {ICard[]} aCards - The cards to display.\n\t */\n\tprivate _showCards(aCards: ICard[]) {\n\t\tconst panelName = this.getMetadata().getName();\n\t\tthis.fireHandleUnhidePanel();\n\t\tthis._getInsightsContainer()?.updatePanelsItemCount(aCards.length, panelName);\n\t\tif (this._headerVisible) {\n\t\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsCards\")} (${aCards.length})`);\n\t\t}\n\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\tthis.aVisibleCardInstances = [];\n\t\tthis.cardsInViewport = [];\n\n\t\t// Setup Host For Cards\n\t\tif (!runtimeHostCreated) {\n\t\t\tthis._addRuntimeHost();\n\t\t\truntimeHostCreated = true;\n\t\t}\n\n\t\taCards.forEach((oCard, index) => {\n\t\t\tconst manifest = oCard.descriptorContent;\n\t\t\t// Create Card Instance\n\t\t\tconst oUserCard = new Card(recycleId(`${this.getId()}--userCard--${index}`), {\n\t\t\t\twidth: this.cardWidth,\n\t\t\t\theight: this.cardHeight,\n\t\t\t\tmanifest,\n\t\t\t\thost: this.getAggregation(\"host\") as Control\n\t\t\t});\n\n\t\t\tthis.aVisibleCardInstances.push(oUserCard);\n\n\t\t\tthis.addAggregation(\"cards\", oUserCard, true);\n\n\t\t\tconst items: Control[] = [oUserCard];\n\n\t\t\t// Add overlay in case of List and Table Card\n\t\t\tconst sType = manifest[\"sap.card\"]?.type;\n\t\t\tif (sType === \"Table\" || sType === \"List\") {\n\t\t\t\tconst overlay = new HBox(recycleId(`${this.getId()}--overlay--${index}`), {\n\t\t\t\t\twidth: this.cardWidth,\n\t\t\t\t\theight: \"2rem\"\n\t\t\t\t}).addStyleClass(\"insightsCardOverflowTop\");\n\t\t\t\tconst overlayHBoxWrapper = new HBox(recycleId(`${this.getId()}--overlayHBoxId--${index}`), {\n\t\t\t\t\theight: \"0\"\n\t\t\t\t}).addStyleClass(\"sapMFlexBoxJustifyCenter\");\n\t\t\t\toverlayHBoxWrapper.addItem(overlay);\n\t\t\t\titems.push(overlayHBoxWrapper);\n\t\t\t}\n\n\t\t\t// Create Wrapper VBox for Card\n\t\t\tconst oPreviewVBox = new VBox(recycleId(`${this.getId()}--previewBoxId--${index}`), {\n\t\t\t\tdirection: \"Column\",\n\t\t\t\tjustifyContent: \"Center\",\n\t\t\t\titems: items\n\t\t\t});\n\n\t\t\t// add VBox as item to GridList\n\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, oPreviewVBox);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the edit cards event.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate _handleEditCards(event: Event) {\n\t\t/* If called from Panel Header event.source() will return TilesPanel, if called from Insights Container event.source() will return InsightsContainer.\n\t\t_getLayout is available at Container Level*/\n\t\tlet parent: ManagedObject = event.getSource<CardsPanel>().getParent() || this;\n\t\tif (parent instanceof CardsPanel) {\n\t\t\tparent = parent.getParent() as ManagedObject;\n\t\t}\n\t\t(parent as InsightsContainer)?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_CARDS);\n\t}\n\n\t/**\n\t * Hides the header of the cards panel.\n\t *\n\t * @private\n\t */\n\tpublic handleHideHeader() {\n\t\tthis._headerVisible = false;\n\t\tthis.setProperty(\"title\", \"\");\n\t\tthis._toggleHeaderActions(false);\n\t}\n\n\t/**\n\t * Adds the header to the cards panel.\n\t *\n\t * @private\n\t */\n\tpublic handleAddHeader() {\n\t\tthis._headerVisible = true;\n\t\tthis.setProperty(\n\t\t\t\"title\",\n\t\t\t`${this._i18nBundle?.getText(\"insightsCards\")} (${(this._controlModel.getProperty(\"/userVisibleCards\") as ICard[])?.length})`\n\t\t);\n\t\tthis._toggleHeaderActions(true);\n\t}\n\n\t/**\n\t * Refreshes the cards.\n\t *\n\t * @private\n\t */\n\tprivate refreshCards() {\n\t\t// This should be done via Host once implemented\n\t\tthis.aVisibleCardInstances.forEach((card) => this._refreshCardData(card));\n\t}\n\n\t/**\n\t * Handles the drag and drop of cards.\n\t *\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} oEvent - The drop event parameters.\n\t */\n\tprivate async _handleCardsDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter(\"dropPosition\") as string,\n\t\t\toDragItem = oEvent.getParameter(\"draggedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as GridContainer)?.indexOfItem(oDragItem),\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDropItemIndex = (oDragItem.getParent() as GridContainer).indexOfItem(oDropItem);\n\n\t\tthis._cardsFlexWrapper?.setBusy(true);\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\ttry {\n\t\t\tif (!(this._controlModel.getProperty(\"/userAllCards\") as ICard[]).length) {\n\t\t\t\tconst userAllCardsModel = await this.cardHelperInstance._getUserAllCardModel();\n\t\t\t\tthis._controlModel.setProperty(\"/userAllCards\", userAllCardsModel.getProperty(\"/cards\"));\n\t\t\t\tawait this.updateCardList(sInsertPosition, iDropItemIndex, iDragItemIndex);\n\t\t\t} else {\n\t\t\t\tawait this.updateCardList(sInsertPosition, iDropItemIndex, iDragItemIndex);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tfocusDraggedItem(this._getCardContainer(), iDropItemIndex);\n\t\t\t}, 0);\n\t\t} catch (error) {\n\t\t\tif (error instanceof Error) {\n\t\t\t\tLog.error(error.message);\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._cardsFlexWrapper?.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the card list based on the drag and drop operation.\n\t *\n\t * @private\n\t * @param {string} sInsertPosition - The position to insert the item.\n\t * @param {number} iDropItemIndex - The index of the dropped item.\n\t * @param {number} iDragItemIndex - The index of the dragged item.\n\t * @returns {Promise<void>} A promise that resolves when the card list is updated.\n\t */\n\tprivate async updateCardList(sInsertPosition: string, iDropItemIndex: number, iDragItemIndex: number) {\n\t\tconst aUserVisibleCards = this._controlModel.getProperty(\"/userVisibleCards\") as ICard[],\n\t\t\taUserAllCards = this._controlModel.getProperty(\"/userAllCards\") as ICard[],\n\t\t\tsDragedPositionRank = aUserVisibleCards[iDragItemIndex]?.rank,\n\t\t\tsDropedPositionRank = aUserVisibleCards[iDropItemIndex]?.rank;\n\t\tlet iUpdatedDragItemIndex = aUserAllCards.findIndex((oCard: ICard) => oCard.rank === sDragedPositionRank),\n\t\t\tiUpdatedDropItemIndex = aUserAllCards.findIndex((oCard: ICard) => oCard.rank === sDropedPositionRank);\n\n\t\tif (\n\t\t\t(sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) ||\n\t\t\t(sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) ||\n\t\t\tiDragItemIndex === iDropItemIndex\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (sInsertPosition === \"Before\" && iUpdatedDragItemIndex < iUpdatedDropItemIndex) {\n\t\t\tiUpdatedDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iUpdatedDragItemIndex > iUpdatedDropItemIndex) {\n\t\t\tiUpdatedDropItemIndex++;\n\t\t}\n\t\tif (iUpdatedDragItemIndex !== iUpdatedDropItemIndex) {\n\t\t\tconst aUpdatedCards = this.cardHelperInstance.handleDndCardsRanking(\n\t\t\t\tiUpdatedDragItemIndex,\n\t\t\t\tiUpdatedDropItemIndex,\n\t\t\t\taUserAllCards\n\t\t\t);\n\t\t\tawait this.cardHelperInstance._updateMultipleCards(aUpdatedCards, \"PUT\");\n\t\t\tthis._sortCardsOnRank(aUserAllCards);\n\t\t\tthis._controlModel.setProperty(\"/userAllCards\", aUserAllCards);\n\t\t\tthis._controlModel.setProperty(\n\t\t\t\t\"/userVisibleCards\",\n\t\t\t\taUserAllCards.filter((oCard: ICard) => oCard.visibility)\n\t\t\t);\n\t\t\tawait this.rerenderCards();\n\t\t}\n\t}\n\n\t/**\n\t * Sorts the cards based on their rank property.\n\t *\n\t * @private\n\t * @param {ICard[]} aCards - The array of cards to sort.\n\t */\n\tprivate _sortCardsOnRank(aCards: ICard[]) {\n\t\t// Sort Cards based on it rank property where rank is a alphanumeric string\n\t\taCards.sort((a, b) => {\n\t\t\tif (a.rank && b.rank) {\n\t\t\t\tif (a.rank < b.rank) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (a.rank > b.rank) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the personalization instance.\n\t *\n\t * @private\n\t * @returns {UShellPersonalizer} The personalization instance.\n\t */\n\tpublic _getPersonalization() {\n\t\tconst persContainerId = PersonalisationUtils.getPersContainerId(this);\n\t\tconst ownerComponent = PersonalisationUtils.getOwnerComponent(this) as Component;\n\t\treturn UShellPersonalizer.getInstance(persContainerId, ownerComponent);\n\t}\n\n\t/**\n\t * Updates the recommendation status based on the feature toggle.\n\t * @returns {Promise} A promise that resolves when the recommendation status is updated.\n\t */\n\tprivate async _updateRecommendationStatus() {\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\toPersData[RECOMMENDATION_PATH] = true;\n\t\treturn this.oPersonalizer.write(oPersData);\n\t}\n\n\t/**\n\t * Calculates the number of visible cards that can fit within the available width of the parent container.\n\t *\n\t * @private\n\t * @returns {number} - The number of visible cards.\n\t */\n\tprivate _calculateVisibleCardCount() {\n\t\tconst layout = this._getInsightsContainer()._getLayout();\n\t\tconst pageDomRef = layout.getDomRef();\n\t\tconst deviceType = this.getDeviceType();\n\t\tlet count = 1;\n\n\t\tif (pageDomRef) {\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst sectionNodeIndex = isHeaderVisible ? 1 : 0;\n\t\t\tconst sectionDomRef = pageDomRef.childNodes[sectionNodeIndex] as Element;\n\t\t\tconst domProperties = fetchElementProperties(sectionDomRef, [\"width\", \"padding-left\", \"padding-right\"]);\n\t\t\tconst iAvailableWidth = domProperties.width - domProperties[\"padding-left\"] - domProperties[\"padding-right\"];\n\t\t\tconst totalCards = this.aVisibleCardInstances.length;\n\n\t\t\tconst cardLayoutConfig = { containerWidth: iAvailableWidth, totalCards: totalCards, minWidth: 304, maxWidth: 583, gap: 16 };\n\t\t\tconst cardWidth = calculateCardWidth(cardLayoutConfig);\n\t\t\tthis.cardWidth = `${cardWidth / 16}rem`;\n\t\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t\tcount = totalCards;\n\t\t\t} else {\n\t\t\t\t// Multiply by 16 because `cardWidth` is in rems\n\t\t\t\tcount = Math.max(Math.floor(iAvailableWidth / cardWidth), 1);\n\t\t\t}\n\t\t}\n\n\t\treturn count;\n\t}\n\n\t/**\n\t * Adjusts the layout of the cards panel based on the current layout and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout() {\n\t\tconst layout = this._getInsightsContainer()?._getLayout();\n\t\tlet cardWidth = this.cardWidth;\n\t\tconst isMobileDevice = this.getDeviceType() === DeviceType.Mobile;\n\n\t\tif (layout && this.aVisibleCardInstances?.length > 0) {\n\t\t\tconst isElementExpanded = layout._getCurrentExpandedElementName() === this.getProperty(\"fullScreenName\");\n\n\t\t\t//_calculateVisibleCardCount needs to be called in all scenarios to get the correct card width according to device width.\n\t\t\t//if expanded, again the card count is reset to available cards count\n\t\t\tlet cardCount = this._calculateVisibleCardCount();\n\t\t\tif (isElementExpanded) {\n\t\t\t\tcardCount = this.aVisibleCardInstances.length;\n\t\t\t}\n\t\t\tthis._controlModel.setProperty(\"/isPhone\", isMobileDevice);\n\n\t\t\t// update cards in viewport\n\t\t\tif (cardCount !== this.cardsInViewport.length) {\n\t\t\t\tthis.cardsInViewport = this.aVisibleCardInstances.slice(0, cardCount);\n\n\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\t\t\tthis.cardsInViewport.forEach((card) => {\n\t\t\t\t\tconst manifest = card.getManifest() as ICardManifest;\n\t\t\t\t\tconst sType = manifest[\"sap.card\"]?.type;\n\t\t\t\t\tlet overlayHBoxWrapper!: HBox;\n\t\t\t\t\tif (sType === \"Table\" || sType === \"List\") {\n\t\t\t\t\t\tconst overlay = new HBox({\n\t\t\t\t\t\t\twidth: this.cardWidth,\n\t\t\t\t\t\t\theight: \"2rem\"\n\t\t\t\t\t\t}).addStyleClass(\"insightsCardOverflowLayer insightsCardOverflowTop\");\n\t\t\t\t\t\toverlayHBoxWrapper = new HBox({\n\t\t\t\t\t\t\theight: \"0\"\n\t\t\t\t\t\t}).addStyleClass(\"sapMFlexBoxJustifyCenter\");\n\t\t\t\t\t\toverlayHBoxWrapper.addItem(overlay);\n\t\t\t\t\t}\n\t\t\t\t\tconst cardWrapper = new VBox({\n\t\t\t\t\t\tdirection: \"Column\",\n\t\t\t\t\t\tjustifyContent: \"Center\",\n\t\t\t\t\t\titems: [card]\n\t\t\t\t\t});\n\t\t\t\t\tif (overlayHBoxWrapper) {\n\t\t\t\t\t\tcardWrapper.addItem(overlayHBoxWrapper);\n\t\t\t\t\t}\n\t\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, cardWrapper);\n\t\t\t\t});\n\n\t\t\t\tthis.shareCardsInViewport();\n\t\t\t}\n\n\t\t\t// show/hide Full Screen Button if available\n\t\t\tconst showFullScreenButton = isElementExpanded || this.aVisibleCardInstances.length > cardCount;\n\t\t\tif (this._headerVisible) {\n\t\t\t\tthis._getInsightsContainer()?.toggleFullScreenElements(this, showFullScreenButton);\n\t\t\t} else {\n\t\t\t\tconst fullScreenButton = getAssociatedFullScreenMenuItem(this);\n\t\t\t\tconst fullScreenText = fullScreenButton.getTitle();\n\t\t\t\tthis._getInsightsContainer()?.updateMenuItem(\n\t\t\t\t\tthis._controlMap.get(`${this.getId()}-${cardsContainerMenuItems.SHOW_MORE}`) as MenuItem,\n\t\t\t\t\tshowFullScreenButton,\n\t\t\t\t\tfullScreenText\n\t\t\t\t);\n\t\t\t\tthis._getInsightsContainer()?.updateActionButton(\n\t\t\t\t\tthis._controlMap.get(`${this.getId()}-${cardsContainerActionButtons.SHOW_MORE}`) as Button,\n\t\t\t\t\tshowFullScreenButton,\n\t\t\t\t\tfullScreenText\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.cardWidth = this.getDeviceType() === DeviceType.Mobile ? \"19rem\" : \"22rem\";\n\t\t}\n\n\t\t// update width of cards on resize\n\t\tif (cardWidth !== this.cardWidth) {\n\t\t\tthis.aVisibleCardInstances.forEach((card) => card.setWidth(this.cardWidth));\n\t\t\tthis.cardsContainerSettings?.setColumnSize(this.cardWidth);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the menu items for the container.\n\t *\n\t * @private\n\t * @returns {MenuItem[]} An array of MenuItem instances.\n\t */\n\tpublic getContainerMenuItems(): MenuItem[] {\n\t\tif (!this._containerMenuItems) {\n\t\t\tconst containerRefreshMenuItem = this._createRefreshMenuItem(cardsContainerMenuItems.REFRESH, \"containerCardsRefresh\");\n\t\t\tconst containerEditCardsMenuItem = this._createEditCardsMenuItem(cardsContainerMenuItems.EDIT_CARDS, \"containerManageCards\");\n\t\t\tconst containerShowMoreMenuItem = createShowMoreMenuItem(this, cardsContainerMenuItems.SHOW_MORE, \"containerCardsShowMore\");\n\t\t\tthis._controlMap.set(`${this.getId()}-${cardsContainerMenuItems.SHOW_MORE}`, containerShowMoreMenuItem);\n\t\t\tthis._containerMenuItems = [containerRefreshMenuItem, containerEditCardsMenuItem, containerShowMoreMenuItem];\n\t\t}\n\t\treturn this._containerMenuItems;\n\t}\n\n\t/**\n\t * Retrieves the action buttons for the container.\n\t *\n\t * @private\n\t * @returns {Button[]} An array of Button instances.\n\t */\n\tpublic getContainerActionButtons(): Button[] {\n\t\tif (!this._containerActionButtons) {\n\t\t\tthis._containerActionButtons = [];\n\t\t\tconst actionButton = createShowMoreActionButton(this, cardsContainerActionButtons.SHOW_MORE, \"containerCardsShowMore\");\n\t\t\tif (actionButton) {\n\t\t\t\tthis._controlMap.set(`${this.getId()}-${cardsContainerActionButtons.SHOW_MORE}`, actionButton);\n\t\t\t\tthis._containerActionButtons.push(actionButton);\n\t\t\t}\n\t\t}\n\n\t\treturn this._containerActionButtons;\n\t}\n\n\t/**\n\t * Retrieves the insights container.\n\t *\n\t * @private\n\t * @returns {InsightsContainer} - The insights container.\n\t */\n\tprivate _getInsightsContainer(): InsightsContainer {\n\t\tif (!this.insightsContainer) {\n\t\t\tthis.insightsContainer = this.getParent() as InsightsContainer;\n\t\t}\n\t\treturn this.insightsContainer;\n\t}\n\n\t/**\n\t * Creates the refresh menu item.\n\t *\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} fesrId - The FESR ID of the menu item.\n\t * @returns {MenuItem} - The created menu item.\n\t * @private\n\t */\n\tprivate _createRefreshMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"refresh\"),\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\tvisible: false,\n\t\t\tpress: () => this.refreshCards()\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\tif (fesrId) {\n\t\t\taddFESRId(menuItem, fesrId);\n\t\t}\n\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Creates the edit cards menu item.\n\t *\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} fesrId - The FESR ID of the menu item.\n\t * @returns {MenuItem} - The created menu item.\n\t * @private\n\t */\n\tprivate _createEditCardsMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"manageCards\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tvisible: false,\n\t\t\tpress: (event: Event) => this._handleEditCards(event)\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\tif (fesrId) {\n\t\t\taddFESRId(menuItem, fesrId);\n\t\t}\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Toggles the visibility of the header actions.\n\t *\n\t * @param {boolean} bShow - Whether to show or hide the header actions.\n\t * @private\n\t */\n\tprivate _toggleHeaderActions(bShow: boolean) {\n\t\t(this.getAggregation(\"menuItems\") as MenuItem[])?.forEach((menuItem) => {\n\t\t\tthis._getInsightsContainer()?.toggleMenuListItem(menuItem, bShow);\n\t\t});\n\t\t(this.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton) =>\n\t\t\tthis._getInsightsContainer()?.toggleActionButton(actionButton, bShow)\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves the card container based on the device type.\n\t *\n\t * @private\n\t * @returns {GridContainer | HeaderContainer} - The card container.\n\t *\n\t */\n\tprivate _getCardContainer() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn this.cardsMobileContainer;\n\t\t}\n\t\treturn this.cardsContainer;\n\t}\n\n\t/**\n\t * Sorts the menu items based on the provided order.\n\t *\n\t * @private\n\t * @param {string[]} menuItems - The order of the menu items.\n\t */\n\tprivate _sortMenuItems(menuItems: string[]) {\n\t\tconst panelMenuItems = this.getAggregation(\"menuItems\") as MenuItem[];\n\t\tlet sortedMenuItems = sortMenuItems(menuItems, panelMenuItems);\n\t\tthis.removeAllAggregation(\"menuItems\");\n\t\tsortedMenuItems?.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t}\n\n\t/**\n\t * Shares the cards that are currently in the viewport by firing the \"visibleCardsUpdated\" event.\n\t *\n\t * @private\n\t */\n\tprivate shareCardsInViewport() {\n\t\tconst cardCount = this._calculateVisibleCardCount();\n\t\tconst visibleCards = this._controlModel.getProperty(\"/userVisibleCards\") as ICard[];\n\t\tconst cardsInViewport = visibleCards?.slice(0, cardCount);\n\t\tif (cardsInViewport?.length) {\n\t\t\tthis.fireEvent(\"visibleCardsUpdated\", { cards: cardsInViewport });\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\truntimeHostCreated = false;\n\t\t(this.getAggregation(\"host\") as Host)?.destroy();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardsPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","SelectionVariant","CardHelper","InsightsInMemoryCachingHost","HBox","HeaderContainer","VBox","EventBus","Card","JSONModel","Container","S4MyHome","__BasePanel","__MenuItem","__AppManager","___utils_CommonUtils","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","___utils_InsightsUtils","__PersonalisationUtils","__UShellPersonalizer","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BasePanel","_finallyRethrows","finalizer","bind","MenuItem","AppManager","getPageManagerInstance","PREFERED_CARDS","SETTINGS_PANELS_KEYS","recycleId","calculateCardWidth","DeviceType","fetchElementProperties","focusDraggedItem","addFESRId","addFESRNavigationSource","FESRNavigationSource","createShowMoreActionButton","createShowMoreMenuItem","getAssociatedFullScreenMenuItem","sortMenuItems","targetsAreEqual","PersonalisationUtils","UShellPersonalizer","cardsMenuItems","cardsContainerMenuItems","cardsContainerActionButtons","sortedMenuItems","REFRESH","EDIT_CARDS","AI_INSIGHT_CARD","Constants","PLACEHOLDER_CARD_COUNT","CARDS_GAP","RECOMMENDATION_PATH","runtimeHostCreated","CardsPanel","extend","metadata","library","properties","title","type","group","defaultValue","visibility","key","fullScreenName","defaultAggregation","aggregations","content","multiple","singularName","cards","host","events","handleHidePanel","parameters","handleUnhidePanel","visibleCardsUpdated","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","aVisibleCardInstances","cardsInViewport","_appSwitched","_headerVisible","init","_init","_this","BasePanel.prototype.init.call","setProperty","cardWidth","cardHeight","getDeviceType","Mobile","_oData","userVisibleCards","userAllCards","isPhone","_controlModel","appManagerInstance","getInstance","_controlMap","Map","refreshMenuItem","_createRefreshMenuItem","editCardsMenuItem","_createEditCardsMenuItem","menuItems","forEach","menuItem","addAggregation","_sortMenuItems","oEventBus","subscribe","sChannelId","sEventId","oData","Promise","resolve","initializeCardHelper","_createCards","_importdone","reject","_setupWrapper","_toggleCardActivity","_this2","toggleUserActions","event","show","getParameter","_temp2","_temp","rerenderCards","attachRouteMatched","error","warning","Error","message","String","aCards","_this3","cardHelperInstance","_getManifestEntryFromCard","oCard","sEntry","cardWithManifestPromise","manifestEntry","getManifestEntry","_pManifestReady","attachManifestReady","_addRuntimeHost","_this4","_this5","_this6","_this7","_this8","getAggregation","action","oEvent","sType","oParameters","_temp3","ibnTarget","preventDefault","oIntegrationCardManifest","aHeaderActions","header","actions","oCheckSemanticProperty","configuration","_semanticDateRangeSetting","value","JSON","parse","Object","keys","length","processSemanticDate","aContentActions","getContentActions","oHeaderAction","oContentAction","bOldCardExtension","indexOf","_manageOldCardExtension","getServiceAsync","navigationService","navigate","target","params","ibnParams","Cards","text","_i18nBundle","getText","icon","_refreshCardData","visible","oEntry","cacheType","cardId","getParent","_getLayout","openSettingsDialog","INSIGHTS_CARDS","oCardParams","aRelevantFilters","_relevantODataFilters","bRelevantFilters","aRelevantParams","_relevantODataParameters","bRelevantParams","oCardDataSource","dataSources","oFilterService","filterService","oDataSourceSettings","odataVersion","getParentAppDetails","descriptorContent","parentApp","semanticObject","intents","isNavigationSupported","_navigationService$is","aResponses","supported","sShellHash","semanticURL","shellHash","attachAction","setAggregation","oCardSV","getCombinedParameters","sParamName","sFilterName","oCardParamsFilterName","aSelectOptions","SelectOptions","aRanges","Ranges","Sign","Option","Low","massAddSelectOption","oTempParam","selectionVariant","toJSONObject","stringify","_getContentActions","manifest","item","row","stateData","status","publish","require","InsightsCacheData","sCardId","cacheDataInstance","clearCache","refreshData","_refreshData","_this9","_temp4","_getServiceAsync","_refreshUserCards","renderPanel","_initializeCardHelper","_this0","_temp5","pageManagerInstance","all","hasCustomSpace","_renderPanel","_this1","fireEvent","_rerenderCards","skipRecommendation","_this10","_cardsRendered","_temp1","sDefaultAggreName","_getCardContainer","getMetadata","getDefaultAggregationName","removeAllAggregation","_showPlaceHolders","preferedCardIDs","_getUserVisibleCardModel","userVisibleCardModel","getProperty","listBinding","bindList","hasListeners","enableExtendedChangeDetection","attachChange","visibleCards","_showCards","fireHandleHidePanel","getPersonalisationProperty","showRecommendation","_temp0","undefined","_temp9","_getRecommendationCards","_temp8","_temp7","checkForRecommendedCards","_temp6","_updateRecommendationStatus","setNewVisibleCards","_setNewVisibleCards","_this11","visibleCardModel","aNewCards","_checkForRecommendedCards","_this12","manifestIds","oVisCard","idx","rec","push","rank","ranking","index","uniqueManifestDetails","getUniqueManifestDetails","regenerateCards","aUpdatedCards","_exit2","_temp11","_result2","_temp10","_updateCards","map","newManifest","_getUniqueManifestDetails","exists","some","existingItem","_getManifests","_this13","_getCardManifest","aManifests","aRegeneratedCards","mappedResults","_removeDuplicateRegeneratedCards","_regenerateCards","allManifestIds","_this14","aMappedManifest","createUniqueKey","uniqueMap","uniqueKey","oError","aOriginalList","originalMap","originalItem","parentAppId","values","_getPersonalizationData","_this15","_temp13","oPersonalizer","read","oPersData","_temp12","_getPersonalization","_this15$_getPersonali","_getPersonalisationProperty","propertyKey","_this16","_this17","getRecommenedCards","aRecommendedCards","_handleRecommendationCards","_this18","cardManifests","_cardsFlexWrapper","getId","renderType","width","items","_createCardContainer","_createMobileCardContainer","setModel","addContent","cardsContainerSettings","columnSize","rowSize","gap","cardsContainer","addStyleClass","setLayout","addDragDropConfigTo","_handleCardsDnd","cardsMobileContainer","scrollStep","scrollStepByItem","gridLayout","scrollTime","showDividers","cardManifest","_getAnalyticalCardManifest","placeholderArray","Array","_calculatePlaceholderCardCount","fill","aInsightsCards","_","card","height","previewMode","oPreviewHBox","justifyContent","layoutDomRef","_getInsightsContainer","getDomRef","count","sectionDomRef","childNodes","domProperties","availableWidth","cardLayoutConfig","containerWidth","totalCards","minWidth","maxWidth","Math","floor","panelName","getName","fireHandleUnhidePanel","updatePanelsItemCount","oUserCard","overlay","overlayHBoxWrapper","addItem","oPreviewVBox","direction","_handleEditCards","parent","getSource","handleHideHeader","_handleHideHeader","_toggleHeaderActions","handleAddHeader","_handleAddHeader","refreshCards","_refreshCards","_this19","sInsertPosition","oDragItem","iDragItemIndex","indexOfItem","oDropItem","iDropItemIndex","setBusy","_temp16","_temp15","setTimeout","_temp14","_getUserAllCardModel","userAllCardsModel","updateCardList","_wasThrown","_result3","_updateCardList","_this20","aUserVisibleCards","aUserAllCards","sDragedPositionRank","sDropedPositionRank","iUpdatedDragItemIndex","findIndex","iUpdatedDropItemIndex","_temp17","handleDndCardsRanking","_updateMultipleCards","_sortCardsOnRank","filter","sort","a","b","persContainerId","getPersContainerId","ownerComponent","getOwnerComponent","_this21","write","_calculateVisibleCardCount","layout","pageDomRef","deviceType","isHeaderVisible","sectionNodeIndex","iAvailableWidth","max","_adjustLayout","isMobileDevice","isElementExpanded","_getCurrentExpandedElementName","cardCount","slice","getManifest","cardWrapper","shareCardsInViewport","showFullScreenButton","toggleFullScreenElements","fullScreenButton","fullScreenText","getTitle","updateMenuItem","get","SHOW_MORE","updateActionButton","setWidth","setColumnSize","getContainerMenuItems","_getContainerMenuItems","_containerMenuItems","containerRefreshMenuItem","containerEditCardsMenuItem","containerShowMoreMenuItem","set","getContainerActionButtons","_getContainerActionButtons","_containerActionButtons","actionButton","insightsContainer","fesrId","press","bShow","toggleMenuListItem","toggleActionButton","panelMenuItems","_shareCardsInViewport","exit","_exit","destroy"],"sources":["CardsPanel.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 GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport SelectionVariant from \"sap/fe/navigation/SelectionVariant\";\nimport CardHelper from \"sap/insights/CardHelper\";\nimport InsightsInMemoryCachingHost from \"sap/insights/base/InMemoryCachingHost\";\nimport Button from \"sap/m/Button\";\nimport HBox from \"sap/m/HBox\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport VBox from \"sap/m/VBox\";\nimport Event from \"sap/ui/base/Event\";\nimport ManagedObject, { MetadataOptions } from \"sap/ui/base/ManagedObject\";\nimport Component from \"sap/ui/core/Component\";\nimport Control from \"sap/ui/core/Control\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport Host from \"sap/ui/integration/Host\";\nimport Card from \"sap/ui/integration/widgets/Card\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Container from \"sap/ushell/Container\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport { Intent } from \"sap/ushell/services/AppLifeCycle\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport BasePanel from \"./BasePanel\";\nimport { $CardsPanelSettings } from \"./CardsPanel\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport MenuItem from \"./MenuItem\";\nimport {\n\tICard,\n\tICardAction,\n\tICardActionParameters,\n\tICardDetails,\n\tICardHelper,\n\tICardHelperInstance,\n\tICardManifest,\n\tInsightsCacheData,\n\tIRegeneratedCard,\n\tISapApp,\n\tISapCard\n} from \"./interface/CardsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getPageManagerInstance } from \"./utils/CommonUtils\";\nimport { PREFERED_CARDS, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateCardWidth, DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRNavigationSource, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport {\n\tcreateShowMoreActionButton,\n\tcreateShowMoreMenuItem,\n\tgetAssociatedFullScreenMenuItem,\n\tsortMenuItems,\n\ttargetsAreEqual\n} from \"./utils/InsightsUtils\";\nimport PageManager from \"./utils/PageManager\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\nimport UShellPersonalizer, { IPersonalizationData } from \"./utils/UshellPersonalizer\";\n\nexport enum cardsMenuItems {\n\tREFRESH = \"cards-refresh\",\n\tEDIT_CARDS = \"cards-editCards\",\n\tAI_INSIGHT_CARD = \"cards-addAIInsightCard\"\n}\n\nexport enum cardsContainerMenuItems {\n\tREFRESH = \"container-cards-refresh\",\n\tEDIT_CARDS = \"container-cards-editCards\",\n\tSHOW_MORE = \"cardsContainerFullScreenMenuItem\",\n\tAI_INSIGHT_CARD = \"container-cards-addAIInsightCard\"\n}\n\nexport enum cardsContainerActionButtons {\n\tSHOW_MORE = \"cardsContanerFullScreenActionButton\"\n}\nconst sortedMenuItems: (cardsMenuItems | string)[] = [\n\tcardsMenuItems.REFRESH,\n\tcardsMenuItems.EDIT_CARDS,\n\tcardsMenuItems.AI_INSIGHT_CARD,\n\t\"showMore\",\n\t\"settings\"\n];\n\ninterface IcardActionEvent {\n\tgetParameter(sParam: string): unknown;\n\tpreventDefault(): void;\n}\n\nconst Constants = {\n\tPLACEHOLDER_CARD_COUNT: 10,\n\tCARDS_GAP: 16\n};\n\nexport interface TargetIntent {\n\ttarget: Partial<Intent>;\n\tparams?: {\n\t\t[key: string]: string;\n\t};\n}\nconst RECOMMENDATION_PATH = \"showRecommendation\";\nlet runtimeHostCreated = false;\n\n/**\n *\n * Panel class for managing and storing Insights Cards.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.122.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.CardsPanel\n */\n\nexport default class CardsPanel extends BasePanel {\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\ttitle: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\tkey: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", defaultValue: \"SI2\", visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"cards\",\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\t/**\n\t\t\t * Aggregation of cards available within the cards panel\n\t\t\t */\n\t\t\tcards: { type: \"sap.ui.integration.widgets.Card\", multiple: true, singularName: \"card\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Aggregation of the integration host used by the cards panel.\n\t\t\t */\n\t\t\thost: { type: \"sap.ui.integration.Host\", multiple: false, singularName: \"host\", visibility: \"hidden\" }\n\t\t},\n\t\tevents: {\n\t\t\thandleHidePanel: {\n\t\t\t\tparameters: {}\n\t\t\t},\n\t\t\thandleUnhidePanel: {\n\t\t\t\tparameters: {}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Event is fired when cards in viewport are updated.\n\t\t\t */\n\t\t\tvisibleCardsUpdated: {\n\t\t\t\tparameters: {\n\t\t\t\t\tcards: { type: \"sap.ui.integration.widgets.Card[]\" }\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate _cardsFlexWrapper!: VBox;\n\tprivate cardsContainer!: GridContainer;\n\tprivate cardsMobileContainer!: HeaderContainer;\n\tprivate aVisibleCardInstances: Card[] = [];\n\tprivate _oData!: Record<string, unknown>;\n\tprivate _controlModel!: JSONModel;\n\tprivate oPersonalizer!: UShellPersonalizer;\n\tprivate appManagerInstance!: AppManager;\n\tprivate cardsContainerSettings!: GridContainerSettings;\n\tprivate cardWidth!: string;\n\tprivate cardHeight!: string;\n\tprivate cardsInViewport: Card[] = [];\n\tprivate oEventBus!: EventBus;\n\tprivate _appSwitched: boolean = false;\n\tprivate _containerMenuItems!: MenuItem[];\n\tprivate _containerActionButtons!: Button[];\n\tprivate insightsContainer!: InsightsContainer;\n\tprivate _headerVisible: boolean = false;\n\tprivate _controlMap!: Map<string, UI5Element>;\n\tprivate _cardsRendered!: Promise<void> | undefined;\n\tprivate pageManagerInstance!: PageManager;\n\tprivate hasCustomSpace!: boolean;\n\n\tconstructor(idOrSettings?: string | $CardsPanelSettings);\n\tconstructor(id?: string, settings?: $CardsPanelSettings);\n\t/**\n\t * Constructor for a new card 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?: $CardsPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Initializes the Cards Panel.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", \"cards\");\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tthis.cardWidth = \"19rem\";\n\t\tthis.cardHeight = this.getDeviceType() === DeviceType.Mobile ? \"25.5rem\" : \"33rem\";\n\n\t\t//Initialize Tiles Model\n\t\tthis._oData = {\n\t\t\tuserVisibleCards: [] as ICard[],\n\t\t\tuserAllCards: [] as ICard[],\n\t\t\tisPhone: this.getDeviceType() === DeviceType.Mobile\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t// Setup Menu Items\n\t\tconst refreshMenuItem = this._createRefreshMenuItem(cardsMenuItems.REFRESH, \"cardsRefresh\");\n\t\tconst editCardsMenuItem = this._createEditCardsMenuItem(cardsMenuItems.EDIT_CARDS, \"manageCards\");\n\n\t\tconst menuItems = [refreshMenuItem, editCardsMenuItem];\n\t\tmenuItems.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t\tthis._sortMenuItems(sortedMenuItems);\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\t// Subscribe to the event\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"importChannel\",\n\t\t\t\"cardsImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tawait this.initializeCardHelper();\n\t\t\t\tawait this._createCards(oData as ICardManifest[]);\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Setup Wrapper for Cards\n\t\tthis._setupWrapper();\n\n\t\t// Toggles the activity of cards\n\t\tthis._toggleCardActivity();\n\t}\n\n\t/**\n\t * Toggles the activity of cards on route change.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _toggleCardActivity(): void {\n\t\tconst toggleUserActions = async (event: Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\tif (show) {\n\t\t\t\tif (this._appSwitched) {\n\t\t\t\t\tawait this.rerenderCards();\n\t\t\t\t\tthis._appSwitched = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._appSwitched = true;\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t} catch (error) {\n\t\t\tLog.warning(error instanceof Error ? error.message : String(error));\n\t\t}\n\t}\n\n\t/**\n\t * Create imported cards\n\t * @param {ICardManifest[]} aCards - array of card manifests\n\t * @returns {any}\n\t */\n\tprivate async _createCards(aCards: ICardManifest[]) {\n\t\tawait this.cardHelperInstance?._createCards(aCards);\n\t\treturn this.rerenderCards();\n\t}\n\n\t/**\n\t * Retrieves a manifest entry from a card.\n\t * If the manifest entry is not immediately available, it waits for the manifest to be ready.\n\t *\n\t * @param {object} oCard - The card object from which to retrieve the manifest entry.\n\t * @param {string} sEntry - The manifest entry key to retrieve.\n\t * @returns {Promise<ICardManifest | undefined>} A promise that resolves with the manifest entry value.\n\t */\n\tprivate _getManifestEntryFromCard(oCard: Card, sEntry: string): Promise<ICardManifest | undefined> {\n\t\tconst cardWithManifestPromise = oCard as Card & { _pManifestReady?: Promise<ICardManifest | undefined> };\n\t\tconst manifestEntry = oCard.getManifestEntry(sEntry) as ICardManifest | undefined;\n\t\tif (manifestEntry) {\n\t\t\treturn Promise.resolve(manifestEntry);\n\t\t} else {\n\t\t\tif (!cardWithManifestPromise._pManifestReady) {\n\t\t\t\tcardWithManifestPromise._pManifestReady = new Promise<ICardManifest | undefined>((resolve) => {\n\t\t\t\t\toCard.attachManifestReady(() => {\n\t\t\t\t\t\tresolve(oCard.getManifestEntry(sEntry) as ICardManifest | undefined);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn cardWithManifestPromise._pManifestReady;\n\t\t}\n\t}\n\n\t/**\n\t * Adds a runtime host for the cards panel.\n\t *\n\t * @private\n\t */\n\tprivate _addRuntimeHost() {\n\t\tconst host = (this.getAggregation(\"host\") || new InsightsInMemoryCachingHost(\"runtimeHost\")) as Host;\n\t\tconst action = async (oEvent: IcardActionEvent) => {\n\t\t\tconst sType = oEvent.getParameter(\"type\") as string;\n\t\t\tlet oParameters = (oEvent.getParameter(\"parameters\") as ICardActionParameters) || {};\n\n\t\t\tif (sType === \"Navigation\" && oParameters.ibnTarget) {\n\t\t\t\toEvent.preventDefault();\n\t\t\t\tconst oCard = (oEvent.getParameter(\"card\") as Card) || {},\n\t\t\t\t\toIntegrationCardManifest = (oCard?.getManifestEntry(\"sap.card\") || {}) as ISapCard,\n\t\t\t\t\taHeaderActions = oIntegrationCardManifest?.header?.actions || [];\n\n\t\t\t\t//processing semantic date as param for navigation\n\t\t\t\t//check to verify if _semanticDateRangeSetting property is present in manifest\n\t\t\t\tlet oCheckSemanticProperty;\n\t\t\t\tif (oIntegrationCardManifest?.configuration?.parameters?._semanticDateRangeSetting?.value) {\n\t\t\t\t\toCheckSemanticProperty = JSON.parse(\n\t\t\t\t\t\toIntegrationCardManifest.configuration.parameters._semanticDateRangeSetting.value\n\t\t\t\t\t) as object;\n\t\t\t\t}\n\t\t\t\tif (oCheckSemanticProperty && Object.keys(oCheckSemanticProperty).length) {\n\t\t\t\t\toParameters = this.cardHelperInstance.processSemanticDate(\n\t\t\t\t\t\toParameters,\n\t\t\t\t\t\toIntegrationCardManifest\n\t\t\t\t\t) as ICardActionParameters;\n\t\t\t\t}\n\n\t\t\t\tlet aContentActions = this.getContentActions(oIntegrationCardManifest);\n\n\t\t\t\tconst oHeaderAction = aHeaderActions[0] || {},\n\t\t\t\t\toContentAction = aContentActions[0] || {};\n\n\t\t\t\tconst bOldCardExtension = !!(\n\t\t\t\t\t(oHeaderAction?.parameters &&\n\t\t\t\t\t\ttypeof oHeaderAction.parameters === \"string\" &&\n\t\t\t\t\t\toHeaderAction.parameters.indexOf(\"{= extension.formatters.addPropertyValueToAppState\") > -1) ||\n\t\t\t\t\t(oContentAction?.parameters &&\n\t\t\t\t\t\ttypeof oContentAction.parameters === \"string\" &&\n\t\t\t\t\t\toContentAction.parameters.indexOf(\"{= extension.formatters.addPropertyValueToAppState\") > -1)\n\t\t\t\t);\n\n\t\t\t\tthis._manageOldCardExtension(bOldCardExtension, oEvent, oParameters);\n\n\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\tawait navigationService.navigate({\n\t\t\t\t\ttarget: oParameters.ibnTarget,\n\t\t\t\t\tparams: oParameters.ibnParams\n\t\t\t\t});\n\t\t\t\taddFESRNavigationSource(FESRNavigationSource.Cards);\n\t\t\t}\n\t\t};\n\t\tconst actions = [\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"refresh\") as string,\n\t\t\t\ticon: \"sap-icon://refresh\",\n\t\t\t\taction: (oCard: Card) => {\n\t\t\t\t\tthis._refreshCardData(oCard);\n\t\t\t\t},\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\tconst oEntry = await this._getManifestEntryFromCard(oCard, \"sap.insights\");\n\t\t\t\t\treturn oEntry && !oEntry.cacheType;\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"viewFilteredBy\") as string,\n\t\t\t\ticon: \"sap-icon://filter\",\n\t\t\t\taction: (oCard: Card) => {\n\t\t\t\t\tconst cardId = (oCard.getManifestEntry(\"sap.app\") as ISapApp).id;\n\t\t\t\t\t(this.getParent() as InsightsContainer)\n\t\t\t\t\t\t?._getLayout()\n\t\t\t\t\t\t.openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_CARDS, { cardId });\n\t\t\t\t},\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\tconst oEntry = await this._getManifestEntryFromCard(oCard, \"sap.insights\");\n\t\t\t\t\tif (oEntry) {\n\t\t\t\t\t\tconst oCardParams = (oCard.getManifestEntry(\"sap.card\") as ISapCard)?.configuration?.parameters;\n\t\t\t\t\t\tconst aRelevantFilters = oCardParams?._relevantODataFilters?.value || [];\n\t\t\t\t\t\tconst bRelevantFilters = aRelevantFilters?.length;\n\t\t\t\t\t\tconst aRelevantParams = oCardParams?._relevantODataParameters?.value || [];\n\t\t\t\t\t\tconst bRelevantParams = aRelevantParams?.length;\n\t\t\t\t\t\tconst oCardDataSource = (oCard.getManifestEntry(\"sap.app\") as ISapApp).dataSources;\n\t\t\t\t\t\tconst oFilterService = oCardDataSource?.filterService;\n\t\t\t\t\t\tconst oDataSourceSettings = oFilterService?.settings;\n\t\t\t\t\t\t// show ViewFilteredBy Option only if relevantFilters or relevantParameters are there and is OdataV2 version\n\t\t\t\t\t\treturn !!(\n\t\t\t\t\t\t\t(bRelevantFilters || bRelevantParams) &&\n\t\t\t\t\t\t\toDataSourceSettings &&\n\t\t\t\t\t\t\toDataSourceSettings.odataVersion === \"2.0\"\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"Custom\",\n\t\t\t\ttext: this._i18nBundle?.getText(\"navigateToParent\") as string,\n\t\t\t\ticon: \"sap-icon://display-more\",\n\t\t\t\tvisible: async (oCard: Card) => {\n\t\t\t\t\treturn this._getManifestEntryFromCard(oCard, \"sap.insights\").then(async (oEntry: ICardManifest | undefined) => {\n\t\t\t\t\t\tif (oEntry) {\n\t\t\t\t\t\t\tconst parentApp = await this.cardHelperInstance.getParentAppDetails({\n\t\t\t\t\t\t\t\tdescriptorContent: oCard.getManifestEntry(\"/\") as ICardManifest\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (parentApp.semanticObject && parentApp.action) {\n\t\t\t\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\t\t\t\tconst intents: TargetIntent[] = [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\t\t\tsemanticObject: parentApp.semanticObject,\n\t\t\t\t\t\t\t\t\t\t\taction: parentApp.action\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\tconst aResponses = (await navigationService.isNavigationSupported(intents)) as { supported: boolean }[];\n\t\t\t\t\t\t\t\treturn aResponses[0].supported || false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\taction: async (oCard: Card) => {\n\t\t\t\t\tconst parentApp = await this.cardHelperInstance.getParentAppDetails({\n\t\t\t\t\t\tdescriptorContent: oCard.getManifestEntry(\"/\") as ICardManifest\n\t\t\t\t\t});\n\t\t\t\t\tconst sShellHash = parentApp.semanticURL || parentApp.semanticObject;\n\t\t\t\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\t\t\t\tawait navigationService.navigate({\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\tshellHash: sShellHash\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\taddFESRNavigationSource(FESRNavigationSource.Cards);\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t\thost.attachAction(action);\n\t\thost.setProperty(\"actions\", actions);\n\t\tthis.setAggregation(\"host\", host);\n\t}\n\n\t/**\n\t * Updates parameters for an old card extension\n\t * @private\n\t * @param {boolean} bOldCardExtension - Determines whether the card is using an old card extension.\n\t * @param {IcardActionEvent} oEvent - An event object\n\t * @param {ICardActionParameters} oParameters - Parameter object\n\t */\n\n\tprivate _manageOldCardExtension(bOldCardExtension: boolean, oEvent: IcardActionEvent, oParameters: ICardActionParameters) {\n\t\tif (bOldCardExtension) {\n\t\t\tconst oCardSV = new SelectionVariant();\n\t\t\tconst oCardParams = (oEvent.getParameter(\"card\") as Card).getCombinedParameters();\n\t\t\t(oCardParams?._relevantODataParameters as string[]).forEach((sParamName: string) => {\n\t\t\t\tif (oParameters.ibnParams) {\n\t\t\t\t\toParameters.ibnParams[sParamName] = oCardParams[sParamName];\n\t\t\t\t}\n\t\t\t});\n\t\t\t(oCardParams?._relevantODataFilters as string[]).forEach((sFilterName: string) => {\n\t\t\t\tconst oCardParamsFilterName = JSON.parse(oCardParams[sFilterName] as string) as {\n\t\t\t\t\tParameters: unknown;\n\t\t\t\t\tSelectOptions: { PropertyName: string; Ranges: { Sign: string; Option: string; Low: string }[] }[];\n\t\t\t\t};\n\t\t\t\tconst aSelectOptions = oCardParamsFilterName.SelectOptions[0];\n\t\t\t\tconst aRanges = aSelectOptions.Ranges;\n\t\t\t\tif (aRanges?.length === 1 && aRanges[0].Sign === \"I\" && aRanges[0].Option === \"EQ\") {\n\t\t\t\t\tif (oParameters.ibnParams) {\n\t\t\t\t\t\toParameters.ibnParams[sFilterName] = aRanges[0].Low;\n\t\t\t\t\t}\n\t\t\t\t} else if (aRanges?.length > 0) {\n\t\t\t\t\toCardSV.massAddSelectOption(sFilterName, aRanges);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst oTempParam = JSON.parse(oParameters?.ibnParams?.[\"sap-xapp-state-data\"] as string) as Record<string, unknown>;\n\t\t\toTempParam.selectionVariant = oCardSV.toJSONObject();\n\t\t\tif (oParameters.ibnParams) {\n\t\t\t\toParameters.ibnParams[\"sap-xapp-state-data\"] = JSON.stringify(oTempParam);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves actions for a card based on its content type.\n\t *\n\t * @private\n\t * @param {ISapCard} manifest - The manifest object.\n\t * @returns {Array} The content actions.\n\t */\n\tprivate getContentActions(manifest: ISapCard): ICardAction[] {\n\t\tlet actions;\n\t\tif (manifest.type === \"List\") {\n\t\t\tactions = manifest?.content?.item?.actions;\n\t\t} else if (manifest.type === \"Table\") {\n\t\t\tactions = manifest?.content?.row?.actions;\n\t\t} else {\n\t\t\tactions = manifest?.content?.actions;\n\t\t}\n\t\treturn actions || [];\n\t}\n\n\t/**\n\t * Handles the completion of the import process.\n\t *\n\t * @private\n\t */\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"cardsImported\", stateData);\n\t}\n\n\t/**\n\t * Refreshes the data for a given card.\n\t *\n\t * @private\n\t * @param {Card} oCard - The card to refresh.\n\t */\n\tprivate _refreshCardData(oCard: Card) {\n\t\tsap.ui.require([\"sap/insights/base/CacheData\"], (InsightsCacheData: InsightsCacheData) => {\n\t\t\tconst sCardId = (oCard.getManifestEntry(\"sap.app\") as ISapApp)?.id;\n\t\t\tconst cacheDataInstance = InsightsCacheData.getInstance();\n\t\t\tcacheDataInstance.clearCache(sCardId);\n\t\t\toCard.refreshData();\n\t\t});\n\t}\n\n\t/**\n\t * Triggers a full refresh of the Insights Cards's data and UI.\n\t *\n\t * Reloads all the user cards within the Insights Cards section by reinitializing relevant services\n\t * and re-rendering the panel.\n\t *\n\t * @public\n\t * @returns {Promise<void>} A promise that resolves once the Insights Cards section has been refreshed.\n\t */\n\tpublic async refreshData(): Promise<void> {\n\t\ttry {\n\t\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\t\tawait this.cardHelperInstance._refreshUserCards(false);\n\t\t\tawait this.renderPanel();\n\t\t} catch (error) {\n\t\t\tLog.error(\"Failed to refresh cards: \", error instanceof Error ? error.message : (error as string));\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the card helper and page manager if not already done.\n\t *\n\t * @private\n\t * @returns {Promise<void>}\n\t */\n\tprivate async initializeCardHelper(): Promise<void> {\n\t\tif (!this.cardHelperInstance) {\n\t\t\tthis.pageManagerInstance = this.pageManagerInstance || getPageManagerInstance(this);\n\t\t\tconst [cardHelperInstance, hasCustomSpace] = await Promise.all([\n\t\t\t\t(CardHelper as ICardHelper).getServiceAsync(),\n\t\t\t\tthis.pageManagerInstance.hasCustomSpace()\n\t\t\t]);\n\t\t\tthis.cardHelperInstance = cardHelperInstance;\n\t\t\tthis.hasCustomSpace = hasCustomSpace;\n\t\t}\n\t}\n\t/**\n\t * Renders the panel.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the panel is rendered.\n\t */\n\tpublic async renderPanel(): Promise<void> {\n\t\tawait this.initializeCardHelper();\n\t\tawait this.rerenderCards();\n\t\tthis.fireEvent(\"loaded\");\n\t}\n\n\t/**\n\t * Rerenders the cards.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the cards are rerendered.\n\t */\n\tprivate async rerenderCards(skipRecommendation: boolean = false): Promise<void> {\n\t\tif (!this._cardsRendered) {\n\t\t\tthis._cardsRendered = new Promise((resolve, reject) => {\n\t\t\t\tvoid (async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Enable placeholders after updating/rerendering cards\n\t\t\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\n\t\t\t\t\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\t\t\t\t\tthis._showPlaceHolders();\n\t\t\t\t\t\t// Fetch Cards from insights service\n\t\t\t\t\t\tconst preferedCardIDs = this.hasCustomSpace ? PREFERED_CARDS : [];\n\t\t\t\t\t\tconst userVisibleCardModel = await this.cardHelperInstance?._getUserVisibleCardModel(preferedCardIDs);\n\t\t\t\t\t\tconst aCards = userVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\t\t\t\tconst listBinding = userVisibleCardModel?.bindList(\"/cards\");\n\t\t\t\t\t\tif (!listBinding.hasListeners(\"change\")) {\n\t\t\t\t\t\t\tlistBinding?.enableExtendedChangeDetection(true, \"/cards\", {});\n\t\t\t\t\t\t\tlistBinding?.attachChange(async () => {\n\t\t\t\t\t\t\t\tawait (this._cardsRendered ?? Promise.resolve());\n\t\t\t\t\t\t\t\tconst visibleCards = userVisibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\t\t\t\t\t\t\tif (visibleCards.length !== this.aVisibleCardInstances.length && visibleCards.length > 0) {\n\t\t\t\t\t\t\t\t\tthis._showCards(visibleCards);\n\t\t\t\t\t\t\t\t} else if (!visibleCards.length) {\n\t\t\t\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._controlModel.setProperty(\"/userVisibleCards\", aCards);\n\t\t\t\t\t\tlet showRecommendation = await this.getPersonalisationProperty(RECOMMENDATION_PATH);\n\t\t\t\t\t\tif (aCards.length === 0 && showRecommendation === undefined && !skipRecommendation) {\n\t\t\t\t\t\t\tawait this._getRecommendationCards();\n\t\t\t\t\t\t} else if (aCards.length) {\n\t\t\t\t\t\t\tif (showRecommendation === undefined) {\n\t\t\t\t\t\t\t\tawait this._updateRecommendationStatus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// from available cards, check for old recommended cards and update it if present,\n\t\t\t\t\t\t\t// else show available visible cards\n\t\t\t\t\t\t\tawait this.checkForRecommendedCards(aCards);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._cardsRendered = undefined;\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tthis.fireHandleHidePanel();\n\t\t\t\t\t\tthis._cardsRendered = undefined;\n\t\t\t\t\t\tif (error instanceof Error) {\n\t\t\t\t\t\t\tLog.error(error.message);\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t});\n\t\t}\n\t\treturn this._cardsRendered;\n\t}\n\t/**\n\t * Sets the new visible cards in the model and updates the UI.\n\t * @private\n\t */\n\tprivate async setNewVisibleCards() {\n\t\tconst preferedCardIDs = this.hasCustomSpace ? PREFERED_CARDS : [];\n\t\tconst visibleCardModel = await this.cardHelperInstance._getUserVisibleCardModel(preferedCardIDs);\n\t\tconst aNewCards = visibleCardModel.getProperty(\"/cards\") as ICard[];\n\t\tthis._controlModel.setProperty(\"/userVisibleCards\", aNewCards);\n\t\tthis._showCards(aNewCards);\n\t}\n\n\t/**\n\t * Checks for recommended cards and updates their manifests if necessary.\n\t *\n\t * This method iterates through the provided cards to identify recommended cards that need to be updated.\n\t * It regenerates the manifests for these cards, updates the model with the regenerated cards, and displays\n\t * the updated cards. If no recommended cards are found, it displays the original cards.\n\t *\n\t * @param {ICard[]} aCards - An array of card objects to check for recommendations.\n\t * Each card contains a `descriptorContent` property with metadata about the card.\n\t * @returns {Promise<void>} A promise that resolves when the check and updates are complete.\n\t * @private\n\t */\n\tprivate async checkForRecommendedCards(aCards: ICard[]): Promise<void> {\n\t\tlet manifestIds: ICardDetails[] = [];\n\t\taCards.forEach((oVisCard, idx) => {\n\t\t\tlet oCard = oVisCard.descriptorContent;\n\t\t\tif (\n\t\t\t\toCard[\"sap.card\"]?.rec === true &&\n\t\t\t\t(!oCard[\"sap.card\"][\"configuration\"] || !oCard[\"sap.card\"][\"configuration\"][\"csrfTokens\"])\n\t\t\t) {\n\t\t\t\tmanifestIds.push({\n\t\t\t\t\tcardId: oCard?.[\"sap.app\"]?.id as string,\n\t\t\t\t\trank: oCard?.[\"sap.insights\"]?.ranking || oVisCard?.rank,\n\t\t\t\t\tid: oCard?.[\"sap.insights\"]?.[\"parentAppId\"] || \"\",\n\t\t\t\t\ttarget: oCard?.[\"sap.card\"]?.[\"header\"]?.[\"actions\"]?.length\n\t\t\t\t\t\t? (oCard[\"sap.card\"][\"header\"][\"actions\"][0]?.[\"parameters\"] as ICardActionParameters)?.ibnTarget\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tindex: idx\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tif (manifestIds.length) {\n\t\t\tconst uniqueManifestDetails: ICardDetails[] = this.getUniqueManifestDetails(manifestIds);\n\t\t\tconst aUpdatedCards = await this.regenerateCards(uniqueManifestDetails, manifestIds);\n\t\t\tif (aUpdatedCards?.length) {\n\t\t\t\t// Update the model with updated cards\n\t\t\t\tawait this.cardHelperInstance._updateCards(\n\t\t\t\t\taUpdatedCards.map((oCard: ICardDetails) => oCard?.newManifest?.descriptorContent) as ICardManifest[]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait this.setNewVisibleCards();\n\t\t} else {\n\t\t\tthis._showCards(aCards);\n\t\t}\n\t}\n\n\t/**\n\t * Filters and returns a list of unique manifest IDs.\n\t *\n\t * This method iterates through the provided list of manifest IDs and ensures that only unique entries\n\t * are included in the returned list. Uniqueness is determined based on the `id` and `target` properties.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to filter for uniqueness.\n\t * Each object contains properties such as `id` and `target`.\n\t * @returns {ICardDetails[]} An array of unique manifest ID objects.\n\t * @private\n\t */\n\tprivate getUniqueManifestDetails(manifestIds: ICardDetails[]): ICardDetails[] {\n\t\tconst uniqueManifestDetails: ICardDetails[] = [];\n\t\tmanifestIds.forEach((item) => {\n\t\t\tconst exists = uniqueManifestDetails.some(\n\t\t\t\t(existingItem) => existingItem.id === item.id && targetsAreEqual(existingItem.target, item.target)\n\t\t\t);\n\t\t\tif (!exists) {\n\t\t\t\tuniqueManifestDetails.push(JSON.parse(JSON.stringify(item)) as ICardDetails);\n\t\t\t}\n\t\t});\n\t\treturn uniqueManifestDetails;\n\t}\n\n\t/**\n\t * Retrieves and processes card manifests based on the provided manifest IDs.\n\t *\n\t * This method fetches card manifests using the `AppManager` instance,\n\t * and removes duplicate regenerated cards to ensure uniqueness.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to fetch and process.\n\t * Each object contains details such as `id`, `target`, and other card-specific properties.\n\t * @returns {Promise<ICardDetails[]>} A promise that resolves to an array of processed and unique card manifest details.\n\t * @private\n\t */\n\tprivate async _getManifests(manifestIds: ICardDetails[]): Promise<ICardDetails[]> {\n\t\t// from the provided manifestIds which are unique generate new recommended card manifests\n\t\tlet aManifests = await this.appManagerInstance._getCardManifest(undefined, manifestIds);\n\t\tif (aManifests?.length) {\n\t\t\tlet aRegeneratedCards = aManifests.map(function (oCard) {\n\t\t\t\tif (oCard?.[\"sap.card\"]) {\n\t\t\t\t\toCard[\"sap.card\"].rec = true;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tid: oCard[\"sap.app\"]?.id,\n\t\t\t\t\tdescriptorContent: oCard\n\t\t\t\t} as IRegeneratedCard;\n\t\t\t});\n\t\t\t// sometimes same card is recommended more than once, hence remove such duplicates\n\t\t\tlet mappedResults = this._removeDuplicateRegeneratedCards(aRegeneratedCards, manifestIds);\n\t\t\treturn mappedResults;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Regenerates card manifests and updates the original manifest list with the regenerated data.\n\t *\n\t * This method fetches updated card manifests, maps them to their corresponding original cards,\n\t * and updates the `newManifest` property of the original cards. It ensures that the regenerated\n\t * cards are correctly associated with their original counterparts based on a unique key.\n\t *\n\t * @param {ICardDetails[]} manifestIds - An array of manifest ID objects to regenerate.\n\t * Each object contains details such as `id`, `target`, and other card-specific properties.\n\t * @param {ICardDetails[]} allManifestIds - An array of all manifest ID objects, including those\n\t * that need to be updated with regenerated manifests.\n\t * @returns {Promise<ICardDetails[] | undefined>} A promise that resolves to an array of updated card details,\n\t * or `undefined` if an error occurs.\n\t * @private\n\t */\n\tprivate async regenerateCards(manifestIds: ICardDetails[], allManifestIds: ICardDetails[]): Promise<ICardDetails[] | undefined> {\n\t\ttry {\n\t\t\tlet aMappedManifest = await this._getManifests(manifestIds);\n\n\t\t\t// create unique identifier for each card based on its id and target properties.\n\t\t\tconst createUniqueKey = (item: ICardDetails): string => {\n\t\t\t\tif (item?.target?.semanticObject && item?.target?.action) {\n\t\t\t\t\treturn item.id + \"|\" + item.target.semanticObject + \"|\" + item.target.action;\n\t\t\t\t}\n\t\t\t\treturn item.id; // Return just the id if the target is invalid\n\t\t\t};\n\n\t\t\tlet uniqueMap: Record<string, IRegeneratedCard> = {};\n\t\t\t// Create a map of unique keys to newManifest data\n\t\t\t// Iterate through the aMappedManifest array and populate the uniqueMap with unique keys and their corresponding newManifest data\n\t\t\t// This ensures that each unique key maps to its respective newManifest data, allowing for easy retrieval later.\n\t\t\t// This is done to avoid duplicates and ensure that each card is only represented once in the final output.\n\t\t\taMappedManifest.forEach(function (item) {\n\t\t\t\tlet uniqueKey = createUniqueKey(item);\n\t\t\t\tif (item.newManifest) {\n\t\t\t\t\tuniqueMap[uniqueKey] = item.newManifest;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tlet aUpdatedCards: ICardDetails[] = [];\n\t\t\tif (aMappedManifest.length) {\n\t\t\t\t// Map newManifest data back into allManifestIds based on the uniquekey\n\t\t\t\tallManifestIds.forEach(function (oCard) {\n\t\t\t\t\tlet uniqueKey = createUniqueKey(oCard);\n\t\t\t\t\t// Check if the uniqueKey exists in the uniqueMap, if present, assign the corresponding newManifest data to the oCard object\n\t\t\t\t\t// This effectively updates the oCard object with the newManifest data, allowing for further processing or rendering.\n\t\t\t\t\t// This is done to ensure that the original card objects are updated with the newManifest data, allowing for further processing or rendering.\n\t\t\t\t\tif (uniqueMap[uniqueKey]) {\n\t\t\t\t\t\toCard.newManifest = uniqueMap[uniqueKey];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newManifest = oCard[\"newManifest\"];\n\t\t\t\t\tconst descriptorContent = newManifest?.descriptorContent;\n\t\t\t\t\tif (descriptorContent) {\n\t\t\t\t\t\tdescriptorContent[\"sap.insights\"] = {\n\t\t\t\t\t\t\t...descriptorContent[\"sap.insights\"],\n\t\t\t\t\t\t\tranking: oCard.rank\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (descriptorContent[\"sap.app\"]) {\n\t\t\t\t\t\t\tdescriptorContent[\"sap.app\"].id = oCard.cardId;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewManifest.id = oCard.cardId;\n\t\t\t\t\t\taUpdatedCards.push(JSON.parse(JSON.stringify(oCard)) as ICardDetails);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn aUpdatedCards;\n\t\t} catch (oError) {\n\t\t\tLog.error(oError instanceof Error ? oError.message : String(oError));\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\t/**\n\t * Removes duplicate regenerated cards and maps them to their corresponding original cards.\n\t *\n\t * This method processes a list of regenerated cards and maps them to their corresponding original cards\n\t * based on their `id`. If a regenerated card matches an original card, it is added as the `newManifest`\n\t * property of the original card. The method ensures that each original card is updated with its corresponding\n\t * regenerated card, if available.\n\t *\n\t * @param {IRegeneratedCard[]} aCards - An array of regenerated cards. Each card contains a `descriptorContent` property\n\t * that includes metadata about the card.\n\t * @param {ICardDetails[]} aOriginalList - An array of original card details. Each card contains an `id` property\n\t * that is used to match it with regenerated cards.\n\t * @returns {ICardDetails[]} An array of original card details, with the `newManifest` property updated for cards\n\t * that have matching regenerated cards.\n\t * @private\n\t */\n\tprivate _removeDuplicateRegeneratedCards(aCards: IRegeneratedCard[], aOriginalList: ICardDetails[]): ICardDetails[] {\n\t\t// Create a mapping from aOriginalList for easy access (grouping by id)\n\t\tconst originalMap = {} as Record<string, ICardDetails>;\n\t\taOriginalList.forEach((originalItem) => {\n\t\t\tif (originalItem.id) {\n\t\t\t\toriginalMap[originalItem.id] = JSON.parse(JSON.stringify(originalItem)) as ICardDetails;\n\t\t\t}\n\t\t});\n\n\t\t// Process each card in aCards\n\t\taCards.forEach(function (oCard) {\n\t\t\tconst sCardId = oCard?.descriptorContent?.[\"sap.insights\"]?.parentAppId as string;\n\t\t\t// Check if we have a matching original list item\n\t\t\tif (sCardId && originalMap[sCardId]) {\n\t\t\t\tconst originalItem = originalMap[sCardId];\n\t\t\t\t// Check if updatedManifest already added\n\t\t\t\tif (!originalItem[\"newManifest\"]) {\n\t\t\t\t\t// Map newManifest to the original item\n\t\t\t\t\toriginalItem[\"newManifest\"] = oCard;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn Object.values(originalMap);\n\t}\n\n\t/**\n\t * Retrieves personalization data from the personalization service.\n\t *\n\t * This method ensures that the personalization service (`oPersonalizer`) is initialized\n\t * and fetches the latest personalization data. If no data is found, it returns an empty object.\n\t *\n\t * @private\n\t * @returns {Promise<IPersonalizationData>} A promise that resolves to the personalization data.\n\t * If no data is available, an empty object is returned.\n\t */\n\tprivate async _getPersonalizationData(): Promise<IPersonalizationData> {\n\t\tif (!this.oPersonalizer) {\n\t\t\tthis.oPersonalizer = await this._getPersonalization();\n\t\t}\n\t\tconst oPersData = await this.oPersonalizer.read();\n\t\treturn oPersData || {};\n\t}\n\n\t// Fetch personalization data property value\n\tprivate async getPersonalisationProperty(propertyKey: string) {\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\treturn oPersData?.[propertyKey as keyof IPersonalizationData];\n\t}\n\n\t/**\n\t * Checks for recommendation cards.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the check is complete.\n\t */\n\tprivate async _getRecommendationCards() {\n\t\tconst aRecommendedCards = await this.appManagerInstance.getRecommenedCards();\n\t\tif (aRecommendedCards?.length) {\n\t\t\treturn this._handleRecommendationCards(aRecommendedCards);\n\t\t}\n\t\tthis.fireHandleHidePanel();\n\t}\n\n\t/**\n\t * Handle Recommendation Cards\n\t * @param aRecommendedCards\n\t * @private\n\t */\n\tprivate async _handleRecommendationCards(aRecommendedCards: ICard[]) {\n\t\tconst cardManifests = aRecommendedCards.map((oCard) => oCard.descriptorContent);\n\t\tawait this.cardHelperInstance?._createCards(cardManifests);\n\t\tawait this._updateRecommendationStatus();\n\t\treturn this.setNewVisibleCards();\n\t}\n\n\t/**\n\t * Sets up the wrapper for the cards.\n\t *\n\t * @private\n\t */\n\tprivate _setupWrapper() {\n\t\tif (!this._cardsFlexWrapper) {\n\t\t\tthis._cardsFlexWrapper = new VBox(`${this.getId()}-cardsFlexWrapper`, {\n\t\t\t\trenderType: \"Bare\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\titems: [this._createCardContainer(), this._createMobileCardContainer()]\n\t\t\t});\n\t\t\tthis._cardsFlexWrapper.setModel(this._controlModel);\n\t\t\tthis.addContent(this._cardsFlexWrapper);\n\t\t}\n\t}\n\n\t/**\n\t * Creates the card container.\n\t *\n\t * @private\n\t * @returns {GridContainer} The card container.\n\t */\n\tprivate _createCardContainer() {\n\t\tthis.cardsContainerSettings = new GridContainerSettings(`${this.getId()}-insightsCardsContainerSettings`, {\n\t\t\tcolumnSize: this.cardWidth,\n\t\t\trowSize: this.cardHeight,\n\t\t\tgap: \"1rem\"\n\t\t});\n\t\tthis.cardsContainer = new GridContainer(`${this.getId()}-insightsCardsFlexBox`, {\n\t\t\tvisible: \"{= !${/isPhone}}\"\n\t\t})\n\t\t\t.addStyleClass(\"sapUiSmallMarginTop\")\n\t\t\t.setLayout(this.cardsContainerSettings);\n\t\tthis.cardsContainer.setModel(this._controlModel);\n\t\tthis.addDragDropConfigTo(this.cardsContainer, (oEvent) => this._handleCardsDnd(oEvent));\n\n\t\treturn this.cardsContainer;\n\t}\n\n\t/**\n\t * Creates the mobile card container.\n\t *\n\t * @private\n\t * @returns {HeaderContainer} The mobile card container.\n\t */\n\tprivate _createMobileCardContainer() {\n\t\tthis.cardsMobileContainer = new HeaderContainer(`${this.getId()}-insightsCardsMobileFlexBox`, {\n\t\t\tscrollStep: 0,\n\t\t\tscrollStepByItem: 1,\n\t\t\tgridLayout: true,\n\t\t\tscrollTime: 1000,\n\t\t\tshowDividers: false,\n\t\t\tvisible: \"{/isPhone}\"\n\t\t}).addStyleClass(\"sapCuxInsightsMobileCardsContainer\");\n\t\tthis.cardsMobileContainer.setModel(this._controlModel);\n\t\tthis.addDragDropConfigTo(this.cardsMobileContainer, (oEvent) => this._handleCardsDnd(oEvent));\n\n\t\treturn this.cardsMobileContainer;\n\t}\n\n\t/**\n\t * Displays placeholder cards while loading.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _showPlaceHolders() {\n\t\tconst cardManifest = this.appManagerInstance._getAnalyticalCardManifest();\n\t\tconst placeholderArray = new Array(this._calculatePlaceholderCardCount()).fill(null);\n\t\tconst aInsightsCards = placeholderArray.map((_, index: number) => {\n\t\t\tconst card = new Card(recycleId(`${this.getId()}--placeHolderCard--${index}`), {\n\t\t\t\twidth: this.cardWidth,\n\t\t\t\theight: this.cardHeight,\n\t\t\t\tpreviewMode: \"Abstract\",\n\t\t\t\tmanifest: cardManifest,\n\t\t\t\thost: this.getAggregation(\"host\") as Control\n\t\t\t}).addStyleClass(\"sapUiSmallMarginEnd\");\n\t\t\treturn card;\n\t\t});\n\t\t// Create Wrapper HBox for Card\n\t\tconst oPreviewHBox = new HBox(recycleId(`${this.getId()}--wrapperBox`), {\n\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\titems: aInsightsCards\n\t\t});\n\n\t\t// add HBox as item to GridList\n\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\tif (sDefaultAggreName) {\n\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, oPreviewHBox);\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the number of placeholder cards that can fit within the available container width.\n\t *\n\t * @private\n\t * @returns {number} The number of placeholder cards that should be displayed. Defaults to 1 if no valid count is determined.\n\t */\n\tprivate _calculatePlaceholderCardCount(): number {\n\t\tconst layoutDomRef = this._getInsightsContainer()?._getLayout()?.getDomRef();\n\t\tlet count = 0;\n\t\tif (layoutDomRef) {\n\t\t\tconst sectionDomRef = layoutDomRef.childNodes[0] as Element;\n\t\t\tconst domProperties = fetchElementProperties(sectionDomRef, [\"width\", \"padding-left\", \"padding-right\"]);\n\t\t\tlet availableWidth = domProperties.width - domProperties[\"padding-left\"] - domProperties[\"padding-right\"];\n\t\t\tconst cardLayoutConfig = {\n\t\t\t\tcontainerWidth: availableWidth,\n\t\t\t\ttotalCards: Constants.PLACEHOLDER_CARD_COUNT,\n\t\t\t\tminWidth: 304,\n\t\t\t\tmaxWidth: 583,\n\t\t\t\tgap: 16\n\t\t\t};\n\t\t\tconst cardWidth = this.getDeviceType() === DeviceType.Mobile ? 19 : calculateCardWidth(cardLayoutConfig);\n\n\t\t\t// Calculate and log the number of cards that can fit\n\t\t\tcount =\n\t\t\t\tthis.getDeviceType() === DeviceType.Mobile\n\t\t\t\t\t? this.aVisibleCardInstances.length\n\t\t\t\t\t: Math.floor(availableWidth / (cardWidth + Constants.CARDS_GAP));\n\t\t\tthis.cardWidth = `${cardWidth / 16}rem`;\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\t/**\n\t * Displays the cards.\n\t *\n\t * @private\n\t * @param {ICard[]} aCards - The cards to display.\n\t */\n\tprivate _showCards(aCards: ICard[]) {\n\t\tconst panelName = this.getMetadata().getName();\n\t\tthis.fireHandleUnhidePanel();\n\t\tthis._getInsightsContainer()?.updatePanelsItemCount(aCards.length, panelName);\n\t\tif (this._headerVisible) {\n\t\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsCards\")} (${aCards.length})`);\n\t\t}\n\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\tthis.aVisibleCardInstances = [];\n\t\tthis.cardsInViewport = [];\n\n\t\t// Setup Host For Cards\n\t\tif (!runtimeHostCreated) {\n\t\t\tthis._addRuntimeHost();\n\t\t\truntimeHostCreated = true;\n\t\t}\n\n\t\taCards.forEach((oCard, index) => {\n\t\t\tconst manifest = oCard.descriptorContent;\n\t\t\t// Create Card Instance\n\t\t\tconst oUserCard = new Card(recycleId(`${this.getId()}--userCard--${index}`), {\n\t\t\t\twidth: this.cardWidth,\n\t\t\t\theight: this.cardHeight,\n\t\t\t\tmanifest,\n\t\t\t\thost: this.getAggregation(\"host\") as Control\n\t\t\t});\n\n\t\t\tthis.aVisibleCardInstances.push(oUserCard);\n\n\t\t\tthis.addAggregation(\"cards\", oUserCard, true);\n\n\t\t\tconst items: Control[] = [oUserCard];\n\n\t\t\t// Add overlay in case of List and Table Card\n\t\t\tconst sType = manifest[\"sap.card\"]?.type;\n\t\t\tif (sType === \"Table\" || sType === \"List\") {\n\t\t\t\tconst overlay = new HBox(recycleId(`${this.getId()}--overlay--${index}`), {\n\t\t\t\t\twidth: this.cardWidth,\n\t\t\t\t\theight: \"2rem\"\n\t\t\t\t}).addStyleClass(\"insightsCardOverflowTop\");\n\t\t\t\tconst overlayHBoxWrapper = new HBox(recycleId(`${this.getId()}--overlayHBoxId--${index}`), {\n\t\t\t\t\theight: \"0\"\n\t\t\t\t}).addStyleClass(\"sapMFlexBoxJustifyCenter\");\n\t\t\t\toverlayHBoxWrapper.addItem(overlay);\n\t\t\t\titems.push(overlayHBoxWrapper);\n\t\t\t}\n\n\t\t\t// Create Wrapper VBox for Card\n\t\t\tconst oPreviewVBox = new VBox(recycleId(`${this.getId()}--previewBoxId--${index}`), {\n\t\t\t\tdirection: \"Column\",\n\t\t\t\tjustifyContent: \"Center\",\n\t\t\t\titems: items\n\t\t\t});\n\n\t\t\t// add VBox as item to GridList\n\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, oPreviewVBox);\n\t\t});\n\t}\n\n\t/**\n\t * Handles the edit cards event.\n\t *\n\t * @private\n\t * @param {Event} event - The event object.\n\t */\n\tprivate _handleEditCards(event: Event) {\n\t\t/* If called from Panel Header event.source() will return TilesPanel, if called from Insights Container event.source() will return InsightsContainer.\n\t\t_getLayout is available at Container Level*/\n\t\tlet parent: ManagedObject = event.getSource<CardsPanel>().getParent() || this;\n\t\tif (parent instanceof CardsPanel) {\n\t\t\tparent = parent.getParent() as ManagedObject;\n\t\t}\n\t\t(parent as InsightsContainer)?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_CARDS);\n\t}\n\n\t/**\n\t * Hides the header of the cards panel.\n\t *\n\t * @private\n\t */\n\tpublic handleHideHeader() {\n\t\tthis._headerVisible = false;\n\t\tthis.setProperty(\"title\", \"\");\n\t\tthis._toggleHeaderActions(false);\n\t}\n\n\t/**\n\t * Adds the header to the cards panel.\n\t *\n\t * @private\n\t */\n\tpublic handleAddHeader() {\n\t\tthis._headerVisible = true;\n\t\tthis.setProperty(\n\t\t\t\"title\",\n\t\t\t`${this._i18nBundle?.getText(\"insightsCards\")} (${(this._controlModel.getProperty(\"/userVisibleCards\") as ICard[])?.length})`\n\t\t);\n\t\tthis._toggleHeaderActions(true);\n\t}\n\n\t/**\n\t * Refreshes the cards.\n\t *\n\t * @private\n\t */\n\tprivate refreshCards() {\n\t\t// This should be done via Host once implemented\n\t\tthis.aVisibleCardInstances.forEach((card) => this._refreshCardData(card));\n\t}\n\n\t/**\n\t * Handles the drag and drop of cards.\n\t *\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} oEvent - The drop event parameters.\n\t */\n\tprivate async _handleCardsDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter(\"dropPosition\") as string,\n\t\t\toDragItem = oEvent.getParameter(\"draggedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as GridContainer)?.indexOfItem(oDragItem),\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDropItemIndex = (oDragItem.getParent() as GridContainer).indexOfItem(oDropItem);\n\n\t\tthis._cardsFlexWrapper?.setBusy(true);\n\t\t// take the moved item from dragIndex and add to dropindex\n\t\ttry {\n\t\t\tif (!(this._controlModel.getProperty(\"/userAllCards\") as ICard[]).length) {\n\t\t\t\tconst userAllCardsModel = await this.cardHelperInstance._getUserAllCardModel();\n\t\t\t\tthis._controlModel.setProperty(\"/userAllCards\", userAllCardsModel.getProperty(\"/cards\"));\n\t\t\t\tawait this.updateCardList(sInsertPosition, iDropItemIndex, iDragItemIndex);\n\t\t\t} else {\n\t\t\t\tawait this.updateCardList(sInsertPosition, iDropItemIndex, iDragItemIndex);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tfocusDraggedItem(this._getCardContainer(), iDropItemIndex);\n\t\t\t}, 0);\n\t\t} catch (error) {\n\t\t\tif (error instanceof Error) {\n\t\t\t\tLog.error(error.message);\n\t\t\t}\n\t\t} finally {\n\t\t\tthis._cardsFlexWrapper?.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Updates the card list based on the drag and drop operation.\n\t *\n\t * @private\n\t * @param {string} sInsertPosition - The position to insert the item.\n\t * @param {number} iDropItemIndex - The index of the dropped item.\n\t * @param {number} iDragItemIndex - The index of the dragged item.\n\t * @returns {Promise<void>} A promise that resolves when the card list is updated.\n\t */\n\tprivate async updateCardList(sInsertPosition: string, iDropItemIndex: number, iDragItemIndex: number) {\n\t\tconst aUserVisibleCards = this._controlModel.getProperty(\"/userVisibleCards\") as ICard[],\n\t\t\taUserAllCards = this._controlModel.getProperty(\"/userAllCards\") as ICard[],\n\t\t\tsDragedPositionRank = aUserVisibleCards[iDragItemIndex]?.rank,\n\t\t\tsDropedPositionRank = aUserVisibleCards[iDropItemIndex]?.rank;\n\t\tlet iUpdatedDragItemIndex = aUserAllCards.findIndex((oCard: ICard) => oCard.rank === sDragedPositionRank),\n\t\t\tiUpdatedDropItemIndex = aUserAllCards.findIndex((oCard: ICard) => oCard.rank === sDropedPositionRank);\n\n\t\tif (\n\t\t\t(sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) ||\n\t\t\t(sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) ||\n\t\t\tiDragItemIndex === iDropItemIndex\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (sInsertPosition === \"Before\" && iUpdatedDragItemIndex < iUpdatedDropItemIndex) {\n\t\t\tiUpdatedDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iUpdatedDragItemIndex > iUpdatedDropItemIndex) {\n\t\t\tiUpdatedDropItemIndex++;\n\t\t}\n\t\tif (iUpdatedDragItemIndex !== iUpdatedDropItemIndex) {\n\t\t\tconst aUpdatedCards = this.cardHelperInstance.handleDndCardsRanking(\n\t\t\t\tiUpdatedDragItemIndex,\n\t\t\t\tiUpdatedDropItemIndex,\n\t\t\t\taUserAllCards\n\t\t\t);\n\t\t\tawait this.cardHelperInstance._updateMultipleCards(aUpdatedCards, \"PUT\");\n\t\t\tthis._sortCardsOnRank(aUserAllCards);\n\t\t\tthis._controlModel.setProperty(\"/userAllCards\", aUserAllCards);\n\t\t\tthis._controlModel.setProperty(\n\t\t\t\t\"/userVisibleCards\",\n\t\t\t\taUserAllCards.filter((oCard: ICard) => oCard.visibility)\n\t\t\t);\n\t\t\tawait this.rerenderCards();\n\t\t}\n\t}\n\n\t/**\n\t * Sorts the cards based on their rank property.\n\t *\n\t * @private\n\t * @param {ICard[]} aCards - The array of cards to sort.\n\t */\n\tprivate _sortCardsOnRank(aCards: ICard[]) {\n\t\t// Sort Cards based on it rank property where rank is a alphanumeric string\n\t\taCards.sort((a, b) => {\n\t\t\tif (a.rank && b.rank) {\n\t\t\t\tif (a.rank < b.rank) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (a.rank > b.rank) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the personalization instance.\n\t *\n\t * @private\n\t * @returns {UShellPersonalizer} The personalization instance.\n\t */\n\tpublic _getPersonalization() {\n\t\tconst persContainerId = PersonalisationUtils.getPersContainerId(this);\n\t\tconst ownerComponent = PersonalisationUtils.getOwnerComponent(this) as Component;\n\t\treturn UShellPersonalizer.getInstance(persContainerId, ownerComponent);\n\t}\n\n\t/**\n\t * Updates the recommendation status based on the feature toggle.\n\t * @returns {Promise} A promise that resolves when the recommendation status is updated.\n\t */\n\tprivate async _updateRecommendationStatus() {\n\t\tconst oPersData = await this._getPersonalizationData();\n\t\toPersData[RECOMMENDATION_PATH] = true;\n\t\treturn this.oPersonalizer.write(oPersData);\n\t}\n\n\t/**\n\t * Calculates the number of visible cards that can fit within the available width of the parent container.\n\t *\n\t * @private\n\t * @returns {number} - The number of visible cards.\n\t */\n\tprivate _calculateVisibleCardCount() {\n\t\tconst layout = this._getInsightsContainer()._getLayout();\n\t\tconst pageDomRef = layout.getDomRef();\n\t\tconst deviceType = this.getDeviceType();\n\t\tlet count = 1;\n\n\t\tif (pageDomRef) {\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst sectionNodeIndex = isHeaderVisible ? 1 : 0;\n\t\t\tconst sectionDomRef = pageDomRef.childNodes[sectionNodeIndex] as Element;\n\t\t\tconst domProperties = fetchElementProperties(sectionDomRef, [\"width\", \"padding-left\", \"padding-right\"]);\n\t\t\tconst iAvailableWidth = domProperties.width - domProperties[\"padding-left\"] - domProperties[\"padding-right\"];\n\t\t\tconst totalCards = this.aVisibleCardInstances.length;\n\n\t\t\tconst cardLayoutConfig = { containerWidth: iAvailableWidth, totalCards: totalCards, minWidth: 304, maxWidth: 583, gap: 16 };\n\t\t\tconst cardWidth = calculateCardWidth(cardLayoutConfig);\n\t\t\tthis.cardWidth = `${cardWidth / 16}rem`;\n\t\t\tif (deviceType === DeviceType.Mobile) {\n\t\t\t\tcount = totalCards;\n\t\t\t} else {\n\t\t\t\t// Multiply by 16 because `cardWidth` is in rems\n\t\t\t\tcount = Math.max(Math.floor(iAvailableWidth / cardWidth), 1);\n\t\t\t}\n\t\t}\n\n\t\treturn count;\n\t}\n\n\t/**\n\t * Adjusts the layout of the cards panel based on the current layout and device type.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic _adjustLayout() {\n\t\tconst layout = this._getInsightsContainer()?._getLayout();\n\t\tlet cardWidth = this.cardWidth;\n\t\tconst isMobileDevice = this.getDeviceType() === DeviceType.Mobile;\n\n\t\tif (layout && this.aVisibleCardInstances?.length > 0) {\n\t\t\tconst isElementExpanded = layout._getCurrentExpandedElementName() === this.getProperty(\"fullScreenName\");\n\n\t\t\t//_calculateVisibleCardCount needs to be called in all scenarios to get the correct card width according to device width.\n\t\t\t//if expanded, again the card count is reset to available cards count\n\t\t\tlet cardCount = this._calculateVisibleCardCount();\n\t\t\tif (isElementExpanded) {\n\t\t\t\tcardCount = this.aVisibleCardInstances.length;\n\t\t\t}\n\t\t\tthis._controlModel.setProperty(\"/isPhone\", isMobileDevice);\n\n\t\t\t// update cards in viewport\n\t\t\tif (cardCount !== this.cardsInViewport.length) {\n\t\t\t\tthis.cardsInViewport = this.aVisibleCardInstances.slice(0, cardCount);\n\n\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\t\tthis._getCardContainer().removeAllAggregation(sDefaultAggreName);\n\t\t\t\tthis.cardsInViewport.forEach((card) => {\n\t\t\t\t\tconst manifest = card.getManifest() as ICardManifest;\n\t\t\t\t\tconst sType = manifest[\"sap.card\"]?.type;\n\t\t\t\t\tlet overlayHBoxWrapper!: HBox;\n\t\t\t\t\tif (sType === \"Table\" || sType === \"List\") {\n\t\t\t\t\t\tconst overlay = new HBox({\n\t\t\t\t\t\t\twidth: this.cardWidth,\n\t\t\t\t\t\t\theight: \"2rem\"\n\t\t\t\t\t\t}).addStyleClass(\"insightsCardOverflowLayer insightsCardOverflowTop\");\n\t\t\t\t\t\toverlayHBoxWrapper = new HBox({\n\t\t\t\t\t\t\theight: \"0\"\n\t\t\t\t\t\t}).addStyleClass(\"sapMFlexBoxJustifyCenter\");\n\t\t\t\t\t\toverlayHBoxWrapper.addItem(overlay);\n\t\t\t\t\t}\n\t\t\t\t\tconst cardWrapper = new VBox({\n\t\t\t\t\t\tdirection: \"Column\",\n\t\t\t\t\t\tjustifyContent: \"Center\",\n\t\t\t\t\t\titems: [card]\n\t\t\t\t\t});\n\t\t\t\t\tif (overlayHBoxWrapper) {\n\t\t\t\t\t\tcardWrapper.addItem(overlayHBoxWrapper);\n\t\t\t\t\t}\n\t\t\t\t\tconst sDefaultAggreName = this._getCardContainer().getMetadata().getDefaultAggregationName();\n\t\t\t\t\tthis._getCardContainer().addAggregation(sDefaultAggreName, cardWrapper);\n\t\t\t\t});\n\n\t\t\t\tthis.shareCardsInViewport();\n\t\t\t}\n\n\t\t\t// show/hide Full Screen Button if available\n\t\t\tconst showFullScreenButton = isElementExpanded || this.aVisibleCardInstances.length > cardCount;\n\t\t\tif (this._headerVisible) {\n\t\t\t\tthis._getInsightsContainer()?.toggleFullScreenElements(this, showFullScreenButton);\n\t\t\t} else {\n\t\t\t\tconst fullScreenButton = getAssociatedFullScreenMenuItem(this);\n\t\t\t\tconst fullScreenText = fullScreenButton?.getTitle();\n\t\t\t\tthis._getInsightsContainer()?.updateMenuItem(\n\t\t\t\t\tthis._controlMap.get(`${this.getId()}-${cardsContainerMenuItems.SHOW_MORE}`) as MenuItem,\n\t\t\t\t\tshowFullScreenButton,\n\t\t\t\t\tfullScreenText\n\t\t\t\t);\n\t\t\t\tthis._getInsightsContainer()?.updateActionButton(\n\t\t\t\t\tthis._controlMap.get(`${this.getId()}-${cardsContainerActionButtons.SHOW_MORE}`) as Button,\n\t\t\t\t\tshowFullScreenButton,\n\t\t\t\t\tfullScreenText\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.cardWidth = this.getDeviceType() === DeviceType.Mobile ? \"19rem\" : \"22rem\";\n\t\t}\n\n\t\t// update width of cards on resize\n\t\tif (cardWidth !== this.cardWidth) {\n\t\t\tthis.aVisibleCardInstances.forEach((card) => card.setWidth(this.cardWidth));\n\t\t\tthis.cardsContainerSettings?.setColumnSize(this.cardWidth);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the menu items for the container.\n\t *\n\t * @private\n\t * @returns {MenuItem[]} An array of MenuItem instances.\n\t */\n\tpublic getContainerMenuItems(): MenuItem[] {\n\t\tif (!this._containerMenuItems) {\n\t\t\tconst containerRefreshMenuItem = this._createRefreshMenuItem(cardsContainerMenuItems.REFRESH, \"containerCardsRefresh\");\n\t\t\tconst containerEditCardsMenuItem = this._createEditCardsMenuItem(cardsContainerMenuItems.EDIT_CARDS, \"containerManageCards\");\n\t\t\tconst containerShowMoreMenuItem = createShowMoreMenuItem(this, cardsContainerMenuItems.SHOW_MORE, \"containerCardsShowMore\");\n\t\t\tthis._controlMap.set(`${this.getId()}-${cardsContainerMenuItems.SHOW_MORE}`, containerShowMoreMenuItem);\n\t\t\tthis._containerMenuItems = [containerRefreshMenuItem, containerEditCardsMenuItem, containerShowMoreMenuItem];\n\t\t}\n\t\treturn this._containerMenuItems;\n\t}\n\n\t/**\n\t * Retrieves the action buttons for the container.\n\t *\n\t * @private\n\t * @returns {Button[]} An array of Button instances.\n\t */\n\tpublic getContainerActionButtons(): Button[] {\n\t\tif (!this._containerActionButtons) {\n\t\t\tthis._containerActionButtons = [];\n\t\t\tconst actionButton = createShowMoreActionButton(this, cardsContainerActionButtons.SHOW_MORE, \"containerCardsShowMore\");\n\t\t\tif (actionButton) {\n\t\t\t\tthis._controlMap.set(`${this.getId()}-${cardsContainerActionButtons.SHOW_MORE}`, actionButton);\n\t\t\t\tthis._containerActionButtons.push(actionButton);\n\t\t\t}\n\t\t}\n\n\t\treturn this._containerActionButtons;\n\t}\n\n\t/**\n\t * Retrieves the insights container.\n\t *\n\t * @private\n\t * @returns {InsightsContainer} - The insights container.\n\t */\n\tprivate _getInsightsContainer(): InsightsContainer {\n\t\tif (!this.insightsContainer) {\n\t\t\tthis.insightsContainer = this.getParent() as InsightsContainer;\n\t\t}\n\t\treturn this.insightsContainer;\n\t}\n\n\t/**\n\t * Creates the refresh menu item.\n\t *\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} fesrId - The FESR ID of the menu item.\n\t * @returns {MenuItem} - The created menu item.\n\t * @private\n\t */\n\tprivate _createRefreshMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"refresh\"),\n\t\t\ticon: \"sap-icon://refresh\",\n\t\t\tvisible: false,\n\t\t\tpress: () => this.refreshCards()\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\tif (fesrId) {\n\t\t\taddFESRId(menuItem, fesrId);\n\t\t}\n\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Creates the edit cards menu item.\n\t *\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} fesrId - The FESR ID of the menu item.\n\t * @returns {MenuItem} - The created menu item.\n\t * @private\n\t */\n\tprivate _createEditCardsMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"manageCards\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tvisible: false,\n\t\t\tpress: (event: Event) => this._handleEditCards(event)\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\tif (fesrId) {\n\t\t\taddFESRId(menuItem, fesrId);\n\t\t}\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Toggles the visibility of the header actions.\n\t *\n\t * @param {boolean} bShow - Whether to show or hide the header actions.\n\t * @private\n\t */\n\tprivate _toggleHeaderActions(bShow: boolean) {\n\t\t(this.getAggregation(\"menuItems\") as MenuItem[])?.forEach((menuItem) => {\n\t\t\tthis._getInsightsContainer()?.toggleMenuListItem(menuItem, bShow);\n\t\t});\n\t\t(this.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton) =>\n\t\t\tthis._getInsightsContainer()?.toggleActionButton(actionButton, bShow)\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves the card container based on the device type.\n\t *\n\t * @private\n\t * @returns {GridContainer | HeaderContainer} - The card container.\n\t *\n\t */\n\tprivate _getCardContainer() {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\treturn this.cardsMobileContainer;\n\t\t}\n\t\treturn this.cardsContainer;\n\t}\n\n\t/**\n\t * Sorts the menu items based on the provided order.\n\t *\n\t * @private\n\t * @param {string[]} menuItems - The order of the menu items.\n\t */\n\tprivate _sortMenuItems(menuItems: string[]) {\n\t\tconst panelMenuItems = this.getAggregation(\"menuItems\") as MenuItem[];\n\t\tlet sortedMenuItems = sortMenuItems(menuItems, panelMenuItems);\n\t\tthis.removeAllAggregation(\"menuItems\");\n\t\tsortedMenuItems?.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t}\n\n\t/**\n\t * Shares the cards that are currently in the viewport by firing the \"visibleCardsUpdated\" event.\n\t *\n\t * @private\n\t */\n\tprivate shareCardsInViewport() {\n\t\tconst cardCount = this._calculateVisibleCardCount();\n\t\tconst visibleCards = this._controlModel.getProperty(\"/userVisibleCards\") as ICard[];\n\t\tconst cardsInViewport = visibleCards?.slice(0, cardCount);\n\t\tif (cardsInViewport?.length) {\n\t\t\tthis.fireEvent(\"visibleCardsUpdated\", { cards: cardsInViewport });\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\truntimeHostCreated = false;\n\t\t(this.getAggregation(\"host\") as Host)?.destroy();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}