@sapui5/sap.ushell_abap 1.153.0 → 1.154.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 (116) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +1 -1
  3. package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +1 -1
  5. package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +1 -1
  6. package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
  7. package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +1 -1
  8. package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +53 -4
  9. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
  10. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  11. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +5 -5
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  17. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
  18. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/abap/VisualizationInstantiationAdapter.js +76 -0
  20. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  21. package/src/main/js/sap/ushell_abap/adapters/local/ClientSideTargetResolutionAdapter.js +123 -0
  22. package/src/main/js/sap/ushell_abap/adapters/local/FlpLaunchPageAdapter.js +115 -0
  23. package/src/main/js/sap/ushell_abap/adapters/local/MenuAdapter.js +92 -0
  24. package/src/main/js/sap/ushell_abap/adapters/local/PageBuildingAdapter.js +242 -0
  25. package/src/main/js/sap/ushell_abap/adapters/local/PagePersistenceAdapter.js +308 -0
  26. package/src/main/js/sap/ushell_abap/api/S4MyHome.js +58 -0
  27. package/src/main/js/sap/ushell_abap/bootstrap/DirectAppStart.js +25 -13
  28. package/src/main/js/sap/ushell_abap/bootstrap/PlatformConfig.js +5 -5
  29. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +11 -0
  30. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/Favorites.js +549 -0
  31. package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/GenericNavigationListProvider.js +241 -0
  32. package/src/main/js/sap/ushell_abap/components/cards/Card.controller.js +117 -0
  33. package/src/main/js/sap/ushell_abap/components/cards/Card.view.xml +11 -0
  34. package/src/main/js/sap/ushell_abap/components/cards/Configuration.controller.js +280 -0
  35. package/src/main/js/sap/ushell_abap/components/cards/Configuration.view.xml +27 -0
  36. package/src/main/js/sap/ushell_abap/components/cards/ManifestPropertyHelper.js +298 -0
  37. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/Component.js +6 -6
  38. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.controller.js +9 -8
  39. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n.properties +10 -10
  40. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ar.properties +10 -0
  41. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_bg.properties +10 -0
  42. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ca.properties +10 -0
  43. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cnr.properties +10 -0
  44. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cs.properties +10 -0
  45. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cy.properties +10 -0
  46. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_da.properties +10 -0
  47. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_de.properties +10 -0
  48. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_el.properties +10 -0
  49. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en.properties +10 -0
  50. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_GB.properties +10 -0
  51. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_sappsd.properties +10 -0
  52. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saprigi.properties +10 -0
  53. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saptrc.properties +10 -0
  54. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es.properties +10 -0
  55. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es_MX.properties +10 -0
  56. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_et.properties +10 -0
  57. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fi.properties +10 -0
  58. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr.properties +10 -0
  59. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr_CA.properties +10 -0
  60. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hi.properties +10 -0
  61. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hr.properties +10 -0
  62. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hu.properties +10 -0
  63. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_id.properties +10 -0
  64. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_it.properties +10 -0
  65. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_iw.properties +10 -0
  66. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ja.properties +10 -0
  67. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_kk.properties +10 -0
  68. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ko.properties +10 -0
  69. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lt.properties +10 -0
  70. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lv.properties +10 -0
  71. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_mk.properties +10 -0
  72. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ms.properties +10 -0
  73. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_nl.properties +10 -0
  74. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_no.properties +10 -0
  75. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pl.properties +10 -0
  76. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt.properties +10 -0
  77. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt_PT.properties +10 -0
  78. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ro.properties +10 -0
  79. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ru.properties +10 -0
  80. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sh.properties +10 -0
  81. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sk.properties +10 -0
  82. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sl.properties +10 -0
  83. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sr.properties +10 -0
  84. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sv.properties +10 -0
  85. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_th.properties +10 -0
  86. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_tr.properties +10 -0
  87. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_uk.properties +10 -0
  88. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_vi.properties +10 -0
  89. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_CN.properties +10 -0
  90. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_TW.properties +10 -0
  91. package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/manifest.json +1 -1
  92. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.controller.js +189 -0
  93. package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.view.xml +13 -0
  94. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.controller.js +193 -0
  95. package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.view.xml +333 -0
  96. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Component.js +41 -0
  97. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.controller.js +114 -0
  98. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.view.xml +208 -0
  99. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.controller.js +497 -0
  100. package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.view.js +61 -0
  101. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Component.js +45 -0
  102. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.controller.js +113 -0
  103. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.view.xml +231 -0
  104. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.controller.js +729 -0
  105. package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.view.js +106 -0
  106. package/src/main/js/sap/ushell_abap/library.js +12 -1
  107. package/src/main/js/sap/ushell_abap/messagebundle.properties +5 -3
  108. package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +7 -3
  109. package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +1 -1
  110. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +6 -2
  111. package/src/main/js/sap/ushell_abap/services/NavigationDataProvider.js +1 -1
  112. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper.js +248 -0
  113. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap.js +134 -0
  114. package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink.js +145 -0
  115. package/src/main/js/sap/ushell_abap/utils/UserPersonalization.js +51 -4
  116. package/ui5.yaml +20 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.153.0",
3
+ "version": "1.154.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -2,7 +2,7 @@
2
2
  <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
3
  <name>sap.ushell_abap</name>
4
4
  <vendor>SAP SE</vendor>
5
- <version>1.153.0</version>
5
+ <version>1.154.0</version>
6
6
  <copyright>Copyright (c) 2009-2026 SAP SE, All Rights Reserved</copyright>
7
7
  <documentation>SAP library: sap.ushell_abap</documentation>
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -9,7 +9,7 @@
9
9
  * <li>provide the resolveHashFragmentFallback function, a fallback method called by ClientSideTargetResolution service.</li>
10
10
  * </ul>
11
11
  *
12
- * @version 1.153.0
12
+ * @version 1.154.0
13
13
  */
14
14
  sap.ui.define([
15
15
  "sap/base/util/ObjectPath",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's CommonDataModelAdapter for the ABAP platform, it is used to avoid 404 when no adapter is found
4
4
  *
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], () => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The ConfigurationDefaults adapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/abapConstants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/base/SAPBusinessClientEnablement",
@@ -3,11 +3,11 @@
3
3
  /**
4
4
  * @fileoverview The Unified Shell's page building adapter for the ABAP platform. Private copy. Classical home page functions are deprecated.
5
5
  * @since 1.121
6
- * @version 1.153.0
6
+ * @version 1.154.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/URI",
10
- "sap/ushell/components/cards/ManifestPropertyHelper",
10
+ "sap/ushell_abap/components/cards/ManifestPropertyHelper",
11
11
  "sap/base/util/ObjectPath",
12
12
  "sap/base/util/isEmptyObject",
13
13
  "sap/m/GenericTile",
@@ -24,7 +24,8 @@ sap.ui.define([
24
24
  "sap/ushell/ui/tile/StaticTile",
25
25
  "sap/ushell_abap/pbServices/ui2/contracts/preview",
26
26
  "sap/ushell/Container",
27
- "sap/ushell/utils/LaunchpadError"
27
+ "sap/ushell/utils/LaunchpadError",
28
+ "sap/ushell_abap/utils/UserPersonalization"
28
29
  ], (
29
30
  URI,
30
31
  ManifestPropertyHelper,
@@ -44,7 +45,8 @@ sap.ui.define([
44
45
  StaticTile,
45
46
  Preview,
46
47
  Container,
47
- LaunchpadError
48
+ LaunchpadError,
49
+ UserPersonalization
48
50
  ) => {
49
51
  "use strict";
50
52
 
@@ -2930,6 +2932,16 @@ sap.ui.define([
2930
2932
  return [];
2931
2933
  }
2932
2934
 
2935
+ function getTransactionCodeDefinedInCatalogTileData (oCatalogTile) {
2936
+ const sTransactionCode = LaunchPageAdapter.prototype._getConfigurationProperty(oCatalogTile, "tileConfiguration", "display_transaction_code");
2937
+
2938
+ if (sTransactionCode) {
2939
+ return [sTransactionCode];
2940
+ }
2941
+
2942
+ return [];
2943
+ }
2944
+
2933
2945
  // Apply the 'search' contract when available
2934
2946
  function getKeywordsFromSearchContract (oCatalogTile) {
2935
2947
  if (oCatalogTile.isStub()) {
@@ -2957,6 +2969,10 @@ sap.ui.define([
2957
2969
  oKeywordsSet,
2958
2970
  getNumberUnitDefinedInCatalogTileData(oCatalogTile)
2959
2971
  );
2972
+ addKeywords(
2973
+ oKeywordsSet,
2974
+ getTransactionCodeDefinedInCatalogTileData(oCatalogTile)
2975
+ );
2960
2976
 
2961
2977
  // Relevant for tiles which are instantiated in the app finder.
2962
2978
  addKeywords(
@@ -2977,6 +2993,39 @@ sap.ui.define([
2977
2993
  return Object.keys(oKeywordsSet); // property names are used in order to avoid duplicates
2978
2994
  };
2979
2995
 
2996
+ /**
2997
+ * Attaches an event handler to the display transaction code change event.
2998
+ *
2999
+ * @param {object} oCatalogTile The catalog tile
3000
+ * @param {object} [oData] An object that will be passed to the handler along with the event object when the event is fired
3001
+ * @param {function} fnFunction The handler function to call when the event occurs.
3002
+ * This function will be called in the context of the <code>oListener</code> instance (if present) or on the event provider instance.
3003
+ * The event object ({@link sap.ui.base.Event}) is provided as first argument of the handler. Handlers must not change the content of
3004
+ * the event. The second argument is the specified <code>oData</code> instance (if present).
3005
+ * @param {object} [oListener] The object that wants to be notified when the event occurs (<code>this</code> context within the
3006
+ * handler function). If it is not specified, the handler function is called in the context of the event provider.
3007
+ *
3008
+ * @since 1.154.0
3009
+ * @private
3010
+ */
3011
+ this.attachCatalogTileUpdated = function (oCatalogTile, ...args) {
3012
+ UserPersonalization.attachDisplayTransactionCodeChanged(...args);
3013
+ };
3014
+
3015
+ /**
3016
+ * Detaches an event handler from the display transaction code change event.
3017
+ *
3018
+ * @param {object} oCatalogTile The catalog tile
3019
+ * @param {function} fnFunction The handler function to detach from the event
3020
+ * @param {object} [oListener] The object that wanted to be notified when the event occurred
3021
+ *
3022
+ * @since 1.154.0
3023
+ * @private
3024
+ */
3025
+ this.detachCatalogTileUpdated = function (oCatalogTile, ...args) {
3026
+ UserPersonalization.detachDisplayTransactionCodeChanged(...args);
3027
+ };
3028
+
2980
3029
  /**
2981
3030
  * Adds a bookmark to the user's home page.
2982
3031
  *
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
5
  *
6
6
  * @deprecated since 1.100
7
- * @version 1.153.0
7
+ * @version 1.154.0
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the ABAP
9
9
  * platform.
10
10
  *
11
- * @version 1.153.0
11
+ * @version 1.154.0
12
12
  */
13
13
  sap.ui.define([], () => {
14
14
  "use strict";
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the ABAP
9
9
  * platform.
10
10
  *
11
- * @version 1.153.0
11
+ * @version 1.154.0
12
12
  * @since 1.121
13
13
  */
14
14
  sap.ui.define([], () => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview PagePersistenceAdapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/i18n/Localization",
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  */
60
60
  PagePersistenceAdapter.prototype.getPage = function (pageId) {
61
61
  return Promise.all([
62
- this._readPage(pageId),
62
+ this.readPage(pageId),
63
63
  Container.getServiceAsync("URLParsing")
64
64
  ])
65
65
  .then((aResults) => {
@@ -82,7 +82,7 @@ sap.ui.define([
82
82
  */
83
83
  PagePersistenceAdapter.prototype.getPages = function (aPageId) {
84
84
  return Promise.all([
85
- this._readPages(aPageId),
85
+ this.readPages(aPageId),
86
86
  Container.getServiceAsync("URLParsing")
87
87
  ])
88
88
  .then((aResults) => {
@@ -105,7 +105,7 @@ sap.ui.define([
105
105
  * @since 1.67.0
106
106
  * @private
107
107
  */
108
- PagePersistenceAdapter.prototype._readPage = function (pageId) {
108
+ PagePersistenceAdapter.prototype.readPage = function (pageId) {
109
109
  return new Promise((resolve, reject) => {
110
110
  const oHeaders = {
111
111
  "Cache-Control": "no-cache, no-store, must-revalidate",
@@ -147,7 +147,7 @@ sap.ui.define([
147
147
  * @since 1.75.0
148
148
  * @private
149
149
  */
150
- PagePersistenceAdapter.prototype._readPages = function (aPageId) {
150
+ PagePersistenceAdapter.prototype.readPages = function (aPageId) {
151
151
  return new Promise((resolve, reject) => {
152
152
  const oHeaders = {
153
153
  "Cache-Control": "no-cache, no-store, must-revalidate",
@@ -7,7 +7,7 @@
7
7
  * Container header properties transported via pseudo-items are mapped to the
8
8
  * respective header properties in setItem/getItem/delItem
9
9
  *
10
- * @version 1.153.0
10
+ * @version 1.154.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ushell_abap/adapters/abap/AdapterContainer",
@@ -7,7 +7,7 @@
7
7
  * Container header properties transported via pseudo-items are mapped to the
8
8
  * respective header properties in setItem/getItem/delItem
9
9
  *
10
- * @version 1.153.0
10
+ * @version 1.154.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "./PersonalizationAdapter"
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Search adapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([], () => {
8
8
  "use strict";
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The SupportTicket adapter for the ABAP platform.
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/isEmptyObject",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's Ui5ComponentLoaderAdapter for the ABAP platform
4
4
  *
5
- * @version 1.153.0
5
+ * @version 1.154.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], () => {
@@ -0,0 +1,76 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview VisualizationInstantiation Adapter for the ABAP platform.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/ushell/library",
9
+ "sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap",
10
+ "sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink"
11
+ ], (
12
+ ushellLibrary,
13
+ VizInstanceAbap,
14
+ VizInstanceAbapLink
15
+ ) => {
16
+ "use strict";
17
+
18
+ // shortcut for sap.ushell.DisplayFormat
19
+ const DisplayFormat = ushellLibrary.DisplayFormat;
20
+
21
+ /**
22
+ * Constructs a new instance of the VisualizationInstantiation Adapter for the ABAP platform
23
+ *
24
+ * @class
25
+ * @since 1.154.0
26
+ * @private
27
+ */
28
+ function VisualizationInstantiationAdapter () { }
29
+
30
+ VisualizationInstantiationAdapter.prototype.instantiateVisualization = function (oVizInstanceData, sPlatform, oPropertiesWithSpecialSyntax) {
31
+ if (sPlatform !== "ABAP") {
32
+ return;
33
+ }
34
+
35
+ let oVizInstance;
36
+ if (oVizInstanceData.displayFormat === DisplayFormat.Compact) {
37
+ this._cleanInstantiationDataForLink(oVizInstanceData);
38
+ oVizInstance = new VizInstanceAbapLink(oVizInstanceData);
39
+ } else {
40
+ oVizInstance = new VizInstanceAbap(oVizInstanceData);
41
+ oVizInstance.setInfo(oPropertiesWithSpecialSyntax.info); // same as below
42
+ }
43
+ // we need to set these properties separately because it is likely that they contain stringified objects
44
+ // which might be interpreted as complex binding
45
+ // e.g. appSpecificRoute of search
46
+ // BCP: 2070390842
47
+ // BCP: 2180362150
48
+ // BCP: 002075129400006346412020
49
+ oVizInstance.setTargetURL(oPropertiesWithSpecialSyntax.targetURL);
50
+
51
+ return oVizInstance;
52
+ };
53
+
54
+ /**
55
+ * Removes unnecessary properties for VizInstanceLink
56
+ *
57
+ * @param {object} oVizInstanceData The vizInstance data which should be modified
58
+ *
59
+ * @private
60
+ * @since 1.154.0
61
+ */
62
+ VisualizationInstantiationAdapter.prototype._cleanInstantiationDataForLink = function (oVizInstanceData) {
63
+ delete oVizInstanceData.info;
64
+ delete oVizInstanceData.icon;
65
+ delete oVizInstanceData.keywords;
66
+ delete oVizInstanceData.dataSource;
67
+ delete oVizInstanceData.contentProviderId;
68
+ delete oVizInstanceData.contentProviderLabel;
69
+ delete oVizInstanceData.vizConfig;
70
+ delete oVizInstanceData.numberUnit;
71
+ delete oVizInstanceData.indicatorDataSource;
72
+ delete oVizInstanceData.preview;
73
+ };
74
+
75
+ return VisualizationInstantiationAdapter;
76
+ });
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's container adapter for the HANA platform.
5
5
  *
6
- * @version 1.153.0
6
+ * @version 1.154.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/jquery",
@@ -0,0 +1,123 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview ClientSideTargetResolutionAdapter for the local (abap) platform.
5
+ *
6
+ * Intended for OPA and standalone test scenarios.
7
+ *
8
+ * A thin subclass of the ABAP ClientSideTargetResolutionAdapter that feeds inbounds
9
+ * from static config JSON without requiring an OData MockServer.
10
+ *
11
+ * @version 1.154.0
12
+ */
13
+ sap.ui.define([
14
+ "sap/base/util/LoaderExtensions",
15
+ "sap/base/util/uid",
16
+ "sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter"
17
+ ], (
18
+ LoaderExtensions,
19
+ uid,
20
+ AbapClientSideTargetResolutionAdapter
21
+ ) => {
22
+ "use strict";
23
+
24
+ /**
25
+ * Constructs a new local instance of the ClientSideTargetResolutionAdapter for the ABAP platform.
26
+ *
27
+ * @param {object} oSystem The system served by the adapter
28
+ * @param {string} sParameter Parameter string, not in use
29
+ * @param {object} oAdapterConfiguration Adapter configuration
30
+ *
31
+ * @class
32
+ * @since 1.154.0
33
+ * @private
34
+ */
35
+ function ClientSideTargetResolutionAdapter (oSystem, sParameter, oAdapterConfiguration) {
36
+ const oConfig = oAdapterConfiguration?.config || {};
37
+
38
+ // Resolving with null signals the base that no segmented start-up data will arrive
39
+ // (i.e. the direct-start fast-path is intentionally disabled for local/test use).
40
+ const pInitialSegmentPromise = Promise.resolve(null);
41
+
42
+ // Carry the full synthetic start-up payload so the base stores targetMappings and
43
+ // systemAliases via _storeFromFullStartupResponse before getInbounds is called.
44
+ const pNavTargetDataPromise = this._fetchData(oAdapterConfiguration.config).then((oTargetMappings) => {
45
+ return {
46
+ targetMappings: oTargetMappings,
47
+ systemAliases: oConfig.systemAliases || {},
48
+ urlTemplates: {}
49
+ };
50
+ });
51
+
52
+ AbapClientSideTargetResolutionAdapter.call(this, oSystem, sParameter, {
53
+ config: {
54
+ initialSegmentPromise: pInitialSegmentPromise,
55
+ navTargetDataPromise: pNavTargetDataPromise
56
+ }
57
+ });
58
+ }
59
+
60
+ ClientSideTargetResolutionAdapter.prototype = Object.create(AbapClientSideTargetResolutionAdapter.prototype);
61
+ ClientSideTargetResolutionAdapter.prototype.constructor = ClientSideTargetResolutionAdapter;
62
+
63
+ /**
64
+ * Loads target mappings from the configured JSON resource and converts them
65
+ * into the keyed structure expected by the base ABAP adapter.
66
+ *
67
+ * @param {object} oConfig Adapter config containing <code>targetMappingsPath</code>.
68
+ * @returns {Promise<Object<string, object>>} Target mappings keyed by <code>SemanticObject-action~uiadId</code>.
69
+ *
70
+ * @since 1.154.0
71
+ * @private
72
+ */
73
+ ClientSideTargetResolutionAdapter.prototype._fetchData = async function (oConfig) {
74
+ const aTargetMappingData = oConfig.targetMappings || await LoaderExtensions.loadResource(oConfig.targetMappingsPath, { async: true });
75
+
76
+ return aTargetMappingData.reduce((oTargetMappings, oTMToAdd) => {
77
+ const sUiadId = oTMToAdd.uiadId || uid();
78
+ const sTmId = `${oTMToAdd.semanticObject}-${oTMToAdd.action}~${sUiadId}`;
79
+
80
+ if (oTargetMappings[sTmId]) {
81
+ throw new Error(`Conflicting tm ids '${sTmId}'`);
82
+ }
83
+
84
+ oTargetMappings[sTmId] = {
85
+ semanticObject: oTMToAdd.semanticObject,
86
+ semanticAction: oTMToAdd.action,
87
+ formFactors: {
88
+ desktop: true,
89
+ tablet: true,
90
+ phone: true
91
+ },
92
+ signature: oTMToAdd.signature || {},
93
+ text: oTMToAdd.title,
94
+ applicationType: oTMToAdd.applicationType,
95
+ catalogId: oTMToAdd.catalogId,
96
+ tcode: oTMToAdd.tcode,
97
+
98
+ // optional
99
+ tmChipId: sUiadId,
100
+ uiadId: sUiadId,
101
+ isDefaultLadi: oTMToAdd.isDefaultLadi,
102
+ ladiHasTiles: oTMToAdd.ladiHasTiles,
103
+ defaultTileParams: oTMToAdd.defaultTileParams
104
+ };
105
+
106
+ if (oTargetMappings[sTmId].applicationType === "SAPUI5") {
107
+ oTargetMappings[sTmId].applicationData = `SAPUI5.Component=${oTMToAdd.ui5ComponentName}`;
108
+ oTargetMappings[sTmId].applicationDependencies = JSON.stringify({
109
+ name: oTMToAdd.ui5ComponentName,
110
+ url: new URL(sap.ui.require.toUrl(oTMToAdd.url), document.baseURI).toString(),
111
+ asyncHints: {},
112
+ minUi5Versions: ["1.28"]
113
+ });
114
+ } else {
115
+ oTargetMappings[sTmId].url = oTMToAdd.url;
116
+ }
117
+
118
+ return oTargetMappings;
119
+ }, {});
120
+ };
121
+
122
+ return ClientSideTargetResolutionAdapter;
123
+ });
@@ -0,0 +1,115 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview FlpLaunchPageAdapter for the local (abap) platform.
5
+ *
6
+ * Intended for OPA and standalone test scenarios with no backend.
7
+ *
8
+ * A thin subclass of the ABAP FlpLaunchPageAdapter that feeds the compact target
9
+ * mappings from static config JSON instead of the <code>/sap/bc/ui2/start_up</code>
10
+ * backend request.
11
+ *
12
+ * @version 1.154.0
13
+ */
14
+ sap.ui.define([
15
+ "sap/base/util/LoaderExtensions",
16
+ "sap/base/util/uid",
17
+ "sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
18
+ ], (
19
+ LoaderExtensions,
20
+ uid,
21
+ AbapFlpLaunchPageAdapter
22
+ ) => {
23
+ "use strict";
24
+
25
+ /**
26
+ * Constructs a new local instance of the FlpLaunchPageAdapter for the ABAP platform.
27
+ *
28
+ * @param {object} oSystem The system served by the adapter
29
+ * @param {string} sParameter Parameter string, not in use
30
+ * @param {object} oAdapterConfiguration Adapter configuration.
31
+ *
32
+ * @class
33
+ * @since 1.154.0
34
+ * @private
35
+ */
36
+ function FlpLaunchPageAdapter (oSystem, sParameter, oAdapterConfiguration) {
37
+ // The base _readTargetMappings short-circuits to config.compactTMPromise (when present)
38
+ // and never issues the /sap/bc/ui2/start_up backend request that would hang here.
39
+ const pCompactTMs = this._fetchData(oAdapterConfiguration.config).then((oTargetMappings) => {
40
+ return {
41
+ targetMappings: oTargetMappings
42
+ };
43
+ });
44
+
45
+ AbapFlpLaunchPageAdapter.call(this, oSystem, sParameter, {
46
+ config: Object.assign({}, oAdapterConfiguration, {
47
+ compactTMPromise: pCompactTMs
48
+ })
49
+ });
50
+ }
51
+
52
+ FlpLaunchPageAdapter.prototype = Object.create(AbapFlpLaunchPageAdapter.prototype);
53
+ FlpLaunchPageAdapter.prototype.constructor = FlpLaunchPageAdapter;
54
+
55
+ /**
56
+ * Loads target mappings from the configured JSON resource and converts them
57
+ * into the keyed structure expected by the base ABAP adapter.
58
+ *
59
+ * @param {object} oConfig Adapter config containing <code>targetMappingsPath</code>.
60
+ * @returns {Promise<Object<string, object>>} Target mappings keyed by <code>SemanticObject-action~uiadId</code>.
61
+ *
62
+ * @since 1.154.0
63
+ * @private
64
+ */
65
+ FlpLaunchPageAdapter.prototype._fetchData = async function (oConfig) {
66
+ const aTargetMappingData = oConfig.targetMappings || await LoaderExtensions.loadResource(oConfig.targetMappingsPath, { async: true });
67
+
68
+ return aTargetMappingData.reduce((oTargetMappings, oTMToAdd) => {
69
+ const sUiadId = oTMToAdd.uiadId || uid();
70
+ const sTmId = `${oTMToAdd.semanticObject}-${oTMToAdd.action}~${sUiadId}`;
71
+
72
+ if (oTargetMappings[sTmId]) {
73
+ throw new Error(`Conflicting tm ids '${sTmId}'`);
74
+ }
75
+
76
+ oTargetMappings[sTmId] = {
77
+ semanticObject: oTMToAdd.semanticObject,
78
+ semanticAction: oTMToAdd.action,
79
+ formFactors: {
80
+ desktop: true,
81
+ tablet: true,
82
+ phone: true
83
+ },
84
+ signature: oTMToAdd.signature || {},
85
+ text: oTMToAdd.title,
86
+ applicationType: oTMToAdd.applicationType,
87
+ catalogId: oTMToAdd.catalogId,
88
+ tcode: oTMToAdd.tcode,
89
+
90
+ // optional
91
+ tmChipId: sUiadId,
92
+ uiadId: sUiadId,
93
+ isDefaultLadi: oTMToAdd.isDefaultLadi,
94
+ ladiHasTiles: oTMToAdd.ladiHasTiles,
95
+ defaultTileParams: oTMToAdd.defaultTileParams
96
+ };
97
+
98
+ if (oTargetMappings[sTmId].applicationType === "SAPUI5") {
99
+ oTargetMappings[sTmId].applicationData = `SAPUI5.Component=${oTMToAdd.ui5ComponentName}`;
100
+ oTargetMappings[sTmId].applicationDependencies = JSON.stringify({
101
+ name: oTMToAdd.ui5ComponentName,
102
+ url: new URL(sap.ui.require.toUrl(oTMToAdd.url), document.baseURI).toString(),
103
+ asyncHints: {},
104
+ minUi5Versions: ["1.28"]
105
+ });
106
+ } else {
107
+ oTargetMappings[sTmId].url = oTMToAdd.url;
108
+ }
109
+
110
+ return oTargetMappings;
111
+ }, {});
112
+ };
113
+
114
+ return FlpLaunchPageAdapter;
115
+ });