@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":"TilesPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerItemLayoutData","Button","CustomListItem","Dialog","GenericTile","HBox","HeaderContainer","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","Label","List","ObjectIdentifier","Title","VBox","sap_m_library","EventBus","Icon","Lib","JSONModel","Config","Container","S4MyHome","__BasePanel","__MenuItem","___utils_Accessibility","__AppManager","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","___utils_InsightsUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","_finallyRethrows","finalizer","bind","LoadState","BasePanel","MenuItem","checkPanelExists","AppManager","DEFAULT_BG_COLOR","END_USER_COLORS","MYHOME_PAGE_ID","MYINSIGHT_SECTION_ID","SETTINGS_PANELS_KEYS","recycleId","DeviceType","fetchElementProperties","focusDraggedItem","addFESRId","addFESRSemanticStepName","FESR_EVENTS","createShowMoreActionButton","createShowMoreMenuItem","getAssociatedFullScreenMenuItem","sortMenuItems","tilesMenuItems","tilesContainerMenuItems","tilesActionButtons","tilesContainerActionButtons","DisplayFormat","favAppPanelName","appsConatinerlName","sortedMenuItems","REFRESH","ADD_APPS","EDIT_TILES","_showAddApps","last","StandardTileWidth","StandardWideTileWidth","Gap","TilesPanel","extend","metadata","library","properties","title","type","group","defaultValue","visibility","key","fullScreenName","defaultAggregation","aggregations","content","multiple","singularName","tiles","events","handleHidePanel","parameters","handleUnhidePanel","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_insightsSectionTitle","_i18nBundle","getText","_addFromFavDialogId","getId","aInsightsApps","_headerVisible","init","_init","_this","BasePanel.prototype.init.call","_controlMap","Map","_oData","activateInsightsTiles","activateInsightsTilesOnPhone","activateInsightsTilesOnDesktop","_controlModel","appManagerInstance","getInstance","setProperty","refreshMenuItem","_createRefreshMenuItem","editTilesMenuItem","_createEditTilesMenuItem","menuItems","forEach","menuItem","addAggregation","_sortMenuItems","addTilesButton","_createAddTilesButton","ADD_TILES","actionButtons","actionButton","_createTilesFlexWrapper","getServiceAsync","VizInstantiationService","catch","error","Error","message","String","oEventBus","subscribe","sChannelId","sEventId","oData","Promise","resolve","createInsightSection","_addSectionViz","refreshData","_adjustLayout","_importdone","reject","_toggleTileActivity","_this2","toggleUserActions","event","show","getParameter","_temp2","_temp","_appSwitched","attachRouteMatched","warning","aSectionViz","sSectionId","reduce","promiseChain","oViz","isBookmark","addBookMark","addVisualization","vizId","stateData","status","publish","_showPlaceHolders","placeholderArray","Array","_calculatePlaceholderTileCount","fill","Loading","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","setLayoutData","columns","undefined","_clearPlaceHolders","renderPanel","_renderPanel","_exit","_this3","_temp4","_result","_temp3","container","getParent","addFromFavAppMenuItem","_createAddFromFavMenuItem","_await$_this3$refresh","fireHandleHidePanel","_wasThrown","fireEvent","panelMenuItems","getAggregation","removeAllAggregation","_refreshData","refreshTiles","_this4","panelName","getMetadata","getName","fetchInsightApps","_this4$appManagerInst","_temp6","length","fireHandleUnhidePanel","isMobile","getDeviceType","Mobile","tilesMobileContainer","tilesContainer","sDefaultAggreName","getDefaultAggregationName","dynamicTiles","refresh","_getInsightsContainer","updatePanelsItemCount","bIsSmartBusinessTilePresent","some","oApp","isSmartBusinessTile","_temp5","load","name","_tilesWrapper","renderType","width","items","_createMobileFlexWrapper","_createWrapperFlexBox","setModel","addContent","scrollStep","scrollStepByItem","gridLayout","scrollTime","showDividers","addStyleClass","_attachAggregationToContainer","_updateTilesActivity","isPhoneScreen","bActivateInsightsTiles","Boolean","getProperty","bindAggregation","path","factory","context","getObject","oVisualization","instantiateVisualization","visualization","minRows","getDisplayFormat","Standard","bindProperty","_setDropAreaRectFunction","addDragDropConfigTo","oEvent","_handleTilesDnd","tilesDropAreaOffset","vizObj","getDropAreaRect","Object","defineProperty","value","domRef","getDomRef","mDropRect","getBoundingClientRect","left","right","top","bottom","height","sInsertPosition","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_DragnDropTiles","_this5","oDisplacedItem","oItemMoved","splice","moveConfigs","pageId","sourceSectionIndex","persConfig","sectionIndex","sourceVisualizationIndex","visualizationIndex","targetSectionIndex","targetVisualizationIndex","moveVisualization","setTimeout","handleEditTiles","_handleEditTiles","parent","getSource","_getLayout","openSettingsDialog","INSIGHTS_TILES","handleHideHeader","_handleHideHeader","_toggleHeaderActions","handleAddHeader","_handleAddHeader","_closeAddFromFavDialog","list","get","removeSelections","close","navigateToAppFinder","_navigateToAppFinder","navigationService","navigationObject","pageID","sectionID","navigate","target","shellHash","JSON","stringify","_getLegendColor","color","find","oColor","_handleAddFromFavApps","_this6","_getFavToAdd","appsToAdd","dialog","_generateAddFromFavAppsDialog","setVisible","_generateAddFromFavAppsListItems","open","_this7","fetchFavVizs","aFavApps","aDynamicApps","filter","oDynApp","isCount","aFilteredFavApps","iAppIndex","findIndex","oInsightApps","targetURL","_getSelectedInsights","getSelectedItems","destroyItems","listItems","app","alignItems","src","icon","backgroundColor","BGColor","size","text","subtitle","tooltip","data","item","addItem","setAddBtnEnabled","selectedItems","setEnabled","getAppFinderBtn","btnType","appFinderBtn","press","Default","PRESS","set","selectionChange","addButton","_addFromFavApps","enabled","illustrationSize","Small","illustrationType","AddDimensions","description","wrapping","justifyContent","Transparent","contentWidth","contentHeight","endButton","escapeHandler","buttons","addDependent","_this8","setBusy","_getSections","sections","promise","oMovingConfig","insightsSectionIndex","recentAppSectionIndex","section","visualizations","displayFormatHint","supportedDisplayFormats","_temp7","_calculateVisibleTileCount","insightsApps","layout","layoutDomRef","apps","count","isHeaderVisible","sectionNodeIndex","sectionDomRef","childNodes","domProperties","availableWidth","widthMap","StandardWide","nextTileWidth","Math","floor","isMobileDevice","visibleTileCount","isElementExpanded","_getCurrentExpandedElementName","slice","showFullScreenButton","includes","toggleActionButton","toggleFullScreenElements","fullScreenButton","fullScreenText","getTitle","updateMenuItem","SHOW_MORE","updateActionButton","insightsContainer","getContainerMenuItems","_getContainerMenuItems","_containerMenuItems","containerRefresh","containerEditTiles","containerShowMore","containerAddFromFav","getContainerActionButtons","_getContainerActionButtons","_containerActionButtons","push","containerFullScreenActionButton","fesrId","_this9","_temp8","bShow","toggleMenuListItem"],"sources":["TilesPanel.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 GridContainerItemLayoutData from \"sap/f/GridContainerItemLayoutData\";\nimport Button from \"sap/m/Button\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport Dialog from \"sap/m/Dialog\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport { ButtonType, LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport ManagedObject from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport MenuItem from \"./MenuItem\";\nimport { $TilesPanelSettings } from \"./TilesPanel\";\nimport { ICustomVisualization, ISectionAndVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport { checkPanelExists } from \"./utils/Accessibility\";\nimport AppManager from \"./utils/AppManager\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, MYHOME_PAGE_ID, MYINSIGHT_SECTION_ID, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { createShowMoreActionButton, createShowMoreMenuItem, getAssociatedFullScreenMenuItem, sortMenuItems } from \"./utils/InsightsUtils\";\n\nexport enum tilesMenuItems {\n\tREFRESH = \"tiles-refresh\",\n\tADD_APPS = \"tiles-addSmartApps\",\n\tEDIT_TILES = \"tiles-editTiles\"\n}\n\nexport enum tilesContainerMenuItems {\n\tREFRESH = \"container-tiles-refresh\",\n\tADD_APPS = \"container-tiles-addSmartApps\",\n\tEDIT_TILES = \"container-tiles-editTiles\",\n\tSHOW_MORE = \"tilesContainerFullScreenMenuItem\"\n}\n\nexport enum tilesActionButtons {\n\tADD_TILES = \"tiles-addTilesButton\"\n}\n\nexport enum tilesContainerActionButtons {\n\tADD_TILES = \"container-tiles-addTilesButton\",\n\tSHOW_MORE = \"tilesContanerFullScreenActionButton\"\n}\n\nexport enum DisplayFormat {\n\tStandard = \"standard\",\n\tStandardWide = \"standardWide\"\n}\n\nconst favAppPanelName: string = \"sap.cux.home.FavAppPanel\";\nconst appsConatinerlName: string = \"sap.cux.home.AppsContainer\";\n\nconst sortedMenuItems: (tilesMenuItems | string)[] = [\n\ttilesMenuItems.REFRESH,\n\ttilesMenuItems.ADD_APPS,\n\ttilesMenuItems.EDIT_TILES,\n\t\"showMore\",\n\t\"settings\"\n];\n\nconst _showAddApps = () => {\n\treturn (Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) as boolean;\n};\n\nconst StandardTileWidth = 176;\nconst StandardWideTileWidth = 368;\nconst Gap = 16;\n\n/**\n *\n * Tiles Panel class for managing and storing Insights Tiles.\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.TilesPanel\n */\n\nexport default class TilesPanel extends BasePanel {\n\tconstructor(idOrSettings?: string | $TilesPanelSettings);\n\tconstructor(id?: string, settings?: $TilesPanelSettings);\n\t/**\n\t * Constructor for a new Tiles 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?: $TilesPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\tprivate _oData!: Record<string, unknown>;\n\tprivate readonly _insightsSectionTitle: string = this._i18nBundle.getText(\"insights\") as string;\n\tprivate readonly _addFromFavDialogId: string = `${this.getId()}-addFromFavDialog`;\n\tprivate appManagerInstance!: AppManager;\n\tprivate VizInstantiationService!: VisualizationInstantiation;\n\tprivate tilesContainer!: GridContainer;\n\tprivate tilesMobileContainer!: HeaderContainer;\n\tprivate _tilesWrapper!: VBox;\n\tprivate aInsightsApps: ICustomVisualization[] | GenericTile[] = [];\n\tprivate _controlModel!: JSONModel;\n\tpublic _controlMap!: Map<string, Control | Element | UI5Element>;\n\tprivate _containerMenuItems!: MenuItem[];\n\tprivate _containerActionButtons!: Button[];\n\tprivate oEventBus!: EventBus;\n\tprivate insightsContainer!: InsightsContainer;\n\tprivate _appSwitched!: boolean;\n\tprivate _headerVisible: boolean = false;\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the tiles panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the tiles panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The name of the URL parameter used to expand the container into full-screen mode.\n\t\t\t */\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", defaultValue: \"SI1\", visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"tiles\",\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 tiles available within the tiles Panel\n\t\t\t */\n\t\t\ttiles: { type: \"sap.cux.home.App\", multiple: true, singularName: \"tile\", 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}\n\t};\n\n\t/**\n\t * Initializes the Tiles Panel.\n\t *\n\t * @private\n\t * @override\n\t */\n\tinit() {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\t\t//Initialise Tiles Model\n\t\tthis._oData = {\n\t\t\ttiles: [] as ICustomVisualization[],\n\t\t\tactivateInsightsTiles: true,\n\t\t\tactivateInsightsTilesOnPhone: false,\n\t\t\tactivateInsightsTilesOnDesktop: false\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis.setProperty(\"key\", \"tiles\");\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tconst refreshMenuItem = this._createRefreshMenuItem(tilesMenuItems.REFRESH, \"tilesRefresh\");\n\t\tconst editTilesMenuItem = this._createEditTilesMenuItem(tilesMenuItems.EDIT_TILES, \"manageTiles\");\n\n\t\tconst menuItems = [refreshMenuItem, editTilesMenuItem];\n\t\tmenuItems.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t\tthis._sortMenuItems(sortedMenuItems);\n\n\t\tconst addTilesButton = this._createAddTilesButton(tilesActionButtons.ADD_TILES, \"addTiles\");\n\n\t\tconst actionButtons = [addTilesButton];\n\t\tactionButtons.forEach((actionButton) => this.addAggregation(\"actionButtons\", actionButton));\n\n\t\tthis._createTilesFlexWrapper();\n\t\tContainer.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\")\n\t\t\t.then((VizInstantiationService) => {\n\t\t\t\tthis.VizInstantiationService = VizInstantiationService;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\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\"tilesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tawait this.appManagerInstance.createInsightSection(this._i18nBundle.getText(\"insightsTiles\") as string);\n\t\t\t\tawait this._addSectionViz(oData as IVisualization[], MYINSIGHT_SECTION_ID);\n\t\t\t\tawait this.refreshData();\n\t\t\t\tthis._adjustLayout();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Toggles the activity of tiles\n\t\tthis._toggleTileActivity();\n\t}\n\n\t/**\n\t * Toggles the activity of tiles on route change.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _toggleTileActivity(): void {\n\t\tconst toggleUserActions = async (event: Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\tthis._controlModel.setProperty(\"/activateInsightsTiles\", show);\n\t\t\tif (show) {\n\t\t\t\tif (this._appSwitched) {\n\t\t\t\t\tawait this.refreshData(true);\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 * Takes the visualizations and add it to the provided section id\n\t * @param {IVisualization[]} aSectionViz - array of visualizations\n\t * @param {string} sSectionId - section id where the visualizations to be added\n\t * @returns {any}\n\t */\n\tprivate _addSectionViz(aSectionViz: IVisualization[], sSectionId: string) {\n\t\treturn aSectionViz.reduce((promiseChain, oViz) => {\n\t\t\treturn promiseChain.then(() => {\n\t\t\t\tif (oViz.isBookmark) {\n\t\t\t\t\treturn this.appManagerInstance.addBookMark(oViz);\n\t\t\t\t} else {\n\t\t\t\t\treturn sSectionId\n\t\t\t\t\t\t? this.appManagerInstance.addVisualization(oViz.vizId, sSectionId)\n\t\t\t\t\t\t: this.appManagerInstance.addVisualization(oViz.vizId);\n\t\t\t\t}\n\t\t\t});\n\t\t}, Promise.resolve());\n\t}\n\n\t/**\n\t * Handles the completion of the import process.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"tilesImported\", stateData);\n\t}\n\n\t/**\n\t * Displays placeholder tiles while loading.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _showPlaceHolders() {\n\t\tconst placeholderArray = new Array(this._calculatePlaceholderTileCount()).fill(LoadState.Loading) as LoadState[];\n\t\tthis.aInsightsApps = placeholderArray.map((tileState: LoadState, index: number) => {\n\t\t\treturn new GenericTile(recycleId(`${this.getId()}--placeHolderTile--${index}`), {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).setLayoutData?.(\n\t\t\t\tnew GridContainerItemLayoutData(recycleId(`${this.getId()}--placeHolderTileLayoutData--${index}`), {\n\t\t\t\t\tcolumns: 2\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps, undefined, true);\n\t}\n\n\t/**\n\t * Clears the placeholder tiles.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _clearPlaceHolders() {\n\t\tthis._controlModel.setProperty(\"/tiles\", []);\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\ttry {\n\t\t\tconst container = this.getParent() as BaseContainer;\n\t\t\tthis._showPlaceHolders();\n\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\tconst addFromFavAppMenuItem = this._createAddFromFavMenuItem(tilesMenuItems.ADD_APPS, \"smartAppsDialog\");\n\t\t\t\tthis.addAggregation(\"menuItems\", addFromFavAppMenuItem);\n\t\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t\t}\n\t\t\treturn await this.refreshData();\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tthis.fireHandleHidePanel();\n\t\t} finally {\n\t\t\tthis.fireEvent(\"loaded\");\n\t\t}\n\t\treturn Promise.resolve();\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 * Refreshes the data in the panel.\n\t *\n\t * @private\n\t * @param {boolean} [refreshTiles=false] - Whether to refresh the tiles.\n\t * @returns {Promise<void>} A promise that resolves when the data is refreshed.\n\t */\n\tpublic async refreshData(refreshTiles: boolean = false) {\n\t\tconst panelName = this.getMetadata().getName();\n\t\tthis.aInsightsApps = await this.appManagerInstance.fetchInsightApps(true, this._insightsSectionTitle);\n\t\tconst bIsSmartBusinessTilePresent = this.aInsightsApps.some((oApp) => oApp.isSmartBusinessTile);\n\t\tif (bIsSmartBusinessTilePresent) {\n\t\t\tawait Lib.load({ name: \"sap.cloudfnd.smartbusiness.lib.reusetiles\" });\n\t\t}\n\t\tthis._clearPlaceHolders();\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps);\n\t\tif (this.aInsightsApps?.length) {\n\t\t\tthis.fireHandleUnhidePanel();\n\t\t\tif (refreshTiles) {\n\t\t\t\tconst isMobile = this.getDeviceType() === DeviceType.Mobile;\n\t\t\t\tconst container = isMobile ? this.tilesMobileContainer : this.tilesContainer;\n\t\t\t\tconst sDefaultAggreName = container.getMetadata().getDefaultAggregationName();\n\t\t\t\tconst dynamicTiles = (container.getAggregation(sDefaultAggreName) as ManagedObject[]) || [];\n\t\t\t\tdynamicTiles.forEach((tiles) => (tiles as ICustomVisualization).refresh?.());\n\t\t\t}\n\t\t\tthis._getInsightsContainer()?.updatePanelsItemCount(this.aInsightsApps.length, panelName);\n\t\t\tif (this._headerVisible) {\n\t\t\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsTiles\")} (${this.aInsightsApps.length})`);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.fireHandleHidePanel();\n\t\t}\n\t}\n\n\t/**\n\t * Generates the wrapper for the tiles container, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The tiles Vbox wrapper.\n\t */\n\tprivate _createTilesFlexWrapper() {\n\t\tif (!this._tilesWrapper) {\n\t\t\tthis._tilesWrapper = new VBox(`${this.getId()}-tilesWrapper`, {\n\t\t\t\trenderType: \"Bare\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\titems: [this._createMobileFlexWrapper(), this._createWrapperFlexBox()]\n\t\t\t});\n\t\t\tthis._tilesWrapper.setModel(this._controlModel);\n\t\t\tthis.addContent(this._tilesWrapper);\n\t\t}\n\t}\n\n\t/**\n\t * Generates wrapper for displaying tiles in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated tiles wrapper.\n\t */\n\n\tprivate _createMobileFlexWrapper(): HeaderContainer {\n\t\t// Check if the mobile container already exists\n\t\tif (!this.tilesMobileContainer) {\n\t\t\t// Create the HeaderContainer with required properties\n\t\t\tthis.tilesMobileContainer = new HeaderContainer(`${this.getId()}-insightsTilesMobileContainer`, {\n\t\t\t\tscrollStep: 0,\n\t\t\t\tscrollStepByItem: 1,\n\t\t\t\tgridLayout: true,\n\t\t\t\tscrollTime: 1000,\n\t\t\t\tshowDividers: false,\n\t\t\t\tvisible: \"{/isPhone}\"\n\t\t\t}).addStyleClass(\"sectionMarginTopTilesInsight sapMHeaderContainerMarginBottom\");\n\n\t\t\t// Attach aggregation to the container\n\t\t\tthis._attachAggregationToContainer(this.tilesMobileContainer);\n\t\t}\n\t\t// Return the existing or newly created container\n\t\treturn this.tilesMobileContainer;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying tiles.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated tiles wrapper.\n\t */\n\n\tprivate _createWrapperFlexBox(): GridContainer {\n\t\t// Check if the tilesContainer already exists\n\t\tif (!this.tilesContainer) {\n\t\t\t// Create the GridContainer with required properties\n\t\t\tthis.tilesContainer = new GridContainer(`${this.getId()}-insightsTilesContainer`, {\n\t\t\t\tvisible: \"{= !${/isPhone}}\"\n\t\t\t}).addStyleClass(\"insightTiles sapUiSmallMarginTop sapUiSmallMarginBottom\");\n\t\t\t// Attach aggregation to the container\n\t\t\tthis._attachAggregationToContainer(this.tilesContainer);\n\t\t}\n\t\t// Return the existing or newly created container\n\t\treturn this.tilesContainer;\n\t}\n\n\t/**\n\t * Updates the activation flags for Insights Tiles based on the device type and viewport.\n\t *\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _updateTilesActivity(): void {\n\t\t// Activate Insights Tiles based on container in viewport\n\t\tconst isPhoneScreen: boolean = this.getDeviceType() === DeviceType.Mobile;\n\t\t// Explicitly type the property being retrieved\n\t\tconst bActivateInsightsTiles: boolean = Boolean(this._controlModel.getProperty(\"/activateInsightsTiles\"));\n\t\tthis._controlModel.setProperty(\"/activateInsightsTilesOnPhone\", bActivateInsightsTiles && isPhoneScreen);\n\t\tthis._controlModel.setProperty(\"/activateInsightsTilesOnDesktop\", bActivateInsightsTiles && !isPhoneScreen);\n\t}\n\t/**\n\t * Attaches necessary aggregations and configurations to the provided container.\n\t *\n\t * @private\n\t * @param {GridContainer | HeaderContainer} tilesContainer - The container to which the aggregation and events are to be attached.\n\t * @returns {void}\n\t *\n\t */\n\tprivate _attachAggregationToContainer(tilesContainer: GridContainer | HeaderContainer) {\n\t\ttilesContainer.setModel(this._controlModel);\n\t\tconst sDefaultAggreName = tilesContainer.getMetadata().getDefaultAggregationName();\n\t\tconst isPhoneScreen = this.getDeviceType() === DeviceType.Mobile;\n\t\ttilesContainer.bindAggregation(sDefaultAggreName, {\n\t\t\tpath: \"/tiles\",\n\t\t\tfactory: (id: string, context: Context): ManagedObject => {\n\t\t\t\tconst oApp = context.getObject() as ICustomVisualization;\n\t\t\t\tif (oApp instanceof GenericTile) {\n\t\t\t\t\treturn oApp;\n\t\t\t\t}\n\t\t\t\tconst oVisualization = this.VizInstantiationService.instantiateVisualization(oApp.visualization) as ICustomVisualization;\n\t\t\t\toVisualization.setLayoutData?.(\n\t\t\t\t\tnew GridContainerItemLayoutData(`${this.getId()}-itemLayoutData-${id}`, {\n\t\t\t\t\t\tminRows: 2,\n\t\t\t\t\t\tcolumns: oVisualization.getDisplayFormat?.() === DisplayFormat.Standard ? 2 : 4\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\toVisualization?.bindProperty?.(\n\t\t\t\t\t\"active\",\n\t\t\t\t\tisPhoneScreen ? \"/activateInsightsTilesOnPhone\" : \"/activateInsightsTilesOnDesktop\"\n\t\t\t\t);\n\t\t\t\tthis._setDropAreaRectFunction(oVisualization as ManagedObject);\n\t\t\t\treturn oVisualization as ManagedObject;\n\t\t\t}\n\t\t});\n\t\tthis.addDragDropConfigTo(tilesContainer, (oEvent) => this._handleTilesDnd(oEvent));\n\t}\n\n\t/**\n\t * Sets the drop area rectangle function for the given visualization.\n\t *\n\t * @private\n\t * @param {ManagedObject} oVisualization - The visualization object to set the drop area rectangle function.\n\t */\n\tprivate _setDropAreaRectFunction(oVisualization: ManagedObject) {\n\t\tconst tilesDropAreaOffset = 8;\n\t\tconst vizObj = oVisualization as { getDropAreaRect?: () => void };\n\n\t\tif (typeof vizObj.getDropAreaRect !== \"function\") {\n\t\t\tObject.defineProperty(oVisualization, \"getDropAreaRect\", {\n\t\t\t\tvalue: function (this: Control) {\n\t\t\t\t\tconst domRef = this.getDomRef();\n\t\t\t\t\tif (!domRef) return null;\n\t\t\t\t\tconst mDropRect = domRef.getBoundingClientRect();\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft: mDropRect.left - tilesDropAreaOffset,\n\t\t\t\t\t\tright: mDropRect.right + tilesDropAreaOffset,\n\t\t\t\t\t\ttop: mDropRect.top,\n\t\t\t\t\t\tbottom: mDropRect.bottom,\n\t\t\t\t\t\twidth: mDropRect.width,\n\t\t\t\t\t\theight: mDropRect.height\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the drag and drop of tiles.\n\t *\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} oEvent - The drop event parameters.\n\t */\n\tprivate _handleTilesDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tvoid this._DragnDropTiles(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\t/**\n\t * Handles the drag and drop of tiles asynchronously.\n\t *\n\t * @private\n\t * @param {number} iDragItemIndex - The index of the dragged item.\n\t * @param {number} iDropItemIndex - The index of the dropped item.\n\t * @param {string} sInsertPosition - The position to insert the item.\n\t * @returns {Promise<void>} A promise that resolves when the drag and drop operation is complete.\n\t */\n\tprivate async _DragnDropTiles(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\tconst oDisplacedItem = this.aInsightsApps[iDropItemIndex] as ICustomVisualization,\n\t\t\toItemMoved = this.aInsightsApps.splice(iDragItemIndex, 1)[0] as ICustomVisualization;\n\t\tthis.aInsightsApps.splice(iDropItemIndex, 0, oItemMoved);\n\t\tconst moveConfigs = {\n\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\tsourceSectionIndex: oItemMoved.persConfig?.sectionIndex as number,\n\t\t\tsourceVisualizationIndex: oItemMoved.persConfig?.visualizationIndex as number,\n\t\t\ttargetSectionIndex: oDisplacedItem.persConfig?.sectionIndex as number,\n\t\t\ttargetVisualizationIndex: oDisplacedItem.persConfig?.visualizationIndex as number\n\t\t};\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps);\n\t\tawait this.appManagerInstance.moveVisualization(moveConfigs);\n\t\tawait this.refreshData(true);\n\t\t// Ensures focus on tile after Panel refresh during DnD.\n\t\tsetTimeout(() => {\n\t\t\tfocusDraggedItem(this.tilesContainer, iDropItemIndex);\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Handles the edit tiles event.\n\t *\n\t * @param {Event} event - The event object.\n\t */\n\tprivate handleEditTiles(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<TilesPanel>().getParent() || this;\n\t\tif (parent instanceof TilesPanel) {\n\t\t\tparent = parent.getParent() as ManagedObject;\n\t\t}\n\t\t(parent as InsightsContainer)?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_TILES);\n\t}\n\n\t/**\n\t * Hides the header of the tiles panel.\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 tiles panel.\n\t * @private\n\t */\n\tpublic handleAddHeader() {\n\t\tthis._headerVisible = true;\n\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsTiles\")} (${this.aInsightsApps.length})`);\n\t\tthis._toggleHeaderActions(true);\n\t}\n\n\t/**\n\t * Closes the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t */\n\tprivate _closeAddFromFavDialog() {\n\t\tconst list = this._controlMap.get(`${this._addFromFavDialogId}-list`) as List;\n\t\tlist?.removeSelections();\n\t\t(this._controlMap.get(this._addFromFavDialogId) as Dialog)?.close();\n\t}\n\n\t/**\n\t * Navigates to the App Finder with optional group Id.\n\t * @async\n\t * @private\n\t */\n\tprivate async navigateToAppFinder() {\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst navigationObject: { pageID: string; sectionID?: string } = {\n\t\t\tpageID: MYHOME_PAGE_ID,\n\t\t\tsectionID: MYINSIGHT_SECTION_ID\n\t\t};\n\t\tawait navigationService.navigate({\n\t\t\ttarget: {\n\t\t\t\tshellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the key of the legend color based on the provided color value.\n\t * @param {string} color - The color value for which to retrieve the legend color key.\n\t * @returns {string} The legend color key corresponding to the provided color value, or the default background color key if not found.\n\t * @private\n\t */\n\tprivate _getLegendColor(color: string) {\n\t\treturn END_USER_COLORS().find((oColor) => oColor.value === color) || DEFAULT_BG_COLOR();\n\t}\n\n\t/**\n\t * Handles the addition of tiles from favorite apps.\n\t * @returns {Promise<void>} A Promise that resolves when the operation is complete.\n\t * @private\n\t */\n\tprivate async _handleAddFromFavApps() {\n\t\tconst appsToAdd = await this._getFavToAdd();\n\t\tconst dialog = this._generateAddFromFavAppsDialog();\n\t\t(this._controlMap.get(`${this._addFromFavDialogId}-errorMessage`) as IllustratedMessage)?.setVisible(appsToAdd.length === 0);\n\t\tthis._generateAddFromFavAppsListItems(appsToAdd);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Retrieves the favorite visualizations to be added.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<ISectionAndVisualization[]>} A promise that resolves to an array of favorite visualizations to be added.\n\t */\n\tprivate async _getFavToAdd(): Promise<ISectionAndVisualization[]> {\n\t\tconst aFavApps: ISectionAndVisualization[] = await this.appManagerInstance.fetchFavVizs(false, true);\n\t\tconst aDynamicApps = aFavApps.filter(function (oDynApp) {\n\t\t\treturn oDynApp.isCount || oDynApp.isSmartBusinessTile;\n\t\t});\n\n\t\tconst aFilteredFavApps = aDynamicApps.filter((oDynApp) => {\n\t\t\tconst iAppIndex = this.aInsightsApps.findIndex(function (oInsightApps) {\n\t\t\t\treturn (\n\t\t\t\t\t(!oDynApp.visualization?.isBookmark &&\n\t\t\t\t\t\t(oInsightApps as ICustomVisualization).visualization?.vizId === oDynApp.visualization?.vizId) ||\n\t\t\t\t\t(oDynApp.visualization?.isBookmark &&\n\t\t\t\t\t\t(oInsightApps as ICustomVisualization).visualization?.targetURL === oDynApp.visualization?.targetURL)\n\t\t\t\t);\n\t\t\t});\n\t\t\treturn iAppIndex === -1;\n\t\t});\n\n\t\treturn aFilteredFavApps;\n\t}\n\n\t/**\n\t * Retrieves the selected Apps from the dialog.\n\t * @returns {sap.m.ListItemBase[]} An array of selected Apps.\n\t * @private\n\t */\n\tprivate _getSelectedInsights() {\n\t\tconst list = this._controlMap.get(`${this._addFromFavDialogId}-list`) as List;\n\t\treturn list.getSelectedItems() || [];\n\t}\n\n\t/**\n\t * Generates list items for the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t * @param {ISectionAndVisualization[]} appsToAdd - An array of favorite visualizations to be added.\n\t */\n\tprivate _generateAddFromFavAppsListItems(appsToAdd: ISectionAndVisualization[]) {\n\t\tconst id = this._addFromFavDialogId;\n\t\tconst list = this._controlMap.get(`${id}-list`) as List;\n\t\tif (appsToAdd.length) {\n\t\t\tlist.destroyItems();\n\t\t\tconst listItems = appsToAdd.map(\n\t\t\t\t(app, index) =>\n\t\t\t\t\tnew CustomListItem({\n\t\t\t\t\t\tid: `${id}-listItem-${index}`,\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content`,\n\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew Icon({\n\t\t\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content-icon`,\n\t\t\t\t\t\t\t\t\t\tsrc: app.icon,\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: this._getLegendColor(\n\t\t\t\t\t\t\t\t\t\t\ttypeof app.BGColor === \"object\" ? app.BGColor.key : (app.BGColor ?? \"\")\n\t\t\t\t\t\t\t\t\t\t).value,\n\t\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\t\twidth: \"2.25rem\",\n\t\t\t\t\t\t\t\t\t\theight: \"2.25rem\",\n\t\t\t\t\t\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiRoundedBorder sapUiTinyMargin\"),\n\t\t\t\t\t\t\t\t\tnew ObjectIdentifier({\n\t\t\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content-identifier`,\n\t\t\t\t\t\t\t\t\t\ttitle: app.title,\n\t\t\t\t\t\t\t\t\t\ttext: app.subtitle,\n\t\t\t\t\t\t\t\t\t\ttooltip: app.title\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\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\t\t\t\t\t})\n\t\t\t\t\t\t.addStyleClass(\"sapUiContentPadding\")\n\t\t\t\t\t\t.data(\"app\", app) as CustomListItem\n\t\t\t);\n\t\t\tlistItems.forEach((item) => list.addItem(item));\n\t\t}\n\t\tlist?.setVisible(appsToAdd.length !== 0);\n\t}\n\n\t/**\n\t * Generates the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t * @returns {Dialog} The generated dialog.\n\t */\n\tprivate _generateAddFromFavAppsDialog(): Dialog {\n\t\tconst id = this._addFromFavDialogId;\n\t\tconst setAddBtnEnabled = () => {\n\t\t\tconst selectedItems = this._getSelectedInsights();\n\t\t\t(this._controlMap.get(`${id}-addBtn`) as Button).setEnabled(selectedItems.length > 0);\n\t\t};\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst getAppFinderBtn = (id: string, btnType?: ButtonType) => {\n\t\t\t\tconst appFinderBtn = new Button(id, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appFinderBtn\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tthis._closeAddFromFavDialog();\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t},\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\ttype: btnType ?? ButtonType.Default\n\t\t\t\t});\n\t\t\t\taddFESRSemanticStepName(appFinderBtn, FESR_EVENTS.PRESS, \"tilesAppFinder\");\n\t\t\t\treturn appFinderBtn;\n\t\t\t};\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-list`,\n\t\t\t\tnew List({\n\t\t\t\t\tid: `${id}-list`,\n\t\t\t\t\tmode: \"MultiSelect\",\n\t\t\t\t\tselectionChange: setAddBtnEnabled\n\t\t\t\t})\n\t\t\t);\n\t\t\tconst addButton = new Button({\n\t\t\t\tid: `${id}-addBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addBtn\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this._addFromFavApps();\n\t\t\t\t},\n\t\t\t\tenabled: false\n\t\t\t});\n\t\t\taddFESRSemanticStepName(addButton, FESR_EVENTS.PRESS, \"addSmartApps\");\n\t\t\tthis._controlMap.set(`${id}-addBtn`, addButton);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessage`,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid: `${id}-errorMessage`,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Small,\n\t\t\t\t\tillustrationType: IllustratedMessageType.AddDimensions,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"tilesSectionNoDataDescription\"),\n\t\t\t\t\tvisible: true\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t\tconst dialog = new Dialog(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addSmartApps\"),\n\t\t\t\tcontent: [\n\t\t\t\t\tnew Label({\n\t\t\t\t\t\tid: `${id}-label`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"suggTileDialogLabel\"),\n\t\t\t\t\t\twrapping: true\n\t\t\t\t\t}).addStyleClass(\"sapMTitleAlign sapUiTinyMarginTopBottom sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\tnew HBox({\n\t\t\t\t\t\tid: `${id}-textContainer`,\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\tid: `${id}-text`,\n\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"suggTileDialogTitle\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetAppFinderBtn(`${id}-addAppsBtn`, ButtonType.Transparent)\n\t\t\t\t\t\t]\n\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop dialogHeader sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\tthis._controlMap.get(`${id}-list`) as List,\n\t\t\t\t\tthis._controlMap.get(`${id}-errorMessage`) as IllustratedMessage\n\t\t\t\t],\n\t\t\t\tcontentWidth: \"42.75rem\",\n\t\t\t\tcontentHeight: \"32.5rem\",\n\t\t\t\tendButton: new Button({\n\t\t\t\t\tid: `${id}-addFromFavDialogCloseBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\tpress: this._closeAddFromFavDialog.bind(this)\n\t\t\t\t}),\n\t\t\t\tescapeHandler: this._closeAddFromFavDialog.bind(this),\n\t\t\t\tbuttons: [\n\t\t\t\t\tthis._controlMap.get(`${id}-addBtn`) as Button,\n\t\t\t\t\tnew Button({\n\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\tpress: this._closeAddFromFavDialog.bind(this)\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapCuxAddFromInsightsDialog\");\n\t\t\tthis.addDependent(dialog);\n\t\t\tthis._controlMap.set(id, dialog);\n\t\t}\n\t\tsetAddBtnEnabled();\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the addition of tiles from favorite apps.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<void>} A promise that resolves when the operation is complete.\n\t */\n\tprivate async _addFromFavApps() {\n\t\tconst dialog = this._controlMap.get(this._addFromFavDialogId) as Dialog;\n\t\tdialog.setBusy(true);\n\t\tconst selectedItems = this._getSelectedInsights();\n\t\tconst sections = await this.appManagerInstance._getSections();\n\t\tawait selectedItems.reduce(async (promise, oApp) => {\n\t\t\tawait promise;\n\t\t\tconst app = oApp.data(\"app\") as ISectionAndVisualization;\n\t\t\tconst oMovingConfig = {\n\t\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\t\tsourceSectionIndex: app.persConfig?.sectionIndex as number,\n\t\t\t\tsourceVisualizationIndex: app.persConfig?.visualizationIndex as number,\n\t\t\t\ttargetSectionIndex: this.appManagerInstance.insightsSectionIndex,\n\t\t\t\ttargetVisualizationIndex: -1\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * If the app is a bookmark, we need to update the source and target section indices accordingly.\n\t\t\t * This is because bookmarks are added to the \"Recent Apps\" section,\n\t\t\t * which is always at the top of the list, and the insights section index is shifted by one.\n\t\t\t */\n\t\t\tif (app.visualization?.isBookmark) {\n\t\t\t\tconst recentAppSectionIndex = sections.findIndex((section) => section.default);\n\n\t\t\t\tif (recentAppSectionIndex === -1) {\n\t\t\t\t\toMovingConfig.sourceSectionIndex = 0;\n\t\t\t\t\toMovingConfig.sourceVisualizationIndex = 0;\n\t\t\t\t\toMovingConfig.targetSectionIndex = this.appManagerInstance.insightsSectionIndex + 1;\n\t\t\t\t} else {\n\t\t\t\t\toMovingConfig.sourceSectionIndex = recentAppSectionIndex;\n\t\t\t\t\toMovingConfig.sourceVisualizationIndex = sections[recentAppSectionIndex]?.visualizations?.length || 0;\n\t\t\t\t\toMovingConfig.targetSectionIndex = this.appManagerInstance.insightsSectionIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (app.visualization?.displayFormatHint !== \"standard\" && app.visualization?.displayFormatHint !== \"standardWide\") {\n\t\t\t\tif (app.visualization?.supportedDisplayFormats === \"standard\") {\n\t\t\t\t\tapp.visualization.displayFormatHint = \"standard\";\n\t\t\t\t} else if (app.visualization?.supportedDisplayFormats === \"standardWide\") {\n\t\t\t\t\tapp.visualization.displayFormatHint = \"standardWide\";\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Add Selected App to Insights Section\n\t\t\tif (!app.visualization?.vizId) {\n\t\t\t\t(app.visualization as IVisualization).vizId = app.visualization?.targetURL ?? \"\";\n\t\t\t}\n\t\t\tif (app.visualization?.isBookmark === true) {\n\t\t\t\tawait this.appManagerInstance.addBookMark(app.visualization, oMovingConfig);\n\t\t\t} else {\n\t\t\t\tawait this.appManagerInstance.addVisualization(app.visualization?.vizId as string, MYINSIGHT_SECTION_ID);\n\t\t\t}\n\t\t}, Promise.resolve());\n\n\t\tawait this.refreshData();\n\t\tdialog.setBusy(false);\n\t\tdialog.close();\n\t}\n\n\t/**\n\t * Calculates the number of visible tiles that can fit within the available width of the parent container.\n\t *\n\t * @private\n\t * @param {ICustomVisualization[]} insightsApps - An array of custom visualizations to be displayed as tiles.\n\t * @returns {number} - The number of visible tiles.\n\t */\n\tprivate _calculateVisibleTileCount(insightsApps: ICustomVisualization[]): number {\n\t\tconst layout = this._getInsightsContainer()?._getLayout();\n\t\tconst layoutDomRef = layout?.getDomRef();\n\t\tconst apps = insightsApps || [];\n\t\tlet count = 0;\n\n\t\tif (layoutDomRef && apps.length) {\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst sectionNodeIndex = isHeaderVisible ? 1 : 0;\n\t\t\tconst sectionDomRef = layoutDomRef.childNodes[sectionNodeIndex] 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 widthMap = {} as Record<DisplayFormat, number>;\n\n\t\t\twidthMap[DisplayFormat.Standard] = StandardTileWidth + Gap;\n\t\t\twidthMap[DisplayFormat.StandardWide] = StandardWideTileWidth + Gap;\n\n\t\t\tlet nextTileWidth = widthMap[(apps[count].visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];\n\t\t\tdo {\n\t\t\t\tavailableWidth -= nextTileWidth;\n\t\t\t\t++count;\n\t\t\t\tnextTileWidth = widthMap[(apps[count]?.visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];\n\t\t\t} while (availableWidth > nextTileWidth);\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\tprivate _calculatePlaceholderTileCount(): 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 width = StandardTileWidth + Gap;\n\n\t\t\tcount = Math.floor(availableWidth / width);\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\t/**\n\t * Adjusts the layout of the tiles 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\tconst isMobileDevice = this.getDeviceType() === DeviceType.Mobile;\n\n\t\tif (layout) {\n\t\t\tconst visibleTileCount = isMobileDevice\n\t\t\t\t? this.aInsightsApps?.length\n\t\t\t\t: this._calculateVisibleTileCount(this.aInsightsApps as ICustomVisualization[]);\n\t\t\tconst isElementExpanded = layout._getCurrentExpandedElementName() === this.getProperty(\"fullScreenName\");\n\t\t\tthis._controlModel.setProperty(\n\t\t\t\t\"/tiles\",\n\t\t\t\tisElementExpanded ? this.aInsightsApps : this.aInsightsApps?.slice(0, visibleTileCount)\n\t\t\t);\n\t\t\tthis._controlModel.setProperty(\"/isPhone\", isMobileDevice);\n\t\t\tthis._updateTilesActivity();\n\t\t\t//Show/Hide Full Screen Button if panel header is visible otherwise update visibility of container Full Screen Button\n\t\t\tconst showFullScreenButton = isElementExpanded || this.aInsightsApps.length > visibleTileCount;\n\t\t\tif (this._headerVisible) {\n\t\t\t\tif (!isMobileDevice) {\n\t\t\t\t\t(this.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton) => {\n\t\t\t\t\t\tif (actionButton.getId().includes(tilesActionButtons.ADD_TILES)) {\n\t\t\t\t\t\t\tthis._getInsightsContainer().toggleActionButton(actionButton, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\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()}-${tilesContainerMenuItems.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()}-${tilesContainerActionButtons.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}\n\t}\n\n\t/**\n\t * Retrieves the InsightsContainer instance associated with this TilesPanel.\n\t *\n\t * @private\n\t * @returns {InsightsContainer} The InsightsContainer instance.\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 * 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 containerRefresh = this._createRefreshMenuItem(tilesContainerMenuItems.REFRESH, \"containerTilesRefresh\");\n\t\t\tconst containerEditTiles = this._createEditTilesMenuItem(tilesContainerMenuItems.EDIT_TILES, \"containerManageTiles\");\n\t\t\tconst containerShowMore = createShowMoreMenuItem(this, tilesContainerMenuItems.SHOW_MORE, \"containerTilesShowMore\");\n\t\t\tconst container = this.getParent() as BaseContainer;\n\t\t\tthis._controlMap.set(`${this.getId()}-${tilesContainerMenuItems.SHOW_MORE}`, containerShowMore);\n\t\t\tthis._containerMenuItems = [containerRefresh, containerEditTiles, containerShowMore];\n\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\tconst containerAddFromFav = this._createAddFromFavMenuItem(tilesContainerMenuItems.ADD_APPS, \"containerSmartAppsDialog\");\n\t\t\t\tthis._containerMenuItems.splice(1, 0, containerAddFromFav);\n\t\t\t}\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\tthis._containerActionButtons.push(\n\t\t\t\tthis._createAddTilesButton(tilesContainerActionButtons.ADD_TILES, \"containerSmartAppsDialog\")\n\t\t\t);\n\n\t\t\tconst containerFullScreenActionButton = createShowMoreActionButton(\n\t\t\t\tthis,\n\t\t\t\ttilesContainerActionButtons.SHOW_MORE,\n\t\t\t\t\"containerTilesShowMore\"\n\t\t\t);\n\t\t\tif (containerFullScreenActionButton) {\n\t\t\t\tthis._controlMap.set(`${this.getId()}-${tilesContainerActionButtons.SHOW_MORE}`, containerFullScreenActionButton);\n\t\t\t\tthis._containerActionButtons.push(containerFullScreenActionButton);\n\t\t\t}\n\t\t}\n\t\treturn this._containerActionButtons;\n\t}\n\n\t/**\n\t * Creates a refresh menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\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: () => void this.refreshData(true)\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 an \"Add from Favorites\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createAddFromFavMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tif (!this._controlMap.get(`${this.getId()}-${id}`)) {\n\t\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addSmartApps\"),\n\t\t\t\ticon: \"sap-icon://duplicate\",\n\t\t\t\tvisible: false,\n\t\t\t\tpress: () => void this._handleAddFromFavApps()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\t\tif (fesrId) {\n\t\t\t\taddFESRId(menuItem, fesrId);\n\t\t\t}\n\t\t}\n\t\treturn this._controlMap.get(`${this.getId()}-${id}`) as MenuItem;\n\t}\n\n\t/**\n\t * Creates an \"Edit Tiles\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createEditTilesMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"editLinkTiles\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tvisible: false,\n\t\t\tpress: (event: Event) => this.handleEditTiles(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\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Creates an \"Add Tiles\" button.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the button.\n\t * @param {string} [fesrId] - The FESR ID for the button.\n\t * @returns {Button} The created Button instance.\n\t */\n\tprivate _createAddTilesButton(id: string, fesrId?: string): Button {\n\t\tconst actionButton = new Button(`${this.getId()}-${id}`, {\n\t\t\ttext: this._i18nBundle.getText(\"appFinderLink\"),\n\t\t\ttooltip: this._i18nBundle.getText(\"appFinderLink\"),\n\t\t\tpress: async () => {\n\t\t\t\tconst container = this._getInsightsContainer() as BaseContainer;\n\t\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\t\t// Favorite App Panel is visible, proceed as usual\n\t\t\t\t\tvoid this._handleAddFromFavApps();\n\t\t\t\t} else {\n\t\t\t\t\t// Favorite App Panel is NOT visible, navigate to App Finder\n\t\t\t\t\tawait this.navigateToAppFinder();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, actionButton);\n\t\tif (fesrId) {\n\t\t\taddFESRId(actionButton, fesrId);\n\t\t}\n\n\t\treturn actionButton;\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TilesPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerItemLayoutData","Button","CustomListItem","Dialog","GenericTile","HBox","HeaderContainer","IllustratedMessage","IllustratedMessageSize","IllustratedMessageType","Label","List","ObjectIdentifier","Title","VBox","sap_m_library","EventBus","Icon","Lib","JSONModel","Config","Container","S4MyHome","__BasePanel","__MenuItem","___utils_Accessibility","__AppManager","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_DragDropUtils","___utils_FESRUtil","___utils_InsightsUtils","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","ButtonType","_finallyRethrows","finalizer","bind","LoadState","BasePanel","MenuItem","checkPanelExists","AppManager","DEFAULT_BG_COLOR","END_USER_COLORS","MYHOME_PAGE_ID","MYINSIGHT_SECTION_ID","SETTINGS_PANELS_KEYS","recycleId","DeviceType","fetchElementProperties","focusDraggedItem","addFESRId","addFESRNavigationSource","addFESRSemanticStepName","FESR_EVENTS","FESRNavigationSource","createShowMoreActionButton","createShowMoreMenuItem","getAssociatedFullScreenMenuItem","sortMenuItems","tilesMenuItems","tilesContainerMenuItems","tilesActionButtons","tilesContainerActionButtons","DisplayFormat","favAppPanelName","appsConatinerlName","sortedMenuItems","REFRESH","ADD_APPS","EDIT_TILES","_showAddApps","last","StandardTileWidth","StandardWideTileWidth","Gap","TilesPanel","extend","metadata","library","properties","title","type","group","defaultValue","visibility","key","fullScreenName","defaultAggregation","aggregations","content","multiple","singularName","tiles","events","handleHidePanel","parameters","handleUnhidePanel","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_insightsSectionTitle","_i18nBundle","getText","_addFromFavDialogId","getId","aInsightsApps","_headerVisible","init","_init","_this","BasePanel.prototype.init.call","_controlMap","Map","_oData","activateInsightsTiles","activateInsightsTilesOnPhone","activateInsightsTilesOnDesktop","_controlModel","appManagerInstance","getInstance","setProperty","refreshMenuItem","_createRefreshMenuItem","editTilesMenuItem","_createEditTilesMenuItem","menuItems","forEach","menuItem","addAggregation","_sortMenuItems","addTilesButton","_createAddTilesButton","ADD_TILES","actionButtons","actionButton","_createTilesFlexWrapper","getServiceAsync","VizInstantiationService","catch","error","Error","message","String","oEventBus","subscribe","sChannelId","sEventId","oData","Promise","resolve","createInsightSection","_addSectionViz","refreshData","_adjustLayout","_importdone","reject","_toggleTileActivity","_this2","toggleUserActions","event","show","getParameter","_temp2","_temp","_appSwitched","attachRouteMatched","warning","aSectionViz","sSectionId","reduce","promiseChain","oViz","isBookmark","addBookMark","addVisualization","vizId","stateData","status","publish","_showPlaceHolders","placeholderArray","Array","_calculatePlaceholderTileCount","fill","Loading","map","tileState","index","sizeBehavior","state","frameType","mode","visible","renderOnThemeChange","ariaRole","dropAreaOffset","setLayoutData","columns","undefined","_clearPlaceHolders","renderPanel","_renderPanel","_exit","_this3","_temp4","_result","_temp3","container","getParent","addFromFavAppMenuItem","_createAddFromFavMenuItem","_await$_this3$refresh","fireHandleHidePanel","_wasThrown","fireEvent","panelMenuItems","getAggregation","removeAllAggregation","_refreshData","refreshTiles","_this4","panelName","getMetadata","getName","fetchInsightApps","_this4$appManagerInst","_temp6","length","fireHandleUnhidePanel","isMobile","getDeviceType","Mobile","tilesMobileContainer","tilesContainer","sDefaultAggreName","getDefaultAggregationName","dynamicTiles","refresh","_getInsightsContainer","updatePanelsItemCount","bIsSmartBusinessTilePresent","some","oApp","isSmartBusinessTile","_temp5","load","name","_tilesWrapper","renderType","width","items","_createMobileFlexWrapper","_createWrapperFlexBox","setModel","addContent","scrollStep","scrollStepByItem","gridLayout","scrollTime","showDividers","addStyleClass","_attachAggregationToContainer","_updateTilesActivity","isPhoneScreen","bActivateInsightsTiles","Boolean","getProperty","bindAggregation","path","factory","context","getObject","oVisualization","instantiateVisualization","visualization","minRows","getDisplayFormat","Standard","attachPress","Tiles","bindProperty","_setDropAreaRectFunction","addDragDropConfigTo","oEvent","_handleTilesDnd","tilesDropAreaOffset","vizObj","getDropAreaRect","Object","defineProperty","value","domRef","getDomRef","mDropRect","getBoundingClientRect","left","right","top","bottom","height","sInsertPosition","oDragItem","oDropItem","iDragItemIndex","indexOfItem","iDropItemIndex","_DragnDropTiles","_this5","oDisplacedItem","oItemMoved","splice","moveConfigs","pageId","sourceSectionIndex","persConfig","sectionIndex","sourceVisualizationIndex","visualizationIndex","targetSectionIndex","targetVisualizationIndex","moveVisualization","setTimeout","handleEditTiles","_handleEditTiles","parent","getSource","_getLayout","openSettingsDialog","INSIGHTS_TILES","handleHideHeader","_handleHideHeader","_toggleHeaderActions","handleAddHeader","_handleAddHeader","_closeAddFromFavDialog","list","get","removeSelections","close","navigateToAppFinder","_navigateToAppFinder","navigationService","navigationObject","pageID","sectionID","navigate","target","shellHash","JSON","stringify","AppFinder","_getLegendColor","color","find","oColor","_handleAddFromFavApps","_this6","_getFavToAdd","appsToAdd","dialog","_generateAddFromFavAppsDialog","setVisible","_generateAddFromFavAppsListItems","open","_this7","fetchFavVizs","aFavApps","aDynamicApps","filter","oDynApp","isCount","aFilteredFavApps","iAppIndex","findIndex","oInsightApps","targetURL","_getSelectedInsights","getSelectedItems","destroyItems","listItems","app","alignItems","src","icon","backgroundColor","BGColor","size","text","subtitle","tooltip","data","item","addItem","setAddBtnEnabled","selectedItems","setEnabled","getAppFinderBtn","btnType","appFinderBtn","press","Default","PRESS","set","selectionChange","addButton","_addFromFavApps","enabled","illustrationSize","Small","illustrationType","AddDimensions","description","wrapping","justifyContent","Transparent","contentWidth","contentHeight","endButton","escapeHandler","buttons","addDependent","_this8","setBusy","_getSections","sections","promise","oMovingConfig","insightsSectionIndex","recentAppSectionIndex","section","visualizations","displayFormatHint","supportedDisplayFormats","_temp7","_calculateVisibleTileCount","insightsApps","layout","layoutDomRef","apps","count","isHeaderVisible","sectionNodeIndex","sectionDomRef","childNodes","domProperties","availableWidth","widthMap","StandardWide","nextTileWidth","Math","floor","isMobileDevice","visibleTileCount","isElementExpanded","_getCurrentExpandedElementName","slice","showFullScreenButton","includes","toggleActionButton","toggleFullScreenElements","fullScreenButton","fullScreenText","getTitle","updateMenuItem","SHOW_MORE","updateActionButton","insightsContainer","getContainerMenuItems","_getContainerMenuItems","_containerMenuItems","containerRefresh","containerEditTiles","containerShowMore","containerAddFromFav","getContainerActionButtons","_getContainerActionButtons","_containerActionButtons","push","containerFullScreenActionButton","fesrId","_this9","_temp8","bShow","toggleMenuListItem"],"sources":["TilesPanel.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 GridContainerItemLayoutData from \"sap/f/GridContainerItemLayoutData\";\nimport Button from \"sap/m/Button\";\nimport CustomListItem from \"sap/m/CustomListItem\";\nimport Dialog from \"sap/m/Dialog\";\nimport FlexBox from \"sap/m/FlexBox\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HBox from \"sap/m/HBox\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport IllustratedMessageType from \"sap/m/IllustratedMessageType\";\nimport Label from \"sap/m/Label\";\nimport List from \"sap/m/List\";\nimport ObjectIdentifier from \"sap/m/ObjectIdentifier\";\nimport Title from \"sap/m/Title\";\nimport VBox from \"sap/m/VBox\";\nimport { ButtonType, LoadState } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport ManagedObject from \"sap/ui/base/ManagedObject\";\nimport Control from \"sap/ui/core/Control\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport UI5Element from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Icon from \"sap/ui/core/Icon\";\nimport Lib from \"sap/ui/core/Lib\";\nimport { DropInfo$DropEventParameters } from \"sap/ui/core/dnd/DropInfo\";\nimport Context from \"sap/ui/model/Context\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Navigation from \"sap/ushell/services/Navigation\";\nimport VisualizationInstantiation from \"sap/ushell/services/VisualizationInstantiation\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport MenuItem from \"./MenuItem\";\nimport { $TilesPanelSettings } from \"./TilesPanel\";\nimport { ICustomVisualization, ISectionAndVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport { checkPanelExists } from \"./utils/Accessibility\";\nimport AppManager from \"./utils/AppManager\";\nimport { DEFAULT_BG_COLOR, END_USER_COLORS, MYHOME_PAGE_ID, MYINSIGHT_SECTION_ID, SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType, fetchElementProperties } from \"./utils/Device\";\nimport { focusDraggedItem } from \"./utils/DragDropUtils\";\nimport { addFESRId, addFESRNavigationSource, addFESRSemanticStepName, FESR_EVENTS, FESRNavigationSource } from \"./utils/FESRUtil\";\nimport { createShowMoreActionButton, createShowMoreMenuItem, getAssociatedFullScreenMenuItem, sortMenuItems } from \"./utils/InsightsUtils\";\n\nexport enum tilesMenuItems {\n\tREFRESH = \"tiles-refresh\",\n\tADD_APPS = \"tiles-addSmartApps\",\n\tEDIT_TILES = \"tiles-editTiles\"\n}\n\nexport enum tilesContainerMenuItems {\n\tREFRESH = \"container-tiles-refresh\",\n\tADD_APPS = \"container-tiles-addSmartApps\",\n\tEDIT_TILES = \"container-tiles-editTiles\",\n\tSHOW_MORE = \"tilesContainerFullScreenMenuItem\"\n}\n\nexport enum tilesActionButtons {\n\tADD_TILES = \"tiles-addTilesButton\"\n}\n\nexport enum tilesContainerActionButtons {\n\tADD_TILES = \"container-tiles-addTilesButton\",\n\tSHOW_MORE = \"tilesContanerFullScreenActionButton\"\n}\n\nexport enum DisplayFormat {\n\tStandard = \"standard\",\n\tStandardWide = \"standardWide\"\n}\n\nconst favAppPanelName: string = \"sap.cux.home.FavAppPanel\";\nconst appsConatinerlName: string = \"sap.cux.home.AppsContainer\";\n\nconst sortedMenuItems: (tilesMenuItems | string)[] = [\n\ttilesMenuItems.REFRESH,\n\ttilesMenuItems.ADD_APPS,\n\ttilesMenuItems.EDIT_TILES,\n\t\"showMore\",\n\t\"settings\"\n];\n\nconst _showAddApps = () => {\n\treturn (Config.last(\"/core/shell/enablePersonalization\") || Config.last(\"/core/catalog/enabled\")) as boolean;\n};\n\nconst StandardTileWidth = 176;\nconst StandardWideTileWidth = 368;\nconst Gap = 16;\n\n/**\n *\n * Tiles Panel class for managing and storing Insights Tiles.\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.TilesPanel\n */\n\nexport default class TilesPanel extends BasePanel {\n\tconstructor(idOrSettings?: string | $TilesPanelSettings);\n\tconstructor(id?: string, settings?: $TilesPanelSettings);\n\t/**\n\t * Constructor for a new Tiles 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?: $TilesPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\tprivate _oData!: Record<string, unknown>;\n\tprivate readonly _insightsSectionTitle: string = this._i18nBundle.getText(\"insights\") as string;\n\tprivate readonly _addFromFavDialogId: string = `${this.getId()}-addFromFavDialog`;\n\tprivate appManagerInstance!: AppManager;\n\tprivate VizInstantiationService!: VisualizationInstantiation;\n\tprivate tilesContainer!: GridContainer;\n\tprivate tilesMobileContainer!: HeaderContainer;\n\tprivate _tilesWrapper!: VBox;\n\tprivate aInsightsApps: ICustomVisualization[] | GenericTile[] = [];\n\tprivate _controlModel!: JSONModel;\n\tpublic _controlMap!: Map<string, Control | Element | UI5Element>;\n\tprivate _containerMenuItems!: MenuItem[];\n\tprivate _containerActionButtons!: Button[];\n\tprivate oEventBus!: EventBus;\n\tprivate insightsContainer!: InsightsContainer;\n\tprivate _appSwitched!: boolean;\n\tprivate _headerVisible: boolean = false;\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Title for the tiles panel\n\t\t\t */\n\t\t\ttitle: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Key for the tiles panel\n\t\t\t */\n\t\t\tkey: { type: \"string\", group: \"Misc\", defaultValue: \"\", visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * The name of the URL parameter used to expand the container into full-screen mode.\n\t\t\t */\n\t\t\tfullScreenName: { type: \"string\", group: \"Misc\", defaultValue: \"SI1\", visibility: \"hidden\" }\n\t\t},\n\t\tdefaultAggregation: \"tiles\",\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 tiles available within the tiles Panel\n\t\t\t */\n\t\t\ttiles: { type: \"sap.cux.home.App\", multiple: true, singularName: \"tile\", 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}\n\t};\n\n\t/**\n\t * Initializes the Tiles Panel.\n\t *\n\t * @private\n\t * @override\n\t */\n\tinit() {\n\t\tsuper.init();\n\t\tthis._controlMap = new Map();\n\t\t//Initialise Tiles Model\n\t\tthis._oData = {\n\t\t\ttiles: [] as ICustomVisualization[],\n\t\t\tactivateInsightsTiles: true,\n\t\t\tactivateInsightsTilesOnPhone: false,\n\t\t\tactivateInsightsTilesOnDesktop: false\n\t\t};\n\t\tthis._controlModel = new JSONModel(this._oData);\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis.setProperty(\"key\", \"tiles\");\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t\tconst refreshMenuItem = this._createRefreshMenuItem(tilesMenuItems.REFRESH, \"tilesRefresh\");\n\t\tconst editTilesMenuItem = this._createEditTilesMenuItem(tilesMenuItems.EDIT_TILES, \"manageTiles\");\n\n\t\tconst menuItems = [refreshMenuItem, editTilesMenuItem];\n\t\tmenuItems.forEach((menuItem) => this.addAggregation(\"menuItems\", menuItem));\n\t\tthis._sortMenuItems(sortedMenuItems);\n\n\t\tconst addTilesButton = this._createAddTilesButton(tilesActionButtons.ADD_TILES, \"addTiles\");\n\n\t\tconst actionButtons = [addTilesButton];\n\t\tactionButtons.forEach((actionButton) => this.addAggregation(\"actionButtons\", actionButton));\n\n\t\tthis._createTilesFlexWrapper();\n\t\tContainer.getServiceAsync<VisualizationInstantiation>(\"VisualizationInstantiation\")\n\t\t\t.then((VizInstantiationService) => {\n\t\t\t\tthis.VizInstantiationService = VizInstantiationService;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tLog.error(error instanceof Error ? error.message : String(error));\n\t\t\t});\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\"tilesImport\",\n\t\t\tasync (sChannelId?: string, sEventId?: string, oData?) => {\n\t\t\t\tawait this.appManagerInstance.createInsightSection(this._i18nBundle.getText(\"insightsTiles\") as string);\n\t\t\t\tawait this._addSectionViz(oData as IVisualization[], MYINSIGHT_SECTION_ID);\n\t\t\t\tawait this.refreshData();\n\t\t\t\tthis._adjustLayout();\n\t\t\t\tthis._importdone();\n\t\t\t},\n\t\t\tthis\n\t\t);\n\n\t\t// Toggles the activity of tiles\n\t\tthis._toggleTileActivity();\n\t}\n\n\t/**\n\t * Toggles the activity of tiles on route change.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _toggleTileActivity(): void {\n\t\tconst toggleUserActions = async (event: Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\tthis._controlModel.setProperty(\"/activateInsightsTiles\", show);\n\t\t\tif (show) {\n\t\t\t\tif (this._appSwitched) {\n\t\t\t\t\tawait this.refreshData(true);\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 * Takes the visualizations and add it to the provided section id\n\t * @param {IVisualization[]} aSectionViz - array of visualizations\n\t * @param {string} sSectionId - section id where the visualizations to be added\n\t * @returns {any}\n\t */\n\tprivate _addSectionViz(aSectionViz: IVisualization[], sSectionId: string) {\n\t\treturn aSectionViz.reduce((promiseChain, oViz) => {\n\t\t\treturn promiseChain.then(() => {\n\t\t\t\tif (oViz.isBookmark) {\n\t\t\t\t\treturn this.appManagerInstance.addBookMark(oViz);\n\t\t\t\t} else {\n\t\t\t\t\treturn sSectionId\n\t\t\t\t\t\t? this.appManagerInstance.addVisualization(oViz.vizId, sSectionId)\n\t\t\t\t\t\t: this.appManagerInstance.addVisualization(oViz.vizId);\n\t\t\t\t}\n\t\t\t});\n\t\t}, Promise.resolve());\n\t}\n\n\t/**\n\t * Handles the completion of the import process.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _importdone() {\n\t\tconst stateData = { status: true };\n\t\tthis.oEventBus.publish(\"importChannel\", \"tilesImported\", stateData);\n\t}\n\n\t/**\n\t * Displays placeholder tiles while loading.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _showPlaceHolders() {\n\t\tconst placeholderArray = new Array(this._calculatePlaceholderTileCount()).fill(LoadState.Loading) as LoadState[];\n\t\tthis.aInsightsApps = placeholderArray.map((tileState: LoadState, index: number) => {\n\t\t\treturn new GenericTile(recycleId(`${this.getId()}--placeHolderTile--${index}`), {\n\t\t\t\tsizeBehavior: \"Responsive\",\n\t\t\t\tstate: tileState,\n\t\t\t\tframeType: \"OneByOne\",\n\t\t\t\tmode: \"IconMode\",\n\t\t\t\tvisible: true,\n\t\t\t\trenderOnThemeChange: true,\n\t\t\t\tariaRole: \"listitem\",\n\t\t\t\tdropAreaOffset: 8\n\t\t\t}).setLayoutData?.(\n\t\t\t\tnew GridContainerItemLayoutData(recycleId(`${this.getId()}--placeHolderTileLayoutData--${index}`), {\n\t\t\t\t\tcolumns: 2\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps, undefined, true);\n\t}\n\n\t/**\n\t * Clears the placeholder tiles.\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _clearPlaceHolders() {\n\t\tthis._controlModel.setProperty(\"/tiles\", []);\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\ttry {\n\t\t\tconst container = this.getParent() as BaseContainer;\n\t\t\tthis._showPlaceHolders();\n\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\tconst addFromFavAppMenuItem = this._createAddFromFavMenuItem(tilesMenuItems.ADD_APPS, \"smartAppsDialog\");\n\t\t\t\tthis.addAggregation(\"menuItems\", addFromFavAppMenuItem);\n\t\t\t\tthis._sortMenuItems(sortedMenuItems);\n\t\t\t}\n\t\t\treturn await this.refreshData();\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tthis.fireHandleHidePanel();\n\t\t} finally {\n\t\t\tthis.fireEvent(\"loaded\");\n\t\t}\n\t\treturn Promise.resolve();\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 * Refreshes the data in the panel.\n\t *\n\t * @private\n\t * @param {boolean} [refreshTiles=false] - Whether to refresh the tiles.\n\t * @returns {Promise<void>} A promise that resolves when the data is refreshed.\n\t */\n\tpublic async refreshData(refreshTiles: boolean = false) {\n\t\tconst panelName = this.getMetadata().getName();\n\t\tthis.aInsightsApps = await this.appManagerInstance.fetchInsightApps(true, this._insightsSectionTitle);\n\t\tconst bIsSmartBusinessTilePresent = this.aInsightsApps.some((oApp) => oApp.isSmartBusinessTile);\n\t\tif (bIsSmartBusinessTilePresent) {\n\t\t\tawait Lib.load({ name: \"sap.cloudfnd.smartbusiness.lib.reusetiles\" });\n\t\t}\n\t\tthis._clearPlaceHolders();\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps);\n\t\tif (this.aInsightsApps?.length) {\n\t\t\tthis.fireHandleUnhidePanel();\n\t\t\tif (refreshTiles) {\n\t\t\t\tconst isMobile = this.getDeviceType() === DeviceType.Mobile;\n\t\t\t\tconst container = isMobile ? this.tilesMobileContainer : this.tilesContainer;\n\t\t\t\tconst sDefaultAggreName = container.getMetadata().getDefaultAggregationName();\n\t\t\t\tconst dynamicTiles = (container.getAggregation(sDefaultAggreName) as ManagedObject[]) || [];\n\t\t\t\tdynamicTiles.forEach((tiles) => (tiles as ICustomVisualization).refresh?.());\n\t\t\t}\n\t\t\tthis._getInsightsContainer()?.updatePanelsItemCount(this.aInsightsApps.length, panelName);\n\t\t\tif (this._headerVisible) {\n\t\t\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsTiles\")} (${this.aInsightsApps.length})`);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.fireHandleHidePanel();\n\t\t}\n\t}\n\n\t/**\n\t * Generates the wrapper for the tiles container, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The tiles Vbox wrapper.\n\t */\n\tprivate _createTilesFlexWrapper() {\n\t\tif (!this._tilesWrapper) {\n\t\t\tthis._tilesWrapper = new VBox(`${this.getId()}-tilesWrapper`, {\n\t\t\t\trenderType: \"Bare\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\titems: [this._createMobileFlexWrapper(), this._createWrapperFlexBox()]\n\t\t\t});\n\t\t\tthis._tilesWrapper.setModel(this._controlModel);\n\t\t\tthis.addContent(this._tilesWrapper);\n\t\t}\n\t}\n\n\t/**\n\t * Generates wrapper for displaying tiles in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated tiles wrapper.\n\t */\n\n\tprivate _createMobileFlexWrapper(): HeaderContainer {\n\t\t// Check if the mobile container already exists\n\t\tif (!this.tilesMobileContainer) {\n\t\t\t// Create the HeaderContainer with required properties\n\t\t\tthis.tilesMobileContainer = new HeaderContainer(`${this.getId()}-insightsTilesMobileContainer`, {\n\t\t\t\tscrollStep: 0,\n\t\t\t\tscrollStepByItem: 1,\n\t\t\t\tgridLayout: true,\n\t\t\t\tscrollTime: 1000,\n\t\t\t\tshowDividers: false,\n\t\t\t\tvisible: \"{/isPhone}\"\n\t\t\t}).addStyleClass(\"sectionMarginTopTilesInsight sapMHeaderContainerMarginBottom sapCuxInsightsMobileCardsContainer\");\n\n\t\t\t// Attach aggregation to the container\n\t\t\tthis._attachAggregationToContainer(this.tilesMobileContainer);\n\t\t}\n\t\t// Return the existing or newly created container\n\t\treturn this.tilesMobileContainer;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying tiles.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated tiles wrapper.\n\t */\n\n\tprivate _createWrapperFlexBox(): GridContainer {\n\t\t// Check if the tilesContainer already exists\n\t\tif (!this.tilesContainer) {\n\t\t\t// Create the GridContainer with required properties\n\t\t\tthis.tilesContainer = new GridContainer(`${this.getId()}-insightsTilesContainer`, {\n\t\t\t\tvisible: \"{= !${/isPhone}}\"\n\t\t\t}).addStyleClass(\"insightTiles sapUiSmallMarginTop\");\n\t\t\t// Attach aggregation to the container\n\t\t\tthis._attachAggregationToContainer(this.tilesContainer);\n\t\t}\n\t\t// Return the existing or newly created container\n\t\treturn this.tilesContainer;\n\t}\n\n\t/**\n\t * Updates the activation flags for Insights Tiles based on the device type and viewport.\n\t *\n\t *\n\t * @private\n\t * @returns {void}\n\t */\n\tprivate _updateTilesActivity(): void {\n\t\t// Activate Insights Tiles based on container in viewport\n\t\tconst isPhoneScreen: boolean = this.getDeviceType() === DeviceType.Mobile;\n\t\t// Explicitly type the property being retrieved\n\t\tconst bActivateInsightsTiles: boolean = Boolean(this._controlModel.getProperty(\"/activateInsightsTiles\"));\n\t\tthis._controlModel.setProperty(\"/activateInsightsTilesOnPhone\", bActivateInsightsTiles && isPhoneScreen);\n\t\tthis._controlModel.setProperty(\"/activateInsightsTilesOnDesktop\", bActivateInsightsTiles && !isPhoneScreen);\n\t}\n\t/**\n\t * Attaches necessary aggregations and configurations to the provided container.\n\t *\n\t * @private\n\t * @param {GridContainer | HeaderContainer} tilesContainer - The container to which the aggregation and events are to be attached.\n\t * @returns {void}\n\t *\n\t */\n\tprivate _attachAggregationToContainer(tilesContainer: GridContainer | HeaderContainer) {\n\t\ttilesContainer.setModel(this._controlModel);\n\t\tconst sDefaultAggreName = tilesContainer.getMetadata().getDefaultAggregationName();\n\t\tconst isPhoneScreen = this.getDeviceType() === DeviceType.Mobile;\n\t\ttilesContainer.bindAggregation(sDefaultAggreName, {\n\t\t\tpath: \"/tiles\",\n\t\t\tfactory: (id: string, context: Context): ManagedObject => {\n\t\t\t\tconst oApp = context.getObject() as ICustomVisualization;\n\t\t\t\tif (oApp instanceof GenericTile) {\n\t\t\t\t\treturn oApp;\n\t\t\t\t}\n\t\t\t\tconst oVisualization = this.VizInstantiationService.instantiateVisualization(oApp.visualization) as ICustomVisualization;\n\t\t\t\toVisualization.setLayoutData?.(\n\t\t\t\t\tnew GridContainerItemLayoutData(`${this.getId()}-itemLayoutData-${id}`, {\n\t\t\t\t\t\tminRows: 2,\n\t\t\t\t\t\tcolumns: oVisualization.getDisplayFormat?.() === DisplayFormat.Standard ? 2 : 4\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\toVisualization?.attachPress?.(() => {\n\t\t\t\t\taddFESRNavigationSource(FESRNavigationSource.Tiles);\n\t\t\t\t});\n\t\t\t\toVisualization?.bindProperty?.(\n\t\t\t\t\t\"active\",\n\t\t\t\t\tisPhoneScreen ? \"/activateInsightsTilesOnPhone\" : \"/activateInsightsTilesOnDesktop\"\n\t\t\t\t);\n\t\t\t\tthis._setDropAreaRectFunction(oVisualization as ManagedObject);\n\t\t\t\treturn oVisualization as ManagedObject;\n\t\t\t}\n\t\t});\n\t\tthis.addDragDropConfigTo(tilesContainer, (oEvent) => this._handleTilesDnd(oEvent));\n\t}\n\n\t/**\n\t * Sets the drop area rectangle function for the given visualization.\n\t *\n\t * @private\n\t * @param {ManagedObject} oVisualization - The visualization object to set the drop area rectangle function.\n\t */\n\tprivate _setDropAreaRectFunction(oVisualization: ManagedObject) {\n\t\tconst tilesDropAreaOffset = 8;\n\t\tconst vizObj = oVisualization as { getDropAreaRect?: () => void };\n\n\t\tif (typeof vizObj.getDropAreaRect !== \"function\") {\n\t\t\tObject.defineProperty(oVisualization, \"getDropAreaRect\", {\n\t\t\t\tvalue: function (this: Control) {\n\t\t\t\t\tconst domRef = this.getDomRef();\n\t\t\t\t\tif (!domRef) return null;\n\t\t\t\t\tconst mDropRect = domRef.getBoundingClientRect();\n\t\t\t\t\treturn {\n\t\t\t\t\t\tleft: mDropRect.left - tilesDropAreaOffset,\n\t\t\t\t\t\tright: mDropRect.right + tilesDropAreaOffset,\n\t\t\t\t\t\ttop: mDropRect.top,\n\t\t\t\t\t\tbottom: mDropRect.bottom,\n\t\t\t\t\t\twidth: mDropRect.width,\n\t\t\t\t\t\theight: mDropRect.height\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Handles the drag and drop of tiles.\n\t *\n\t * @private\n\t * @param {Event<DropInfo$DropEventParameters>} oEvent - The drop event parameters.\n\t */\n\tprivate _handleTilesDnd(oEvent: Event<DropInfo$DropEventParameters>) {\n\t\tconst sInsertPosition = oEvent.getParameter?.(\"dropPosition\"),\n\t\t\toDragItem = oEvent?.getParameter?.(\"draggedControl\") as Control,\n\t\t\toDropItem = oEvent.getParameter(\"droppedControl\") as Control,\n\t\t\tiDragItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDragItem);\n\t\tlet iDropItemIndex = (oDragItem.getParent() as FlexBox)?.indexOfItem(oDropItem);\n\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex === iDropItemIndex - 1) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex === iDropItemIndex + 1) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\n\t\tif (iDragItemIndex !== iDropItemIndex) {\n\t\t\tvoid this._DragnDropTiles(iDragItemIndex, iDropItemIndex, sInsertPosition as string);\n\t\t}\n\t}\n\n\t/**\n\t * Handles the drag and drop of tiles asynchronously.\n\t *\n\t * @private\n\t * @param {number} iDragItemIndex - The index of the dragged item.\n\t * @param {number} iDropItemIndex - The index of the dropped item.\n\t * @param {string} sInsertPosition - The position to insert the item.\n\t * @returns {Promise<void>} A promise that resolves when the drag and drop operation is complete.\n\t */\n\tprivate async _DragnDropTiles(iDragItemIndex: number, iDropItemIndex: number, sInsertPosition: string) {\n\t\tif (sInsertPosition === \"Before\" && iDragItemIndex < iDropItemIndex) {\n\t\t\tiDropItemIndex--;\n\t\t} else if (sInsertPosition === \"After\" && iDragItemIndex > iDropItemIndex) {\n\t\t\tiDropItemIndex++;\n\t\t}\n\t\tconst oDisplacedItem = this.aInsightsApps[iDropItemIndex] as ICustomVisualization,\n\t\t\toItemMoved = this.aInsightsApps.splice(iDragItemIndex, 1)[0] as ICustomVisualization;\n\t\tthis.aInsightsApps.splice(iDropItemIndex, 0, oItemMoved);\n\t\tconst moveConfigs = {\n\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\tsourceSectionIndex: oItemMoved.persConfig?.sectionIndex as number,\n\t\t\tsourceVisualizationIndex: oItemMoved.persConfig?.visualizationIndex as number,\n\t\t\ttargetSectionIndex: oDisplacedItem.persConfig?.sectionIndex as number,\n\t\t\ttargetVisualizationIndex: oDisplacedItem.persConfig?.visualizationIndex as number\n\t\t};\n\t\tthis._controlModel.setProperty(\"/tiles\", this.aInsightsApps);\n\t\tawait this.appManagerInstance.moveVisualization(moveConfigs);\n\t\tawait this.refreshData(true);\n\t\t// Ensures focus on tile after Panel refresh during DnD.\n\t\tsetTimeout(() => {\n\t\t\tfocusDraggedItem(this.tilesContainer, iDropItemIndex);\n\t\t}, 0);\n\t}\n\n\t/**\n\t * Handles the edit tiles event.\n\t *\n\t * @param {Event} event - The event object.\n\t */\n\tprivate handleEditTiles(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<TilesPanel>().getParent() || this;\n\t\tif (parent instanceof TilesPanel) {\n\t\t\tparent = parent.getParent() as ManagedObject;\n\t\t}\n\t\t(parent as InsightsContainer)?._getLayout().openSettingsDialog(SETTINGS_PANELS_KEYS.INSIGHTS_TILES);\n\t}\n\n\t/**\n\t * Hides the header of the tiles panel.\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 tiles panel.\n\t * @private\n\t */\n\tpublic handleAddHeader() {\n\t\tthis._headerVisible = true;\n\t\tthis.setProperty(\"title\", `${this._i18nBundle?.getText(\"insightsTiles\")} (${this.aInsightsApps.length})`);\n\t\tthis._toggleHeaderActions(true);\n\t}\n\n\t/**\n\t * Closes the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t */\n\tprivate _closeAddFromFavDialog() {\n\t\tconst list = this._controlMap.get(`${this._addFromFavDialogId}-list`) as List;\n\t\tlist?.removeSelections();\n\t\t(this._controlMap.get(this._addFromFavDialogId) as Dialog)?.close();\n\t}\n\n\t/**\n\t * Navigates to the App Finder with optional group Id.\n\t * @async\n\t * @private\n\t */\n\tprivate async navigateToAppFinder() {\n\t\tconst navigationService = await Container.getServiceAsync<Navigation>(\"Navigation\");\n\t\tconst navigationObject: { pageID: string; sectionID?: string } = {\n\t\t\tpageID: MYHOME_PAGE_ID,\n\t\t\tsectionID: MYINSIGHT_SECTION_ID\n\t\t};\n\t\tawait navigationService.navigate({\n\t\t\ttarget: {\n\t\t\t\tshellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`\n\t\t\t}\n\t\t});\n\t\taddFESRNavigationSource(FESRNavigationSource.AppFinder);\n\t}\n\n\t/**\n\t * Retrieves the key of the legend color based on the provided color value.\n\t * @param {string} color - The color value for which to retrieve the legend color key.\n\t * @returns {string} The legend color key corresponding to the provided color value, or the default background color key if not found.\n\t * @private\n\t */\n\tprivate _getLegendColor(color: string) {\n\t\treturn END_USER_COLORS().find((oColor) => oColor.value === color) || DEFAULT_BG_COLOR();\n\t}\n\n\t/**\n\t * Handles the addition of tiles from favorite apps.\n\t * @returns {Promise<void>} A Promise that resolves when the operation is complete.\n\t * @private\n\t */\n\tprivate async _handleAddFromFavApps() {\n\t\tconst appsToAdd = await this._getFavToAdd();\n\t\tconst dialog = this._generateAddFromFavAppsDialog();\n\t\t(this._controlMap.get(`${this._addFromFavDialogId}-errorMessage`) as IllustratedMessage)?.setVisible(appsToAdd.length === 0);\n\t\tthis._generateAddFromFavAppsListItems(appsToAdd);\n\t\tdialog.open();\n\t}\n\n\t/**\n\t * Retrieves the favorite visualizations to be added.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<ISectionAndVisualization[]>} A promise that resolves to an array of favorite visualizations to be added.\n\t */\n\tprivate async _getFavToAdd(): Promise<ISectionAndVisualization[]> {\n\t\tconst aFavApps: ISectionAndVisualization[] = await this.appManagerInstance.fetchFavVizs(false, true);\n\t\tconst aDynamicApps = aFavApps.filter(function (oDynApp) {\n\t\t\treturn oDynApp.isCount || oDynApp.isSmartBusinessTile;\n\t\t});\n\n\t\tconst aFilteredFavApps = aDynamicApps.filter((oDynApp) => {\n\t\t\tconst iAppIndex = this.aInsightsApps.findIndex(function (oInsightApps) {\n\t\t\t\treturn (\n\t\t\t\t\t(!oDynApp.visualization?.isBookmark &&\n\t\t\t\t\t\t(oInsightApps as ICustomVisualization).visualization?.vizId === oDynApp.visualization?.vizId) ||\n\t\t\t\t\t(oDynApp.visualization?.isBookmark &&\n\t\t\t\t\t\t(oInsightApps as ICustomVisualization).visualization?.targetURL === oDynApp.visualization?.targetURL)\n\t\t\t\t);\n\t\t\t});\n\t\t\treturn iAppIndex === -1;\n\t\t});\n\n\t\treturn aFilteredFavApps;\n\t}\n\n\t/**\n\t * Retrieves the selected Apps from the dialog.\n\t * @returns {sap.m.ListItemBase[]} An array of selected Apps.\n\t * @private\n\t */\n\tprivate _getSelectedInsights() {\n\t\tconst list = this._controlMap.get(`${this._addFromFavDialogId}-list`) as List;\n\t\treturn list.getSelectedItems() || [];\n\t}\n\n\t/**\n\t * Generates list items for the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t * @param {ISectionAndVisualization[]} appsToAdd - An array of favorite visualizations to be added.\n\t */\n\tprivate _generateAddFromFavAppsListItems(appsToAdd: ISectionAndVisualization[]) {\n\t\tconst id = this._addFromFavDialogId;\n\t\tconst list = this._controlMap.get(`${id}-list`) as List;\n\t\tif (appsToAdd.length) {\n\t\t\tlist.destroyItems();\n\t\t\tconst listItems = appsToAdd.map(\n\t\t\t\t(app, index) =>\n\t\t\t\t\tnew CustomListItem({\n\t\t\t\t\t\tid: `${id}-listItem-${index}`,\n\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\tnew HBox({\n\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content`,\n\t\t\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\tnew Icon({\n\t\t\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content-icon`,\n\t\t\t\t\t\t\t\t\t\tsrc: app.icon,\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: this._getLegendColor(\n\t\t\t\t\t\t\t\t\t\t\ttypeof app.BGColor === \"object\" ? app.BGColor.key : (app.BGColor ?? \"\")\n\t\t\t\t\t\t\t\t\t\t).value,\n\t\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\t\twidth: \"2.25rem\",\n\t\t\t\t\t\t\t\t\t\theight: \"2.25rem\",\n\t\t\t\t\t\t\t\t\t\tsize: \"1.25rem\"\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiRoundedBorder sapUiTinyMargin\"),\n\t\t\t\t\t\t\t\t\tnew ObjectIdentifier({\n\t\t\t\t\t\t\t\t\t\tid: `${id}-listItem-${index}-content-identifier`,\n\t\t\t\t\t\t\t\t\t\ttitle: app.title,\n\t\t\t\t\t\t\t\t\t\ttext: app.subtitle,\n\t\t\t\t\t\t\t\t\t\ttooltip: app.title\n\t\t\t\t\t\t\t\t\t}).addStyleClass(\"sapUiTinyMargin\")\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\t\t\t\t\t})\n\t\t\t\t\t\t.addStyleClass(\"sapUiContentPadding\")\n\t\t\t\t\t\t.data(\"app\", app) as CustomListItem\n\t\t\t);\n\t\t\tlistItems.forEach((item) => list.addItem(item));\n\t\t}\n\t\tlist?.setVisible(appsToAdd.length !== 0);\n\t}\n\n\t/**\n\t * Generates the \"Add from Favorites\" dialog.\n\t *\n\t * @private\n\t * @returns {Dialog} The generated dialog.\n\t */\n\tprivate _generateAddFromFavAppsDialog(): Dialog {\n\t\tconst id = this._addFromFavDialogId;\n\t\tconst setAddBtnEnabled = () => {\n\t\t\tconst selectedItems = this._getSelectedInsights();\n\t\t\t(this._controlMap.get(`${id}-addBtn`) as Button).setEnabled(selectedItems.length > 0);\n\t\t};\n\t\tif (!this._controlMap.get(id)) {\n\t\t\tconst getAppFinderBtn = (id: string, btnType?: ButtonType) => {\n\t\t\t\tconst appFinderBtn = new Button(id, {\n\t\t\t\t\ticon: \"sap-icon://action\",\n\t\t\t\t\ttext: this._i18nBundle.getText(\"appFinderBtn\"),\n\t\t\t\t\tpress: () => {\n\t\t\t\t\t\tthis._closeAddFromFavDialog();\n\t\t\t\t\t\tvoid this.navigateToAppFinder();\n\t\t\t\t\t},\n\t\t\t\t\tvisible: _showAddApps(),\n\t\t\t\t\ttype: btnType ?? ButtonType.Default\n\t\t\t\t});\n\t\t\t\taddFESRSemanticStepName(appFinderBtn, FESR_EVENTS.PRESS, \"tilesAppFinder\");\n\t\t\t\treturn appFinderBtn;\n\t\t\t};\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-list`,\n\t\t\t\tnew List({\n\t\t\t\t\tid: `${id}-list`,\n\t\t\t\t\tmode: \"MultiSelect\",\n\t\t\t\t\tselectionChange: setAddBtnEnabled\n\t\t\t\t})\n\t\t\t);\n\t\t\tconst addButton = new Button({\n\t\t\t\tid: `${id}-addBtn`,\n\t\t\t\ttext: this._i18nBundle.getText(\"addBtn\"),\n\t\t\t\ttype: \"Emphasized\",\n\t\t\t\tpress: () => {\n\t\t\t\t\tvoid this._addFromFavApps();\n\t\t\t\t},\n\t\t\t\tenabled: false\n\t\t\t});\n\t\t\taddFESRSemanticStepName(addButton, FESR_EVENTS.PRESS, \"addSmartApps\");\n\t\t\tthis._controlMap.set(`${id}-addBtn`, addButton);\n\t\t\tthis._controlMap.set(\n\t\t\t\t`${id}-errorMessage`,\n\t\t\t\tnew IllustratedMessage({\n\t\t\t\t\tid: `${id}-errorMessage`,\n\t\t\t\t\tillustrationSize: IllustratedMessageSize.Small,\n\t\t\t\t\tillustrationType: IllustratedMessageType.AddDimensions,\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\t\tdescription: this._i18nBundle.getText(\"tilesSectionNoDataDescription\"),\n\t\t\t\t\tvisible: true\n\t\t\t\t}).addStyleClass(\"sapUiLargeMarginTop\")\n\t\t\t);\n\t\t\tconst dialog = new Dialog(id, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addSmartApps\"),\n\t\t\t\tcontent: [\n\t\t\t\t\tnew Label({\n\t\t\t\t\t\tid: `${id}-label`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"suggTileDialogLabel\"),\n\t\t\t\t\t\twrapping: true\n\t\t\t\t\t}).addStyleClass(\"sapMTitleAlign sapUiTinyMarginTopBottom sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\tnew HBox({\n\t\t\t\t\t\tid: `${id}-textContainer`,\n\t\t\t\t\t\tjustifyContent: \"SpaceBetween\",\n\t\t\t\t\t\talignItems: \"Center\",\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\tnew Title({\n\t\t\t\t\t\t\t\tid: `${id}-text`,\n\t\t\t\t\t\t\t\ttext: this._i18nBundle.getText(\"suggTileDialogTitle\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tgetAppFinderBtn(`${id}-addAppsBtn`, ButtonType.Transparent)\n\t\t\t\t\t\t]\n\t\t\t\t\t}).addStyleClass(\"sapUiTinyMarginTop dialogHeader sapUiSmallMarginBeginEnd\"),\n\t\t\t\t\tthis._controlMap.get(`${id}-list`) as List,\n\t\t\t\t\tthis._controlMap.get(`${id}-errorMessage`) as IllustratedMessage\n\t\t\t\t],\n\t\t\t\tcontentWidth: \"42.75rem\",\n\t\t\t\tcontentHeight: \"32.5rem\",\n\t\t\t\tendButton: new Button({\n\t\t\t\t\tid: `${id}-addFromFavDialogCloseBtn`,\n\t\t\t\t\ttext: this._i18nBundle.getText(\"XBUT_CLOSE\"),\n\t\t\t\t\tpress: this._closeAddFromFavDialog.bind(this)\n\t\t\t\t}),\n\t\t\t\tescapeHandler: this._closeAddFromFavDialog.bind(this),\n\t\t\t\tbuttons: [\n\t\t\t\t\tthis._controlMap.get(`${id}-addBtn`) as Button,\n\t\t\t\t\tnew Button({\n\t\t\t\t\t\tid: `${id}-cancelBtn`,\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"cancelBtn\"),\n\t\t\t\t\t\tpress: this._closeAddFromFavDialog.bind(this)\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}).addStyleClass(\"sapContrastPlus sapCuxAddFromInsightsDialog\");\n\t\t\tthis.addDependent(dialog);\n\t\t\tthis._controlMap.set(id, dialog);\n\t\t}\n\t\tsetAddBtnEnabled();\n\t\treturn this._controlMap.get(id) as Dialog;\n\t}\n\n\t/**\n\t * Handles the addition of tiles from favorite apps.\n\t *\n\t * @private\n\t * @async\n\t * @returns {Promise<void>} A promise that resolves when the operation is complete.\n\t */\n\tprivate async _addFromFavApps() {\n\t\tconst dialog = this._controlMap.get(this._addFromFavDialogId) as Dialog;\n\t\tdialog.setBusy(true);\n\t\tconst selectedItems = this._getSelectedInsights();\n\t\tconst sections = await this.appManagerInstance._getSections();\n\t\tawait selectedItems.reduce(async (promise, oApp) => {\n\t\t\tawait promise;\n\t\t\tconst app = oApp.data(\"app\") as ISectionAndVisualization;\n\t\t\tconst oMovingConfig = {\n\t\t\t\tpageId: MYHOME_PAGE_ID,\n\t\t\t\tsourceSectionIndex: app.persConfig?.sectionIndex as number,\n\t\t\t\tsourceVisualizationIndex: app.persConfig?.visualizationIndex as number,\n\t\t\t\ttargetSectionIndex: this.appManagerInstance.insightsSectionIndex,\n\t\t\t\ttargetVisualizationIndex: -1\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * If the app is a bookmark, we need to update the source and target section indices accordingly.\n\t\t\t * This is because bookmarks are added to the \"Recent Apps\" section,\n\t\t\t * which is always at the top of the list, and the insights section index is shifted by one.\n\t\t\t */\n\t\t\tif (app.visualization?.isBookmark) {\n\t\t\t\tconst recentAppSectionIndex = sections.findIndex((section) => section.default);\n\n\t\t\t\tif (recentAppSectionIndex === -1) {\n\t\t\t\t\toMovingConfig.sourceSectionIndex = 0;\n\t\t\t\t\toMovingConfig.sourceVisualizationIndex = 0;\n\t\t\t\t\toMovingConfig.targetSectionIndex = this.appManagerInstance.insightsSectionIndex + 1;\n\t\t\t\t} else {\n\t\t\t\t\toMovingConfig.sourceSectionIndex = recentAppSectionIndex;\n\t\t\t\t\toMovingConfig.sourceVisualizationIndex = sections[recentAppSectionIndex]?.visualizations?.length || 0;\n\t\t\t\t\toMovingConfig.targetSectionIndex = this.appManagerInstance.insightsSectionIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (app.visualization?.displayFormatHint !== \"standard\" && app.visualization?.displayFormatHint !== \"standardWide\") {\n\t\t\t\tif (app.visualization?.supportedDisplayFormats === \"standard\") {\n\t\t\t\t\tapp.visualization.displayFormatHint = \"standard\";\n\t\t\t\t} else if (app.visualization?.supportedDisplayFormats === \"standardWide\") {\n\t\t\t\t\tapp.visualization.displayFormatHint = \"standardWide\";\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Add Selected App to Insights Section\n\t\t\tif (!app.visualization?.vizId) {\n\t\t\t\t(app.visualization as IVisualization).vizId = app.visualization?.targetURL ?? \"\";\n\t\t\t}\n\t\t\tif (app.visualization?.isBookmark === true) {\n\t\t\t\tawait this.appManagerInstance.addBookMark(app.visualization, oMovingConfig);\n\t\t\t} else {\n\t\t\t\tawait this.appManagerInstance.addVisualization(app.visualization?.vizId as string, MYINSIGHT_SECTION_ID);\n\t\t\t}\n\t\t}, Promise.resolve());\n\n\t\tawait this.refreshData();\n\t\tdialog.setBusy(false);\n\t\tdialog.close();\n\t}\n\n\t/**\n\t * Calculates the number of visible tiles that can fit within the available width of the parent container.\n\t *\n\t * @private\n\t * @param {ICustomVisualization[]} insightsApps - An array of custom visualizations to be displayed as tiles.\n\t * @returns {number} - The number of visible tiles.\n\t */\n\tprivate _calculateVisibleTileCount(insightsApps: ICustomVisualization[]): number {\n\t\tconst layout = this._getInsightsContainer()?._getLayout();\n\t\tconst layoutDomRef = layout?.getDomRef();\n\t\tconst apps = insightsApps || [];\n\t\tlet count = 0;\n\n\t\tif (layoutDomRef && apps.length) {\n\t\t\tconst isHeaderVisible = layout.getProperty(\"showHeader\") as boolean;\n\t\t\tconst sectionNodeIndex = isHeaderVisible ? 1 : 0;\n\t\t\tconst sectionDomRef = layoutDomRef.childNodes[sectionNodeIndex] 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 widthMap = {} as Record<DisplayFormat, number>;\n\n\t\t\twidthMap[DisplayFormat.Standard] = StandardTileWidth + Gap;\n\t\t\twidthMap[DisplayFormat.StandardWide] = StandardWideTileWidth + Gap;\n\n\t\t\tlet nextTileWidth = widthMap[(apps[count].visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];\n\t\t\tdo {\n\t\t\t\tavailableWidth -= nextTileWidth;\n\t\t\t\t++count;\n\t\t\t\tnextTileWidth = widthMap[(apps[count]?.visualization?.displayFormatHint ?? DisplayFormat.Standard) as DisplayFormat];\n\t\t\t} while (availableWidth > nextTileWidth);\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\tprivate _calculatePlaceholderTileCount(): 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 width = StandardTileWidth + Gap;\n\n\t\t\tcount = Math.floor(availableWidth / width);\n\t\t}\n\n\t\treturn count || 1;\n\t}\n\n\t/**\n\t * Adjusts the layout of the tiles 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\tconst isMobileDevice = this.getDeviceType() === DeviceType.Mobile;\n\n\t\tif (layout) {\n\t\t\tconst visibleTileCount = isMobileDevice\n\t\t\t\t? this.aInsightsApps?.length\n\t\t\t\t: this._calculateVisibleTileCount(this.aInsightsApps as ICustomVisualization[]);\n\t\t\tconst isElementExpanded = layout._getCurrentExpandedElementName() === this.getProperty(\"fullScreenName\");\n\t\t\tthis._controlModel.setProperty(\n\t\t\t\t\"/tiles\",\n\t\t\t\tisElementExpanded ? this.aInsightsApps : this.aInsightsApps?.slice(0, visibleTileCount)\n\t\t\t);\n\t\t\tthis._controlModel.setProperty(\"/isPhone\", isMobileDevice);\n\t\t\tthis._updateTilesActivity();\n\t\t\t//Show/Hide Full Screen Button if panel header is visible otherwise update visibility of container Full Screen Button\n\t\t\tconst showFullScreenButton = isElementExpanded || this.aInsightsApps.length > visibleTileCount;\n\t\t\tif (this._headerVisible) {\n\t\t\t\tif (!isMobileDevice) {\n\t\t\t\t\t(this.getAggregation(\"actionButtons\") as Button[])?.forEach((actionButton) => {\n\t\t\t\t\t\tif (actionButton.getId().includes(tilesActionButtons.ADD_TILES)) {\n\t\t\t\t\t\t\tthis._getInsightsContainer().toggleActionButton(actionButton, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\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()}-${tilesContainerMenuItems.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()}-${tilesContainerActionButtons.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}\n\t}\n\n\t/**\n\t * Retrieves the InsightsContainer instance associated with this TilesPanel.\n\t *\n\t * @private\n\t * @returns {InsightsContainer} The InsightsContainer instance.\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 * 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 containerRefresh = this._createRefreshMenuItem(tilesContainerMenuItems.REFRESH, \"containerTilesRefresh\");\n\t\t\tconst containerEditTiles = this._createEditTilesMenuItem(tilesContainerMenuItems.EDIT_TILES, \"containerManageTiles\");\n\t\t\tconst containerShowMore = createShowMoreMenuItem(this, tilesContainerMenuItems.SHOW_MORE, \"containerTilesShowMore\");\n\t\t\tconst container = this.getParent() as BaseContainer;\n\t\t\tthis._controlMap.set(`${this.getId()}-${tilesContainerMenuItems.SHOW_MORE}`, containerShowMore);\n\t\t\tthis._containerMenuItems = [containerRefresh, containerEditTiles, containerShowMore];\n\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\tconst containerAddFromFav = this._createAddFromFavMenuItem(tilesContainerMenuItems.ADD_APPS, \"containerSmartAppsDialog\");\n\t\t\t\tthis._containerMenuItems.splice(1, 0, containerAddFromFav);\n\t\t\t}\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\tthis._containerActionButtons.push(\n\t\t\t\tthis._createAddTilesButton(tilesContainerActionButtons.ADD_TILES, \"containerSmartAppsDialog\")\n\t\t\t);\n\n\t\t\tconst containerFullScreenActionButton = createShowMoreActionButton(\n\t\t\t\tthis,\n\t\t\t\ttilesContainerActionButtons.SHOW_MORE,\n\t\t\t\t\"containerTilesShowMore\"\n\t\t\t);\n\t\t\tif (containerFullScreenActionButton) {\n\t\t\t\tthis._controlMap.set(`${this.getId()}-${tilesContainerActionButtons.SHOW_MORE}`, containerFullScreenActionButton);\n\t\t\t\tthis._containerActionButtons.push(containerFullScreenActionButton);\n\t\t\t}\n\t\t}\n\t\treturn this._containerActionButtons;\n\t}\n\n\t/**\n\t * Creates a refresh menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\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: () => void this.refreshData(true)\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 an \"Add from Favorites\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createAddFromFavMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tif (!this._controlMap.get(`${this.getId()}-${id}`)) {\n\t\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\t\ttitle: this._i18nBundle.getText(\"addSmartApps\"),\n\t\t\t\ticon: \"sap-icon://duplicate\",\n\t\t\t\tvisible: false,\n\t\t\t\tpress: () => void this._handleAddFromFavApps()\n\t\t\t});\n\t\t\tthis._controlMap.set(`${this.getId()}-${id}`, menuItem);\n\t\t\tif (fesrId) {\n\t\t\t\taddFESRId(menuItem, fesrId);\n\t\t\t}\n\t\t}\n\t\treturn this._controlMap.get(`${this.getId()}-${id}`) as MenuItem;\n\t}\n\n\t/**\n\t * Creates an \"Edit Tiles\" menu item.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the menu item.\n\t * @param {string} [fesrId] - The FESR ID for the menu item.\n\t * @returns {MenuItem} The created MenuItem instance.\n\t */\n\tprivate _createEditTilesMenuItem(id: string, fesrId?: string): MenuItem {\n\t\tconst menuItem = new MenuItem(`${this.getId()}-${id}`, {\n\t\t\ttitle: this._i18nBundle.getText(\"editLinkTiles\"),\n\t\t\ticon: \"sap-icon://edit\",\n\t\t\tvisible: false,\n\t\t\tpress: (event: Event) => this.handleEditTiles(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\n\t\treturn menuItem;\n\t}\n\n\t/**\n\t * Creates an \"Add Tiles\" button.\n\t *\n\t * @private\n\t * @param {string} id - The ID of the button.\n\t * @param {string} [fesrId] - The FESR ID for the button.\n\t * @returns {Button} The created Button instance.\n\t */\n\tprivate _createAddTilesButton(id: string, fesrId?: string): Button {\n\t\tconst actionButton = new Button(`${this.getId()}-${id}`, {\n\t\t\ttext: this._i18nBundle.getText(\"appFinderLink\"),\n\t\t\ttooltip: this._i18nBundle.getText(\"appFinderLink\"),\n\t\t\tpress: async () => {\n\t\t\t\tconst container = this._getInsightsContainer() as BaseContainer;\n\t\t\t\tif (checkPanelExists(container, appsConatinerlName, favAppPanelName)) {\n\t\t\t\t\t// Favorite App Panel is visible, proceed as usual\n\t\t\t\t\tvoid this._handleAddFromFavApps();\n\t\t\t\t} else {\n\t\t\t\t\t// Favorite App Panel is NOT visible, navigate to App Finder\n\t\t\t\t\tawait this.navigateToAppFinder();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis._controlMap.set(`${this.getId()}-${id}`, actionButton);\n\t\tif (fesrId) {\n\t\t\taddFESRId(actionButton, fesrId);\n\t\t}\n\n\t\treturn actionButton;\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"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,7 @@ import { DEFAULT_BG_COLOR, END_USER_COLORS, MYHOME_PAGE_ID, MYINSIGHT_SECTION_ID
50
50
  import { recycleId } from "./utils/DataFormatUtils";
51
51
  import { DeviceType, fetchElementProperties } from "./utils/Device";
52
52
  import { focusDraggedItem } from "./utils/DragDropUtils";
53
- import { addFESRId, addFESRSemanticStepName, FESR_EVENTS } from "./utils/FESRUtil";
53
+ import { addFESRId, addFESRNavigationSource, addFESRSemanticStepName, FESR_EVENTS, FESRNavigationSource } from "./utils/FESRUtil";
54
54
  import { createShowMoreActionButton, createShowMoreMenuItem, getAssociatedFullScreenMenuItem, sortMenuItems } from "./utils/InsightsUtils";
55
55
 
56
56
  export enum tilesMenuItems {
@@ -444,7 +444,7 @@ export default class TilesPanel extends BasePanel {
444
444
  scrollTime: 1000,
445
445
  showDividers: false,
446
446
  visible: "{/isPhone}"
447
- }).addStyleClass("sectionMarginTopTilesInsight sapMHeaderContainerMarginBottom");
447
+ }).addStyleClass("sectionMarginTopTilesInsight sapMHeaderContainerMarginBottom sapCuxInsightsMobileCardsContainer");
448
448
 
449
449
  // Attach aggregation to the container
450
450
  this._attachAggregationToContainer(this.tilesMobileContainer);
@@ -465,7 +465,7 @@ export default class TilesPanel extends BasePanel {
465
465
  // Create the GridContainer with required properties
466
466
  this.tilesContainer = new GridContainer(`${this.getId()}-insightsTilesContainer`, {
467
467
  visible: "{= !${/isPhone}}"
468
- }).addStyleClass("insightTiles sapUiSmallMarginTop sapUiSmallMarginBottom");
468
+ }).addStyleClass("insightTiles sapUiSmallMarginTop");
469
469
  // Attach aggregation to the container
470
470
  this._attachAggregationToContainer(this.tilesContainer);
471
471
  }
@@ -514,6 +514,9 @@ export default class TilesPanel extends BasePanel {
514
514
  columns: oVisualization.getDisplayFormat?.() === DisplayFormat.Standard ? 2 : 4
515
515
  })
516
516
  );
517
+ oVisualization?.attachPress?.(() => {
518
+ addFESRNavigationSource(FESRNavigationSource.Tiles);
519
+ });
517
520
  oVisualization?.bindProperty?.(
518
521
  "active",
519
522
  isPhoneScreen ? "/activateInsightsTilesOnPhone" : "/activateInsightsTilesOnDesktop"
@@ -674,6 +677,7 @@ export default class TilesPanel extends BasePanel {
674
677
  shellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`
675
678
  }
676
679
  });
680
+ addFESRNavigationSource(FESRNavigationSource.AppFinder);
677
681
  }
678
682
 
679
683
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ToDoPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/ToDoPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wBAAwB,CAAC;IAkBxC,OAAO,EAAa,QAAQ,EAAa,MAAM,eAAe,CAAC;IAG/D,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAG3D,OAAO,UAAU,MAAM,+BAA+B,CAAC;IACvD,OAAO,OAAO,MAAM,sBAAsB,CAAC;IAG3C,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,UAAU,MAAM,yBAAyB,CAAC;IAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IAO5D,UAAU,OAAO;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACxC;IAED,UAAiB,qBAAqB;QACrC,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB;IAED,UAAiB,MAAM;QACtB,MAAM,EAAE;YACP,cAAc,EAAE,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;SACtB,CAAC;KACF;IAED,UAAiB,cAAc;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,QAAQ;QACxB,CAAC,CAAC,EAAE;YACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;SACpB,CAAC;QACF,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;KAClB;IAED,MAAM,SAAS;;;;;;;;;;;KAWd,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAU,SAAQ,SAAU,YAAW,UAAU;QAC9E,SAAS,CAAC,MAAM,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,SAAS,CAAC,QAAQ,EAAG,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,YAAY,CAAQ;QAC5B,OAAO,CAAC,cAAc,CAAiB;QACvC,OAAO,CAAC,oBAAoB,CAAmB;QAC/C,OAAO,CAAC,UAAU,CAAQ;QAC1B,OAAO,CAAC,aAAa,CAAsB;QAC3C,OAAO,CAAC,WAAW,CAAU;QAC7B,OAAO,CAAC,UAAU,CAA6B;QAC/C,OAAO,CAAC,mBAAmB,CAAW;QACtC,OAAO,CAAC,UAAU,CAAU;QAC5B,OAAO,CAAC,WAAW,CAAe;QAClC,OAAO,CAAC,gBAAgB,CAAiB;oBAE7B,EAAE,CAAC,EAAE,MAAM,GAAG,kBAAkB;oBAChC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;QAYtD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAoDvC;QAEF,MAAM,CAAC,yBAAyB,aAI7B;QAEH,MAAM,CAAC,qBAAqB,aAIzB;QAEH;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAgEnB;;;;;WAKG;QACH,OAAO,CAAC,sBAAsB;QAkB9B;;;;;WAKG;QACH,OAAO,CAAC,4BAA4B;QAgBpC;;;;;WAKG;QACH,OAAO,CAAC,qBAAqB;QAiB7B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;;WAMG;QACU,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAmE9D;;;;WAIG;QACH,OAAO,CAAC,wBAAwB;QAMhC;;;WAGG;QACH,OAAO,CAAC,kBAAkB;QAoB1B;;;;;;;WAOG;QACI,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;QAqBlE;;;;;;WAMG;QACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;QAiBlD;;;;WAIG;QACH,OAAO,CAAC,yBAAyB;QAOjC;;;;;;WAMG;QACH,OAAO,CAAC,oBAAoB;QAgC5B;;;;;WAKG;QACH,OAAO,CAAC,kBAAkB;QAM1B;;;;;;WAMG;QACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;QA+BzD;;;;;;WAMG;QACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;QAYvD;;;;;WAKG;QACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;QAcxC;;;;;;;WAOG;QACH,OAAO,CAAC,sBAAsB;QAuB9B;;;;;;WAMG;QACI,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;QAkBvD;;;;;;;;;WASG;QACU,cAAc,CAAC,OAAO,GAAE,OAAO,EAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;QAQ7F;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAUzB;;;;;WAKG;QACH,OAAO,CAAC,iBAAiB;QAOzB;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAUlC;;;;WAIG;QACI,yBAAyB,IAAI,IAAI;QAYxC;;;;WAIG;QACI,aAAa;QAkBpB;;;;;;WAMG;QACI,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;QAK9C;;;;;;;WAOG;QACH,OAAO,CAAC,uBAAuB;QAK/B;;;;;WAKG;QACI,aAAa,IAAI,MAAM;QAI9B;;;;;;;;;;;WAWG;QACH,OAAO,CAAC,cAAc;QAStB;;;;;WAKG;QACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAmC5C;;;;;WAKG;QACH,OAAO,CAAC,YAAY;QAUpB;;;;WAIG;QACH,SAAS,CAAC,cAAc;QAIxB;;;;;WAKG;QACI,SAAS,IAAI,OAAO;QAa3B;;;;;WAKG;QACI,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;QAI1C;;;;;WAKG;QACI,aAAa,IAAI,OAAO;QAI/B;;;;;WAKG;QACI,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;QAIhD;;;;;WAKG;QACI,aAAa,IAAI,MAAM,GAAG,IAAI;QA4BrC;;;;;WAKG;gBACW,oBAAoB;QA6BlC;;;;WAIG;QACI,eAAe;QAItB;;;;;WAKG;QACI,aAAa,IAAI,MAAM;QAI9B;;;;;WAKG;gBACW,kBAAkB;QAOhC;;;;;WAKG;QACI,IAAI;KAGX;CAEA"}
1
+ {"version":3,"file":"ToDoPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/ToDoPanel.ts"],"names":[],"mappings":"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"}