@sapui5/sap.cux.home 1.141.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 (148) 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 +0 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.ts +0 -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 +59 -58
  14. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  15. package/src/sap/cux/home/AppsAdditionPanel.ts +39 -33
  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 +30 -16
  19. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.ts +29 -13
  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 +2 -1
  24. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  25. package/src/sap/cux/home/BaseAppPanel.ts +4 -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/BasePanel.d.ts +7 -0
  35. package/src/sap/cux/home/BasePanel.d.ts.map +1 -1
  36. package/src/sap/cux/home/BasePanel.js +20 -0
  37. package/src/sap/cux/home/BasePanel.js.map +1 -1
  38. package/src/sap/cux/home/BasePanel.ts +16 -0
  39. package/src/sap/cux/home/CardsPanel.d.ts +7 -0
  40. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  41. package/src/sap/cux/home/CardsPanel.js +130 -111
  42. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  43. package/src/sap/cux/home/CardsPanel.ts +17 -6
  44. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  45. package/src/sap/cux/home/ContentAdditionDialog.js +6 -2
  46. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  47. package/src/sap/cux/home/ContentAdditionDialog.ts +5 -1
  48. package/src/sap/cux/home/FavAppPanel.d.ts +0 -10
  49. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  50. package/src/sap/cux/home/FavAppPanel.js +258 -313
  51. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  52. package/src/sap/cux/home/FavAppPanel.ts +7 -56
  53. package/src/sap/cux/home/FrequentAppPanel.d.ts.map +1 -1
  54. package/src/sap/cux/home/FrequentAppPanel.js +5 -1
  55. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  56. package/src/sap/cux/home/FrequentAppPanel.ts +4 -0
  57. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  58. package/src/sap/cux/home/InsightsAdditionPanel.js +3 -1
  59. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  60. package/src/sap/cux/home/InsightsAdditionPanel.ts +2 -0
  61. package/src/sap/cux/home/NewsAndPagesContainer.d.ts +0 -4
  62. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +1 -1
  63. package/src/sap/cux/home/NewsAndPagesContainer.js +2 -2
  64. package/src/sap/cux/home/NewsAndPagesContainer.js.map +1 -1
  65. package/src/sap/cux/home/NewsAndPagesContainer.ts +4 -4
  66. package/src/sap/cux/home/NewsPanel.d.ts +17 -0
  67. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  68. package/src/sap/cux/home/NewsPanel.js +90 -57
  69. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  70. package/src/sap/cux/home/NewsPanel.ts +50 -22
  71. package/src/sap/cux/home/NewsSettingsPanel.d.ts +42 -6
  72. package/src/sap/cux/home/NewsSettingsPanel.d.ts.map +1 -1
  73. package/src/sap/cux/home/NewsSettingsPanel.js +219 -81
  74. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  75. package/src/sap/cux/home/NewsSettingsPanel.ts +215 -80
  76. package/src/sap/cux/home/Page.d.ts.map +1 -1
  77. package/src/sap/cux/home/Page.js +4 -1
  78. package/src/sap/cux/home/Page.js.map +1 -1
  79. package/src/sap/cux/home/Page.ts +2 -0
  80. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  81. package/src/sap/cux/home/PagePanel.js +1 -1
  82. package/src/sap/cux/home/PagePanel.js.map +1 -1
  83. package/src/sap/cux/home/PagePanel.ts +2 -6
  84. package/src/sap/cux/home/PageSettingsPanel.d.ts.map +1 -1
  85. package/src/sap/cux/home/PageSettingsPanel.js +6 -3
  86. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  87. package/src/sap/cux/home/PageSettingsPanel.ts +2 -2
  88. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  89. package/src/sap/cux/home/RecentAppPanel.js +6 -0
  90. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  91. package/src/sap/cux/home/RecentAppPanel.ts +5 -1
  92. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  93. package/src/sap/cux/home/RecommendedAppPanel.js +7 -0
  94. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  95. package/src/sap/cux/home/RecommendedAppPanel.ts +6 -1
  96. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +10 -0
  97. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts.map +1 -1
  98. package/src/sap/cux/home/SideBySideIconTabFilter.js +11 -1
  99. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  100. package/src/sap/cux/home/SideBySideIconTabFilter.ts +11 -0
  101. package/src/sap/cux/home/SituationPanel.d.ts.map +1 -1
  102. package/src/sap/cux/home/SituationPanel.js +7 -2
  103. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  104. package/src/sap/cux/home/SituationPanel.ts +2 -0
  105. package/src/sap/cux/home/SpaceInsightsPanel.js +1 -1
  106. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  107. package/src/sap/cux/home/SpaceInsightsPanel.ts +1 -1
  108. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  109. package/src/sap/cux/home/TaskPanel.js +3 -0
  110. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  111. package/src/sap/cux/home/TaskPanel.ts +2 -1
  112. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  113. package/src/sap/cux/home/TilesPanel.js +10 -3
  114. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  115. package/src/sap/cux/home/TilesPanel.ts +7 -3
  116. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  117. package/src/sap/cux/home/ToDoPanel.js +29 -8
  118. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  119. package/src/sap/cux/home/ToDoPanel.ts +19 -8
  120. package/src/sap/cux/home/ToDosContainer.js +3 -3
  121. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  122. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  123. package/src/sap/cux/home/i18n/messagebundle.properties +12 -6
  124. package/src/sap/cux/home/i18n/messagebundle_pt.properties +1 -1
  125. package/src/sap/cux/home/interface/AppsInterface.d.ts +5 -0
  126. package/src/sap/cux/home/interface/AppsInterface.d.ts.map +1 -1
  127. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  128. package/src/sap/cux/home/interface/AppsInterface.ts +6 -0
  129. package/src/sap/cux/home/themes/base/AppsContainer.less +12 -1
  130. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  131. package/src/sap/cux/home/themes/base/InsightsContainer.less +4 -0
  132. package/src/sap/cux/home/themes/base/ToDosContainer.less +4 -0
  133. package/src/sap/cux/home/utils/FESRUtil.d.ts +30 -0
  134. package/src/sap/cux/home/utils/FESRUtil.d.ts.map +1 -1
  135. package/src/sap/cux/home/utils/FESRUtil.js +36 -1
  136. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  137. package/src/sap/cux/home/utils/FESRUtil.ts +36 -0
  138. package/src/sap/cux/home/utils/PXFeedback.d.ts +4 -0
  139. package/src/sap/cux/home/utils/PXFeedback.d.ts.map +1 -0
  140. package/src/sap/cux/home/utils/PXFeedback.js +28 -0
  141. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -0
  142. package/src/sap/cux/home/utils/PXFeedback.ts +19 -0
  143. package/src/sap/cux/home/utils/PageManager.d.ts +0 -4
  144. package/src/sap/cux/home/utils/PageManager.d.ts.map +1 -1
  145. package/src/sap/cux/home/utils/PageManager.js +6 -6
  146. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  147. package/src/sap/cux/home/utils/PageManager.ts +6 -5
  148. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +1 -1
@@ -50,8 +50,6 @@ import SimpleForm from "sap/ui/layout/form/SimpleForm";
50
50
  import { form } from "sap/ui/layout/library";
51
51
  import Config from "sap/ushell/Config";
52
52
  import Container from "sap/ushell/Container";
53
- import MyHomeImport from "sap/ushell/components/pages/MyHomeImport";
54
- import PageRuntime from "sap/ushell/components/pages/controller/PageRuntime.controller";
55
53
  import Navigation from "sap/ushell/services/Navigation";
56
54
  import Pages from "sap/ushell/services/Pages";
57
55
  import { IExportData } from "./AdvancedSettingsPanel";
@@ -80,7 +78,7 @@ import { IMoveConfig } from "./utils/AppManager";
80
78
  import { DEFAULT_BG_COLOR, END_USER_COLORS, MYAPPS_SECTION_ID, MYHOME_PAGE_ID } from "./utils/Constants";
81
79
  import { getLeanURL, recycleId } from "./utils/DataFormatUtils";
82
80
  import { DeviceType } from "./utils/Device";
83
- import { addFESRId, addFESRSemanticStepName } from "./utils/FESRUtil";
81
+ import { addFESRId, addFESRNavigationSource, addFESRSemanticStepName, FESRNavigationSource } from "./utils/FESRUtil";
84
82
  import { sortMenuItems } from "./utils/InsightsUtils";
85
83
  const _showAddApps = () => {
86
84
  return (Config.last("/core/shell/enablePersonalization") || Config.last("/core/catalog/enabled")) as boolean;
@@ -123,7 +121,6 @@ export default class FavAppPanel extends BaseAppPersPanel {
123
121
  private _currentItem!: App | Group;
124
122
  private _cutApp: GenericTile | undefined;
125
123
  private oEventBus!: EventBus;
126
- private _importButton!: Button;
127
124
  private _createGroupMenuItem!: MenuItem;
128
125
  private _isInitialLoad = true;
129
126
 
@@ -159,7 +156,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
159
156
  this.setProperty("title", this._i18nBundle.getText("favoritesTab"));
160
157
  this.setProperty("tooltip", this._i18nBundle.getText("favAppsInfo"));
161
158
  //Setup Action Buttons
162
- void this._createActionButtons();
159
+ this._createActionButtons();
163
160
  //Setup Menu Items
164
161
  this._createHeaderMenuItems();
165
162
  //add drag and drop config
@@ -188,14 +185,6 @@ export default class FavAppPanel extends BaseAppPersPanel {
188
185
  },
189
186
  this
190
187
  );
191
- this.oEventBus.subscribe(
192
- "importChannel",
193
- "resetImported",
194
- async () => {
195
- await this.setImportButtonVisibility(true);
196
- },
197
- this
198
- );
199
188
  this.attachPersistDialog(() => {
200
189
  // if while navigating to different page, a group detail dialog was open, then while navigating back group detail dialog should be in open state.
201
190
  if (this._selectedGroupId) {
@@ -205,6 +194,9 @@ export default class FavAppPanel extends BaseAppPersPanel {
205
194
 
206
195
  document.addEventListener("click", (event) => this._resetCutElement(event));
207
196
  document.addEventListener("keydown", (event) => this._resetCutElement(event));
197
+ this.additionalInfo = {
198
+ fesrSource: FESRNavigationSource.Favorite
199
+ };
208
200
  }
209
201
 
210
202
  private _importdone() {
@@ -609,7 +601,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
609
601
  * Creates actions buttons for panel.
610
602
  * @private
611
603
  */
612
- private async _createActionButtons() {
604
+ private _createActionButtons() {
613
605
  if (!this._actionButtons) {
614
606
  this._actionButtons = [];
615
607
  if (_showAddApps()) {
@@ -628,29 +620,6 @@ export default class FavAppPanel extends BaseAppPersPanel {
628
620
  this._actionButtons.forEach((actionButton) => {
629
621
  this.addAggregation("actionButtons", actionButton);
630
622
  });
631
- const isImportEnabled = await this._validateAppsMigration();
632
- if (isImportEnabled) {
633
- this._createImportButton();
634
- }
635
- }
636
-
637
- private _createImportButton(): Button {
638
- if (!this._importButton) {
639
- this._importButton = new Button(`${this.getId()}-importAppsBtn`, {
640
- tooltip: this._i18nBundle.getText("importAppsNow"),
641
- text: this._i18nBundle.getText("importAppsNow"),
642
- press: this._openImportAppsDialog.bind(this)
643
- });
644
- addFESRId(this._importButton, "importAppsDialog");
645
- this._actionButtons.push(this._importButton);
646
- this.insertAggregation("actionButtons", this._importButton, 0);
647
- }
648
- return this._importButton;
649
- }
650
-
651
- private async setImportButtonVisibility(bVisible: boolean): Promise<void> {
652
- await MyHomeImport.setImportEnabled(bVisible);
653
- this._createImportButton().setVisible(bVisible);
654
623
  }
655
624
 
656
625
  /**
@@ -927,25 +896,7 @@ export default class FavAppPanel extends BaseAppPersPanel {
927
896
  shellHash: `Shell-appfinder?&/catalog/${JSON.stringify(navigationObject)}`
928
897
  }
929
898
  });
930
- }
931
-
932
- /**
933
- * Validates if import apps is enabled
934
- *
935
- *@returns {Promise} - resolves to boolean value (import is enabled/disabled)
936
- */
937
- private async _validateAppsMigration() {
938
- try {
939
- return await MyHomeImport.isImportEnabled();
940
- } catch (error: unknown) {
941
- Log.warning(error instanceof Error ? error.message : "Error while checking if import apps is enabled");
942
- return false;
943
- }
944
- }
945
-
946
- private _openImportAppsDialog() {
947
- const pageRuntime = new PageRuntime();
948
- pageRuntime.onImportDialogPress();
899
+ addFESRNavigationSource(FESRNavigationSource.AppFinder);
949
900
  }
950
901
 
951
902
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FrequentAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/FrequentAppPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAO/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAM3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;IAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IAKjE;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,gBAAgB;QAC7D,OAAO,CAAC,SAAS,CAAY;QAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CASvC;QAEF;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;QAKtD,IAAI;QAuBX;;;WAGG;QACU,QAAQ;QAcrB;;;;WAIG;gBACW,0BAA0B;QAaxC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAgBnB;;;;;WAKG;QACH,SAAS,CAAC,0BAA0B;KAMpC;CAEA"}
1
+ {"version":3,"file":"FrequentAppPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/FrequentAppPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+BAA+B,CAAC;IAO/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAM3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;IAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;IAMjE;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,gBAAgB;QAC7D,OAAO,CAAC,SAAS,CAAY;QAC7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CASvC;QAEF;;;;;WAKG;oBACgB,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,kBAAkB;QAKtD,IAAI;QA0BX;;;WAGG;QACU,QAAQ;QAcrB;;;;WAIG;gBACW,0BAA0B;QAaxC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAgBnB;;;;;WAKG;QACH,SAAS,CAAC,0BAA0B;KAMpC;CAEA"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "sap/ushell/EventHub", "./BaseAppPersPanel", "./MenuItem"], function (Log, EventBus, Container, EventHub, __BaseAppPersPanel, __MenuItem) {
5
+ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "sap/ushell/EventHub", "./BaseAppPersPanel", "./MenuItem", "./utils/FESRUtil"], function (Log, EventBus, Container, EventHub, __BaseAppPersPanel, __MenuItem, ___utils_FESRUtil) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -21,6 +21,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "
21
21
  }
22
22
  const BaseAppPersPanel = _interopRequireDefault(__BaseAppPersPanel);
23
23
  const MenuItem = _interopRequireDefault(__MenuItem);
24
+ const FESRNavigationSource = ___utils_FESRUtil["FESRNavigationSource"];
24
25
  /**
25
26
  *
26
27
  * Provides the class for managing frequent apps.
@@ -80,6 +81,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/EventBus", "sap/ushell/Container", "
80
81
  //update color of the app in most used apps
81
82
  this._applyUngroupedTileColor(item, color);
82
83
  }, this);
84
+ this.additionalInfo = {
85
+ fesrSource: FESRNavigationSource.FrequentlyUsed
86
+ };
83
87
  },
84
88
  /**
85
89
  * Fetch frequent apps and set apps aggregation
@@ -1 +1 @@
1
- {"version":3,"file":"FrequentAppPanel.js","names":["sap","ui","define","Log","EventBus","Container","EventHub","__BaseAppPersPanel","__MenuItem","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BaseAppPersPanel","MenuItem","FrequentAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_attachUserActivityTracking","on","do","refresh","oEventBus","getInstance","subscribe","channelId","eventId","data","item","color","_applyUngroupedTileColor","loadApps","_loadApps","_this","Promise","resolve","_getFrequentVisualizations","frequentVisualizations","destroyAggregation","map","visualization","index","menuItems","_getActions","addedInFavorites","frequentApps","generateApps","setApps","reject","_this2","getServiceAsync","UserRecentsService","getFrequentActivity","frequentActivities","convertActivitiesToVisualizations","error","isAppAddedInFavorite","action","push","getKey","title","icon","press","event","_addAppToFavorites","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription"],"sources":["FrequentAppPanel.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 type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport UserRecents from \"sap/ushell/services/UserRecents\";\nimport App from \"./App\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group from \"./Group\";\nimport { IActivity } from \"./interface/AppsInterface\";\nimport MenuItem from \"./MenuItem\";\n\n/**\n *\n * Provides the class for managing frequent apps.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FrequentAppPanel\n */\n\nexport default class FrequentAppPanel extends BaseAppPersPanel {\n\tprivate oEventBus!: EventBus;\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 * Apps aggregation for Frequent apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new frequent app panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", \"frequentApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"frequentlyUsedTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"frequentlyUsedTabInfo\"));\n\t\tthis._attachUserActivityTracking();\n\t\tEventHub.on(\"userRecentsCleared\").do(() => {\n\t\t\tvoid this.refresh();\n\t\t});\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"appsChannel\",\n\t\t\t\"favAppColorChanged\",\n\t\t\t(channelId?: string, eventId?: string, data?) => {\n\t\t\t\tconst { item, color } = data as { item: App | Group; color: string };\n\t\t\t\t//update color of the app in most used apps\n\t\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t}\n\n\t/**\n\t * Fetch frequent apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tlet frequentVisualizations = await this._getFrequentVisualizations();\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tfrequentVisualizations = frequentVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(visualization.addedInFavorites, index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst frequentApps = this.generateApps(frequentVisualizations);\n\t\tthis.setApps(frequentApps);\n\t}\n\n\t/**\n\t * Returns list of frequent apps\n\t * @private\n\t * @returns {object[]} - Array of frequent apps.\n\t */\n\tprivate async _getFrequentVisualizations() {\n\t\ttry {\n\t\t\tconst UserRecentsService = await Container.getServiceAsync<UserRecents>(\"UserRecents\");\n\t\t\tconst frequentActivities: IActivity[] = (await UserRecentsService?.getFrequentActivity()) || [];\n\t\t\t//convert activity to apps\n\t\t\tconst frequentVisualizations = await this.convertActivitiesToVisualizations(frequentActivities);\n\t\t\treturn frequentVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @param {boolean} isAppAddedInFavorite - true if app is already present in favorite, false otherwise.\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(isAppAddedInFavorite: boolean = false, index?: number) {\n\t\tconst action = [];\n\t\tif (!isAppAddedInFavorite) {\n\t\t\taction.push(\n\t\t\t\tnew MenuItem(`${this.getKey()}--addToFavorites--${index}`, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn action;\n\t}\n\n\t/**\n\t * Generates illustrated message for frequent apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//override the default description\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFreqAppsDescription\"));\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FrequentAppPanel.js","names":["sap","ui","define","Log","EventBus","Container","EventHub","__BaseAppPersPanel","__MenuItem","___utils_FESRUtil","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BaseAppPersPanel","MenuItem","FESRNavigationSource","FrequentAppPanel","extend","metadata","library","defaultAggregation","aggregations","apps","type","singularName","multiple","visibility","constructor","_constructor","id","settings","BaseAppPersPanel.prototype.constructor.call","setSupported","init","_init","BaseAppPersPanel.prototype.init.call","setProperty","_i18nBundle","getText","_attachUserActivityTracking","on","do","refresh","oEventBus","getInstance","subscribe","channelId","eventId","data","item","color","_applyUngroupedTileColor","additionalInfo","fesrSource","FrequentlyUsed","loadApps","_loadApps","_this","Promise","resolve","_getFrequentVisualizations","frequentVisualizations","destroyAggregation","map","visualization","index","menuItems","_getActions","addedInFavorites","frequentApps","generateApps","setApps","reject","_this2","getServiceAsync","UserRecentsService","getFrequentActivity","frequentActivities","convertActivitiesToVisualizations","error","isAppAddedInFavorite","action","push","getKey","title","icon","press","event","_addAppToFavorites","generateIllustratedMessage","_generateIllustratedMessage","illustratedMessage","BaseAppPersPanel.prototype.generateIllustratedMessage.call","setDescription"],"sources":["FrequentAppPanel.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 type { MetadataOptions } from \"sap/ui/core/Element\";\nimport EventBus from \"sap/ui/core/EventBus\";\nimport Container from \"sap/ushell/Container\";\nimport EventHub from \"sap/ushell/EventHub\";\nimport UserRecents from \"sap/ushell/services/UserRecents\";\nimport App from \"./App\";\nimport BaseAppPersPanel from \"./BaseAppPersPanel\";\nimport type { $BasePanelSettings } from \"./BasePanel\";\nimport Group from \"./Group\";\nimport { IActivity } from \"./interface/AppsInterface\";\nimport MenuItem from \"./MenuItem\";\nimport { FESRNavigationSource } from \"./utils/FESRUtil\";\n\n/**\n *\n * Provides the class for managing frequent apps.\n *\n * @extends sap.cux.home.BaseAppPersPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121.0\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.FrequentAppPanel\n */\n\nexport default class FrequentAppPanel extends BaseAppPersPanel {\n\tprivate oEventBus!: EventBus;\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 * Apps aggregation for Frequent apps\n\t\t\t */\n\t\t\tapps: { type: \"sap.cux.home.App\", singularName: \"app\", multiple: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\t/**\n\t * Constructor for a new frequent app panel.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BasePanelSettings) {\n\t\tsuper(id, settings);\n\t\tthis.setSupported(false);\n\t}\n\n\tpublic init() {\n\t\tsuper.init();\n\t\tthis.setProperty(\"key\", \"frequentApps\");\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"frequentlyUsedTab\"));\n\t\tthis.setProperty(\"tooltip\", this._i18nBundle.getText(\"frequentlyUsedTabInfo\"));\n\t\tthis._attachUserActivityTracking();\n\t\tEventHub.on(\"userRecentsCleared\").do(() => {\n\t\t\tvoid this.refresh();\n\t\t});\n\n\t\tthis.oEventBus = EventBus.getInstance();\n\t\tthis.oEventBus.subscribe(\n\t\t\t\"appsChannel\",\n\t\t\t\"favAppColorChanged\",\n\t\t\t(channelId?: string, eventId?: string, data?) => {\n\t\t\t\tconst { item, color } = data as { item: App | Group; color: string };\n\t\t\t\t//update color of the app in most used apps\n\t\t\t\tthis._applyUngroupedTileColor(item, color);\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.additionalInfo = {\n\t\t\tfesrSource: FESRNavigationSource.FrequentlyUsed\n\t\t};\n\t}\n\n\t/**\n\t * Fetch frequent apps and set apps aggregation\n\t * @private\n\t */\n\tpublic async loadApps() {\n\t\tlet frequentVisualizations = await this._getFrequentVisualizations();\n\t\tthis.destroyAggregation(\"apps\", true);\n\t\tfrequentVisualizations = frequentVisualizations.map((visualization, index) => {\n\t\t\treturn {\n\t\t\t\t...visualization,\n\t\t\t\tmenuItems: this._getActions(visualization.addedInFavorites, index)\n\t\t\t};\n\t\t});\n\t\t//convert apps objects array to apps instances\n\t\tconst frequentApps = this.generateApps(frequentVisualizations);\n\t\tthis.setApps(frequentApps);\n\t}\n\n\t/**\n\t * Returns list of frequent apps\n\t * @private\n\t * @returns {object[]} - Array of frequent apps.\n\t */\n\tprivate async _getFrequentVisualizations() {\n\t\ttry {\n\t\t\tconst UserRecentsService = await Container.getServiceAsync<UserRecents>(\"UserRecents\");\n\t\t\tconst frequentActivities: IActivity[] = (await UserRecentsService?.getFrequentActivity()) || [];\n\t\t\t//convert activity to apps\n\t\t\tconst frequentVisualizations = await this.convertActivitiesToVisualizations(frequentActivities);\n\t\t\treturn frequentVisualizations;\n\t\t} catch (error) {\n\t\t\tLog.error(error as string);\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Returns list of actions available for selected app\n\t * @private\n\t * @param {boolean} isAppAddedInFavorite - true if app is already present in favorite, false otherwise.\n\t * @returns {sap.cux.home.MenuItem[]} - Array of list items.\n\t */\n\tprivate _getActions(isAppAddedInFavorite: boolean = false, index?: number) {\n\t\tconst action = [];\n\t\tif (!isAppAddedInFavorite) {\n\t\t\taction.push(\n\t\t\t\tnew MenuItem(`${this.getKey()}--addToFavorites--${index}`, {\n\t\t\t\t\ttitle: this._i18nBundle.getText(\"addToFavorites\"),\n\t\t\t\t\ticon: \"sap-icon://add-favorite\",\n\t\t\t\t\tpress: (event) => {\n\t\t\t\t\t\tvoid this._addAppToFavorites(event);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn action;\n\t}\n\n\t/**\n\t * Generates illustrated message for frequent apps panel.\n\t * @private\n\t * @override\n\t * @returns {sap.m.IllustratedMessage} Illustrated error message.\n\t */\n\tprotected generateIllustratedMessage() {\n\t\tconst illustratedMessage = super.generateIllustratedMessage();\n\t\t//override the default description\n\t\tillustratedMessage.setDescription(this._i18nBundle.getText(\"noFreqAppsDescription\"));\n\t\treturn illustratedMessage;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ import type { $BasePanelSettings } from "./BasePanel";
15
15
  import Group from "./Group";
16
16
  import { IActivity } from "./interface/AppsInterface";
17
17
  import MenuItem from "./MenuItem";
18
+ import { FESRNavigationSource } from "./utils/FESRUtil";
18
19
 
19
20
  /**
20
21
  *
@@ -77,6 +78,9 @@ export default class FrequentAppPanel extends BaseAppPersPanel {
77
78
  },
78
79
  this
79
80
  );
81
+ this.additionalInfo = {
82
+ fesrSource: FESRNavigationSource.FrequentlyUsed
83
+ };
80
84
  }
81
85
 
82
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"InsightsAdditionPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/InsightsAdditionPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAgBpD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAS/D;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;QACnE,OAAO,CAAC,cAAc,CAAU;QAChC,OAAO,CAAC,kBAAkB,CAAuB;QACjD,OAAO,CAAC,gBAAgB,CAAW;QACnC,OAAO,CAAC,wBAAwB,CAAiB;QACjD;;;;;WAKG;QACI,IAAI;QAqBX;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;;;;;WASG;gBACW,aAAa;QAgB3B;;;;;;WAMG;gBACW,0BAA0B;QASxC;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;QAK5B;;;;;;WAMG;QACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;QAqB5C;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAMxB;;;;;;;;;;WAUG;gBACW,eAAe;QAwB7B;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;KAIhC;CAEA"}
1
+ {"version":3,"file":"InsightsAdditionPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/InsightsAdditionPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAgBpD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;IAU/D;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;QACnE,OAAO,CAAC,cAAc,CAAU;QAChC,OAAO,CAAC,kBAAkB,CAAuB;QACjD,OAAO,CAAC,gBAAgB,CAAW;QACnC,OAAO,CAAC,wBAAwB,CAAiB;QACjD;;;;;WAKG;QACI,IAAI;QAqBX;;;;WAIG;QACH,OAAO,CAAC,eAAe;QAIvB;;;;;;;;;WASG;gBACW,aAAa;QAgB3B;;;;;;WAMG;gBACW,0BAA0B;QASxC;;;;;WAKG;QACH,OAAO,CAAC,oBAAoB;QAK5B;;;;;;WAMG;QACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;QAqB5C;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAMxB;;;;;;;;;;WAUG;gBACW,eAAe;QAyB7B;;;;;WAKG;QACH,OAAO,CAAC,wBAAwB;KAIhC;CAEA"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m/library", "sap/m/MessageBox", "sap/m/MessageToast", "sap/m/VBox", "./BaseSettingsPanel", "./CardsPanel", "./InsightsContainer", "./utils/Constants", "./utils/FeatureUtils", "./utils/FESRUtil"], function (Log, CardHelper, Button, sap_m_library, MessageBox, MessageToast, VBox, __BaseSettingsPanel, __CardsPanel, __InsightsContainer, ___utils_Constants, ___utils_FeatureUtils, ___utils_FESRUtil) {
5
+ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m/library", "sap/m/MessageBox", "sap/m/MessageToast", "sap/m/VBox", "./BaseSettingsPanel", "./CardsPanel", "./InsightsContainer", "./utils/Constants", "./utils/FeatureUtils", "./utils/FESRUtil", "./utils/PXFeedback"], function (Log, CardHelper, Button, sap_m_library, MessageBox, MessageToast, VBox, __BaseSettingsPanel, __CardsPanel, __InsightsContainer, ___utils_Constants, ___utils_FeatureUtils, ___utils_FESRUtil, ___utils_PXFeedback) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -41,6 +41,7 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
41
41
  const isNavigationSupportedForFeature = ___utils_FeatureUtils["isNavigationSupportedForFeature"];
42
42
  const addFESRSemanticStepName = ___utils_FESRUtil["addFESRSemanticStepName"];
43
43
  const FESR_EVENTS = ___utils_FESRUtil["FESR_EVENTS"];
44
+ const triggerPXIntegration = ___utils_PXFeedback["triggerPXIntegration"];
44
45
  /**
45
46
  *
46
47
  * Class for Apps Addition Panel in MyHome.
@@ -215,6 +216,7 @@ sap.ui.define(["sap/base/Log", "sap/insights/CardHelper", "sap/m/Button", "sap/m
215
216
  onPressAddCards: function _onPressAddCards() {
216
217
  try {
217
218
  const _this4 = this;
219
+ triggerPXIntegration("addCardsButton");
218
220
  const addContentDialog = _this4.getParent();
219
221
  const _temp4 = _finallyRethrows(function () {
220
222
  return _catch(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"InsightsAdditionPanel.js","names":["sap","ui","define","Log","CardHelper","Button","sap_m_library","MessageBox","MessageToast","VBox","__BaseSettingsPanel","__CardsPanel","__InsightsContainer","___utils_Constants","___utils_FeatureUtils","___utils_FESRUtil","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","ButtonType","BaseSettingsPanel","CardsPanel","InsightsContainer","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","FESR_IDS","isNavigationSupportedForFeature","addFESRSemanticStepName","FESR_EVENTS","InsightsAdditionPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","AI_INSIGHTS_CARDS","_i18nBundle","getText","addCardsButton","getId","text","type","Emphasized","enabled","press","onPressAddCards","PRESS","ADD_AI_CARD","addActionButton","_setupContent","attachEvent","resetAddCardInnerContent","enableAddButton","_enableAddButton","action","setEnabled","_this","_temp","Promise","resolve","_fetchAddCardDialogContent","dialogContent","wrapperVBox","items","backgroundDesign","Solid","height","addAggregation","error","message","reject","_this2","getServiceAsync","_getServiceAsync","cardHelperInstance","fetchAddCardInnerContent","event","_latestGeneratedManifest","getParameters","isValidManifest","Object","keys","length","getInsightsContainer","_getInsightsContainer","layout","getParent","getContent","find","container","isSupported","_isSupported","_this3","_temp3","isPanelSupported","removeActionButton","contentAdditionDialog","removePanel","updateActionButtons","insightsCardIntent","target","semanticObject","_temp2","undefined","AI_GENERATED_CARD","_isNavigationSupporte","_fetchCardsPanel","panel","_onPressAddCards","_this4","addContentDialog","_temp4","setBusy","_createCard","createdCardResponse","cardTitle","header","title","show","close","visible","information","styleClass","cardsPanel","refreshData","_wasThrown","_result","_resetAddCardInnerContent"],"sources":["InsightsAdditionPanel.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 CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport { BackgroundDesign, ButtonType } from \"sap/m/library\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport { Target } from \"sap/ushell/services/Navigation\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport CardsPanel from \"./CardsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport { ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from \"./utils/Constants\";\nimport { isNavigationSupportedForFeature } from \"./utils/FeatureUtils\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n * @private\n *\n * @alias sap.cux.home.InsightsAdditionPanel\n */\nexport default class InsightsAdditionPanel extends BaseSettingsPanel {\n\tprivate addCardsButton!: Button;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate isPanelSupported!: boolean;\n\tprivate _latestGeneratedManifest!: ICardManifest;\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_INSIGHTS_CARDS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"insightsCards\"));\n\n\t\t//setup actions\n\t\tthis.addCardsButton = new Button(`${this.getId()}-add-cards-btn`, {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tenabled: false,\n\t\t\tpress: this.onPressAddCards.bind(this)\n\t\t});\n\t\taddFESRSemanticStepName(this.addCardsButton, FESR_EVENTS.PRESS, FESR_IDS.ADD_AI_CARD);\n\t\tthis.addActionButton(this.addCardsButton);\n\t\t//setup content\n\t\tvoid this._setupContent();\n\t\tthis.attachEvent(\"onDialogClose\", this.resetAddCardInnerContent.bind(this));\n\t}\n\n\t/**\n\t * Enables or disables the \"Add Cards\" button.\n\t *\n\t * @param {boolean} action - If true, the button is enabled; if false, it is disabled.\n\t */\n\tprivate enableAddButton(action: boolean) {\n\t\tthis.addCardsButton.setEnabled(action);\n\t}\n\n\t/**\n\t * It sets up the content for the \"Insights card\" dialog.\n\t * It fetches the inner dialog content for adding a card.\n\t * Adds the VBox to the panel's content aggregation.\n\t *\n\t * This also enables the \"Add\" button once content is fetched.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when setup is complete.\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\ttry {\n\t\t\tconst dialogContent = await this._fetchAddCardDialogContent();\n\t\t\tif (dialogContent) {\n\t\t\t\tconst wrapperVBox = new VBox(`${this.getId()}-wrapperVBox`, {\n\t\t\t\t\titems: dialogContent,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid,\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t});\n\t\t\t\tthis.addAggregation(\"content\", wrapperVBox);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the dialog content for adding a new card and sets up the callback\n\t * to handle the card generation event, storing the generated manifest and enabling the add button.\n\t *\n\t * @private\n\t * @returns {Promise<Control[]>} A promise that resolves with an array of dialog content controls.\n\t */\n\tprivate async _fetchAddCardDialogContent(): Promise<Control[]> {\n\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\treturn this.cardHelperInstance.fetchAddCardInnerContent((event) => {\n\t\t\tthis._latestGeneratedManifest = event.getParameters();\n\t\t\tconst isValidManifest = Object.keys(this._latestGeneratedManifest).length > 1;\n\t\t\tthis.enableAddButton(isValidManifest);\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the InsightsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {InsightsContainer | undefined} The InsightsContainer instance or undefined if not found.\n\t */\n\tprivate getInsightsContainer(): InsightsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof InsightsContainer);\n\t}\n\n\t/**\n\t * Checks if the Insights Addition Panel is supported.\n\t *\n\t * @public\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to true if supported.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst insightsCardIntent: Target = {\n\t\t\ttarget: {\n\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\taction: \"personalize\"\n\t\t\t}\n\t\t};\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\t\t\tthis.isPanelSupported = await isNavigationSupportedForFeature(FEATURE_TOGGLES.AI_GENERATED_CARD, insightsCardIntent);\n\t\t}\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addCardsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Retrieves the `CardsPanel` instance from the `InsightsContainer`.\n\t *\n\t * @private\n\t * @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.\n\t */\n\tprivate _fetchCardsPanel(): CardsPanel | undefined {\n\t\treturn this.getInsightsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel): panel is CardsPanel => panel instanceof CardsPanel);\n\t}\n\n\t/**\n\t * Handles the logic for creating and adding a new insight card to cards Panel.\n\t *\n\t * - Sets the dialog to busy while the card creation is in progress.\n\t * - It adds a new card using the latest generated manifest.\n\t * - On success, shows a message toast and closes the dialog.\n\t * - Refreshes the insights cards panel data.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the card creation flow completes.\n\t */\n\tprivate async onPressAddCards() {\n\t\tconst addContentDialog = this.getParent() as ContentAdditionDialog;\n\t\ttry {\n\t\t\taddContentDialog.setBusy(true);\n\n\t\t\tconst createdCardResponse = await this.cardHelperInstance._createCard(this._latestGeneratedManifest);\n\t\t\tconst cardTitle = createdCardResponse[\"sap.card\"]?.header?.title;\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"Card_Created\", [cardTitle]) as string);\n\t\t\taddContentDialog.close();\n\t\t\tif (!createdCardResponse?.[\"sap.insights\"]?.visible) {\n\t\t\t\tMessageBox.information(this._i18nBundle.getText(\"INT_CARD_LIMIT_MESSAGEBOX\") as string, {\n\t\t\t\t\tstyleClass: \"msgBoxAlign\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst cardsPanel = this._fetchCardsPanel();\n\t\t\tawait cardsPanel?.refreshData();\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t} finally {\n\t\t\taddContentDialog.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal content related to card addition.\n\t * Disables the \"Add\" button.\n\t *\n\t * @private\n\t */\n\tprivate resetAddCardInnerContent() {\n\t\tthis.cardHelperInstance?.resetAddCardInnerContent();\n\t\tthis.enableAddButton(false);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InsightsAdditionPanel.js","names":["sap","ui","define","Log","CardHelper","Button","sap_m_library","MessageBox","MessageToast","VBox","__BaseSettingsPanel","__CardsPanel","__InsightsContainer","___utils_Constants","___utils_FeatureUtils","___utils_FESRUtil","___utils_PXFeedback","_interopRequireDefault","obj","__esModule","default","_catch","body","recover","result","e","then","BackgroundDesign","_finallyRethrows","finalizer","bind","ButtonType","BaseSettingsPanel","CardsPanel","InsightsContainer","CONTENT_ADDITION_PANEL_TYPES","FEATURE_TOGGLES","FESR_IDS","isNavigationSupportedForFeature","addFESRSemanticStepName","FESR_EVENTS","triggerPXIntegration","InsightsAdditionPanel","extend","init","_init","BaseSettingsPanel.prototype.init.call","setProperty","AI_INSIGHTS_CARDS","_i18nBundle","getText","addCardsButton","getId","text","type","Emphasized","enabled","press","onPressAddCards","PRESS","ADD_AI_CARD","addActionButton","_setupContent","attachEvent","resetAddCardInnerContent","enableAddButton","_enableAddButton","action","setEnabled","_this","_temp","Promise","resolve","_fetchAddCardDialogContent","dialogContent","wrapperVBox","items","backgroundDesign","Solid","height","addAggregation","error","message","reject","_this2","getServiceAsync","_getServiceAsync","cardHelperInstance","fetchAddCardInnerContent","event","_latestGeneratedManifest","getParameters","isValidManifest","Object","keys","length","getInsightsContainer","_getInsightsContainer","layout","getParent","getContent","find","container","isSupported","_isSupported","_this3","_temp3","isPanelSupported","removeActionButton","contentAdditionDialog","removePanel","updateActionButtons","insightsCardIntent","target","semanticObject","_temp2","undefined","AI_GENERATED_CARD","_isNavigationSupporte","_fetchCardsPanel","panel","_onPressAddCards","_this4","addContentDialog","_temp4","setBusy","_createCard","createdCardResponse","cardTitle","header","title","show","close","visible","information","styleClass","cardsPanel","refreshData","_wasThrown","_result","_resetAddCardInnerContent"],"sources":["InsightsAdditionPanel.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 CardHelper from \"sap/insights/CardHelper\";\nimport Button from \"sap/m/Button\";\nimport { BackgroundDesign, ButtonType } from \"sap/m/library\";\nimport MessageBox from \"sap/m/MessageBox\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport VBox from \"sap/m/VBox\";\nimport Control from \"sap/ui/core/Control\";\nimport { Target } from \"sap/ushell/services/Navigation\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport CardsPanel from \"./CardsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsContainer from \"./InsightsContainer\";\nimport { ICardHelper, ICardHelperInstance, ICardManifest } from \"./interface/CardsInterface\";\nimport { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from \"./utils/Constants\";\nimport { isNavigationSupportedForFeature } from \"./utils/FeatureUtils\";\nimport { addFESRSemanticStepName, FESR_EVENTS } from \"./utils/FESRUtil\";\nimport { triggerPXIntegration } from \"./utils/PXFeedback\";\n\n/**\n *\n * Class for Apps Addition Panel in MyHome.\n *\n * @extends BaseSettingsPanel\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.136\n * @private\n *\n * @alias sap.cux.home.InsightsAdditionPanel\n */\nexport default class InsightsAdditionPanel extends BaseSettingsPanel {\n\tprivate addCardsButton!: Button;\n\tprivate cardHelperInstance!: ICardHelperInstance;\n\tprivate isPanelSupported!: boolean;\n\tprivate _latestGeneratedManifest!: ICardManifest;\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @public\n\t * @override\n\t */\n\tpublic init() {\n\t\tsuper.init();\n\n\t\t//setup panel\n\t\tthis.setProperty(\"key\", CONTENT_ADDITION_PANEL_TYPES.AI_INSIGHTS_CARDS);\n\t\tthis.setProperty(\"title\", this._i18nBundle.getText(\"insightsCards\"));\n\n\t\t//setup actions\n\t\tthis.addCardsButton = new Button(`${this.getId()}-add-cards-btn`, {\n\t\t\ttext: this._i18nBundle.getText(\"addFromInsightsDialogBtn\"),\n\t\t\ttype: ButtonType.Emphasized,\n\t\t\tenabled: false,\n\t\t\tpress: this.onPressAddCards.bind(this)\n\t\t});\n\t\taddFESRSemanticStepName(this.addCardsButton, FESR_EVENTS.PRESS, FESR_IDS.ADD_AI_CARD);\n\t\tthis.addActionButton(this.addCardsButton);\n\t\t//setup content\n\t\tvoid this._setupContent();\n\t\tthis.attachEvent(\"onDialogClose\", this.resetAddCardInnerContent.bind(this));\n\t}\n\n\t/**\n\t * Enables or disables the \"Add Cards\" button.\n\t *\n\t * @param {boolean} action - If true, the button is enabled; if false, it is disabled.\n\t */\n\tprivate enableAddButton(action: boolean) {\n\t\tthis.addCardsButton.setEnabled(action);\n\t}\n\n\t/**\n\t * It sets up the content for the \"Insights card\" dialog.\n\t * It fetches the inner dialog content for adding a card.\n\t * Adds the VBox to the panel's content aggregation.\n\t *\n\t * This also enables the \"Add\" button once content is fetched.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when setup is complete.\n\t */\n\tprivate async _setupContent(): Promise<void> {\n\t\ttry {\n\t\t\tconst dialogContent = await this._fetchAddCardDialogContent();\n\t\t\tif (dialogContent) {\n\t\t\t\tconst wrapperVBox = new VBox(`${this.getId()}-wrapperVBox`, {\n\t\t\t\t\titems: dialogContent,\n\t\t\t\t\tbackgroundDesign: BackgroundDesign.Solid,\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t});\n\t\t\t\tthis.addAggregation(\"content\", wrapperVBox);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t}\n\t}\n\n\t/**\n\t * Fetches the dialog content for adding a new card and sets up the callback\n\t * to handle the card generation event, storing the generated manifest and enabling the add button.\n\t *\n\t * @private\n\t * @returns {Promise<Control[]>} A promise that resolves with an array of dialog content controls.\n\t */\n\tprivate async _fetchAddCardDialogContent(): Promise<Control[]> {\n\t\tthis.cardHelperInstance = await (CardHelper as ICardHelper).getServiceAsync();\n\t\treturn this.cardHelperInstance.fetchAddCardInnerContent((event) => {\n\t\t\tthis._latestGeneratedManifest = event.getParameters();\n\t\t\tconst isValidManifest = Object.keys(this._latestGeneratedManifest).length > 1;\n\t\t\tthis.enableAddButton(isValidManifest);\n\t\t});\n\t}\n\n\t/**\n\t * Retrieves the InsightsContainer instance from the parent layout.\n\t *\n\t * @private\n\t * @returns {InsightsContainer | undefined} The InsightsContainer instance or undefined if not found.\n\t */\n\tprivate getInsightsContainer(): InsightsContainer | undefined {\n\t\tconst layout = this.getParent()?.getParent() as BaseLayout;\n\t\treturn layout.getContent().find((container) => container instanceof InsightsContainer);\n\t}\n\n\t/**\n\t * Checks if the Insights Addition Panel is supported.\n\t *\n\t * @public\n\t * @async\n\t * @returns {Promise<boolean>} A promise that resolves to true if supported.\n\t */\n\tpublic async isSupported(): Promise<boolean> {\n\t\tconst insightsCardIntent: Target = {\n\t\t\ttarget: {\n\t\t\t\tsemanticObject: \"IntelligentPrompt\",\n\t\t\t\taction: \"personalize\"\n\t\t\t}\n\t\t};\n\t\tif (this.isPanelSupported === undefined) {\n\t\t\tthis.isPanelSupported = false;\n\t\t\tthis.isPanelSupported = await isNavigationSupportedForFeature(FEATURE_TOGGLES.AI_GENERATED_CARD, insightsCardIntent);\n\t\t}\n\t\t//remove panel if it's not supported\n\t\tif (!this.isPanelSupported) {\n\t\t\tthis.removeActionButton(this.addCardsButton);\n\t\t\tconst contentAdditionDialog = this.getParent() as ContentAdditionDialog;\n\t\t\tcontentAdditionDialog.removePanel(this);\n\t\t\tcontentAdditionDialog.updateActionButtons();\n\t\t}\n\t\treturn this.isPanelSupported;\n\t}\n\n\t/**\n\t * Retrieves the `CardsPanel` instance from the `InsightsContainer`.\n\t *\n\t * @private\n\t * @returns {CardsPanel | undefined} The found `CardsPanel` instance, or `undefined` if not found.\n\t */\n\tprivate _fetchCardsPanel(): CardsPanel | undefined {\n\t\treturn this.getInsightsContainer()\n\t\t\t?.getContent()\n\t\t\t.find((panel): panel is CardsPanel => panel instanceof CardsPanel);\n\t}\n\n\t/**\n\t * Handles the logic for creating and adding a new insight card to cards Panel.\n\t *\n\t * - Sets the dialog to busy while the card creation is in progress.\n\t * - It adds a new card using the latest generated manifest.\n\t * - On success, shows a message toast and closes the dialog.\n\t * - Refreshes the insights cards panel data.\n\t *\n\t * @private\n\t * @returns {Promise<void>} A promise that resolves when the card creation flow completes.\n\t */\n\tprivate async onPressAddCards() {\n\t\ttriggerPXIntegration(\"addCardsButton\");\n\t\tconst addContentDialog = this.getParent() as ContentAdditionDialog;\n\t\ttry {\n\t\t\taddContentDialog.setBusy(true);\n\n\t\t\tconst createdCardResponse = await this.cardHelperInstance._createCard(this._latestGeneratedManifest);\n\t\t\tconst cardTitle = createdCardResponse[\"sap.card\"]?.header?.title;\n\t\t\tMessageToast.show(this._i18nBundle.getText(\"Card_Created\", [cardTitle]) as string);\n\t\t\taddContentDialog.close();\n\t\t\tif (!createdCardResponse?.[\"sap.insights\"]?.visible) {\n\t\t\t\tMessageBox.information(this._i18nBundle.getText(\"INT_CARD_LIMIT_MESSAGEBOX\") as string, {\n\t\t\t\t\tstyleClass: \"msgBoxAlign\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst cardsPanel = this._fetchCardsPanel();\n\t\t\tawait cardsPanel?.refreshData();\n\t\t} catch (error) {\n\t\t\tLog.error((error as Error).message);\n\t\t} finally {\n\t\t\taddContentDialog.setBusy(false);\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal content related to card addition.\n\t * Disables the \"Add\" button.\n\t *\n\t * @private\n\t */\n\tprivate resetAddCardInnerContent() {\n\t\tthis.cardHelperInstance?.resetAddCardInnerContent();\n\t\tthis.enableAddButton(false);\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AAHAA,GAAA,CAAAC,EAAA,CAAAC,MAAA,sSAAAC,GAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,mBAAA,EAAAC,YAAA,EAAAC,mBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,mBAAA;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,MApjBQG,gBAAgB,GAAArB,aAAA;EAujBlB,SAASsB,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,MAjkB0BO,UAAU,GAAAzB,aAAA;EAAA,MAO9B0B,iBAAiB,GAAAf,sBAAA,CAAAP,mBAAA;EAAA,MACjBuB,UAAU,GAAAhB,sBAAA,CAAAN,YAAA;EAAA,MAEVuB,iBAAiB,GAAAjB,sBAAA,CAAAL,mBAAA;EAAA,MAEfuB,4BAA4B,GAAAtB,kBAAA;EAAA,MAAEuB,eAAe,GAAAvB,kBAAA;EAAA,MAAEwB,QAAQ,GAAAxB,kBAAA;EAAA,MACvDyB,+BAA+B,GAAAxB,qBAAA;EAAA,MAC/ByB,uBAAuB,GAAAxB,iBAAA;EAAA,MAAEyB,WAAW,GAAAzB,iBAAA;EAAA,MACpC0B,oBAAoB,GAAAzB,mBAAA;EAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZA,MAaqB0B,qBAAqB,GAASV,iBAAiB,CAAAW,MAAA;IAKnE;AACD;AACA;AACA;AACA;AACA;IACQC,IAAI,WAAAC,MAAA,EAAG;MACbC,qCAAA;;MAEA;MACA,IAAI,CAACC,WAAW,CAAC,KAAK,EAAEZ,4BAA4B,CAACa,iBAAiB,CAAC;MACvE,IAAI,CAACD,WAAW,CAAC,OAAO,EAAE,IAAI,CAACE,WAAW,CAACC,OAAO,CAAC,eAAe,CAAC,CAAC;;MAEpE;MACA,IAAI,CAACC,cAAc,GAAG,IAAI9C,MAAM,CAAC,GAAG,IAAI,CAAC+C,KAAK,CAAC,CAAC,gBAAgB,EAAE;QACjEC,IAAI,EAAE,IAAI,CAACJ,WAAW,CAACC,OAAO,CAAC,0BAA0B,CAAC;QAC1DI,IAAI,EAAEvB,UAAU,CAACwB,UAAU;QAC3BC,OAAO,EAAE,KAAK;QACdC,KAAK,EAAE,IAAI,CAACC,eAAe,CAAC5B,IAAI,CAAC,IAAI;MACtC,CAAC,CAAC;MACFS,uBAAuB,CAAC,IAAI,CAACY,cAAc,EAAEX,WAAW,CAACmB,KAAK,EAAEtB,QAAQ,CAACuB,WAAW,CAAC;MACrF,IAAI,CAACC,eAAe,CAAC,IAAI,CAACV,cAAc,CAAC;MACzC;MACA,KAAK,IAAI,CAACW,aAAa,CAAC,CAAC;MACzB,IAAI,CAACC,WAAW,CAAC,eAAe,EAAE,IAAI,CAACC,wBAAwB,CAAClC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;AACD;AACA;AACA;AACA;IACSmC,eAAe,WAAAC,iBAACC,MAAe,EAAE;MACxC,IAAI,CAAChB,cAAc,CAACiB,UAAU,CAACD,MAAM,CAAC;IACvC,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACeL,aAAa,WAAAA,cAAA;MAAA,IAAkB;QAAA,MAAAO,KAAA,GAEf,IAAI;QAAA,MAAAC,KAAA,GAAAjD,MAAA,aAD7B;UAAA,OAAAkD,OAAA,CAAAC,OAAA,CACyBH,KAAA,CAAKI,0BAA0B,CAAC,CAAC,EAAA/C,IAAA,WAAvDgD,aAAa;YAAA,IACfA,aAAa;cAChB,MAAMC,WAAW,GAAG,IAAIlE,IAAI,CAAC,GAAG4D,KAAA,CAAKjB,KAAK,CAAC,CAAC,cAAc,EAAE;gBAC3DwB,KAAK,EAAEF,aAAa;gBACpBG,gBAAgB,EAAElD,gBAAgB,CAACmD,KAAK;gBACxCC,MAAM,EAAE;cACT,CAAC,CAAC;cACFV,KAAA,CAAKW,cAAc,CAAC,SAAS,EAAEL,WAAW,CAAC;YAAC;UAAA;QAE9C,CAAC,YAAQM,KAAK,EAAE;UACf9E,GAAG,CAAC8E,KAAK,CAAEA,KAAK,CAAWC,OAAO,CAAC;QACpC,CAAC;QAAA,OAAAX,OAAA,CAAAC,OAAA,CAAAF,KAAA,IAAAA,KAAA,CAAA5C,IAAA,GAAA4C,KAAA,CAAA5C,IAAA;MACF,CAAC,QAAAD,CAAA;QAAA,OAAA8C,OAAA,CAAAY,MAAA,CAAA1D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACegD,0BAA0B,WAAAA,2BAAA;MAAA,IAAuB;QAAA,MAAAW,MAAA,GAC9D,IAAI;QAAA,OAAAb,OAAA,CAAAC,OAAA,CAA6BpE,UAAU,CAAiBiF,eAAe,CAAC,CAAC,EAAA3D,IAAA,WAAA4D,gBAAA;UAA7EF,MAAA,CAAKG,kBAAkB,GAAAD,gBAAsD;UAC7E,OAAOF,MAAA,CAAKG,kBAAkB,CAACC,wBAAwB,CAAEC,KAAK,IAAK;YAClEL,MAAA,CAAKM,wBAAwB,GAAGD,KAAK,CAACE,aAAa,CAAC,CAAC;YACrD,MAAMC,eAAe,GAAGC,MAAM,CAACC,IAAI,CAACV,MAAA,CAAKM,wBAAwB,CAAC,CAACK,MAAM,GAAG,CAAC;YAC7EX,MAAA,CAAKnB,eAAe,CAAC2B,eAAe,CAAC;UACtC,CAAC,CAAC;QAAC;MACJ,CAAC,QAAAnE,CAAA;QAAA,OAAA8C,OAAA,CAAAY,MAAA,CAAA1D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACSuE,oBAAoB,WAAAC,sBAAA,EAAkC;MAC7D,MAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAe;MAC1D,OAAOD,MAAM,CAACE,UAAU,CAAC,CAAC,CAACC,IAAI,CAAEC,SAAS,IAAKA,SAAS,YAAYpE,iBAAiB,CAAC;IACvF,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;IACcqE,WAAW,WAAAC,aAAA;MAAA,IAAqB;QAAA,MAAAC,MAAA,GAOxC,IAAI;QAAA,SAAAC,OAAA;UAIR;UACA,IAAI,CAACD,MAAA,CAAKE,gBAAgB,EAAE;YAC3BF,MAAA,CAAKG,kBAAkB,CAACH,MAAA,CAAKtD,cAAc,CAAC;YAC5C,MAAM0D,qBAAqB,GAAGJ,MAAA,CAAKN,SAAS,CAAC,CAA0B;YACvEU,qBAAqB,CAACC,WAAW,CAAAL,MAAK,CAAC;YACvCI,qBAAqB,CAACE,mBAAmB,CAAC,CAAC;UAC5C;UACA,OAAON,MAAA,CAAKE,gBAAgB;QAAC;QAjB7B,MAAMK,kBAA0B,GAAG;UAClCC,MAAM,EAAE;YACPC,cAAc,EAAE,mBAAmB;YACnC/C,MAAM,EAAE;UACT;QACD,CAAC;QAAC,MAAAgD,MAAA;UAAA,IACEV,MAAA,CAAKE,gBAAgB,KAAKS,SAAS;YACtCX,MAAA,CAAKE,gBAAgB,GAAG,KAAK;YAAC,OAAApC,OAAA,CAAAC,OAAA,CACAlC,+BAA+B,CAACF,eAAe,CAACiF,iBAAiB,EAAEL,kBAAkB,CAAC,EAAAtF,IAAA,WAAA4F,qBAAA;cAApHb,MAAA,CAAKE,gBAAgB,GAAAW,qBAA+F;YAAC;UAAA;QAAA;QAAA,OAAA/C,OAAA,CAAAC,OAAA,CAAA2C,MAAA,IAAAA,MAAA,CAAAzF,IAAA,GAAAyF,MAAA,CAAAzF,IAAA,CAAAgF,MAAA,IAAAA,MAAA,CAAAS,MAAA;MAUvH,CAAC,QAAA1F,CAAA;QAAA,OAAA8C,OAAA,CAAAY,MAAA,CAAA1D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACS8F,gBAAgB,WAAAA,iBAAA,EAA2B;MAClD,OAAO,IAAI,CAACvB,oBAAoB,CAAC,CAAC,EAC/BI,UAAU,CAAC,CAAC,CACbC,IAAI,CAAEmB,KAAK,IAA0BA,KAAK,YAAYvF,UAAU,CAAC;IACpE,CAAC;IAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACeyB,eAAe,WAAA+D,iBAAA;MAAA,IAAG;QAAA,MAAAC,MAAA,GAEN,IAAI;QAD7BjF,oBAAoB,CAAC,gBAAgB,CAAC;QACtC,MAAMkF,gBAAgB,GAAGD,MAAA,CAAKvB,SAAS,CAAC,CAA0B;QAAC,MAAAyB,MAAA,GAAAhG,gBAAA;UAAA,OAAAP,MAAA,aAC/D;YACHsG,gBAAgB,CAACE,OAAO,CAAC,IAAI,CAAC;YAAC,OAAAtD,OAAA,CAAAC,OAAA,CAEGkD,MAAA,CAAKnC,kBAAkB,CAACuC,WAAW,CAACJ,MAAA,CAAKhC,wBAAwB,CAAC,EAAAhE,IAAA,WAA9FqG,mBAAmB;cACzB,MAAMC,SAAS,GAAGD,mBAAmB,CAAC,UAAU,CAAC,EAAEE,MAAM,EAAEC,KAAK;cAChE1H,YAAY,CAAC2H,IAAI,CAACT,MAAA,CAAKzE,WAAW,CAACC,OAAO,CAAC,cAAc,EAAE,CAAC8E,SAAS,CAAC,CAAW,CAAC;cAClFL,gBAAgB,CAACS,KAAK,CAAC,CAAC;cACxB,IAAI,CAACL,mBAAmB,GAAG,cAAc,CAAC,EAAEM,OAAO,EAAE;gBACpD9H,UAAU,CAAC+H,WAAW,CAACZ,MAAA,CAAKzE,WAAW,CAACC,OAAO,CAAC,2BAA2B,CAAC,EAAY;kBACvFqF,UAAU,EAAE;gBACb,CAAC,CAAC;cACH;cAEA,MAAMC,UAAU,GAAGd,MAAA,CAAKH,gBAAgB,CAAC,CAAC;cAAC,OAAAhD,OAAA,CAAAC,OAAA,CACrCgE,UAAU,EAAEC,WAAW,CAAC,CAAC,EAAA/G,IAAA;YAAA;UAChC,CAAC,YAAQuD,KAAK,EAAE;YACf9E,GAAG,CAAC8E,KAAK,CAAEA,KAAK,CAAWC,OAAO,CAAC;UACpC,CAAC;QAAA,aAAAwD,UAAA,EAAAC,OAAA;UACAhB,gBAAgB,CAACE,OAAO,CAAC,KAAK,CAAC;UAAC,IAAAa,UAAA,QAAAC,OAAA;UAAA,OAAAA,OAAA;QAAA;QAAA,OAAApE,OAAA,CAAAC,OAAA,CAAAoD,MAAA,IAAAA,MAAA,CAAAlG,IAAA,GAAAkG,MAAA,CAAAlG,IAAA;MAElC,CAAC,QAAAD,CAAA;QAAA,OAAA8C,OAAA,CAAAY,MAAA,CAAA1D,CAAA;MAAA;IAAA;IAED;AACD;AACA;AACA;AACA;AACA;IACSuC,wBAAwB,WAAA4E,0BAAA,EAAG;MAClC,IAAI,CAACrD,kBAAkB,EAAEvB,wBAAwB,CAAC,CAAC;MACnD,IAAI,CAACC,eAAe,CAAC,KAAK,CAAC;IAC5B;EAAC;EAAA,OAnLmBvB,qBAAqB;AAAA","ignoreList":[]}
@@ -21,6 +21,7 @@ import { ICardHelper, ICardHelperInstance, ICardManifest } from "./interface/Car
21
21
  import { CONTENT_ADDITION_PANEL_TYPES, FEATURE_TOGGLES, FESR_IDS } from "./utils/Constants";
22
22
  import { isNavigationSupportedForFeature } from "./utils/FeatureUtils";
23
23
  import { addFESRSemanticStepName, FESR_EVENTS } from "./utils/FESRUtil";
24
+ import { triggerPXIntegration } from "./utils/PXFeedback";
24
25
 
25
26
  /**
26
27
  *
@@ -181,6 +182,7 @@ export default class InsightsAdditionPanel extends BaseSettingsPanel {
181
182
  * @returns {Promise<void>} A promise that resolves when the card creation flow completes.
182
183
  */
183
184
  private async onPressAddCards() {
185
+ triggerPXIntegration("addCardsButton");
184
186
  const addContentDialog = this.getParent() as ContentAdditionDialog;
185
187
  try {
186
188
  addContentDialog.setBusy(true);
@@ -1,8 +1,4 @@
1
1
  declare module "sap/cux/home/NewsAndPagesContainer" {
2
- /*!
3
- * SAP UI development toolkit for HTML5 (SAPUI5)
4
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
5
- */
6
2
  import type { MetadataOptions } from "sap/ui/core/Element";
7
3
  import BaseContainer from "sap/cux/home/BaseContainer";
8
4
  import BasePanel from "sap/cux/home/BasePanel";
@@ -1 +1 @@
1
- {"version":3,"file":"NewsAndPagesContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsAndPagesContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IACpD;;;OAGG;IAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;IAIzF,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAA6B,MAAM,yCAAyC,CAAC;IAC7H,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;IAIjE,UAAU,YAAY;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD;IAED,UAAU,mBAAmB;QAC5B,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC;KACnB;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,aAAa;QAC/D,MAAM,CAAC,QAAQ;;;;UAGb;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAevC;QAEF,OAAO,CAAC,WAAW,CAAoB;QACvC,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,aAAa,CAAkB;QACvC,OAAO,CAAC,eAAe,CAAsE;oBAEjF,EAAE,CAAC,EAAE,MAAM,GAAG,8BAA8B;oBAC5C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,8BAA8B;QAWlE;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAgBnB;;;;;;WAMG;QACU,IAAI;QA2DjB;;;;;WAKG;QACI,mBAAmB,CAAC,QAAQ,EAAE,SAAS;QAM9C;;;;;WAKG;QACI,kBAAkB,IAAI,mBAAmB;QAIzC,2BAA2B,CAAC,eAAe,EAAE,wBAAwB;QAgBrE,mBAAmB,CAAC,gBAAgB,EAAE,aAAa;QA0CnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAc1E,iBAAiB,CAAC,kBAAkB,EAAE,OAAO;QAqCpD;;;;;WAKG;QACI,YAAY;QAmBnB;;;;WAIG;QACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;KAGhD;CAEA"}
1
+ {"version":3,"file":"NewsAndPagesContainer.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/NewsAndPagesContainer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oCAAoC,CAAC;IAOpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAC3D,OAAO,aAAa,MAAM,4BAA4B,CAAC;IACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;IAC/C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;IAGzF,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAA6B,MAAM,yCAAyC,CAAC;IAC7H,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;IAIjE,UAAU,YAAY;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD;IAED,UAAU,mBAAmB;QAC5B,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC;KACnB;IAED;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,aAAa;QAC/D,MAAM,CAAC,QAAQ;;;;UAGb;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAevC;QAEF,OAAO,CAAC,WAAW,CAAoB;QACvC,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,SAAS,CAAa;QAC9B,OAAO,CAAC,aAAa,CAAkB;QACvC,OAAO,CAAC,eAAe,CAAsE;oBAEjF,EAAE,CAAC,EAAE,MAAM,GAAG,8BAA8B;oBAC5C,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,8BAA8B;QAWlE;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAgBnB;;;;;;WAMG;QACU,IAAI;QA2DjB;;;;;WAKG;QACI,mBAAmB,CAAC,QAAQ,EAAE,SAAS;QAM9C;;;;;WAKG;QACI,kBAAkB,IAAI,mBAAmB;QAIzC,2BAA2B,CAAC,eAAe,EAAE,wBAAwB;QAgBrE,mBAAmB,CAAC,gBAAgB,EAAE,aAAa;QA0CnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAc1E,iBAAiB,CAAC,kBAAkB,EAAE,OAAO;QAqCpD;;;;;WAKG;QACI,YAAY;QAmBnB;;;;WAIG;QACH,SAAS,CAAC,4BAA4B,IAAI,MAAM;KAGhD;CAEA"}
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["./BaseContainer", "./utils/placeholder/NewsAndPagesPlaceholder", "./library", "./utils/Device"], function (__BaseContainer, ___utils_placeholder_NewsAndPagesPlaceholder, ___library, ___utils_Device) {
5
+ sap.ui.define(["./BaseContainer", "./library", "./utils/Device", "./utils/placeholder/NewsAndPagesPlaceholder"], function (__BaseContainer, ___library, ___utils_Device, ___utils_placeholder_NewsAndPagesPlaceholder) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -163,10 +163,10 @@ sap.ui.define(["./BaseContainer", "./utils/placeholder/NewsAndPagesPlaceholder",
163
163
  return body(values[i]);
164
164
  }, check);
165
165
  }
166
- const getNewsPagesPlaceholder = ___utils_placeholder_NewsAndPagesPlaceholder["getNewsPagesPlaceholder"];
167
166
  const NewsType = ___library["NewsType"];
168
167
  const OrientationType = ___library["OrientationType"];
169
168
  const DeviceType = ___utils_Device["DeviceType"];
169
+ const getNewsPagesPlaceholder = ___utils_placeholder_NewsAndPagesPlaceholder["getNewsPagesPlaceholder"];
170
170
  /**
171
171
  *
172
172
  * Container class for managing and storing News and Pages.
@@ -1 +1 @@
1
- {"version":3,"file":"NewsAndPagesContainer.js","names":["sap","ui","define","__BaseContainer","___utils_placeholder_NewsAndPagesPlaceholder","___library","___utils_Device","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BaseContainer","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","getNewsPagesPlaceholder","NewsType","OrientationType","DeviceType","NewsAndPagesContainer","extend","metadata","properties","colorPersonalizations","type","group","defaultValue","visibility","iconPersonalizations","newsFeedVisibility","renderer","apiVersion","constructor","_constructor","id","settings","BaseContainer.prototype.constructor.call","panelLoaded","keyUserChange","isEndUserChange","isEndUser","newsType","None","init","_init","BaseContainer.prototype.init.call","setProperty","getDeviceType","Desktop","LargeDesktop","XLargeDesktop","Horizontal","Vertical","addCustomSetting","_i18nBundle","getText","addStyleClass","load","_load","aContent","getContent","_temp","oContent","checkEndUserChanges","Promise","resolve","getData","getProperty","getMetadata","getName","setVisible","setColorPersonalizations","_setColorPersonalizations","personalizations","existingPers","updatedPers","concat","forEach","applyColorPersonalizations","setIconPersonalizations","_setIconPersonalizations","applyIconPersonalizations","_checkEndUserChanges","getIsEndUserChange","_getIsEndUserChange","newsVisibilityChangeHandler","_newsVisibilityChangeHandler","personalization","newsPanel","isNewsFeedVisible","newsPersonalization","_newsPersonalization","Boolean","showCustomNewsFeed","Custom","showRssNewsFeed","NewsUrl","Default","newsFeedURL","customNewsFeedKey","customNewsFeedFileName","url","customFeedKey","String","setCustomNewsFeed","showDefaultNewsFeed","setDefaultNews","setURL","panelLoadedFn","_panelLoadedFn","sPanelType","oVal","pagePanel","adjustLayout","adjustStyleLayout","_adjustStyleLayout","bIsNewsTileVisible","sDeviceType","newsContentWrapper","undefined","pagesContentWrapper","setWidth","setOrientation","Tablet","setJustifyContent","removeStyleClass","setTimeout","attachResizeHandler","getDomRef","clientWidth","_adjustLayout","getVisible","loaded","removeContent","getGenericPlaceholderContent","_getGenericPlaceholderContent"],"sources":["NewsAndPagesContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport type { $NewsAndPagesContainerSettings } from \"./NewsAndPagesContainer\";\nimport { getNewsPagesPlaceholder } from \"./utils/placeholder/NewsAndPagesPlaceholder\";\nimport NewsPanel from \"./NewsPanel\";\nimport PagePanel from \"./PagePanel\";\nimport { INewsFeedVisibiliyChange, INewsPersData, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { NewsType, OrientationType } from \"./library\";\nimport { DeviceType } from \"./utils/Device\";\nimport VBox from \"sap/m/VBox\";\n\ninterface IpanelLoaded {\n\t[key: string]: { loaded: boolean; count: number };\n}\n\ninterface EndUserChangeStatus {\n\tisEndUser: boolean;\n\tnewsType: NewsType;\n}\n\n/**\n *\n * Container class for managing and storing News and Pages.\n *\n * @extends BaseContainer\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.NewsAndPagesContainer\n */\n\nexport default class NewsAndPagesContainer extends BaseContainer {\n\tstatic renderer = {\n\t\t...BaseContainer.renderer,\n\t\tapiVersion: 2\n\t};\n\tstatic readonly metadata: MetadataOptions = {\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Color Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\tcolorPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Icon Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\ticonPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * News feed visibility flag\n\t\t\t */\n\t\t\tnewsFeedVisibility: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tprivate panelLoaded: IpanelLoaded = {};\n\tprivate pagePanel!: PagePanel;\n\tprivate newsPanel!: NewsPanel;\n\tprivate keyUserChange: boolean = false;\n\tprivate isEndUserChange: EndUserChangeStatus = { isEndUser: false, newsType: NewsType.None };\n\n\tconstructor(id?: string | $NewsAndPagesContainerSettings);\n\tconstructor(id?: string, settings?: $NewsAndPagesContainerSettings);\n\t/**\n\t * Constructor for the new News and Pages container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $NewsAndPagesContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis.panelLoaded = {};\n\n\t\tthis.setProperty(\n\t\t\t\"orientation\",\n\t\t\tthis.getDeviceType() === DeviceType.Desktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.LargeDesktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.XLargeDesktop\n\t\t\t\t? OrientationType.Horizontal\n\t\t\t\t: OrientationType.Vertical\n\t\t);\n\t\tthis.addCustomSetting(\"title\", this._i18nBundle.getText(\"myInterestMsg\") as string);\n\t\tthis.addStyleClass(\"sapCuxNewsAndPagesContainer\");\n\t}\n\n\t/**\n\t * Loads the News and Pages section.\n\t * Overrides the load method of the BaseContainer.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async load() {\n\t\tconst aContent = this.getContent() as PagePanel[] | NewsPanel[];\n\t\tfor (const oContent of aContent) {\n\t\t\tif (!this.keyUserChange) {\n\t\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\t}\n\t\t\tawait oContent.getData();\n\n\t\t\t// If the newsVisibilityChangeHandler is invoked before the data is loaded,\n\t\t\t// it may result in the news panel being incorrectly displayed if it was already set hidden by the handler.\n\t\t\t// newsFeedVisibility is set as false, then hide the news panel\n\t\t\tconst newsFeedVisibility = this.getProperty(\"newsFeedVisibility\") as boolean;\n\t\t\t// if newsFeedVisibility is false, hide the news panel\n\t\t\tif (oContent && oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !newsFeedVisibility) {\n\t\t\t\toContent.setVisible(false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets property value for colorPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetColorPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"colorPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"colorPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyColorPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets property value for iconPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetIconPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"iconPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"iconPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyIconPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Marks the change as an end-user change if the content is a NewsPanel with a URL and no key user changes exist.\n\t *\n\t * @private\n\t * @param {BasePanel} oContent - The content panel to evaluate, typically of type `sap.cux.home.NewsPanel`.\n\t */\n\tpublic checkEndUserChanges(oContent: BasePanel) {\n\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && oContent.getProperty(\"url\") && !this.keyUserChange) {\n\t\t\tthis.isEndUserChange.isEndUser = true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current end-user change status.\n\t *\n\t * @private\n\t * @returns {EndUserChangeStatus} An object containing the end-user change flag and the news type.\n\t */\n\tpublic getIsEndUserChange(): EndUserChangeStatus {\n\t\treturn this.isEndUserChange;\n\t}\n\n\tpublic newsVisibilityChangeHandler(personalization: INewsFeedVisibiliyChange) {\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (personalization.isNewsFeedVisible) {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", true);\n\t\t\t\t\tnewsPanel.setVisible(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\tnewsPanel.setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic newsPersonalization(personalizations: INewsPersData) {\n\t\tconst aContent = this.getContent();\n\t\tlet type: NewsType;\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !this.isEndUserChange.isEndUser) {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tconst newsFeedVisibility = Boolean(this.getProperty(\"newsFeedVisibility\"));\n\t\t\t\tthis.keyUserChange = true;\n\n\t\t\t\tif (personalizations.showCustomNewsFeed) {\n\t\t\t\t\ttype = NewsType.Custom;\n\t\t\t\t} else if (personalizations.showRssNewsFeed) {\n\t\t\t\t\ttype = NewsType.NewsUrl;\n\t\t\t\t} else {\n\t\t\t\t\ttype = NewsType.Default;\n\t\t\t\t}\n\t\t\t\tnewsPanel.setProperty(\"type\", type);\n\t\t\t\tnewsPanel.setProperty(\"url\", personalizations.newsFeedURL);\n\t\t\t\tnewsPanel.setProperty(\"customFeedKey\", personalizations.customNewsFeedKey);\n\t\t\t\tnewsPanel.setProperty(\"customFileName\", personalizations.customNewsFeedFileName);\n\n\t\t\t\tif (newsFeedVisibility) {\n\t\t\t\t\tconst url = personalizations.newsFeedURL as string;\n\t\t\t\t\tnewsPanel.setVisible(true);\n\t\t\t\t\tconst customFeedKey = String(newsPanel.getProperty(\"customFeedKey\"));\n\t\t\t\t\tif (personalizations.showCustomNewsFeed && customFeedKey) {\n\t\t\t\t\t\tnewsPanel.setProperty(\"newsAvailable\", true);\n\t\t\t\t\t\tvoid newsPanel.setCustomNewsFeed(customFeedKey);\n\t\t\t\t\t} else if (personalizations.showDefaultNewsFeed) {\n\t\t\t\t\t\tvoid newsPanel.setDefaultNews();\n\t\t\t\t\t} else if (personalizations.showRssNewsFeed && url) {\n\t\t\t\t\t\tvoid newsPanel.setURL(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewsPanel.setVisible(false);\n\t\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic panelLoadedFn(sPanelType: string, oVal: { loaded: boolean; count: number }) {\n\t\t// same issue of panelwrapper not available at this time\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\tthis.pagePanel = oContent as PagePanel;\n\t\t\t} else if (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tthis.newsPanel = oContent as NewsPanel;\n\t\t\t}\n\t\t});\n\t\tthis.panelLoaded[sPanelType] = oVal;\n\t\tthis.adjustLayout();\n\t}\n\n\tpublic adjustStyleLayout(bIsNewsTileVisible: boolean) {\n\t\tconst sDeviceType = this.getDeviceType();\n\t\tconst newsContentWrapper = this.newsPanel ? this.newsPanel.getContent()?.[0] as VBox : undefined;\n\t\tconst pagesContentWrapper = this.pagePanel ? this.pagePanel.getContent()?.[0] as VBox : undefined;\n\t\tif (bIsNewsTileVisible) {\n\t\t\tthis.newsPanel.adjustLayout();\n\t\t}\n\t\tif (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop || sDeviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (bIsNewsTileVisible) {\n\t\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\t}\n\t\t\tthis.setOrientation(OrientationType.Horizontal);\n\t\t\tnewsContentWrapper?.setWidth(\"100%\");\n\t\t\tnewsContentWrapper?.addStyleClass(\"newsTileMaxWidth\");\n\t\t} else if (sDeviceType === DeviceType.Tablet) {\n\t\t\tthis.setOrientation(OrientationType.Vertical);\n\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\tpagesContentWrapper?.setJustifyContent(\"Start\");\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 64px)\");\n\t\t\tnewsContentWrapper?.removeStyleClass(\"newsTileMaxWidth\");\n\t\t} else {\n\t\t\tthis.setOrientation(OrientationType.Vertical);\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 16px)\");\n\t\t}\n\n\t\tif (pagesContentWrapper) {\n\t\t\tsetTimeout(\n\t\t\t\tthis.pagePanel.attachResizeHandler.bind(\n\t\t\t\t\tthis.pagePanel,\n\t\t\t\t\tbIsNewsTileVisible,\n\t\t\t\t\tthis.getDomRef()?.clientWidth || 0,\n\t\t\t\t\tpagesContentWrapper\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the layout of the all panels in the container.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic adjustLayout() {\n\t\tif (this.pagePanel && this.newsPanel && this.newsPanel.getVisible()) {\n\t\t\tlet bIsNewsTileVisible = true;\n\t\t\tif (this.panelLoaded[\"Page\"]?.loaded || this.panelLoaded[\"News\"]?.loaded) {\n\t\t\t\t// In case News Panel fails to load remove the panel and apply styles for page to take full width\n\t\t\t\tif (this.panelLoaded[\"News\"]?.loaded === false) {\n\t\t\t\t\tbIsNewsTileVisible = false;\n\t\t\t\t\tthis.removeContent(this.newsPanel);\n\t\t\t\t} else if (this.panelLoaded[\"Page\"]?.loaded === false) {\n\t\t\t\t\tthis.removeContent(this.pagePanel);\n\t\t\t\t}\n\t\t\t\tthis.adjustStyleLayout(bIsNewsTileVisible);\n\t\t\t}\n\t\t} else if (this.pagePanel && this.panelLoaded[\"Page\"]?.loaded) {\n\t\t\t// If News Panel is not present apply styles for page to take full width\n\t\t\tthis.adjustStyleLayout(false);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the generic placeholder content for the News and Pages container.\n\t *\n\t * @returns {string} The HTML string representing the News and Pages container's placeholder content.\n\t */\n\tprotected getGenericPlaceholderContent(): string {\n\t\treturn getNewsPagesPlaceholder();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NewsAndPagesContainer.js","names":["sap","ui","define","__BaseContainer","___library","___utils_Device","___utils_placeholder_NewsAndPagesPlaceholder","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","BaseContainer","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","NewsType","OrientationType","DeviceType","getNewsPagesPlaceholder","NewsAndPagesContainer","extend","metadata","properties","colorPersonalizations","type","group","defaultValue","visibility","iconPersonalizations","newsFeedVisibility","renderer","apiVersion","constructor","_constructor","id","settings","BaseContainer.prototype.constructor.call","panelLoaded","keyUserChange","isEndUserChange","isEndUser","newsType","None","init","_init","BaseContainer.prototype.init.call","setProperty","getDeviceType","Desktop","LargeDesktop","XLargeDesktop","Horizontal","Vertical","addCustomSetting","_i18nBundle","getText","addStyleClass","load","_load","aContent","getContent","_temp","oContent","checkEndUserChanges","Promise","resolve","getData","getProperty","getMetadata","getName","setVisible","setColorPersonalizations","_setColorPersonalizations","personalizations","existingPers","updatedPers","concat","forEach","applyColorPersonalizations","setIconPersonalizations","_setIconPersonalizations","applyIconPersonalizations","_checkEndUserChanges","getIsEndUserChange","_getIsEndUserChange","newsVisibilityChangeHandler","_newsVisibilityChangeHandler","personalization","newsPanel","isNewsFeedVisible","newsPersonalization","_newsPersonalization","Boolean","showCustomNewsFeed","Custom","showRssNewsFeed","NewsUrl","Default","newsFeedURL","customNewsFeedKey","customNewsFeedFileName","url","customFeedKey","String","setCustomNewsFeed","showDefaultNewsFeed","setDefaultNews","setURL","panelLoadedFn","_panelLoadedFn","sPanelType","oVal","pagePanel","adjustLayout","adjustStyleLayout","_adjustStyleLayout","bIsNewsTileVisible","sDeviceType","newsContentWrapper","undefined","pagesContentWrapper","setWidth","setOrientation","Tablet","setJustifyContent","removeStyleClass","setTimeout","attachResizeHandler","getDomRef","clientWidth","_adjustLayout","getVisible","loaded","removeContent","getGenericPlaceholderContent","_getGenericPlaceholderContent"],"sources":["NewsAndPagesContainer.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport VBox from \"sap/m/VBox\";\nimport type { MetadataOptions } from \"sap/ui/core/Element\";\nimport BaseContainer from \"./BaseContainer\";\nimport BasePanel from \"./BasePanel\";\nimport type { $NewsAndPagesContainerSettings } from \"./NewsAndPagesContainer\";\nimport NewsPanel from \"./NewsPanel\";\nimport PagePanel from \"./PagePanel\";\nimport { INewsFeedVisibiliyChange, INewsPersData, ISpacePagePersonalization } from \"./interface/KeyUserInterface\";\nimport { NewsType, OrientationType } from \"./library\";\nimport { DeviceType } from \"./utils/Device\";\nimport { getNewsPagesPlaceholder } from \"./utils/placeholder/NewsAndPagesPlaceholder\";\n\ninterface IpanelLoaded {\n\t[key: string]: { loaded: boolean; count: number };\n}\n\ninterface EndUserChangeStatus {\n\tisEndUser: boolean;\n\tnewsType: NewsType;\n}\n\n/**\n *\n * Container class for managing and storing News and Pages.\n *\n * @extends BaseContainer\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.NewsAndPagesContainer\n */\n\nexport default class NewsAndPagesContainer extends BaseContainer {\n\tstatic renderer = {\n\t\t...BaseContainer.renderer,\n\t\tapiVersion: 2\n\t};\n\tstatic readonly metadata: MetadataOptions = {\n\t\tproperties: {\n\t\t\t/**\n\t\t\t * Color Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\tcolorPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * Icon Personalizations for Spaces & Pages\n\t\t\t */\n\t\t\ticonPersonalizations: { type: \"array\", group: \"Misc\", defaultValue: [], visibility: \"hidden\" },\n\t\t\t/**\n\t\t\t * News feed visibility flag\n\t\t\t */\n\t\t\tnewsFeedVisibility: { type: \"boolean\", group: \"Misc\", defaultValue: true, visibility: \"hidden\" }\n\t\t}\n\t};\n\n\tprivate panelLoaded: IpanelLoaded = {};\n\tprivate pagePanel!: PagePanel;\n\tprivate newsPanel!: NewsPanel;\n\tprivate keyUserChange: boolean = false;\n\tprivate isEndUserChange: EndUserChangeStatus = { isEndUser: false, newsType: NewsType.None };\n\n\tconstructor(id?: string | $NewsAndPagesContainerSettings);\n\tconstructor(id?: string, settings?: $NewsAndPagesContainerSettings);\n\t/**\n\t * Constructor for the new News and Pages container.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $NewsAndPagesContainerSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\t\tthis.panelLoaded = {};\n\n\t\tthis.setProperty(\n\t\t\t\"orientation\",\n\t\t\tthis.getDeviceType() === DeviceType.Desktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.LargeDesktop ||\n\t\t\t\tthis.getDeviceType() === DeviceType.XLargeDesktop\n\t\t\t\t? OrientationType.Horizontal\n\t\t\t\t: OrientationType.Vertical\n\t\t);\n\t\tthis.addCustomSetting(\"title\", this._i18nBundle.getText(\"myInterestMsg\") as string);\n\t\tthis.addStyleClass(\"sapCuxNewsAndPagesContainer\");\n\t}\n\n\t/**\n\t * Loads the News and Pages section.\n\t * Overrides the load method of the BaseContainer.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async load() {\n\t\tconst aContent = this.getContent() as PagePanel[] | NewsPanel[];\n\t\tfor (const oContent of aContent) {\n\t\t\tif (!this.keyUserChange) {\n\t\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\t}\n\t\t\tawait oContent.getData();\n\n\t\t\t// If the newsVisibilityChangeHandler is invoked before the data is loaded,\n\t\t\t// it may result in the news panel being incorrectly displayed if it was already set hidden by the handler.\n\t\t\t// newsFeedVisibility is set as false, then hide the news panel\n\t\t\tconst newsFeedVisibility = this.getProperty(\"newsFeedVisibility\") as boolean;\n\t\t\t// if newsFeedVisibility is false, hide the news panel\n\t\t\tif (oContent && oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !newsFeedVisibility) {\n\t\t\t\toContent.setVisible(false);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets property value for colorPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetColorPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"colorPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"colorPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyColorPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Sets property value for iconPersonalization.\n\t * Overridden to update cached personalizations.\n\t *\n\t * @private\n\t * @override\n\t * @returns {NewsAndPagesContainer} the container for chaining\n\t */\n\tsetIconPersonalizations(personalizations: Array<ISpacePagePersonalization>): NewsAndPagesContainer {\n\t\tconst existingPers = (this.getProperty(\"iconPersonalizations\") as ISpacePagePersonalization[]) || [];\n\t\tconst updatedPers = existingPers.concat(personalizations);\n\t\tthis.setProperty(\"iconPersonalizations\", updatedPers);\n\t\tthis.getContent().forEach((oContent) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\t(oContent as PagePanel).applyIconPersonalizations(updatedPers);\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t}\n\n\t/**\n\t * Marks the change as an end-user change if the content is a NewsPanel with a URL and no key user changes exist.\n\t *\n\t * @private\n\t * @param {BasePanel} oContent - The content panel to evaluate, typically of type `sap.cux.home.NewsPanel`.\n\t */\n\tpublic checkEndUserChanges(oContent: BasePanel) {\n\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && oContent.getProperty(\"url\") && !this.keyUserChange) {\n\t\t\tthis.isEndUserChange.isEndUser = true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns the current end-user change status.\n\t *\n\t * @private\n\t * @returns {EndUserChangeStatus} An object containing the end-user change flag and the news type.\n\t */\n\tpublic getIsEndUserChange(): EndUserChangeStatus {\n\t\treturn this.isEndUserChange;\n\t}\n\n\tpublic newsVisibilityChangeHandler(personalization: INewsFeedVisibiliyChange) {\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tif (personalization.isNewsFeedVisible) {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", true);\n\t\t\t\t\tnewsPanel.setVisible(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\tnewsPanel.setVisible(false);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic newsPersonalization(personalizations: INewsPersData) {\n\t\tconst aContent = this.getContent();\n\t\tlet type: NewsType;\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tthis.checkEndUserChanges(oContent);\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\" && !this.isEndUserChange.isEndUser) {\n\t\t\t\tlet newsPanel = oContent as NewsPanel;\n\t\t\t\tconst newsFeedVisibility = Boolean(this.getProperty(\"newsFeedVisibility\"));\n\t\t\t\tthis.keyUserChange = true;\n\n\t\t\t\tif (personalizations.showCustomNewsFeed) {\n\t\t\t\t\ttype = NewsType.Custom;\n\t\t\t\t} else if (personalizations.showRssNewsFeed) {\n\t\t\t\t\ttype = NewsType.NewsUrl;\n\t\t\t\t} else {\n\t\t\t\t\ttype = NewsType.Default;\n\t\t\t\t}\n\t\t\t\tnewsPanel.setProperty(\"type\", type);\n\t\t\t\tnewsPanel.setProperty(\"url\", personalizations.newsFeedURL);\n\t\t\t\tnewsPanel.setProperty(\"customFeedKey\", personalizations.customNewsFeedKey);\n\t\t\t\tnewsPanel.setProperty(\"customFileName\", personalizations.customNewsFeedFileName);\n\n\t\t\t\tif (newsFeedVisibility) {\n\t\t\t\t\tconst url = personalizations.newsFeedURL as string;\n\t\t\t\t\tnewsPanel.setVisible(true);\n\t\t\t\t\tconst customFeedKey = String(newsPanel.getProperty(\"customFeedKey\"));\n\t\t\t\t\tif (personalizations.showCustomNewsFeed && customFeedKey) {\n\t\t\t\t\t\tnewsPanel.setProperty(\"newsAvailable\", true);\n\t\t\t\t\t\tvoid newsPanel.setCustomNewsFeed(customFeedKey);\n\t\t\t\t\t} else if (personalizations.showDefaultNewsFeed) {\n\t\t\t\t\t\tvoid newsPanel.setDefaultNews();\n\t\t\t\t\t} else if (personalizations.showRssNewsFeed && url) {\n\t\t\t\t\t\tvoid newsPanel.setURL(url);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewsPanel.setVisible(false);\n\t\t\t\t\t\tthis.setProperty(\"newsFeedVisibility\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic panelLoadedFn(sPanelType: string, oVal: { loaded: boolean; count: number }) {\n\t\t// same issue of panelwrapper not available at this time\n\t\tconst aContent = this.getContent();\n\t\taContent.forEach((oContent: BasePanel) => {\n\t\t\tif (oContent.getMetadata().getName() === \"sap.cux.home.PagePanel\") {\n\t\t\t\tthis.pagePanel = oContent as PagePanel;\n\t\t\t} else if (oContent.getMetadata().getName() === \"sap.cux.home.NewsPanel\") {\n\t\t\t\tthis.newsPanel = oContent as NewsPanel;\n\t\t\t}\n\t\t});\n\t\tthis.panelLoaded[sPanelType] = oVal;\n\t\tthis.adjustLayout();\n\t}\n\n\tpublic adjustStyleLayout(bIsNewsTileVisible: boolean) {\n\t\tconst sDeviceType = this.getDeviceType();\n\t\tconst newsContentWrapper = this.newsPanel ? (this.newsPanel.getContent()?.[0] as VBox) : undefined;\n\t\tconst pagesContentWrapper = this.pagePanel ? (this.pagePanel.getContent()?.[0] as VBox) : undefined;\n\t\tif (bIsNewsTileVisible) {\n\t\t\tthis.newsPanel.adjustLayout();\n\t\t}\n\t\tif (sDeviceType === DeviceType.Desktop || sDeviceType === DeviceType.LargeDesktop || sDeviceType === DeviceType.XLargeDesktop) {\n\t\t\tif (bIsNewsTileVisible) {\n\t\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\t}\n\t\t\tthis.setOrientation(OrientationType.Horizontal);\n\t\t\tnewsContentWrapper?.setWidth(\"100%\");\n\t\t\tnewsContentWrapper?.addStyleClass(\"newsTileMaxWidth\");\n\t\t} else if (sDeviceType === DeviceType.Tablet) {\n\t\t\tthis.setOrientation(OrientationType.Vertical);\n\t\t\tpagesContentWrapper?.setWidth(\"100%\");\n\t\t\tpagesContentWrapper?.setJustifyContent(\"Start\");\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 64px)\");\n\t\t\tnewsContentWrapper?.removeStyleClass(\"newsTileMaxWidth\");\n\t\t} else {\n\t\t\tthis.setOrientation(OrientationType.Vertical);\n\t\t\tnewsContentWrapper?.setWidth(\"calc(100vw - 16px)\");\n\t\t}\n\n\t\tif (pagesContentWrapper) {\n\t\t\tsetTimeout(\n\t\t\t\tthis.pagePanel.attachResizeHandler.bind(\n\t\t\t\t\tthis.pagePanel,\n\t\t\t\t\tbIsNewsTileVisible,\n\t\t\t\t\tthis.getDomRef()?.clientWidth || 0,\n\t\t\t\t\tpagesContentWrapper\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Adjusts the layout of the all panels in the container.\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic adjustLayout() {\n\t\tif (this.pagePanel && this.newsPanel && this.newsPanel.getVisible()) {\n\t\t\tlet bIsNewsTileVisible = true;\n\t\t\tif (this.panelLoaded[\"Page\"]?.loaded || this.panelLoaded[\"News\"]?.loaded) {\n\t\t\t\t// In case News Panel fails to load remove the panel and apply styles for page to take full width\n\t\t\t\tif (this.panelLoaded[\"News\"]?.loaded === false) {\n\t\t\t\t\tbIsNewsTileVisible = false;\n\t\t\t\t\tthis.removeContent(this.newsPanel);\n\t\t\t\t} else if (this.panelLoaded[\"Page\"]?.loaded === false) {\n\t\t\t\t\tthis.removeContent(this.pagePanel);\n\t\t\t\t}\n\t\t\t\tthis.adjustStyleLayout(bIsNewsTileVisible);\n\t\t\t}\n\t\t} else if (this.pagePanel && this.panelLoaded[\"Page\"]?.loaded) {\n\t\t\t// If News Panel is not present apply styles for page to take full width\n\t\t\tthis.adjustStyleLayout(false);\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves the generic placeholder content for the News and Pages container.\n\t *\n\t * @returns {string} The HTML string representing the News and Pages container's placeholder content.\n\t */\n\tprotected getGenericPlaceholderContent(): string {\n\t\treturn getNewsPagesPlaceholder();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,17 @@
3
3
  * * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
 
6
+ import VBox from "sap/m/VBox";
6
7
  import type { MetadataOptions } from "sap/ui/core/Element";
7
8
  import BaseContainer from "./BaseContainer";
8
9
  import BasePanel from "./BasePanel";
9
10
  import type { $NewsAndPagesContainerSettings } from "./NewsAndPagesContainer";
10
- import { getNewsPagesPlaceholder } from "./utils/placeholder/NewsAndPagesPlaceholder";
11
11
  import NewsPanel from "./NewsPanel";
12
12
  import PagePanel from "./PagePanel";
13
13
  import { INewsFeedVisibiliyChange, INewsPersData, ISpacePagePersonalization } from "./interface/KeyUserInterface";
14
14
  import { NewsType, OrientationType } from "./library";
15
15
  import { DeviceType } from "./utils/Device";
16
- import VBox from "sap/m/VBox";
16
+ import { getNewsPagesPlaceholder } from "./utils/placeholder/NewsAndPagesPlaceholder";
17
17
 
18
18
  interface IpanelLoaded {
19
19
  [key: string]: { loaded: boolean; count: number };
@@ -264,8 +264,8 @@ export default class NewsAndPagesContainer extends BaseContainer {
264
264
 
265
265
  public adjustStyleLayout(bIsNewsTileVisible: boolean) {
266
266
  const sDeviceType = this.getDeviceType();
267
- const newsContentWrapper = this.newsPanel ? this.newsPanel.getContent()?.[0] as VBox : undefined;
268
- const pagesContentWrapper = this.pagePanel ? this.pagePanel.getContent()?.[0] as VBox : undefined;
267
+ const newsContentWrapper = this.newsPanel ? (this.newsPanel.getContent()?.[0] as VBox) : undefined;
268
+ const pagesContentWrapper = this.pagePanel ? (this.pagePanel.getContent()?.[0] as VBox) : undefined;
269
269
  if (bIsNewsTileVisible) {
270
270
  this.newsPanel.adjustLayout();
271
271
  }