@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
@@ -19,7 +19,6 @@ import Parameters from "sap/ui/core/theming/Parameters";
19
19
  import S4MyHome from "sap/ushell/api/S4MyHome";
20
20
  import App from "./App";
21
21
  import { $AppsContainerSettings } from "./AppsContainer";
22
- import { getAppsPlaceholder } from "./utils/placeholder/AppsPlaceholder";
23
22
  import BaseApp from "./BaseApp";
24
23
  import BaseAppPanel, { BaseAppPanel$SupportedEvent } from "./BaseAppPanel";
25
24
  import BaseAppPersPanel from "./BaseAppPersPanel";
@@ -28,9 +27,9 @@ import Group from "./Group";
28
27
  import MenuItem from "./MenuItem";
29
28
  import RecommendedAppPanel from "./RecommendedAppPanel";
30
29
  import { ICustomVisualization } from "./interface/AppsInterface";
31
- import { OrientationType } from "./library";
32
30
  import { getLeanURL } from "./utils/DataFormatUtils";
33
31
  import { calculateCardWidth, DeviceType, fetchElementProperties } from "./utils/Device";
32
+ import { getAppsPlaceholder } from "./utils/placeholder/AppsPlaceholder";
34
33
 
35
34
  const getDefaultAppColor = () => {
36
35
  const sLegendName = "sapLegendColor9";
@@ -67,6 +66,7 @@ const CONSTANTS = {
67
66
  export default class AppsContainer extends BaseContainer {
68
67
  private _isInitialRender = true;
69
68
  private _appSwitched!: boolean;
69
+ private _currentDeviceType?: DeviceType;
70
70
  static readonly renderer = {
71
71
  ...BaseContainer.renderer,
72
72
  apiVersion: 2
@@ -121,6 +121,7 @@ export default class AppsContainer extends BaseContainer {
121
121
  this.addStyleClass("sapCuxAppsContainer");
122
122
  this.addCustomSetting("text", this._i18nBundle.getText("myAppMsg") as string);
123
123
  this._attachRouteChangeEvent();
124
+ this._currentDeviceType = this.getDeviceType();
124
125
  }
125
126
 
126
127
  /**
@@ -162,11 +163,11 @@ export default class AppsContainer extends BaseContainer {
162
163
  if (this._isInitialRender) {
163
164
  this._isInitialRender = false;
164
165
  this._attachPanelSupportedEvent();
165
- this._removeUnsupportedPanels();
166
166
  }
167
167
 
168
168
  this.adjustLayout();
169
169
  super.onBeforeRendering();
170
+ this._removeUnsupportedPanels();
170
171
  }
171
172
 
172
173
  /**
@@ -271,10 +272,6 @@ export default class AppsContainer extends BaseContainer {
271
272
  // don't wait for personalization to complete
272
273
  void panel.applyPersonalization(true);
273
274
  }
274
- let tiles: GenericTile[] = [];
275
- let apps = panel.getApps();
276
- tiles = panel.fetchTileVisualization(tiles);
277
- this.fireEvent("appsLoaded", { apps, tiles });
278
275
  }
279
276
 
280
277
  // fire panel loaded event
@@ -303,6 +300,11 @@ export default class AppsContainer extends BaseContainer {
303
300
  let items = isPhone ? this._generateMobileCards([...groups, ...apps], panel.getId()) : this._generateTiles([...groups, ...apps]);
304
301
  this._addWrapperContent(wrapper, items, aggregationName);
305
302
  this._updatePanelContentVisibility(panel);
303
+ if (panel.isLoaded()) {
304
+ let tiles: GenericTile[] = [];
305
+ tiles = panel.fetchTileVisualization(tiles);
306
+ this.fireEvent("appsLoaded", { apps, tiles });
307
+ }
306
308
  }
307
309
 
308
310
  /**
@@ -332,9 +334,10 @@ export default class AppsContainer extends BaseContainer {
332
334
  * Generates generic tile based on app.
333
335
  * @private
334
336
  * @param {sap.cux.home.App} app - App.
337
+ * @param {string} [width="100%"] - Tile width (default "100%", pass "15rem" for fixed mobile layout).
335
338
  * @returns {sap.m.GenericTile}.
336
339
  */
337
- public _getAppTile(app: App): GenericTile {
340
+ public _getAppTile(app: App, width: string = "100%"): GenericTile {
338
341
  const isPhone = this.getDeviceType() === DeviceType.Mobile;
339
342
  const actions = (app.getAggregation("menuItems") || []) as MenuItem[];
340
343
  const tileId = isPhone ? `${app.getId()}-mobile-tile` : `${app.getId()}-tile`;
@@ -352,7 +355,7 @@ export default class AppsContainer extends BaseContainer {
352
355
  dropAreaOffset: 4,
353
356
  subheader: app.getSubTitle(),
354
357
  press: (e) => app._onPress(e),
355
- width: isPhone ? "15rem" : "100%"
358
+ width
356
359
  }).addStyleClass("tileLayout sapMGTTwoByHalf");
357
360
  }
358
361
 
@@ -360,9 +363,10 @@ export default class AppsContainer extends BaseContainer {
360
363
  * Generates generic tile based on group.
361
364
  * @private
362
365
  * @param {sap.cux.home.Group} group - Group.
366
+ * @param {string} [width="100%"] - Tile width (default "100%", pass "15rem" for fixed mobile layout).
363
367
  * @returns {sap.m.GenericTile}.
364
368
  */
365
- private _getGroupTile(group: Group): GenericTile {
369
+ private _getGroupTile(group: Group, width: string = "100%"): GenericTile {
366
370
  const isPhone = this.getDeviceType() === DeviceType.Mobile;
367
371
  const actions = (group.getAggregation("menuItems") || []) as MenuItem[];
368
372
  const tileId = isPhone ? `${group.getId()}-mobile-tile` : `${group.getId()}-tile`;
@@ -379,7 +383,7 @@ export default class AppsContainer extends BaseContainer {
379
383
  dropAreaOffset: 4,
380
384
  tileBadge: group.getNumber(),
381
385
  press: (e) => group._onPress(e),
382
- width: isPhone ? "15rem" : "100%"
386
+ width
383
387
  })
384
388
  .addStyleClass("tileLayout sapMGTTwoByHalf")
385
389
  .data("groupId", group.getGroupId()) as GenericTile;
@@ -455,14 +459,10 @@ export default class AppsContainer extends BaseContainer {
455
459
  * @private
456
460
  */
457
461
  private _togglePanelVisibility(panel: BaseAppPanel, isVisible: boolean) {
458
- if (this.getDeviceType() === DeviceType.Mobile) {
459
- panel.setVisible(isVisible);
460
- } else {
461
- const iconTabBar = this._getInnerControl() as IconTabBar;
462
- const tabs = (iconTabBar?.getItems() as IconTabFilter[]) || [];
463
- const selectedTab = tabs.find((tab) => tab.getKey() === panel.getKey());
464
- selectedTab?.setVisible(isVisible);
465
- }
462
+ const iconTabBar = this._getInnerControl() as IconTabBar;
463
+ const tabs = (iconTabBar?.getItems() as IconTabFilter[]) || [];
464
+ const selectedTab = tabs.find((tab) => tab.getKey() === panel.getKey());
465
+ selectedTab?.setVisible(isVisible);
466
466
  }
467
467
 
468
468
  /**
@@ -502,6 +502,8 @@ export default class AppsContainer extends BaseContainer {
502
502
  const recommendedPanel = panels ? panels.find((panel) => panel instanceof RecommendedAppPanel) : null;
503
503
  if (recommendedPanel instanceof RecommendedAppPanel && !isPhone) {
504
504
  await recommendedPanel._enableRecommendationTab();
505
+ } else {
506
+ recommendedPanel?.setSupported(false);
505
507
  }
506
508
  }
507
509
 
@@ -553,18 +555,20 @@ export default class AppsContainer extends BaseContainer {
553
555
  */
554
556
  public adjustLayout(): void {
555
557
  const isPhone = this.getDeviceType() === DeviceType.Mobile;
556
- const currentLayout = this.getProperty("orientation") as OrientationType;
557
- const newLayout = OrientationType.SideBySide;
558
- const shouldAdjustLayout = currentLayout !== newLayout;
558
+ const currentIsPhone = this._currentDeviceType === DeviceType.Mobile;
559
559
  const selectedPanel = this._getSelectedPanel() as BaseAppPanel;
560
560
  this.setTileWidth(selectedPanel);
561
561
 
562
- //hide actions if the device is a phone
563
- this.toggleActionButtons(!isPhone);
564
- if (!shouldAdjustLayout) {
562
+ // Only proceed if device type changed between mobile and non-mobile
563
+ if (isPhone === currentIsPhone) {
565
564
  return;
566
565
  }
567
- this.setProperty("orientation", newLayout);
566
+
567
+ this._currentDeviceType = this.getDeviceType();
568
+
569
+ //hide actions if the device is a phone
570
+ this.toggleActionButtons(!isPhone);
571
+
568
572
  const panels = this.getContent() as BaseAppPanel[];
569
573
  panels.forEach((panel) => {
570
574
  //if both the panels are dirty, then updated data will be loaded from onBeforeRendering, as layout change will trigger re-rendering
@@ -573,8 +577,11 @@ export default class AppsContainer extends BaseContainer {
573
577
  this._updatePanelContentVisibility(panel);
574
578
  } else if (panel.isDirty() !== panel.isMobileDirty()) {
575
579
  //if one of the panels is dirty i.e. have updated data and other is not, then re-create the inner controls
576
- panel.setDesktopViewDirty(false);
577
- panel.setMobileViewDirty(false);
580
+ if (isPhone) {
581
+ panel.setMobileViewDirty(false);
582
+ } else {
583
+ panel.setDesktopViewDirty(false);
584
+ }
578
585
  this._updatePanelContent(panel);
579
586
  }
580
587
  });
@@ -593,14 +600,16 @@ export default class AppsContainer extends BaseContainer {
593
600
  */
594
601
  private _generateMobileCards(items: BaseApp[], currentPanelId?: string): Panel[] {
595
602
  const panels: Panel[] = [];
603
+ const isSinglePanel = items.length <= 7;
604
+ const tileWidth = isSinglePanel ? "100%" : "15rem";
596
605
  for (let i = 0; i < items.length; i += 7) {
597
606
  const panelItems = items.slice(i, i + 7);
598
607
  const panel = new Panel(`${currentPanelId}--${i}`, {
599
608
  backgroundDesign: BackgroundDesign.Solid,
600
609
  height: "23.5rem",
601
- width: "17rem",
602
- content: this._generateTiles(panelItems)
603
- }).addStyleClass("sapUiMobileAppsCard appPanelBorder myAppMFBContent");
610
+ width: isSinglePanel ? "100%" : "17rem",
611
+ content: this._generateTiles(panelItems, tileWidth)
612
+ }).addStyleClass(`sapUiMobileAppsCard appPanelBorder myAppMFBContent ${isSinglePanel ? "mobileAdaptiveWidth" : ""}`);
604
613
  panels.push(panel);
605
614
  }
606
615
  return panels;
@@ -611,10 +620,11 @@ export default class AppsContainer extends BaseContainer {
611
620
  *
612
621
  * @private
613
622
  * @param {BaseApp[]} items - Apps/Groups for which tiles has to be generated.
623
+ * @param {string} [width="100%"] - Width of each generated tile.
614
624
  * @returns {sap.m.GenericTile[]} The generated tiles.
615
625
  */
616
- private _generateTiles(items: BaseApp[]): GenericTile[] {
617
- return items.map((item) => (item instanceof Group ? this._getGroupTile(item) : this._getAppTile(item as App)));
626
+ private _generateTiles(items: BaseApp[], width: string = "100%"): GenericTile[] {
627
+ return items.map((item) => (item instanceof Group ? this._getGroupTile(item, width) : this._getAppTile(item as App, width)));
618
628
  }
619
629
 
620
630
  /**
@@ -14,7 +14,7 @@ declare module "sap/cux/home/BaseAppPanel" {
14
14
  import BasePanel from "sap/cux/home/BasePanel";
15
15
  import Group from "sap/cux/home/Group";
16
16
  import MenuItem from "sap/cux/home/MenuItem";
17
- import { IActivity, ICustomVisualization } from "sap/cux/home/interface/AppsInterface";
17
+ import { IActivity, IAdditionalInfo, ICustomVisualization } from "sap/cux/home/interface/AppsInterface";
18
18
  import AppManager from "sap/cux/home/utils/AppManager";
19
19
  /**
20
20
  *
@@ -47,6 +47,7 @@ declare module "sap/cux/home/BaseAppPanel" {
47
47
  protected _menuItems: MenuItem[];
48
48
  protected _actionButtons: Button[];
49
49
  protected _controlMap: Map<string, Control | UI5Element>;
50
+ protected additionalInfo: IAdditionalInfo;
50
51
  constructor(idOrSettings?: string | $BaseAppPanelSettings);
51
52
  constructor(id?: string, settings?: $BaseAppPanelSettings);
52
53
  static readonly metadata: MetadataOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseAppPanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseAppPanel.ts"],"names":[],"mappings":"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"}
@@ -198,7 +198,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerSettin
198
198
  height: "23.5rem",
199
199
  content: [],
200
200
  visible: this.getDeviceType() === DeviceType.Mobile
201
- }).addStyleClass("sapUiMargin-26Bottom");
201
+ }).addStyleClass("sapUiMargin-26Bottom sapCuxAppsMobileCardsContainer");
202
202
  }
203
203
  return this._mobileAppsWrapper;
204
204
  },
@@ -242,6 +242,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerSettin
242
242
  if (visualizationData.oldAppId) {
243
243
  app.data("oldAppId", visualizationData.oldAppId);
244
244
  }
245
+ app.data("additionalInfo", this.additionalInfo);
245
246
  visualizationData.menuItems?.forEach(menuItem => {
246
247
  app.addAggregation("menuItems", menuItem, true);
247
248
  });
@@ -596,6 +597,7 @@ sap.ui.define(["sap/base/Log", "sap/f/GridContainer", "sap/f/GridContainerSettin
596
597
  _attachUserActivityTracking: function _attachUserActivityTracking() {
597
598
  if (Config.last("/core/shell/enableRecentActivity")) {
598
599
  Config.on("/core/shell/model/enableTrackingActivity").do(isTrackingActivityEnabled => {
600
+ this.setSupported(isTrackingActivityEnabled);
599
601
  this.fireSupported({
600
602
  isSupported: isTrackingActivityEnabled
601
603
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","HeaderContainer","IllustratedMessage","IllustratedMessageSize","MessageToast","VBox","sap_m_library","Config","Container","__App","__BasePanel","__Group","__AppManager","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","App","BasePanel","Group","AppManager","getLeanURL","recycleId","DeviceType","BaseAppPanel","extend","metadata","library","defaultAggregation","aggregations","content","multiple","singularName","visibility","apps","type","events","persistDialog","supported","parameters","isSupported","properties","tileWidth","group","defaultValue","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_isDirty","_isMobileDirty","_isLoaded","_isSupported","_setAggregation","control","items","aggregationName","forEach","oItem","addAggregation","init","_init","BasePanel.prototype.init.call","appManagerInstance","getInstance","_controlMap","Map","_appsPanelWrapper","_generateWrapper","addContent","getId","_generateDesktopAppsWrapper","_generateMobileAppsWrapper","_generateErrorMessage","width","addStyleClass","controlId","get","set","_generateAppsWrapper","visible","getDeviceType","Mobile","backgroundDesign","Solid","_appsWrapper","layout","columnSize","getProperty","rowSize","gap","_mobileAppsWrapper","gridLayout","showDividers","height","_errorCard","wrap","generateIllustratedMessage","getApps","length","justifyContent","generateApps","_generateApps","visualizationsData","map","visualizationData","index","groupId","persConfig","sectionId","defaultSection","isDefaultSection","getKey","app","title","subTitle","subtitle","bgColor","BGColor","key","icon","url","vizId","visualization","status","oldAppId","data","menuItems","menuItem","setApps","_setApps","fetchTileVisualization","_fetchTileVisualization","tiles","cards","getContent","card","concat","getItems","convertActivitiesToVisualizations","_convertActivitiesToVisualizations","activities","_this","Promise","resolve","all","_getAllAvailableVisualizations","getServiceAsync","availableVisualizations","URLParsingService","appActivities","filter","activity","appType","orgAppId","appId","visualizations","_convertToVisualization","undefined","_updateVisualizationAvailability","reject","_this2","_temp2","_allAvailableVisualizations","_temp","_getCatalogApps","catalogApps","reduce","catalogApp","_this3","fetchFavVizs","favoriteVisualizations","addedInFavorites","some","favoriteVisualization","_updateActivityInfo","updatedVizConfig","_catalogVisualizationCache","targetURL","prepareAppsBeforeLoad","_prepareAppsBeforeLoad","_findBestMatchingVisualization","matchingVisualizations","matchedVisualization","find","matchingViz","matchedVisualizationCache","matchedVisualizations","viz","params","parseShellHash","prio","push","filteredVisualizations","_filterMatchingVisualization","sort","val1","val2","parshedShellHash","activityParameters","activityParameterKeys","Object","keys","visualizationParams","visualizationParamKeys","bMatch","every","includes","catalogVisualizations","catalogVisualization","target","semanticObject","action","_addAppToFavorites","event","_this4","setBusy","source","getSource","getParent","getVizId","_temp3","addVisualization","_refreshAllPanels","message","_i18nBundle","getText","getTitle","show","error","_wasThrown","_result","isLoaded","setLoaded","_setLoaded","val","isDirty","setDesktopViewDirty","_setDesktopViewDirty","isMobileDirty","setMobileViewDirty","_setMobileViewDirty","_setBusy","isBusy","oAppsWrapper","_getGroup","groups","getAggregation","getGroupId","setSupported","_setSupported","_attachUserActivityTracking","last","on","do","isTrackingActivityEnabled","fireSupported","refresh","_refresh","_this5","refreshPanel","_generateIllustratedMessage","_errorMessage","illustrationSize","Base","description","_applyUngroupedTileColor","item","color","updatedTileIndex","findIndex","tile","getUrl","setBackgroundColor","exit","_exit","destroy"],"sources":["BaseAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Panel from \"sap/m/Panel\";\nimport VBox from \"sap/m/VBox\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport type UI5Element from \"sap/ui/core/Element\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport URLParsing from \"sap/ushell/services/URLParsing\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { $BaseAppPanelSettings } from \"./BaseAppPanel\";\nimport BasePanel from \"./BasePanel\";\nimport Group from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport { IActivity, ICustomVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Base App Panel class for managing and storing Apps.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @private\n *\n * @alias sap.cux.home.BaseAppPanel\n */\n\nexport default abstract class BaseAppPanel extends BasePanel {\n\tprivate _isDirty: boolean = true;\n\tprivate _isMobileDirty: boolean = true;\n\tprivate _isLoaded: boolean = false;\n\tprivate _appsWrapper!: GridContainer;\n\tprivate _errorCard!: VBox;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _appsPanelWrapper!: VBox;\n\tprivate _allAvailableVisualizations!: IVisualization[];\n\tprivate _catalogVisualizationCache!: Map<string, IVisualization>;\n\tprotected appManagerInstance!: AppManager;\n\tprivate _isSupported: boolean = true;\n\tprivate _mobileAppsWrapper!: HeaderContainer;\n\tprotected _menuItems!: MenuItem[];\n\tprotected _actionButtons!: Button[];\n\tprotected _controlMap!: Map<string, Control | UI5Element>;\n\n\tconstructor(idOrSettings?: string | $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\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 * Holds the apps aggregation\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Fired when OnBeforeRendering of container is triggered.\n\t\t\t */\n\t\t\tpersistDialog: {},\n\t\t\t/**\n\t\t\t * Fired when the panel supported property is changed.\n\t\t\t */\n\t\t\tsupported: {\n\t\t\t\tparameters: {\n\t\t\t\t\tisSupported: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies the width of the tile in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\ttileWidth: { type: \"float\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * This method must be implemented by panel, to set the apps that needs to be shown in the panel.\n\t * @abstract\n\t */\n\tabstract loadApps(): Promise<void>;\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t//Add Wrapper to Panel\n\t\tthis._appsPanelWrapper = this._generateWrapper();\n\t\tthis.addContent(this._appsPanelWrapper);\n\t}\n\n\t/**\n\t * Generates the wrapper for the apps panel, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tif (!this._appsPanelWrapper) {\n\t\t\tthis._appsPanelWrapper = new VBox(`${this.getId()}-appsPanelWrapper`, {\n\t\t\t\titems: [this._generateDesktopAppsWrapper(), this._generateMobileAppsWrapper(), this._generateErrorMessage()],\n\t\t\t\twidth: \"100%\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsPanelWrapper\");\n\t\t}\n\t\treturn this._appsPanelWrapper;\n\t}\n\n\t/**\n\t * Generates desktop apps wrapper for displaying apps.\n\t * @private\n\t * @returns {sap.m.VBox} The generated apps wrapper.\n\t */\n\tpublic _generateDesktopAppsWrapper() {\n\t\tconst controlId = `${this.getId()}-desktopAppsWrapper`;\n\t\tif (!this._controlMap.get(controlId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tcontrolId,\n\t\t\t\tnew VBox({\n\t\t\t\t\tid: `${this.getId()}-desktopAppsWrapper`,\n\t\t\t\t\titems: [this._generateAppsWrapper()],\n\t\t\t\t\tvisible: this.getDeviceType() !== DeviceType.Mobile,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid\n\t\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsContainerBorder\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(controlId) as VBox;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying apps.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated apps wrapper.\n\t */\n\tpublic _generateAppsWrapper(): GridContainer {\n\t\t//create container\n\t\tif (!this._appsWrapper) {\n\t\t\tthis._appsWrapper = new GridContainer({\n\t\t\t\tid: `${this.getId()}-appsWrapper`,\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-appsWrapperLayout`, {\n\t\t\t\t\tcolumnSize: `${this.getProperty(\"tileWidth\") / 16}rem`,\n\t\t\t\t\trowSize: \"4.375rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn this._appsWrapper;\n\t}\n\n\t/**\n\t * Generates wrapper for displaying apps in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated apps wrapper.\n\t */\n\tpublic _generateMobileAppsWrapper() {\n\t\tif (!this._mobileAppsWrapper) {\n\t\t\tthis._mobileAppsWrapper = new HeaderContainer({\n\t\t\t\tid: `${this.getId()}-mobileAppsWrapper`,\n\t\t\t\tgridLayout: true,\n\t\t\t\tshowDividers: false,\n\t\t\t\theight: \"23.5rem\",\n\t\t\t\tcontent: [],\n\t\t\t\tvisible: this.getDeviceType() === DeviceType.Mobile\n\t\t\t}).addStyleClass(\"sapUiMargin-26Bottom\");\n\t\t}\n\t\treturn this._mobileAppsWrapper;\n\t}\n\n\t/**\n\t * Generates the error message wrapper with illustrated message.\n\t * @private\n\t * @returns {sap.m.VBox} Wrapper with illustrated message.\n\t */\n\tpublic _generateErrorMessage(): VBox {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorCard = new VBox(`${this.getId()}-errorCard`, {\n\t\t\t\twrap: \"Wrap\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\titems: [this.generateIllustratedMessage()],\n\t\t\t\tvisible: this.getApps().length === 0,\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel\");\n\t\t}\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Creates and returns app instances for given app objects\n\t * @private\n\t * @param {object[]} appObjects - Array of app object.\n\t * @returns {sap.cux.home.App[]} - Array of app instances\n\t */\n\tpublic generateApps(visualizationsData: ICustomVisualization[]) {\n\t\treturn visualizationsData.map((visualizationData, index) => {\n\t\t\tconst groupId = visualizationData.persConfig?.sectionId;\n\t\t\tconst defaultSection = visualizationData.persConfig?.isDefaultSection;\n\t\t\tconst id =\n\t\t\t\tgroupId && !defaultSection ? recycleId(`${this.getKey()}-groupApp-${index}`) : recycleId(`${this.getKey()}-app-${index}`);\n\t\t\tconst app = new App(id, {\n\t\t\t\ttitle: visualizationData.title,\n\t\t\t\tsubTitle: visualizationData.subtitle,\n\t\t\t\tbgColor: typeof visualizationData.BGColor === \"object\" ? visualizationData.BGColor.key : visualizationData.BGColor,\n\t\t\t\ticon: visualizationData.icon,\n\t\t\t\turl: visualizationData.url,\n\t\t\t\tvizId: visualizationData.vizId || visualizationData.visualization?.vizId,\n\t\t\t\tstatus: visualizationData.status\n\t\t\t});\n\t\t\tif (visualizationData.oldAppId) {\n\t\t\t\tapp.data(\"oldAppId\", visualizationData.oldAppId);\n\t\t\t}\n\t\t\tvisualizationData.menuItems?.forEach((menuItem) => {\n\t\t\t\tapp.addAggregation(\"menuItems\", menuItem, true);\n\t\t\t});\n\t\t\treturn app;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple apps in the apps aggregation.\n\t * @param {sap.cux.home.App[]} apps - Array of apps.\n\t */\n\tpublic setApps(apps: App[]) {\n\t\tapps.forEach((app) => {\n\t\t\tthis.addAggregation(\"apps\", app, true);\n\t\t});\n\t}\n\n\t/**\n\t * Fetches and returns the tile visualizations for the current device type (Mobile or Desktop).\n\t *\n\t * @public\n\t * @param {GenericTile[]} tiles - This array will be updated with new tile data based on the device type.\n\t *\n\t * @returns {GenericTile[]} - returns updated tiles\n\t */\n\tpublic fetchTileVisualization(tiles: GenericTile[] = []): GenericTile[] {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\tconst cards = (this._generateMobileAppsWrapper()?.getContent() || []) as Panel[];\n\t\t\tfor (const card of cards) {\n\t\t\t\ttiles = tiles.concat((card?.getContent() || []) as GenericTile[]);\n\t\t\t}\n\t\t} else {\n\t\t\ttiles = (this._generateAppsWrapper()?.getItems() || []) as GenericTile[];\n\t\t}\n\t\treturn tiles;\n\t}\n\n\t/**\n\t * Convert array of provided activities to app\n\t * @private\n\t * @param {object[]} activities - Array of activities.\n\t * @returns {object[]} - Array of apps\n\t */\n\tprotected async convertActivitiesToVisualizations(activities: IActivity[]) {\n\t\tconst [availableVisualizations, URLParsingService] = await Promise.all([\n\t\t\tthis._getAllAvailableVisualizations(),\n\t\t\tContainer.getServiceAsync<URLParsing>(\"URLParsing\")\n\t\t]);\n\t\tconst appActivities = activities\n\t\t\t.filter((activity) => activity.appType === \"Application\")\n\t\t\t.map((activity) => {\n\t\t\t\tactivity.orgAppId = activity.appId;\n\t\t\t\tactivity.appId = activity.url;\n\t\t\t\treturn activity;\n\t\t\t});\n\t\tconst visualizations = appActivities\n\t\t\t.map((activity) => this._convertToVisualization(activity, availableVisualizations, URLParsingService))\n\t\t\t.filter((activity): activity is IActivity => activity !== undefined);\n\t\tconst updatedVisualizations = await this._updateVisualizationAvailability(visualizations);\n\t\treturn updatedVisualizations;\n\t}\n\n\t/**\n\t * Returns promise that resolves to array of all available visualizations\n\t * @private\n\t * @returns {Promise} A Promise that resolves to array of all available visualizations.\n\t */\n\tprivate async _getAllAvailableVisualizations() {\n\t\tif (!this._allAvailableVisualizations) {\n\t\t\tconst catalogApps = await this.appManagerInstance._getCatalogApps();\n\t\t\tthis._allAvailableVisualizations = catalogApps.reduce((visualizations: IVisualization[], catalogApp) => {\n\t\t\t\treturn visualizations.concat(catalogApp.visualizations || []);\n\t\t\t}, []);\n\t\t}\n\t\treturn this._allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Updates vizualization array with information - if vizualization is present in favorites .\n\t * @private\n\t * @param {object[]} visualizations - Array of vizualizations.\n\t * @returns {object[]} - Array of updated vizualizations.\n\t */\n\tprivate async _updateVisualizationAvailability(visualizations: IActivity[]) {\n\t\tconst favoriteVisualizations: ICustomVisualization[] = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\tvisualizations.forEach((visualization) => {\n\t\t\tvisualization.addedInFavorites = favoriteVisualizations.some(\n\t\t\t\t(favoriteVisualization) => favoriteVisualization.oldAppId === visualization.orgAppId\n\t\t\t);\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Updates user activity with provided vizualization info\n\t * @private\n\t * @param {object} activity - User activity.\n\t * @param {object} updatedVizConfig - Updated vizualization config.\n\t * @returns {object} - Updated user acitvity.\n\t */\n\tprivate _updateActivityInfo(activity: IActivity, updatedVizConfig: IVisualization) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tactivity.targetURL = updatedVizConfig.targetURL;\n\t\tactivity.vizId = updatedVizConfig.vizId;\n\t\tthis._catalogVisualizationCache.set(activity.orgAppId, updatedVizConfig);\n\t\treturn activity;\n\t}\n\n\t/**\n\t * Prepares app and tile data before loading.\n\t * @param {App[]} apps - List of app objects.\n\t * @param {GenericTile[]} tiles - List of tiles.\n\t * @returns {Promise<{ apps: App[], tiles: GenericTile[] }>} A promise resolving with the provided apps and tiles.\n\t */\n\tpublic prepareAppsBeforeLoad(apps: App[], tiles: GenericTile[]): Promise<{ apps: App[]; tiles: GenericTile[] }> {\n\t\treturn Promise.resolve({ apps, tiles });\n\t}\n\n\t/**\n\t * Finds the best matching visualization for a given activity from a list of matching visualizations.\n\t *\n\t * This method first attempts to find an exact match for the target URL of the activity among the matching visualizations.\n\t * If no exact match is found, it uses the URLParsingService to compare parameters of the target URLs to find the best match.\n\t * It then updates the activity information with the best matching visualization.\n\t *\n\t * @private\n\t * @param {IActivity} activity - The activity for which to find the best matching visualization.\n\t * @param {IVisualization[]} matchingVisualizations - A list of visualizations that match the activity.\n\t * @param {URLParsing} URLParsingService - A service used to parse and compare target URLs.\n\t * @returns {IVisualization | undefined} The best matching visualization, or undefined if no match is found.\n\t */\n\tprivate _findBestMatchingVisualization(activity: IActivity, matchingVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\t//if there are multiple matching apps, compare the target urls\n\t\tconst matchedVisualization = matchingVisualizations.find((matchingViz) => matchingViz.targetURL === activity.url);\n\t\tif (matchedVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, matchedVisualization);\n\t\t} else {\n\t\t\t//edge cases, when no exact targetUrl match\n\t\t\tconst matchedVisualizationCache = new Map<string, object>();\n\t\t\tconst matchedVisualizations: { viz: IVisualization; params: unknown; prio: number }[] = [];\n\n\t\t\tmatchingVisualizations.forEach((visualization) => {\n\t\t\t\tconst targetURL: string = visualization.targetURL;\n\t\t\t\tif (!matchedVisualizationCache.get(targetURL)) {\n\t\t\t\t\tconst matchedVisualization = {\n\t\t\t\t\t\tviz: visualization,\n\t\t\t\t\t\tparams: (URLParsingService.parseShellHash(visualization.targetURL) as { params: { [key: string]: unknown[] } })\n\t\t\t\t\t\t\t.params,\n\t\t\t\t\t\tprio: 0\n\t\t\t\t\t};\n\t\t\t\t\tmatchedVisualizationCache.set(targetURL, matchedVisualization);\n\t\t\t\t\tmatchedVisualizations.push(matchedVisualization);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst filteredVisualizations = matchedVisualizations.filter((matchedVisualization) =>\n\t\t\t\tthis._filterMatchingVisualization(activity, matchedVisualization, URLParsingService)\n\t\t\t);\n\t\t\tif (filteredVisualizations.length) {\n\t\t\t\t// more than 1 matching condition for unique targetUrls\n\t\t\t\t// this could be either because there is exact match and/or also allItems true and/or no params in VizData param keys\n\t\t\t\t// then find best match possible, based on prio\n\t\t\t\tfilteredVisualizations.sort((val1, val2) => val1.prio - val2.prio);\n\t\t\t\treturn this._updateActivityInfo(activity, filteredVisualizations[0].viz);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters matching visualizations based on activity parameters and assigns priority.\n\t *\n\t * This method compares the parameters of the activity with those of a matched visualization\n\t * to determine if they match.\n\t *\n\t * @private\n\t * @returns {boolean} Returns true if the visualization matches the activity, false otherwise.\n\t */\n\tprivate _filterMatchingVisualization(\n\t\tactivity: IActivity,\n\t\tmatchedVisualization: { viz: IVisualization; params: unknown; prio: number },\n\t\tURLParsingService: URLParsing\n\t) {\n\t\tconst parshedShellHash = URLParsingService.parseShellHash(activity.url) as { params: { [key: string]: unknown[] } };\n\t\tconst activityParameters = parshedShellHash.params;\n\n\t\tconst activityParameterKeys = Object.keys(activityParameters);\n\t\tconst visualizationParams = matchedVisualization.params as { [key: string]: unknown[] };\n\t\t//filter keys other than 'allItems', for myinbox tasks allItems key is a generally common key hence filter that\n\t\tconst visualizationParamKeys = Object.keys(visualizationParams).filter((key) => key !== \"allItems\");\n\t\tif (visualizationParamKeys.length === activityParameterKeys.length) {\n\t\t\tconst bMatch = activityParameterKeys.every(\n\t\t\t\t(key) => visualizationParamKeys.includes(key) && visualizationParams[key][0] === activityParameters[key][0]\n\t\t\t);\n\t\t\tif (bMatch) {\n\t\t\t\tmatchedVisualization.prio = 1;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} else if (!visualizationParamKeys.length) {\n\t\t\t//this could mean either visualizationParamKeys did not have any key or the only key present was 'allItems'\n\t\t\t//if 'allItems' present give prio 2 else prio 3\n\t\t\tmatchedVisualization.prio = Object.keys(matchedVisualization.params as { [key: string]: unknown[] }).length ? 2 : 3;\n\t\t\treturn true;\n\t\t}\n\t\t//filtered visualizationParamKeys length doesnt match aAppParamKeys length & visualizationParamKeys length is not 0\n\t\treturn false;\n\t}\n\n\t/**\n\t * Converts given user activity to vizualization\n\t * @private\n\t * @param {object} activity - User Activity.\n\t * @param {object[]} catalogVisualizations - array of all available visualizations in catalog.\n\t * @param {object} URLParsingService - URL parsing service.\n\t * @returns {object} - visualization\n\t */\n\tprivate _convertToVisualization(activity: IActivity, catalogVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tconst catalogVisualization = this._catalogVisualizationCache.get(activity.orgAppId);\n\t\tif (catalogVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, catalogVisualization);\n\t\t} else {\n\t\t\tconst matchingVisualizations = catalogVisualizations.filter(\n\t\t\t\t(visualization) =>\n\t\t\t\t\tvisualization.vizId && `#${visualization.target?.semanticObject}-${visualization.target?.action}` === activity.orgAppId\n\t\t\t);\n\t\t\tif (matchingVisualizations.length > 1) {\n\t\t\t\treturn this._findBestMatchingVisualization(activity, matchingVisualizations, URLParsingService);\n\t\t\t} else if (matchingVisualizations.length === 1) {\n\t\t\t\treturn this._updateActivityInfo(activity, matchingVisualizations[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds visualization to favorite apps\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprotected async _addAppToFavorites(event: Event) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst vizId = app.getVizId?.();\n\t\t\tif (vizId) {\n\t\t\t\t//Add Apps to the 'Recently Added Apps' section\n\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\t\tconst message = this._i18nBundle.getText(\"appMovedToFavorites\", [app.getTitle()]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the panel is loaded. If the panel is not loaded then placholders are shown otherwise not\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic isLoaded(): boolean {\n\t\treturn this._isLoaded;\n\t}\n\n\t/**\n\t * Set the loaded status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new loaded status to set for the app panel.\n\t */\n\tpublic setLoaded(val: boolean): void {\n\t\tthis._isLoaded = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isDirty(): boolean {\n\t\treturn this._isDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app panel.\n\t */\n\tpublic setDesktopViewDirty(val: boolean): void {\n\t\tthis._isDirty = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app mobile panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isMobileDirty(): boolean {\n\t\treturn this._isMobileDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app mobile panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app mobile panel.\n\t */\n\tpublic setMobileViewDirty(val: boolean): void {\n\t\tthis._isMobileDirty = val;\n\t}\n\n\t/**\n\t * Sets aggregation for give control.\n\t * @param {Object} control - Control for which aggregation has to be set.\n\t * @param {Object[]} items - Items to be added in aggregation.\n\t * @param {string} aggregationName - Aggregation name\n\t * @private\n\t */\n\tpublic _setAggregation = function (control: Control | Group, items: Control[] | App[] = [], aggregationName = \"items\") {\n\t\titems.forEach((oItem) => {\n\t\t\tcontrol.addAggregation(aggregationName, oItem, true);\n\t\t});\n\t};\n\n\t/**\n\t * Sets the busy state of panel.\n\t * @private\n\t * @param {boolean} isBusy - Indicates whether the panel should be set to busy state.\n\t */\n\tprotected setBusy(isBusy: boolean) {\n\t\tconst oAppsWrapper = this._generateAppsWrapper();\n\t\toAppsWrapper.setBusy(isBusy);\n\t}\n\n\t/**\n\t * Retrieves the group with the specified group Id.\n\t * @private\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {sap.cux.home.Group} The group with the specified group Id, or null if not found.\n\t */\n\tprotected _getGroup(groupId: string) {\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\treturn groups.find((group) => group.getGroupId() === groupId);\n\t}\n\n\t/**\n\t * Checks if the panel is supported.\n\t * @returns {boolean} True if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic isSupported() {\n\t\treturn this._isSupported;\n\t}\n\n\t/**\n\t * Sets panel as supported or unsupported.\n\t * @param {boolean} isSupported true if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic setSupported(isSupported: boolean) {\n\t\tthis._isSupported = isSupported;\n\t}\n\n\t/**\n\t * Attaches user activity tracking based on the configuration.\n\t * If user activity tracking is enabled, it listens to changes in tracking activity configuration\n\t * and fires a 'supported' event accordingly.\n\t * @private\n\t */\n\tprotected _attachUserActivityTracking() {\n\t\tif (Config.last(\"/core/shell/enableRecentActivity\")) {\n\t\t\tConfig.on(\"/core/shell/model/enableTrackingActivity\").do((isTrackingActivityEnabled: boolean) => {\n\t\t\t\tthis.fireSupported({ isSupported: isTrackingActivityEnabled });\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the panel.\n\t * @public\n\t */\n\tprotected async refresh() {\n\t\tawait (this.getParent() as AppsContainer).refreshPanel(this);\n\t}\n\n\t/**\n\t * Generates default illustrated message for panel.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message for panel.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tif (!this._errorMessage) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noData\")\n\t\t\t}).addStyleClass(\"appsSectionMessageCard\");\n\t\t}\n\t\treturn this._errorMessage;\n\t}\n\n\t/**\n\t * Applies the selected color to an ungrouped tile.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @private\n\t */\n\tprotected _applyUngroupedTileColor(item: App | Group, color: string) {\n\t\tconst tiles: GenericTile[] = this.fetchTileVisualization();\n\t\tconst groupId = item instanceof Group ? item.getGroupId() : null;\n\t\tconst updatedTileIndex = tiles.findIndex((tile) =>\n\t\t\tgroupId ? tile.data(\"groupId\") === groupId : tile.getUrl() === getLeanURL((item as App).getUrl())\n\t\t);\n\t\ttiles[updatedTileIndex]?.setBackgroundColor(color);\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BaseAppPanel.js","names":["sap","ui","define","Log","GridContainer","GridContainerSettings","HeaderContainer","IllustratedMessage","IllustratedMessageSize","MessageToast","VBox","sap_m_library","Config","Container","__App","__BasePanel","__Group","__AppManager","___utils_DataFormatUtils","___utils_Device","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","App","BasePanel","Group","AppManager","getLeanURL","recycleId","DeviceType","BaseAppPanel","extend","metadata","library","defaultAggregation","aggregations","content","multiple","singularName","visibility","apps","type","events","persistDialog","supported","parameters","isSupported","properties","tileWidth","group","defaultValue","constructor","_constructor","id","settings","BasePanel.prototype.constructor.call","_isDirty","_isMobileDirty","_isLoaded","_isSupported","_setAggregation","control","items","aggregationName","forEach","oItem","addAggregation","init","_init","BasePanel.prototype.init.call","appManagerInstance","getInstance","_controlMap","Map","_appsPanelWrapper","_generateWrapper","addContent","getId","_generateDesktopAppsWrapper","_generateMobileAppsWrapper","_generateErrorMessage","width","addStyleClass","controlId","get","set","_generateAppsWrapper","visible","getDeviceType","Mobile","backgroundDesign","Solid","_appsWrapper","layout","columnSize","getProperty","rowSize","gap","_mobileAppsWrapper","gridLayout","showDividers","height","_errorCard","wrap","generateIllustratedMessage","getApps","length","justifyContent","generateApps","_generateApps","visualizationsData","map","visualizationData","index","groupId","persConfig","sectionId","defaultSection","isDefaultSection","getKey","app","title","subTitle","subtitle","bgColor","BGColor","key","icon","url","vizId","visualization","status","oldAppId","data","additionalInfo","menuItems","menuItem","setApps","_setApps","fetchTileVisualization","_fetchTileVisualization","tiles","cards","getContent","card","concat","getItems","convertActivitiesToVisualizations","_convertActivitiesToVisualizations","activities","_this","Promise","resolve","all","_getAllAvailableVisualizations","getServiceAsync","availableVisualizations","URLParsingService","appActivities","filter","activity","appType","orgAppId","appId","visualizations","_convertToVisualization","undefined","_updateVisualizationAvailability","reject","_this2","_temp2","_allAvailableVisualizations","_temp","_getCatalogApps","catalogApps","reduce","catalogApp","_this3","fetchFavVizs","favoriteVisualizations","addedInFavorites","some","favoriteVisualization","_updateActivityInfo","updatedVizConfig","_catalogVisualizationCache","targetURL","prepareAppsBeforeLoad","_prepareAppsBeforeLoad","_findBestMatchingVisualization","matchingVisualizations","matchedVisualization","find","matchingViz","matchedVisualizationCache","matchedVisualizations","viz","params","parseShellHash","prio","push","filteredVisualizations","_filterMatchingVisualization","sort","val1","val2","parshedShellHash","activityParameters","activityParameterKeys","Object","keys","visualizationParams","visualizationParamKeys","bMatch","every","includes","catalogVisualizations","catalogVisualization","target","semanticObject","action","_addAppToFavorites","event","_this4","setBusy","source","getSource","getParent","getVizId","_temp3","addVisualization","_refreshAllPanels","message","_i18nBundle","getText","getTitle","show","error","_wasThrown","_result","isLoaded","setLoaded","_setLoaded","val","isDirty","setDesktopViewDirty","_setDesktopViewDirty","isMobileDirty","setMobileViewDirty","_setMobileViewDirty","_setBusy","isBusy","oAppsWrapper","_getGroup","groups","getAggregation","getGroupId","setSupported","_setSupported","_attachUserActivityTracking","last","on","do","isTrackingActivityEnabled","fireSupported","refresh","_refresh","_this5","refreshPanel","_generateIllustratedMessage","_errorMessage","illustrationSize","Base","description","_applyUngroupedTileColor","item","color","updatedTileIndex","findIndex","tile","getUrl","setBackgroundColor","exit","_exit","destroy"],"sources":["BaseAppPanel.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport Log from \"sap/base/Log\";\nimport GridContainer from \"sap/f/GridContainer\";\nimport GridContainerSettings from \"sap/f/GridContainerSettings\";\nimport Button from \"sap/m/Button\";\nimport GenericTile from \"sap/m/GenericTile\";\nimport HeaderContainer from \"sap/m/HeaderContainer\";\nimport IllustratedMessage from \"sap/m/IllustratedMessage\";\nimport IllustratedMessageSize from \"sap/m/IllustratedMessageSize\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Panel from \"sap/m/Panel\";\nimport VBox from \"sap/m/VBox\";\nimport { BackgroundDesign } from \"sap/m/library\";\nimport Event from \"sap/ui/base/Event\";\nimport Control from \"sap/ui/core/Control\";\nimport type UI5Element from \"sap/ui/core/Element\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport Config from \"sap/ushell/Config\";\nimport Container from \"sap/ushell/Container\";\nimport URLParsing from \"sap/ushell/services/URLParsing\";\nimport App from \"./App\";\nimport AppsContainer from \"./AppsContainer\";\nimport { $BaseAppPanelSettings } from \"./BaseAppPanel\";\nimport BasePanel from \"./BasePanel\";\nimport Group from \"./Group\";\nimport MenuItem from \"./MenuItem\";\nimport { IActivity, IAdditionalInfo, ICustomVisualization, IVisualization } from \"./interface/AppsInterface\";\nimport AppManager from \"./utils/AppManager\";\nimport { getLeanURL, recycleId } from \"./utils/DataFormatUtils\";\nimport { DeviceType } from \"./utils/Device\";\n\n/**\n *\n * Base App Panel class for managing and storing Apps.\n *\n * @extends sap.cux.home.BasePanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @abstract\n * @private\n *\n * @alias sap.cux.home.BaseAppPanel\n */\n\nexport default abstract class BaseAppPanel extends BasePanel {\n\tprivate _isDirty: boolean = true;\n\tprivate _isMobileDirty: boolean = true;\n\tprivate _isLoaded: boolean = false;\n\tprivate _appsWrapper!: GridContainer;\n\tprivate _errorCard!: VBox;\n\tprivate _errorMessage!: IllustratedMessage;\n\tprivate _appsPanelWrapper!: VBox;\n\tprivate _allAvailableVisualizations!: IVisualization[];\n\tprivate _catalogVisualizationCache!: Map<string, IVisualization>;\n\tprotected appManagerInstance!: AppManager;\n\tprivate _isSupported: boolean = true;\n\tprivate _mobileAppsWrapper!: HeaderContainer;\n\tprotected _menuItems!: MenuItem[];\n\tprotected _actionButtons!: Button[];\n\tprotected _controlMap!: Map<string, Control | UI5Element>;\n\tprotected additionalInfo!: IAdditionalInfo;\n\n\tconstructor(idOrSettings?: string | $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings);\n\tconstructor(id?: string, settings?: $BaseAppPanelSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tlibrary: \"sap.cux.home\",\n\t\tdefaultAggregation: \"apps\",\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 * Holds the apps aggregation\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true }\n\t\t},\n\t\tevents: {\n\t\t\t/**\n\t\t\t * Fired when OnBeforeRendering of container is triggered.\n\t\t\t */\n\t\t\tpersistDialog: {},\n\t\t\t/**\n\t\t\t * Fired when the panel supported property is changed.\n\t\t\t */\n\t\t\tsupported: {\n\t\t\t\tparameters: {\n\t\t\t\t\tisSupported: { type: \"boolean\" }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Specifies the width of the tile in pixels.\n\t\t\t *\n\t\t\t * @private\n\t\t\t */\n\t\t\ttileWidth: { type: \"float\", group: \"Misc\", defaultValue: 304, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * This method must be implemented by panel, to set the apps that needs to be shown in the panel.\n\t * @abstract\n\t */\n\tabstract loadApps(): Promise<void>;\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.appManagerInstance = AppManager.getInstance();\n\t\tthis._controlMap = new Map();\n\t\t//Add Wrapper to Panel\n\t\tthis._appsPanelWrapper = this._generateWrapper();\n\t\tthis.addContent(this._appsPanelWrapper);\n\t}\n\n\t/**\n\t * Generates the wrapper for the apps panel, if it doesn't already exist\n\t *\n\t * @private\n\t * @override\n\t * @returns {sap.m.VBox} The apps panel wrapper.\n\t */\n\tprotected _generateWrapper() {\n\t\tif (!this._appsPanelWrapper) {\n\t\t\tthis._appsPanelWrapper = new VBox(`${this.getId()}-appsPanelWrapper`, {\n\t\t\t\titems: [this._generateDesktopAppsWrapper(), this._generateMobileAppsWrapper(), this._generateErrorMessage()],\n\t\t\t\twidth: \"100%\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsPanelWrapper\");\n\t\t}\n\t\treturn this._appsPanelWrapper;\n\t}\n\n\t/**\n\t * Generates desktop apps wrapper for displaying apps.\n\t * @private\n\t * @returns {sap.m.VBox} The generated apps wrapper.\n\t */\n\tpublic _generateDesktopAppsWrapper() {\n\t\tconst controlId = `${this.getId()}-desktopAppsWrapper`;\n\t\tif (!this._controlMap.get(controlId)) {\n\t\t\tthis._controlMap.set(\n\t\t\t\tcontrolId,\n\t\t\t\tnew VBox({\n\t\t\t\t\tid: `${this.getId()}-desktopAppsWrapper`,\n\t\t\t\t\titems: [this._generateAppsWrapper()],\n\t\t\t\t\tvisible: this.getDeviceType() !== DeviceType.Mobile,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid\n\t\t\t\t}).addStyleClass(\"sapCuxAppsPanel sapCuxAppsContainerBorder\")\n\t\t\t);\n\t\t}\n\t\treturn this._controlMap.get(controlId) as VBox;\n\t}\n\n\t/**\n\t * Generates app wrapper (GridContainer) for displaying apps.\n\t * @private\n\t * @returns {sap.m.GridContainer} The generated apps wrapper.\n\t */\n\tpublic _generateAppsWrapper(): GridContainer {\n\t\t//create container\n\t\tif (!this._appsWrapper) {\n\t\t\tthis._appsWrapper = new GridContainer({\n\t\t\t\tid: `${this.getId()}-appsWrapper`,\n\t\t\t\tlayout: new GridContainerSettings(`${this.getId()}-appsWrapperLayout`, {\n\t\t\t\t\tcolumnSize: `${this.getProperty(\"tileWidth\") / 16}rem`,\n\t\t\t\t\trowSize: \"4.375rem\",\n\t\t\t\t\tgap: \"0.5rem\"\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\treturn this._appsWrapper;\n\t}\n\n\t/**\n\t * Generates wrapper for displaying apps in mobile mode.\n\t * @private\n\t * @returns {sap.m.HeaderContainer} The generated apps wrapper.\n\t */\n\tpublic _generateMobileAppsWrapper() {\n\t\tif (!this._mobileAppsWrapper) {\n\t\t\tthis._mobileAppsWrapper = new HeaderContainer({\n\t\t\t\tid: `${this.getId()}-mobileAppsWrapper`,\n\t\t\t\tgridLayout: true,\n\t\t\t\tshowDividers: false,\n\t\t\t\theight: \"23.5rem\",\n\t\t\t\tcontent: [],\n\t\t\t\tvisible: this.getDeviceType() === DeviceType.Mobile\n\t\t\t}).addStyleClass(\"sapUiMargin-26Bottom sapCuxAppsMobileCardsContainer\");\n\t\t}\n\t\treturn this._mobileAppsWrapper;\n\t}\n\n\t/**\n\t * Generates the error message wrapper with illustrated message.\n\t * @private\n\t * @returns {sap.m.VBox} Wrapper with illustrated message.\n\t */\n\tpublic _generateErrorMessage(): VBox {\n\t\tif (!this._errorCard) {\n\t\t\tthis._errorCard = new VBox(`${this.getId()}-errorCard`, {\n\t\t\t\twrap: \"Wrap\",\n\t\t\t\tbackgroundDesign: \"Solid\",\n\t\t\t\titems: [this.generateIllustratedMessage()],\n\t\t\t\tvisible: this.getApps().length === 0,\n\t\t\t\tjustifyContent: \"Center\"\n\t\t\t}).addStyleClass(\"sapCuxAppsPanel\");\n\t\t}\n\t\treturn this._errorCard;\n\t}\n\n\t/**\n\t * Creates and returns app instances for given app objects\n\t * @private\n\t * @param {object[]} appObjects - Array of app object.\n\t * @returns {sap.cux.home.App[]} - Array of app instances\n\t */\n\tpublic generateApps(visualizationsData: ICustomVisualization[]) {\n\t\treturn visualizationsData.map((visualizationData, index) => {\n\t\t\tconst groupId = visualizationData.persConfig?.sectionId;\n\t\t\tconst defaultSection = visualizationData.persConfig?.isDefaultSection;\n\t\t\tconst id =\n\t\t\t\tgroupId && !defaultSection ? recycleId(`${this.getKey()}-groupApp-${index}`) : recycleId(`${this.getKey()}-app-${index}`);\n\t\t\tconst app = new App(id, {\n\t\t\t\ttitle: visualizationData.title,\n\t\t\t\tsubTitle: visualizationData.subtitle,\n\t\t\t\tbgColor: typeof visualizationData.BGColor === \"object\" ? visualizationData.BGColor.key : visualizationData.BGColor,\n\t\t\t\ticon: visualizationData.icon,\n\t\t\t\turl: visualizationData.url,\n\t\t\t\tvizId: visualizationData.vizId || visualizationData.visualization?.vizId,\n\t\t\t\tstatus: visualizationData.status\n\t\t\t});\n\t\t\tif (visualizationData.oldAppId) {\n\t\t\t\tapp.data(\"oldAppId\", visualizationData.oldAppId);\n\t\t\t}\n\t\t\tapp.data(\"additionalInfo\", this.additionalInfo);\n\t\t\tvisualizationData.menuItems?.forEach((menuItem) => {\n\t\t\t\tapp.addAggregation(\"menuItems\", menuItem, true);\n\t\t\t});\n\t\t\treturn app;\n\t\t});\n\t}\n\n\t/**\n\t * Add multiple apps in the apps aggregation.\n\t * @param {sap.cux.home.App[]} apps - Array of apps.\n\t */\n\tpublic setApps(apps: App[]) {\n\t\tapps.forEach((app) => {\n\t\t\tthis.addAggregation(\"apps\", app, true);\n\t\t});\n\t}\n\n\t/**\n\t * Fetches and returns the tile visualizations for the current device type (Mobile or Desktop).\n\t *\n\t * @public\n\t * @param {GenericTile[]} tiles - This array will be updated with new tile data based on the device type.\n\t *\n\t * @returns {GenericTile[]} - returns updated tiles\n\t */\n\tpublic fetchTileVisualization(tiles: GenericTile[] = []): GenericTile[] {\n\t\tif (this.getDeviceType() === DeviceType.Mobile) {\n\t\t\tconst cards = (this._generateMobileAppsWrapper()?.getContent() || []) as Panel[];\n\t\t\tfor (const card of cards) {\n\t\t\t\ttiles = tiles.concat((card?.getContent() || []) as GenericTile[]);\n\t\t\t}\n\t\t} else {\n\t\t\ttiles = (this._generateAppsWrapper()?.getItems() || []) as GenericTile[];\n\t\t}\n\t\treturn tiles;\n\t}\n\n\t/**\n\t * Convert array of provided activities to app\n\t * @private\n\t * @param {object[]} activities - Array of activities.\n\t * @returns {object[]} - Array of apps\n\t */\n\tprotected async convertActivitiesToVisualizations(activities: IActivity[]) {\n\t\tconst [availableVisualizations, URLParsingService] = await Promise.all([\n\t\t\tthis._getAllAvailableVisualizations(),\n\t\t\tContainer.getServiceAsync<URLParsing>(\"URLParsing\")\n\t\t]);\n\t\tconst appActivities = activities\n\t\t\t.filter((activity) => activity.appType === \"Application\")\n\t\t\t.map((activity) => {\n\t\t\t\tactivity.orgAppId = activity.appId;\n\t\t\t\tactivity.appId = activity.url;\n\t\t\t\treturn activity;\n\t\t\t});\n\t\tconst visualizations = appActivities\n\t\t\t.map((activity) => this._convertToVisualization(activity, availableVisualizations, URLParsingService))\n\t\t\t.filter((activity): activity is IActivity => activity !== undefined);\n\t\tconst updatedVisualizations = await this._updateVisualizationAvailability(visualizations);\n\t\treturn updatedVisualizations;\n\t}\n\n\t/**\n\t * Returns promise that resolves to array of all available visualizations\n\t * @private\n\t * @returns {Promise} A Promise that resolves to array of all available visualizations.\n\t */\n\tprivate async _getAllAvailableVisualizations() {\n\t\tif (!this._allAvailableVisualizations) {\n\t\t\tconst catalogApps = await this.appManagerInstance._getCatalogApps();\n\t\t\tthis._allAvailableVisualizations = catalogApps.reduce((visualizations: IVisualization[], catalogApp) => {\n\t\t\t\treturn visualizations.concat(catalogApp.visualizations || []);\n\t\t\t}, []);\n\t\t}\n\t\treturn this._allAvailableVisualizations;\n\t}\n\n\t/**\n\t * Updates vizualization array with information - if vizualization is present in favorites .\n\t * @private\n\t * @param {object[]} visualizations - Array of vizualizations.\n\t * @returns {object[]} - Array of updated vizualizations.\n\t */\n\tprivate async _updateVisualizationAvailability(visualizations: IActivity[]) {\n\t\tconst favoriteVisualizations: ICustomVisualization[] = await this.appManagerInstance.fetchFavVizs(true, true);\n\t\tvisualizations.forEach((visualization) => {\n\t\t\tvisualization.addedInFavorites = favoriteVisualizations.some(\n\t\t\t\t(favoriteVisualization) => favoriteVisualization.oldAppId === visualization.orgAppId\n\t\t\t);\n\t\t});\n\t\treturn visualizations;\n\t}\n\n\t/**\n\t * Updates user activity with provided vizualization info\n\t * @private\n\t * @param {object} activity - User activity.\n\t * @param {object} updatedVizConfig - Updated vizualization config.\n\t * @returns {object} - Updated user acitvity.\n\t */\n\tprivate _updateActivityInfo(activity: IActivity, updatedVizConfig: IVisualization) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tactivity.targetURL = updatedVizConfig.targetURL;\n\t\tactivity.vizId = updatedVizConfig.vizId;\n\t\tthis._catalogVisualizationCache.set(activity.orgAppId, updatedVizConfig);\n\t\treturn activity;\n\t}\n\n\t/**\n\t * Prepares app and tile data before loading.\n\t * @param {App[]} apps - List of app objects.\n\t * @param {GenericTile[]} tiles - List of tiles.\n\t * @returns {Promise<{ apps: App[], tiles: GenericTile[] }>} A promise resolving with the provided apps and tiles.\n\t */\n\tpublic prepareAppsBeforeLoad(apps: App[], tiles: GenericTile[]): Promise<{ apps: App[]; tiles: GenericTile[] }> {\n\t\treturn Promise.resolve({ apps, tiles });\n\t}\n\n\t/**\n\t * Finds the best matching visualization for a given activity from a list of matching visualizations.\n\t *\n\t * This method first attempts to find an exact match for the target URL of the activity among the matching visualizations.\n\t * If no exact match is found, it uses the URLParsingService to compare parameters of the target URLs to find the best match.\n\t * It then updates the activity information with the best matching visualization.\n\t *\n\t * @private\n\t * @param {IActivity} activity - The activity for which to find the best matching visualization.\n\t * @param {IVisualization[]} matchingVisualizations - A list of visualizations that match the activity.\n\t * @param {URLParsing} URLParsingService - A service used to parse and compare target URLs.\n\t * @returns {IVisualization | undefined} The best matching visualization, or undefined if no match is found.\n\t */\n\tprivate _findBestMatchingVisualization(activity: IActivity, matchingVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\t//if there are multiple matching apps, compare the target urls\n\t\tconst matchedVisualization = matchingVisualizations.find((matchingViz) => matchingViz.targetURL === activity.url);\n\t\tif (matchedVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, matchedVisualization);\n\t\t} else {\n\t\t\t//edge cases, when no exact targetUrl match\n\t\t\tconst matchedVisualizationCache = new Map<string, object>();\n\t\t\tconst matchedVisualizations: { viz: IVisualization; params: unknown; prio: number }[] = [];\n\n\t\t\tmatchingVisualizations.forEach((visualization) => {\n\t\t\t\tconst targetURL: string = visualization.targetURL;\n\t\t\t\tif (!matchedVisualizationCache.get(targetURL)) {\n\t\t\t\t\tconst matchedVisualization = {\n\t\t\t\t\t\tviz: visualization,\n\t\t\t\t\t\tparams: (URLParsingService.parseShellHash(visualization.targetURL) as { params: { [key: string]: unknown[] } })\n\t\t\t\t\t\t\t.params,\n\t\t\t\t\t\tprio: 0\n\t\t\t\t\t};\n\t\t\t\t\tmatchedVisualizationCache.set(targetURL, matchedVisualization);\n\t\t\t\t\tmatchedVisualizations.push(matchedVisualization);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst filteredVisualizations = matchedVisualizations.filter((matchedVisualization) =>\n\t\t\t\tthis._filterMatchingVisualization(activity, matchedVisualization, URLParsingService)\n\t\t\t);\n\t\t\tif (filteredVisualizations.length) {\n\t\t\t\t// more than 1 matching condition for unique targetUrls\n\t\t\t\t// this could be either because there is exact match and/or also allItems true and/or no params in VizData param keys\n\t\t\t\t// then find best match possible, based on prio\n\t\t\t\tfilteredVisualizations.sort((val1, val2) => val1.prio - val2.prio);\n\t\t\t\treturn this._updateActivityInfo(activity, filteredVisualizations[0].viz);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Filters matching visualizations based on activity parameters and assigns priority.\n\t *\n\t * This method compares the parameters of the activity with those of a matched visualization\n\t * to determine if they match.\n\t *\n\t * @private\n\t * @returns {boolean} Returns true if the visualization matches the activity, false otherwise.\n\t */\n\tprivate _filterMatchingVisualization(\n\t\tactivity: IActivity,\n\t\tmatchedVisualization: { viz: IVisualization; params: unknown; prio: number },\n\t\tURLParsingService: URLParsing\n\t) {\n\t\tconst parshedShellHash = URLParsingService.parseShellHash(activity.url) as { params: { [key: string]: unknown[] } };\n\t\tconst activityParameters = parshedShellHash.params;\n\n\t\tconst activityParameterKeys = Object.keys(activityParameters);\n\t\tconst visualizationParams = matchedVisualization.params as { [key: string]: unknown[] };\n\t\t//filter keys other than 'allItems', for myinbox tasks allItems key is a generally common key hence filter that\n\t\tconst visualizationParamKeys = Object.keys(visualizationParams).filter((key) => key !== \"allItems\");\n\t\tif (visualizationParamKeys.length === activityParameterKeys.length) {\n\t\t\tconst bMatch = activityParameterKeys.every(\n\t\t\t\t(key) => visualizationParamKeys.includes(key) && visualizationParams[key][0] === activityParameters[key][0]\n\t\t\t);\n\t\t\tif (bMatch) {\n\t\t\t\tmatchedVisualization.prio = 1;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t} else if (!visualizationParamKeys.length) {\n\t\t\t//this could mean either visualizationParamKeys did not have any key or the only key present was 'allItems'\n\t\t\t//if 'allItems' present give prio 2 else prio 3\n\t\t\tmatchedVisualization.prio = Object.keys(matchedVisualization.params as { [key: string]: unknown[] }).length ? 2 : 3;\n\t\t\treturn true;\n\t\t}\n\t\t//filtered visualizationParamKeys length doesnt match aAppParamKeys length & visualizationParamKeys length is not 0\n\t\treturn false;\n\t}\n\n\t/**\n\t * Converts given user activity to vizualization\n\t * @private\n\t * @param {object} activity - User Activity.\n\t * @param {object[]} catalogVisualizations - array of all available visualizations in catalog.\n\t * @param {object} URLParsingService - URL parsing service.\n\t * @returns {object} - visualization\n\t */\n\tprivate _convertToVisualization(activity: IActivity, catalogVisualizations: IVisualization[], URLParsingService: URLParsing) {\n\t\tthis._catalogVisualizationCache = this._catalogVisualizationCache || new Map<string, IVisualization>();\n\t\tconst catalogVisualization = this._catalogVisualizationCache.get(activity.orgAppId);\n\t\tif (catalogVisualization) {\n\t\t\treturn this._updateActivityInfo(activity, catalogVisualization);\n\t\t} else {\n\t\t\tconst matchingVisualizations = catalogVisualizations.filter(\n\t\t\t\t(visualization) =>\n\t\t\t\t\tvisualization.vizId && `#${visualization.target?.semanticObject}-${visualization.target?.action}` === activity.orgAppId\n\t\t\t);\n\t\t\tif (matchingVisualizations.length > 1) {\n\t\t\t\treturn this._findBestMatchingVisualization(activity, matchingVisualizations, URLParsingService);\n\t\t\t} else if (matchingVisualizations.length === 1) {\n\t\t\t\treturn this._updateActivityInfo(activity, matchingVisualizations[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds visualization to favorite apps\n\t * @private\n\t * @param {sap.ui.base.Event} event - The event object.\n\t */\n\tprotected async _addAppToFavorites(event: Event) {\n\t\tthis.setBusy(true);\n\t\ttry {\n\t\t\tconst source = event.getSource<MenuItem>();\n\t\t\tconst app = source.getParent() as App;\n\t\t\tconst vizId = app.getVizId?.();\n\t\t\tif (vizId) {\n\t\t\t\t//Add Apps to the 'Recently Added Apps' section\n\t\t\t\tawait this.appManagerInstance.addVisualization(vizId);\n\t\t\t\tawait (this.getParent?.() as AppsContainer)._refreshAllPanels();\n\t\t\t\tconst message = this._i18nBundle.getText(\"appMovedToFavorites\", [app.getTitle()]) as string;\n\t\t\t\tMessageToast.show(message);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t} finally {\n\t\t\tthis.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the panel is loaded. If the panel is not loaded then placholders are shown otherwise not\n\t * @private\n\t * @returns {boolean} true if the panel is loaded, false otherwise.\n\t */\n\tpublic isLoaded(): boolean {\n\t\treturn this._isLoaded;\n\t}\n\n\t/**\n\t * Set the loaded status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new loaded status to set for the app panel.\n\t */\n\tpublic setLoaded(val: boolean): void {\n\t\tthis._isLoaded = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isDirty(): boolean {\n\t\treturn this._isDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app panel.\n\t */\n\tpublic setDesktopViewDirty(val: boolean): void {\n\t\tthis._isDirty = val;\n\t}\n\n\t/**\n\t * Returns the dirty status of the app mobile panel. If the panel is dirty then only re-render the apps\n\t * @private\n\t * @returns {boolean} true if the panel is dirty, false otherwise.\n\t */\n\tpublic isMobileDirty(): boolean {\n\t\treturn this._isMobileDirty;\n\t}\n\n\t/**\n\t * Set the dirty status of the app mobile panel.\n\t * @private\n\t * @param {boolean} val - The new dirty status to set for the app mobile panel.\n\t */\n\tpublic setMobileViewDirty(val: boolean): void {\n\t\tthis._isMobileDirty = val;\n\t}\n\n\t/**\n\t * Sets aggregation for give control.\n\t * @param {Object} control - Control for which aggregation has to be set.\n\t * @param {Object[]} items - Items to be added in aggregation.\n\t * @param {string} aggregationName - Aggregation name\n\t * @private\n\t */\n\tpublic _setAggregation = function (control: Control | Group, items: Control[] | App[] = [], aggregationName = \"items\") {\n\t\titems.forEach((oItem) => {\n\t\t\tcontrol.addAggregation(aggregationName, oItem, true);\n\t\t});\n\t};\n\n\t/**\n\t * Sets the busy state of panel.\n\t * @private\n\t * @param {boolean} isBusy - Indicates whether the panel should be set to busy state.\n\t */\n\tprotected setBusy(isBusy: boolean) {\n\t\tconst oAppsWrapper = this._generateAppsWrapper();\n\t\toAppsWrapper.setBusy(isBusy);\n\t}\n\n\t/**\n\t * Retrieves the group with the specified group Id.\n\t * @private\n\t * @param {string} groupId - The Id of the group.\n\t * @returns {sap.cux.home.Group} The group with the specified group Id, or null if not found.\n\t */\n\tprotected _getGroup(groupId: string) {\n\t\tconst groups = (this.getAggregation(\"groups\") || []) as Group[];\n\t\treturn groups.find((group) => group.getGroupId() === groupId);\n\t}\n\n\t/**\n\t * Checks if the panel is supported.\n\t * @returns {boolean} True if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic isSupported() {\n\t\treturn this._isSupported;\n\t}\n\n\t/**\n\t * Sets panel as supported or unsupported.\n\t * @param {boolean} isSupported true if the panel is supported, false otherwise.\n\t * @private\n\t */\n\tpublic setSupported(isSupported: boolean) {\n\t\tthis._isSupported = isSupported;\n\t}\n\n\t/**\n\t * Attaches user activity tracking based on the configuration.\n\t * If user activity tracking is enabled, it listens to changes in tracking activity configuration\n\t * and fires a 'supported' event accordingly.\n\t * @private\n\t */\n\tprotected _attachUserActivityTracking() {\n\t\tif (Config.last(\"/core/shell/enableRecentActivity\")) {\n\t\t\tConfig.on(\"/core/shell/model/enableTrackingActivity\").do((isTrackingActivityEnabled: boolean) => {\n\t\t\t\tthis.setSupported(isTrackingActivityEnabled);\n\t\t\t\tthis.fireSupported({ isSupported: isTrackingActivityEnabled });\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Refreshes the panel.\n\t * @public\n\t */\n\tprotected async refresh() {\n\t\tawait (this.getParent() as AppsContainer).refreshPanel(this);\n\t}\n\n\t/**\n\t * Generates default illustrated message for panel.\n\t * @private\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message for panel.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tif (!this._errorMessage) {\n\t\t\tthis._errorMessage = new IllustratedMessage(`${this.getId()}-errorMessage`, {\n\t\t\t\tillustrationSize: IllustratedMessageSize.Base,\n\t\t\t\ttitle: this._i18nBundle.getText(\"noAppsTitle\"),\n\t\t\t\tdescription: this._i18nBundle.getText(\"noData\")\n\t\t\t}).addStyleClass(\"appsSectionMessageCard\");\n\t\t}\n\t\treturn this._errorMessage;\n\t}\n\n\t/**\n\t * Applies the selected color to an ungrouped tile.\n\t * @param {sap.cux.home.App | sap.cux.home.Group} item - The item control.\n\t * @param {string} color - The selected color.\n\t * @private\n\t */\n\tprotected _applyUngroupedTileColor(item: App | Group, color: string) {\n\t\tconst tiles: GenericTile[] = this.fetchTileVisualization();\n\t\tconst groupId = item instanceof Group ? item.getGroupId() : null;\n\t\tconst updatedTileIndex = tiles.findIndex((tile) =>\n\t\t\tgroupId ? tile.data(\"groupId\") === groupId : tile.getUrl() === getLeanURL((item as App).getUrl())\n\t\t);\n\t\ttiles[updatedTileIndex]?.setBackgroundColor(color);\n\t}\n\n\t/**\n\t * Exit lifecycle method.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic exit() {\n\t\tthis._controlMap.forEach((control) => {\n\t\t\tcontrol.destroy();\n\t\t});\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,gXAAAC,GAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,eAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,aAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,wBAAA,EAAAC,eAAA;EAAA;;EAAA,SAAAC,uBAAAC,GAAA;IAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,CAAAE,OAAA,mBAAAF,GAAA,CAAAE,OAAA,GAAAF,GAAA;EAAA;EAkjBO,SAAAG,OAAgBC,IAAI,EAAEC,OAAO,EAAE;IACrC,IAAI;MACH,IAAIC,MAAM,GAAGF,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAMG,CAAC,EAAE;MACV,OAAOF,OAAO,CAACE,CAAC,CAAC;IAClB;IACA,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;MAC1B,OAAOF,MAAM,CAACE,IAAI,CAAC,KAAK,CAAC,EAAEH,OAAO,CAAC;IACpC;IACA,OAAOC,MAAM;EACd;EAAC,MA5iBQG,gBAAgB,GAAAnB,aAAA;EA+iBlB,SAASoB,gBAAgBA,CAACN,IAAI,EAAEO,SAAS,EAAE;IACjD,IAAI;MACH,IAAIL,MAAM,GAAGF,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,OAAOG,CAAC,EAAE;MACX,OAAOI,SAAS,CAAC,IAAI,EAAEJ,CAAC,CAAC;IAC1B;IACA,IAAID,MAAM,IAAIA,MAAM,CAACE,IAAI,EAAE;MAC1B,OAAOF,MAAM,CAACE,IAAI,CAACG,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAED,SAAS,CAACC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E;IACA,OAAOD,SAAS,CAAC,KAAK,EAAEL,MAAM,CAAC;EAChC;EAAC,MAjjBMO,GAAG,GAAAd,sBAAA,CAAAN,KAAA;EAAA,MAGHqB,SAAS,GAAAf,sBAAA,CAAAL,WAAA;EAAA,MACTqB,KAAK,GAAAhB,sBAAA,CAAAJ,OAAA;EAAA,MAGLqB,UAAU,GAAAjB,sBAAA,CAAAH,YAAA;EAAA,MACRqB,UAAU,GAAApB,wBAAA;EAAA,MAAEqB,SAAS,GAAArB,wBAAA;EAAA,MACrBsB,UAAU,GAAArB,eAAA;EAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAdA,MAgB8BsB,YAAY,GAASN,SAAS,CAAAO,MAAA;IAwB3CC,QAAQ,EAAoB;MAC3CC,OAAO,EAAE,cAAc;MACvBC,kBAAkB,EAAE,MAAM;MAC1BC,YAAY,EAAE;QACb;AACH;AACA;QACGC,OAAO,EAAE;UAAEC,QAAQ,EAAE,IAAI;UAAEC,YAAY,EAAE,SAAS;UAAEC,UAAU,EAAE;QAAS,CAAC;QAC1E;AACH;AACA;QACGC,IAAI,EAAE;UAAEC,IAAI,EAAE,kBAAkB;UAAEH,YAAY,EAAE,KAAK;UAAED,QAAQ,EAAE;QAAK;MACvE,CAAC;MACDK,MAAM,EAAE;QACP;AACH;AACA;QACGC,aAAa,EAAE,CAAC,CAAC;QACjB;AACH;AACA;QACGC,SAAS,EAAE;UACVC,UAAU,EAAE;YACXC,WAAW,EAAE;cAAEL,IAAI,EAAE;YAAU;UAChC;QACD;MACD,CAAC;MACDM,UAAU,EAAE;QACX;AACH;AACA;AACA;AACA;QACGC,SAAS,EAAE;UAAEP,IAAI,EAAE,OAAO;UAAEQ,KAAK,EAAE,MAAM;UAAEC,YAAY,EAAE,GAAG;UAAEX,UAAU,EAAE;QAAS;MACpF;IACD,CAAC;IAvCDY,WAAW,WAAAC,aAACC,EAAW,EAAEC,QAAgC,EAAE;MAC1DC,oCAAA,OAAMF,EAAE,EAAEC,QAAQ;MAAE,KApBbE,QAAQ,GAAY,IAAI;MAAA,KACxBC,cAAc,GAAY,IAAI;MAAA,KAC9BC,SAAS,GAAY,KAAK;MAAA,KAQ1BC,YAAY,GAAY,IAAI;MAifpC;AACD;AACA;AACA;AACA;AACA;AACA;MANC,KAOOC,eAAe,GAAG,UAAUC,OAAwB,EAAEC,KAAwB,GAAG,EAAE,EAAEC,eAAe,GAAG,OAAO,EAAE;QACtHD,KAAK,CAACE,OAAO,CAAEC,KAAK,IAAK;UACxBJ,OAAO,CAACK,cAAc,CAACH,eAAe,EAAEE,KAAK,EAAE,IAAI,CAAC;QACrD,CAAC,CAAC;MACH,CAAC;IAjfD,CAAC;IA6CME,IAAI,WAAAC,MAAA,EAAG;MACbC,6BAAA;MACA,IAAI,CAACC,kBAAkB,GAAG5C,UAAU,CAAC6C,WAAW,CAAC,CAAC;MAClD,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;MAC5B;MACA,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACC,gBAAgB,CAAC,CAAC;MAChD,IAAI,CAACC,UAAU,CAAC,IAAI,CAACF,iBAAiB,CAAC;IACxC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACWC,gBAAgB,WAAAA,iBAAA,EAAG;MAC5B,IAAI,CAAC,IAAI,CAACD,iBAAiB,EAAE;QAC5B,IAAI,CAACA,iBAAiB,GAAG,IAAI3E,IAAI,CAAC,GAAG,IAAI,CAAC8E,KAAK,CAAC,CAAC,mBAAmB,EAAE;UACrEf,KAAK,EAAE,CAAC,IAAI,CAACgB,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAACC,0BAA0B,CAAC,CAAC,EAAE,IAAI,CAACC,qBAAqB,CAAC,CAAC,CAAC;UAC5GC,KAAK,EAAE;QACR,CAAC,CAAC,CAACC,aAAa,CAAC,wCAAwC,CAAC;MAC3D;MACA,OAAO,IAAI,CAACR,iBAAiB;IAC9B,CAAC;IAED;AACD;AACA;AACA;AACA;IACQI,2BAA2B,WAAAA,4BAAA,EAAG;MACpC,MAAMK,SAAS,GAAG,GAAG,IAAI,CAACN,KAAK,CAAC,CAAC,qBAAqB;MACtD,IAAI,CAAC,IAAI,CAACL,WAAW,CAACY,GAAG,CAACD,SAAS,CAAC,EAAE;QACrC,IAAI,CAACX,WAAW,CAACa,GAAG,CACnBF,SAAS,EACT,IAAIpF,IAAI,CAAC;UACRsD,EAAE,EAAE,GAAG,IAAI,CAACwB,KAAK,CAAC,CAAC,qBAAqB;UACxCf,KAAK,EAAE,CAAC,IAAI,CAACwB,oBAAoB,CAAC,CAAC,CAAC;UACpCC,OAAO,EAAE,IAAI,CAACC,aAAa,CAAC,CAAC,KAAK3D,UAAU,CAAC4D,MAAM;UACnDC,gBAAgB,EAAEvE,gBAAgB,CAACwE;QACpC,CAAC,CAAC,CAACT,aAAa,CAAC,2CAA2C,CAC7D,CAAC;MACF;MACA,OAAO,IAAI,CAACV,WAAW,CAACY,GAAG,CAACD,SAAS,CAAC;IACvC,CAAC;IAED;AACD;AACA;AACA;AACA;IACQG,oBAAoB,WAAAA,qBAAA,EAAkB;MAC5C;MACA,IAAI,CAAC,IAAI,CAACM,YAAY,EAAE;QACvB,IAAI,CAACA,YAAY,GAAG,IAAInG,aAAa,CAAC;UACrC4D,EAAE,EAAE,GAAG,IAAI,CAACwB,KAAK,CAAC,CAAC,cAAc;UACjCgB,MAAM,EAAE,IAAInG,qBAAqB,CAAC,GAAG,IAAI,CAACmF,KAAK,CAAC,CAAC,oBAAoB,EAAE;YACtEiB,UAAU,EAAE,GAAG,IAAI,CAACC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK;YACtDC,OAAO,EAAE,UAAU;YACnBC,GAAG,EAAE;UACN,CAAC;QACF,CAAC,CAAC;MACH;MACA,OAAO,IAAI,CAACL,YAAY;IACzB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQb,0BAA0B,WAAAA,2BAAA,EAAG;MACnC,IAAI,CAAC,IAAI,CAACmB,kBAAkB,EAAE;QAC7B,IAAI,CAACA,kBAAkB,GAAG,IAAIvG,eAAe,CAAC;UAC7C0D,EAAE,EAAE,GAAG,IAAI,CAACwB,KAAK,CAAC,CAAC,oBAAoB;UACvCsB,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,KAAK;UACnBC,MAAM,EAAE,SAAS;UACjBjE,OAAO,EAAE,EAAE;UACXmD,OAAO,EAAE,IAAI,CAACC,aAAa,CAAC,CAAC,KAAK3D,UAAU,CAAC4D;QAC9C,CAAC,CAAC,CAACP,aAAa,CAAC,qDAAqD,CAAC;MACxE;MACA,OAAO,IAAI,CAACgB,kBAAkB;IAC/B,CAAC;IAED;AACD;AACA;AACA;AACA;IACQlB,qBAAqB,WAAAA,sBAAA,EAAS;MACpC,IAAI,CAAC,IAAI,CAACsB,UAAU,EAAE;QACrB,IAAI,CAACA,UAAU,GAAG,IAAIvG,IAAI,CAAC,GAAG,IAAI,CAAC8E,KAAK,CAAC,CAAC,YAAY,EAAE;UACvD0B,IAAI,EAAE,MAAM;UACZb,gBAAgB,EAAE,OAAO;UACzB5B,KAAK,EAAE,CAAC,IAAI,CAAC0C,0BAA0B,CAAC,CAAC,CAAC;UAC1CjB,OAAO,EAAE,IAAI,CAACkB,OAAO,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC;UACpCC,cAAc,EAAE;QACjB,CAAC,CAAC,CAACzB,aAAa,CAAC,iBAAiB,CAAC;MACpC;MACA,OAAO,IAAI,CAACoB,UAAU;IACvB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQM,YAAY,WAAAC,cAACC,kBAA0C,EAAE;MAC/D,OAAOA,kBAAkB,CAACC,GAAG,CAAC,CAACC,iBAAiB,EAAEC,KAAK,KAAK;QAC3D,MAAMC,OAAO,GAAGF,iBAAiB,CAACG,UAAU,EAAEC,SAAS;QACvD,MAAMC,cAAc,GAAGL,iBAAiB,CAACG,UAAU,EAAEG,gBAAgB;QACrE,MAAMjE,EAAE,GACP6D,OAAO,IAAI,CAACG,cAAc,GAAGzF,SAAS,CAAC,GAAG,IAAI,CAAC2F,MAAM,CAAC,CAAC,aAAaN,KAAK,EAAE,CAAC,GAAGrF,SAAS,CAAC,GAAG,IAAI,CAAC2F,MAAM,CAAC,CAAC,QAAQN,KAAK,EAAE,CAAC;QAC1H,MAAMO,GAAG,GAAG,IAAIjG,GAAG,CAAC8B,EAAE,EAAE;UACvBoE,KAAK,EAAET,iBAAiB,CAACS,KAAK;UAC9BC,QAAQ,EAAEV,iBAAiB,CAACW,QAAQ;UACpCC,OAAO,EAAE,OAAOZ,iBAAiB,CAACa,OAAO,KAAK,QAAQ,GAAGb,iBAAiB,CAACa,OAAO,CAACC,GAAG,GAAGd,iBAAiB,CAACa,OAAO;UAClHE,IAAI,EAAEf,iBAAiB,CAACe,IAAI;UAC5BC,GAAG,EAAEhB,iBAAiB,CAACgB,GAAG;UAC1BC,KAAK,EAAEjB,iBAAiB,CAACiB,KAAK,IAAIjB,iBAAiB,CAACkB,aAAa,EAAED,KAAK;UACxEE,MAAM,EAAEnB,iBAAiB,CAACmB;QAC3B,CAAC,CAAC;QACF,IAAInB,iBAAiB,CAACoB,QAAQ,EAAE;UAC/BZ,GAAG,CAACa,IAAI,CAAC,UAAU,EAAErB,iBAAiB,CAACoB,QAAQ,CAAC;QACjD;QACAZ,GAAG,CAACa,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAACC,cAAc,CAAC;QAC/CtB,iBAAiB,CAACuB,SAAS,EAAEvE,OAAO,CAAEwE,QAAQ,IAAK;UAClDhB,GAAG,CAACtD,cAAc,CAAC,WAAW,EAAEsE,QAAQ,EAAE,IAAI,CAAC;QAChD,CAAC,CAAC;QACF,OAAOhB,GAAG;MACX,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;IACQiB,OAAO,WAAAC,SAAClG,IAAW,EAAE;MAC3BA,IAAI,CAACwB,OAAO,CAAEwD,GAAG,IAAK;QACrB,IAAI,CAACtD,cAAc,CAAC,MAAM,EAAEsD,GAAG,EAAE,IAAI,CAAC;MACvC,CAAC,CAAC;IACH,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACQmB,sBAAsB,WAAAC,wBAACC,KAAoB,GAAG,EAAE,EAAiB;MACvE,IAAI,IAAI,CAACrD,aAAa,CAAC,CAAC,KAAK3D,UAAU,CAAC4D,MAAM,EAAE;QAC/C,MAAMqD,KAAK,GAAI,IAAI,CAAC/D,0BAA0B,CAAC,CAAC,EAAEgE,UAAU,CAAC,CAAC,IAAI,EAAc;QAChF,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;UACzBD,KAAK,GAAGA,KAAK,CAACI,MAAM,CAAED,IAAI,EAAED,UAAU,CAAC,CAAC,IAAI,EAAoB,CAAC;QAClE;MACD,CAAC,MAAM;QACNF,KAAK,GAAI,IAAI,CAACvD,oBAAoB,CAAC,CAAC,EAAE4D,QAAQ,CAAC,CAAC,IAAI,EAAoB;MACzE;MACA,OAAOL,KAAK;IACb,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACiBM,iCAAiC,WAAAC,mCAACC,UAAuB;MAAA,IAAE;QAAA,MAAAC,KAAA,GAEzE,IAAI;QAAA,OAAAC,OAAA,CAAAC,OAAA,CADsDD,OAAO,CAACE,GAAG,CAAC,CACtEH,KAAA,CAAKI,8BAA8B,CAAC,CAAC,EACrCxJ,SAAS,CAACyJ,eAAe,CAAa,YAAY,CAAC,CACnD,CAAC,EAAAzI,IAAA,WAHI,CAAC0I,uBAAuB,EAAEC,iBAAiB,CAAC;UAIlD,MAAMC,aAAa,GAAGT,UAAU,CAC9BU,MAAM,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,OAAO,KAAK,aAAa,CAAC,CACxDlD,GAAG,CAAEiD,QAAQ,IAAK;YAClBA,QAAQ,CAACE,QAAQ,GAAGF,QAAQ,CAACG,KAAK;YAClCH,QAAQ,CAACG,KAAK,GAAGH,QAAQ,CAAChC,GAAG;YAC7B,OAAOgC,QAAQ;UAChB,CAAC,CAAC;UACH,MAAMI,cAAc,GAAGN,aAAa,CAClC/C,GAAG,CAAEiD,QAAQ,IAAKV,KAAA,CAAKe,uBAAuB,CAACL,QAAQ,EAAEJ,uBAAuB,EAAEC,iBAAiB,CAAC,CAAC,CACrGE,MAAM,CAAEC,QAAQ,IAA4BA,QAAQ,KAAKM,SAAS,CAAC;UAAC,OAAAf,OAAA,CAAAC,OAAA,CAClCF,KAAA,CAAKiB,gCAAgC,CAACH,cAAc,CAAC;QAAA;MAE1F,CAAC,QAAAnJ,CAAA;QAAA,OAAAsI,OAAA,CAAAiB,MAAA,CAAAvJ,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACeyI,8BAA8B,WAAAA,+BAAA;MAAA,IAAG;QAAA,MAAAe,MAAA,GACzC,IAAI;QAAA,SAAAC,OAAA;UAMT,OAAOD,MAAA,CAAKE,2BAA2B;QAAC;QAAA,MAAAC,KAAA;UAAA,IANpC,CAACH,MAAA,CAAKE,2BAA2B;YAAA,OAAApB,OAAA,CAAAC,OAAA,CACViB,MAAA,CAAKnG,kBAAkB,CAACuG,eAAe,CAAC,CAAC,EAAA3J,IAAA,WAA7D4J,WAAW;cACjBL,MAAA,CAAKE,2BAA2B,GAAGG,WAAW,CAACC,MAAM,CAAC,CAACX,cAAgC,EAAEY,UAAU,KAAK;gBACvG,OAAOZ,cAAc,CAACnB,MAAM,CAAC+B,UAAU,CAACZ,cAAc,IAAI,EAAE,CAAC;cAC9D,CAAC,EAAE,EAAE,CAAC;YAAC;UAAA;QAAA;QAAA,OAAAb,OAAA,CAAAC,OAAA,CAAAoB,KAAA,IAAAA,KAAA,CAAA1J,IAAA,GAAA0J,KAAA,CAAA1J,IAAA,CAAAwJ,MAAA,IAAAA,MAAA,CAAAE,KAAA;MAGT,CAAC,QAAA3J,CAAA;QAAA,OAAAsI,OAAA,CAAAiB,MAAA,CAAAvJ,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACesJ,gCAAgC,WAAAA,iCAACH,cAA2B;MAAA,IAAE;QAAA,MAAAa,MAAA,GACd,IAAI;QAAA,OAAA1B,OAAA,CAAAC,OAAA,CAAJyB,MAAA,CAAK3G,kBAAkB,CAAC4G,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAAhK,IAAA,WAAvGiK,sBAA8C;UACpDf,cAAc,CAACpG,OAAO,CAAEkE,aAAa,IAAK;YACzCA,aAAa,CAACkD,gBAAgB,GAAGD,sBAAsB,CAACE,IAAI,CAC1DC,qBAAqB,IAAKA,qBAAqB,CAAClD,QAAQ,KAAKF,aAAa,CAACgC,QAC7E,CAAC;UACF,CAAC,CAAC;UACF,OAAOE,cAAc;QAAC;MACvB,CAAC,QAAAnJ,CAAA;QAAA,OAAAsI,OAAA,CAAAiB,MAAA,CAAAvJ,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACSsK,mBAAmB,WAAAA,oBAACvB,QAAmB,EAAEwB,gBAAgC,EAAE;MAClF,IAAI,CAACC,0BAA0B,GAAG,IAAI,CAACA,0BAA0B,IAAI,IAAIhH,GAAG,CAAyB,CAAC;MACtGuF,QAAQ,CAAC0B,SAAS,GAAGF,gBAAgB,CAACE,SAAS;MAC/C1B,QAAQ,CAAC/B,KAAK,GAAGuD,gBAAgB,CAACvD,KAAK;MACvC,IAAI,CAACwD,0BAA0B,CAACpG,GAAG,CAAC2E,QAAQ,CAACE,QAAQ,EAAEsB,gBAAgB,CAAC;MACxE,OAAOxB,QAAQ;IAChB,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQ2B,qBAAqB,WAAAC,uBAACpJ,IAAW,EAAEqG,KAAoB,EAAkD;MAC/G,OAAOU,OAAO,CAACC,OAAO,CAAC;QAAEhH,IAAI;QAAEqG;MAAM,CAAC,CAAC;IACxC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACSgD,8BAA8B,WAAAA,+BAAC7B,QAAmB,EAAE8B,sBAAwC,EAAEjC,iBAA6B,EAAE;MACpI;MACA,MAAMkC,oBAAoB,GAAGD,sBAAsB,CAACE,IAAI,CAAEC,WAAW,IAAKA,WAAW,CAACP,SAAS,KAAK1B,QAAQ,CAAChC,GAAG,CAAC;MACjH,IAAI+D,oBAAoB,EAAE;QACzB,OAAO,IAAI,CAACR,mBAAmB,CAACvB,QAAQ,EAAE+B,oBAAoB,CAAC;MAChE,CAAC,MAAM;QACN;QACA,MAAMG,yBAAyB,GAAG,IAAIzH,GAAG,CAAiB,CAAC;QAC3D,MAAM0H,qBAA+E,GAAG,EAAE;QAE1FL,sBAAsB,CAAC9H,OAAO,CAAEkE,aAAa,IAAK;UACjD,MAAMwD,SAAiB,GAAGxD,aAAa,CAACwD,SAAS;UACjD,IAAI,CAACQ,yBAAyB,CAAC9G,GAAG,CAACsG,SAAS,CAAC,EAAE;YAC9C,MAAMK,oBAAoB,GAAG;cAC5BK,GAAG,EAAElE,aAAa;cAClBmE,MAAM,EAAGxC,iBAAiB,CAACyC,cAAc,CAACpE,aAAa,CAACwD,SAAS,CAAC,CAChEW,MAAM;cACRE,IAAI,EAAE;YACP,CAAC;YACDL,yBAAyB,CAAC7G,GAAG,CAACqG,SAAS,EAAEK,oBAAoB,CAAC;YAC9DI,qBAAqB,CAACK,IAAI,CAACT,oBAAoB,CAAC;UACjD;QACD,CAAC,CAAC;QACF,MAAMU,sBAAsB,GAAGN,qBAAqB,CAACpC,MAAM,CAAEgC,oBAAoB,IAChF,IAAI,CAACW,4BAA4B,CAAC1C,QAAQ,EAAE+B,oBAAoB,EAAElC,iBAAiB,CACpF,CAAC;QACD,IAAI4C,sBAAsB,CAAC/F,MAAM,EAAE;UAClC;UACA;UACA;UACA+F,sBAAsB,CAACE,IAAI,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAKD,IAAI,CAACL,IAAI,GAAGM,IAAI,CAACN,IAAI,CAAC;UAClE,OAAO,IAAI,CAAChB,mBAAmB,CAACvB,QAAQ,EAAEyC,sBAAsB,CAAC,CAAC,CAAC,CAACL,GAAG,CAAC;QACzE;MACD;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACSM,4BAA4B,WAAAA,6BACnC1C,QAAmB,EACnB+B,oBAA4E,EAC5ElC,iBAA6B,EAC5B;MACD,MAAMiD,gBAAgB,GAAGjD,iBAAiB,CAACyC,cAAc,CAACtC,QAAQ,CAAChC,GAAG,CAA6C;MACnH,MAAM+E,kBAAkB,GAAGD,gBAAgB,CAACT,MAAM;MAElD,MAAMW,qBAAqB,GAAGC,MAAM,CAACC,IAAI,CAACH,kBAAkB,CAAC;MAC7D,MAAMI,mBAAmB,GAAGpB,oBAAoB,CAACM,MAAsC;MACvF;MACA,MAAMe,sBAAsB,GAAGH,MAAM,CAACC,IAAI,CAACC,mBAAmB,CAAC,CAACpD,MAAM,CAAEjC,GAAG,IAAKA,GAAG,KAAK,UAAU,CAAC;MACnG,IAAIsF,sBAAsB,CAAC1G,MAAM,KAAKsG,qBAAqB,CAACtG,MAAM,EAAE;QACnE,MAAM2G,MAAM,GAAGL,qBAAqB,CAACM,KAAK,CACxCxF,GAAG,IAAKsF,sBAAsB,CAACG,QAAQ,CAACzF,GAAG,CAAC,IAAIqF,mBAAmB,CAACrF,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKiF,kBAAkB,CAACjF,GAAG,CAAC,CAAC,CAAC,CAC3G,CAAC;QACD,IAAIuF,MAAM,EAAE;UACXtB,oBAAoB,CAACQ,IAAI,GAAG,CAAC;UAC7B,OAAO,IAAI;QACZ;QACA,OAAO,KAAK;MACb,CAAC,MAAM,IAAI,CAACa,sBAAsB,CAAC1G,MAAM,EAAE;QAC1C;QACA;QACAqF,oBAAoB,CAACQ,IAAI,GAAGU,MAAM,CAACC,IAAI,CAACnB,oBAAoB,CAACM,MAAsC,CAAC,CAAC3F,MAAM,GAAG,CAAC,GAAG,CAAC;QACnH,OAAO,IAAI;MACZ;MACA;MACA,OAAO,KAAK;IACb,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACS2D,uBAAuB,WAAAA,wBAACL,QAAmB,EAAEwD,qBAAuC,EAAE3D,iBAA6B,EAAE;MAC5H,IAAI,CAAC4B,0BAA0B,GAAG,IAAI,CAACA,0BAA0B,IAAI,IAAIhH,GAAG,CAAyB,CAAC;MACtG,MAAMgJ,oBAAoB,GAAG,IAAI,CAAChC,0BAA0B,CAACrG,GAAG,CAAC4E,QAAQ,CAACE,QAAQ,CAAC;MACnF,IAAIuD,oBAAoB,EAAE;QACzB,OAAO,IAAI,CAAClC,mBAAmB,CAACvB,QAAQ,EAAEyD,oBAAoB,CAAC;MAChE,CAAC,MAAM;QACN,MAAM3B,sBAAsB,GAAG0B,qBAAqB,CAACzD,MAAM,CACzD7B,aAAa,IACbA,aAAa,CAACD,KAAK,IAAI,IAAIC,aAAa,CAACwF,MAAM,EAAEC,cAAc,IAAIzF,aAAa,CAACwF,MAAM,EAAEE,MAAM,EAAE,KAAK5D,QAAQ,CAACE,QACjH,CAAC;QACD,IAAI4B,sBAAsB,CAACpF,MAAM,GAAG,CAAC,EAAE;UACtC,OAAO,IAAI,CAACmF,8BAA8B,CAAC7B,QAAQ,EAAE8B,sBAAsB,EAAEjC,iBAAiB,CAAC;QAChG,CAAC,MAAM,IAAIiC,sBAAsB,CAACpF,MAAM,KAAK,CAAC,EAAE;UAC/C,OAAO,IAAI,CAAC6E,mBAAmB,CAACvB,QAAQ,EAAE8B,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrE;MACD;IACD,CAAC;IAED;AACD;AACA;AACA;AACA;IACiB+B,kBAAkB,WAAAA,mBAACC,KAAY;MAAA,IAAE;QAAA,MAAAC,MAAA,GAChD,IAAI;QAAJA,MAAA,CAAKC,OAAO,CAAC,IAAI,CAAC;QAAC,OAAAzE,OAAA,CAAAC,OAAA,CAAApI,gBAAA;UAAA,OAAAP,MAAA,aACf;YACH,MAAMoN,MAAM,GAAGH,KAAK,CAACI,SAAS,CAAW,CAAC;YAC1C,MAAM1G,GAAG,GAAGyG,MAAM,CAACE,SAAS,CAAC,CAAQ;YACrC,MAAMlG,KAAK,GAAGT,GAAG,CAAC4G,QAAQ,GAAG,CAAC;YAAC,MAAAC,MAAA;cAAA,IAC3BpG,KAAK;gBACR;gBAAA,OAAAsB,OAAA,CAAAC,OAAA,CACMuE,MAAA,CAAKzJ,kBAAkB,CAACgK,gBAAgB,CAACrG,KAAK,CAAC,EAAA/G,IAAA;kBAAA,OAAAqI,OAAA,CAAAC,OAAA,CAC/C,CAACuE,MAAA,CAAKI,SAAS,GAAG,CAAC,EAAmBI,iBAAiB,CAAC,CAAC,EAAArN,IAAA;oBAC/D,MAAMsN,OAAO,GAAGT,MAAA,CAAKU,WAAW,CAACC,OAAO,CAAC,qBAAqB,EAAE,CAAClH,GAAG,CAACmH,QAAQ,CAAC,CAAC,CAAC,CAAW;oBAC3F7O,YAAY,CAAC8O,IAAI,CAACJ,OAAO,CAAC;kBAAC;gBAAA;cAAA;YAAA;YAAA,IAAAH,MAAA,IAAAA,MAAA,CAAAnN,IAAA,SAAAmN,MAAA,CAAAnN,IAAA;UAE7B,CAAC,YAAQ2N,KAAK,EAAE;YACfrP,GAAG,CAACqP,KAAK,CAACA,KAAe,CAAC;UAC3B,CAAC;QAAA,aAAAC,UAAA,EAAAC,OAAA;UACAhB,MAAA,CAAKC,OAAO,CAAC,KAAK,CAAC;UAAC,IAAAc,UAAA,QAAAC,OAAA;UAAA,OAAAA,OAAA;QAAA;MAEtB,CAAC,QAAA9N,CAAA;QAAA,OAAAsI,OAAA,CAAAiB,MAAA,CAAAvJ,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACQ+N,QAAQ,WAAAtL,UAAA,EAAY;MAC1B,OAAO,IAAI,CAACA,SAAS;IACtB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQuL,SAAS,WAAAC,WAACC,GAAY,EAAQ;MACpC,IAAI,CAACzL,SAAS,GAAGyL,GAAG;IACrB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQC,OAAO,WAAA5L,SAAA,EAAY;MACzB,OAAO,IAAI,CAACA,QAAQ;IACrB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQ6L,mBAAmB,WAAAC,qBAACH,GAAY,EAAQ;MAC9C,IAAI,CAAC3L,QAAQ,GAAG2L,GAAG;IACpB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQI,aAAa,WAAA9L,eAAA,EAAY;MAC/B,OAAO,IAAI,CAACA,cAAc;IAC3B,CAAC;IAED;AACD;AACA;AACA;AACA;IACQ+L,kBAAkB,WAAAC,oBAACN,GAAY,EAAQ;MAC7C,IAAI,CAAC1L,cAAc,GAAG0L,GAAG;IAC1B,CAAC;IAeD;AACD;AACA;AACA;AACA;IACWnB,OAAO,WAAA0B,SAACC,MAAe,EAAE;MAClC,MAAMC,YAAY,GAAG,IAAI,CAACtK,oBAAoB,CAAC,CAAC;MAChDsK,YAAY,CAAC5B,OAAO,CAAC2B,MAAM,CAAC;IAC7B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACWE,SAAS,WAAAA,UAAC3I,OAAe,EAAE;MACpC,MAAM4I,MAAM,GAAI,IAAI,CAACC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAc;MAC/D,OAAOD,MAAM,CAAC9D,IAAI,CAAE/I,KAAK,IAAKA,KAAK,CAAC+M,UAAU,CAAC,CAAC,KAAK9I,OAAO,CAAC;IAC9D,CAAC;IAED;AACD;AACA;AACA;AACA;IACQpE,WAAW,WAAAa,aAAA,EAAG;MACpB,OAAO,IAAI,CAACA,YAAY;IACzB,CAAC;IAED;AACD;AACA;AACA;AACA;IACQsM,YAAY,WAAAC,cAACpN,WAAoB,EAAE;MACzC,IAAI,CAACa,YAAY,GAAGb,WAAW;IAChC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACWqN,2BAA2B,WAAAA,4BAAA,EAAG;MACvC,IAAIlQ,MAAM,CAACmQ,IAAI,CAAC,kCAAkC,CAAC,EAAE;QACpDnQ,MAAM,CAACoQ,EAAE,CAAC,0CAA0C,CAAC,CAACC,EAAE,CAAEC,yBAAkC,IAAK;UAChG,IAAI,CAACN,YAAY,CAACM,yBAAyB,CAAC;UAC5C,IAAI,CAACC,aAAa,CAAC;YAAE1N,WAAW,EAAEyN;UAA0B,CAAC,CAAC;QAC/D,CAAC,CAAC;MACH;IACD,CAAC;IAED;AACD;AACA;AACA;IACiBE,OAAO,WAAAC,SAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GAClB,IAAI;QAAA,OAAApH,OAAA,CAAAC,OAAA,CAAJmH,MAAA,CAAKxC,SAAS,CAAC,CAAC,CAAmByC,YAAY,CAAAD,MAAK,CAAC,EAAAzP,IAAA;MAC7D,CAAC,QAAAD,CAAA;QAAA,OAAAsI,OAAA,CAAAiB,MAAA,CAAAvJ,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;IACWuF,0BAA0B,WAAAqK,4BAAA,EAAG;MACtC,IAAI,CAAC,IAAI,CAACC,aAAa,EAAE;QACxB,IAAI,CAACA,aAAa,GAAG,IAAIlR,kBAAkB,CAAC,GAAG,IAAI,CAACiF,KAAK,CAAC,CAAC,eAAe,EAAE;UAC3EkM,gBAAgB,EAAElR,sBAAsB,CAACmR,IAAI;UAC7CvJ,KAAK,EAAE,IAAI,CAACgH,WAAW,CAACC,OAAO,CAAC,aAAa,CAAC;UAC9CuC,WAAW,EAAE,IAAI,CAACxC,WAAW,CAACC,OAAO,CAAC,QAAQ;QAC/C,CAAC,CAAC,CAACxJ,aAAa,CAAC,wBAAwB,CAAC;MAC3C;MACA,OAAO,IAAI,CAAC4L,aAAa;IAC1B,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACWI,wBAAwB,WAAAA,yBAACC,IAAiB,EAAEC,KAAa,EAAE;MACpE,MAAMvI,KAAoB,GAAG,IAAI,CAACF,sBAAsB,CAAC,CAAC;MAC1D,MAAMzB,OAAO,GAAGiK,IAAI,YAAY1P,KAAK,GAAG0P,IAAI,CAACnB,UAAU,CAAC,CAAC,GAAG,IAAI;MAChE,MAAMqB,gBAAgB,GAAGxI,KAAK,CAACyI,SAAS,CAAEC,IAAI,IAC7CrK,OAAO,GAAGqK,IAAI,CAAClJ,IAAI,CAAC,SAAS,CAAC,KAAKnB,OAAO,GAAGqK,IAAI,CAACC,MAAM,CAAC,CAAC,KAAK7P,UAAU,CAAEwP,IAAI,CAASK,MAAM,CAAC,CAAC,CACjG,CAAC;MACD3I,KAAK,CAACwI,gBAAgB,CAAC,EAAEI,kBAAkB,CAACL,KAAK,CAAC;IACnD,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;IACQM,IAAI,WAAAC,MAAA,EAAG;MACb,IAAI,CAACnN,WAAW,CAACR,OAAO,CAAEH,OAAO,IAAK;QACrCA,OAAO,CAAC+N,OAAO,CAAC,CAAC;MAClB,CAAC,CAAC;IACH;EAAC;EAAA,OAhnB4B9P,YAAY;AAAA","ignoreList":[]}
@@ -28,7 +28,7 @@ import { $BaseAppPanelSettings } from "./BaseAppPanel";
28
28
  import BasePanel from "./BasePanel";
29
29
  import Group from "./Group";
30
30
  import MenuItem from "./MenuItem";
31
- import { IActivity, ICustomVisualization, IVisualization } from "./interface/AppsInterface";
31
+ import { IActivity, IAdditionalInfo, ICustomVisualization, IVisualization } from "./interface/AppsInterface";
32
32
  import AppManager from "./utils/AppManager";
33
33
  import { getLeanURL, recycleId } from "./utils/DataFormatUtils";
34
34
  import { DeviceType } from "./utils/Device";
@@ -65,6 +65,7 @@ export default abstract class BaseAppPanel extends BasePanel {
65
65
  protected _menuItems!: MenuItem[];
66
66
  protected _actionButtons!: Button[];
67
67
  protected _controlMap!: Map<string, Control | UI5Element>;
68
+ protected additionalInfo!: IAdditionalInfo;
68
69
 
69
70
  constructor(idOrSettings?: string | $BaseAppPanelSettings);
70
71
  constructor(id?: string, settings?: $BaseAppPanelSettings);
@@ -196,7 +197,7 @@ export default abstract class BaseAppPanel extends BasePanel {
196
197
  height: "23.5rem",
197
198
  content: [],
198
199
  visible: this.getDeviceType() === DeviceType.Mobile
199
- }).addStyleClass("sapUiMargin-26Bottom");
200
+ }).addStyleClass("sapUiMargin-26Bottom sapCuxAppsMobileCardsContainer");
200
201
  }
201
202
  return this._mobileAppsWrapper;
202
203
  }
@@ -243,6 +244,7 @@ export default abstract class BaseAppPanel extends BasePanel {
243
244
  if (visualizationData.oldAppId) {
244
245
  app.data("oldAppId", visualizationData.oldAppId);
245
246
  }
247
+ app.data("additionalInfo", this.additionalInfo);
246
248
  visualizationData.menuItems?.forEach((menuItem) => {
247
249
  app.addAggregation("menuItems", menuItem, true);
248
250
  });
@@ -616,6 +618,7 @@ export default abstract class BaseAppPanel extends BasePanel {
616
618
  protected _attachUserActivityTracking() {
617
619
  if (Config.last("/core/shell/enableRecentActivity")) {
618
620
  Config.on("/core/shell/model/enableTrackingActivity").do((isTrackingActivityEnabled: boolean) => {
621
+ this.setSupported(isTrackingActivityEnabled);
619
622
  this.fireSupported({ isSupported: isTrackingActivityEnabled });
620
623
  });
621
624
  }
@@ -113,6 +113,14 @@ declare module "sap/cux/home/BaseContainer" {
113
113
  * @param {string} count - updated count
114
114
  */
115
115
  _setPanelCount(panel: BasePanel, count?: string): void;
116
+ /**
117
+ * Shows or hides the badge on the IconTabFilter of IconTabBar inner control
118
+ *
119
+ * @private
120
+ * @param panel - associated panel
121
+ * @param show - whether to show the badge
122
+ */
123
+ _setPanelBadge(panel: BasePanel, show?: boolean): void;
116
124
  /**
117
125
  * Creates and returns IconTabBarFilter for the specified panel to be placed
118
126
  * in the IconTabBar inner control in case of SideBySide layout
@@ -1 +1 @@
1
- {"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/BaseContainer.ts"],"names":[],"mappings":"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"}