@sapui5/sap.ushell_abap 1.150.1 → 1.151.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 (48) 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 +5 -5
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +7 -7
  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 +5 -5
  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 +1 -1
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +2 -2
  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 +4 -4
  18. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  20. package/src/main/js/sap/ushell_abap/base/Ui2Error.js +46 -0
  21. package/src/main/js/sap/ushell_abap/base/Ui2Utils.js +710 -0
  22. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad.js +6 -0
  23. package/src/main/js/sap/ushell_abap/bootstrap/PageSetsRequestHandler.js +1 -1
  24. package/src/main/js/sap/ushell_abap/bootstrap/StartupRequestHandler.js +6 -6
  25. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +1 -0
  26. package/src/main/js/sap/ushell_abap/library.js +1 -1
  27. package/src/main/js/sap/ushell_abap/pbServices/ui2/AllCatalogs.js +1 -1
  28. package/src/main/js/sap/ushell_abap/pbServices/ui2/Bag.js +2 -2
  29. package/src/main/js/sap/ushell_abap/pbServices/ui2/Catalog.js +2 -2
  30. package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +2 -2
  31. package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipDefinition.js +1 -1
  32. package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipInstance.js +4 -4
  33. package/src/main/js/sap/ushell_abap/pbServices/ui2/Error.js +5 -37
  34. package/src/main/js/sap/ushell_abap/pbServices/ui2/Factory.js +3 -3
  35. package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataService.js +2 -2
  36. package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +3 -3
  37. package/src/main/js/sap/ushell_abap/pbServices/ui2/Page.js +2 -2
  38. package/src/main/js/sap/ushell_abap/pbServices/ui2/PageBuildingService.js +2 -2
  39. package/src/main/js/sap/ushell_abap/pbServices/ui2/PageSet.js +2 -2
  40. package/src/main/js/sap/ushell_abap/pbServices/ui2/Utils.js +5 -703
  41. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/actions.js +1 -1
  42. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/bag.js +3 -3
  43. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +3 -3
  44. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configurationUi.js +1 -1
  45. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/search.js +3 -3
  46. package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/visible.js +1 -1
  47. package/src/main/js/sap/ushell_abap/services/NavigationDataProvider.js +126 -0
  48. package/ui5.yaml +6 -3
@@ -6,7 +6,7 @@
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/pbServices/ui2/Chip",
9
- "sap/ushell_abap/pbServices/ui2/Error",
9
+ "sap/ushell_abap/base/Ui2Error",
10
10
  "sap/base/Log"
11
11
  ], (
12
12
  Chip,
@@ -5,8 +5,8 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ushell_abap/pbServices/ui2/Chip",
8
- "sap/ushell_abap/pbServices/ui2/Utils",
9
- "sap/ushell_abap/pbServices/ui2/Error"
8
+ "sap/ushell_abap/base/Ui2Utils",
9
+ "sap/ushell_abap/base/Ui2Error"
10
10
  ], (
11
11
  Chip,
12
12
  Utils,
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @see chip.bag.attachBagsUpdated
135
135
  */
136
136
  fireBagsUpdated: function (aUpdatedBagIds) {
137
- if (!Utils.isArray(aUpdatedBagIds) || aUpdatedBagIds.length < 1) {
137
+ if (!Array.isArray(aUpdatedBagIds) || aUpdatedBagIds.length < 1) {
138
138
  throw new SrvcError("At least one bag ID must be given", "contract.bag");
139
139
  }
140
140
  if (fnBagsUpdatedHandler) {
@@ -5,8 +5,8 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ushell_abap/pbServices/ui2/Chip",
8
- "sap/ushell_abap/pbServices/ui2/Error",
9
- "sap/ushell_abap/pbServices/ui2/Utils"
8
+ "sap/ushell_abap/base/Ui2Error",
9
+ "sap/ushell_abap/base/Ui2Utils"
10
10
  ], (
11
11
  Chip,
12
12
  SrvcError,
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * @see chip.configuration.attachBagsUpdated
95
95
  */
96
96
  fireConfigurationUpdated: function (aUpdatedConfigKeys) {
97
- if (!Utils.isArray(aUpdatedConfigKeys) || aUpdatedConfigKeys.length < 1) {
97
+ if (!Array.isArray(aUpdatedConfigKeys) || aUpdatedConfigKeys.length < 1) {
98
98
  throw new SrvcError("At least one configuration property key must be given",
99
99
  "contract.configuration");
100
100
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ushell_abap/pbServices/ui2/Chip",
8
- "sap/ushell_abap/pbServices/ui2/Error"
8
+ "sap/ushell_abap/base/Ui2Error"
9
9
  ], (
10
10
  Chip,
11
11
  SrvcError
@@ -5,8 +5,8 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ushell_abap/pbServices/ui2/Chip",
8
- "sap/ushell_abap/pbServices/ui2/Error",
9
- "sap/ushell_abap/pbServices/ui2/Utils"
8
+ "sap/ushell_abap/base/Ui2Error",
9
+ "sap/ushell_abap/base/Ui2Utils"
10
10
  ], (
11
11
  Chip,
12
12
  SrvcError,
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * the keywords of this CHIP
38
38
  */
39
39
  this.setKeywords = function (aNewKeywords) {
40
- if (!Utils.isArray(aNewKeywords)) {
40
+ if (!Array.isArray(aNewKeywords)) {
41
41
  throw new SrvcError(`Not an array: ${aNewKeywords}`, "chip.search");
42
42
  }
43
43
  aKeywords = aNewKeywords.slice();
@@ -5,7 +5,7 @@
5
5
  */
6
6
  sap.ui.require([
7
7
  "sap/ushell_abap/pbServices/ui2/Chip",
8
- "sap/ushell_abap/pbServices/ui2/Error",
8
+ "sap/ushell_abap/base/Ui2Error",
9
9
  "sap/base/Log"
10
10
  ], (
11
11
  Chip,
@@ -0,0 +1,126 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview This module prepares the navigation data.
5
+ *
6
+ * It provides the inbound and systemAlias data for both the pages runtime
7
+ * and the direct app launch by transaction code in module TCodeNavigation.
8
+ * Only used on the ABAP platform and on local for testing.
9
+ *
10
+ * Configured with the ClientSideTargetResolutionAdapter.
11
+ *
12
+ * @version 1.151.0
13
+ */
14
+ sap.ui.define([
15
+ "sap/ushell/resources",
16
+ "sap/ushell/utils",
17
+ "sap/ushell/utils/LaunchpadError"
18
+ ], (
19
+ ushellResources,
20
+ ushellUtils,
21
+ LaunchpadError
22
+ ) => {
23
+ "use strict";
24
+
25
+ /**
26
+ * @alias sap.ushell_abap.services.NavigationDataProvider
27
+ * @class
28
+ * @classdesc The Unified Shell's NavigationDataProvider service.
29
+ *
30
+ * <b>Note:</b> To retrieve a valid instance of this service, it is necessary to call {@link sap.ushell.Container#getServiceAsync}.
31
+ * <pre>
32
+ * sap.ui.require(["sap/ushell/Container"], async function (Container) {
33
+ * const NavigationDataProvider = await Container.getServiceAsync("NavigationDataProvider");
34
+ * // do something with the NavigationDataProvider service
35
+ * });
36
+ * </pre>
37
+ *
38
+ * @hideconstructor
39
+ *
40
+ * @since 1.68.0
41
+ * @private
42
+ */
43
+ function NavigationDataProvider (/* adapter, serviceConfiguration */) {
44
+ this.S_COMPONENT_NAME = "sap.ushell_abap.services.NavigationDataProvider";
45
+ this._init.apply(this, arguments);
46
+ }
47
+
48
+ /**
49
+ * Private initializer.
50
+ *
51
+ * @param {object} adapter
52
+ * the navigation data provider adapter for the frontend server
53
+ * @param {object} serviceConfiguration
54
+ * the navigation data provider service configuration
55
+ *
56
+ * @since 1.68.0
57
+ * @private
58
+ */
59
+ NavigationDataProvider.prototype._init = function (adapter, serviceConfiguration) {
60
+ this.oAdapter = adapter;
61
+ };
62
+
63
+ /**
64
+ * An object representing navigation data containing inbounds and available system aliases.
65
+ * @typedef {object} NavigationData
66
+ * @property {object[]} object.inbounds The inbounds.
67
+ * @property {object} object.systemAliases The system aliases.
68
+ */
69
+
70
+ /**
71
+ * @typedef {sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter.TargetMapping & {
72
+ * isDefaultLadi: boolean,
73
+ * ladiHasTiles: boolean,
74
+ * defaultTileParams: string,
75
+ * resolutionResult: sap.ushell.services.ClientSideTargetResolution.ResolutionResult
76
+ * }} sap.ushell.services.NavigationDataProvider.ABAPInbound
77
+ *
78
+ * @property {boolean} isDefaultLadi Indicates whether the LADI/Target Mapping is default.
79
+ * @property {boolean} ladiHasTiles Indicates whether the LADI/Target Mapping has tiles.
80
+ * @property {string} defaultTileParams The default tile parameters of the LADI/Target Mapping.
81
+ * @property {sap.ushell.services.ClientSideTargetResolution.ResolutionResult} resolutionResult The inbound resolutionResult containing the abap transaction code.
82
+ *
83
+ * @since 1.146.0
84
+ * @private
85
+ */
86
+
87
+ /**
88
+ * Loads and returns the relevant navigation data.
89
+ *
90
+ * The ClientSideTargetResolutionAdapter's getEnhancedInbounds method is called to retrieve the inbounds,
91
+ * which includes ABAP-specific properties such as isDefaultLadi and ladiHasTiles.
92
+ *
93
+ * @returns {Promise<NavigationData>} The navigation data.
94
+ *
95
+ * @since 1.68.0
96
+ * @private
97
+ */
98
+ NavigationDataProvider.prototype.getNavigationData = function () {
99
+ return new Promise((resolve, reject) => {
100
+ const oSystemAliases = (this.oAdapter.getSystemAliases && this.oAdapter.getSystemAliases()) || {};
101
+
102
+ ushellUtils.promisify(this.oAdapter.getEnhancedInbounds())
103
+ .then((aInbounds) => {
104
+ resolve({
105
+ systemAliases: oSystemAliases,
106
+ inbounds: aInbounds
107
+ });
108
+ })
109
+ .catch((oError) => {
110
+ const oEnhancedError = new LaunchpadError(
111
+ oError.message,
112
+ {
113
+ component: this.S_COMPONENT_NAME,
114
+ description: ushellResources.i18n.getText("NavigationDataProvider.CannotLoadData"),
115
+ detail: oError
116
+ },
117
+ oError
118
+ );
119
+ reject(oEnhancedError);
120
+ });
121
+ });
122
+ };
123
+
124
+ NavigationDataProvider.hasNoAdapter = false;
125
+ return NavigationDataProvider;
126
+ });
package/ui5.yaml CHANGED
@@ -128,9 +128,10 @@ builder:
128
128
  - sap/ui/performance/trace/_InteractionImpl.js
129
129
  resolve: true
130
130
  - mode: preload
131
- # Include sap/ushell/base to avoid loading of chunk
131
+ # Include sap/ushell/base and sap/ushell_abap/base to avoid loading of chunk
132
132
  filters:
133
133
  - sap/ushell/base/
134
+ - sap/ushell_abap/base/
134
135
  resolve: false
135
136
  - mode: raw
136
137
  filters:
@@ -158,6 +159,7 @@ builder:
158
159
  - "!sap/ushell/bootstrap/" # ... except the modules from sap/ushell/bootstrap
159
160
  - "!sap/ushell/base/" # ... and sap/ushell/base
160
161
  - "!sap/ushell_abap/bootstrap/" # ... and abap related bootstrap parts
162
+ - "!sap/ushell_abap/base/" # ... and sap/ushell_abap/base
161
163
  - "!sap/ushell_abap/thirdparty/sap-xhrlib-esm*.js" # ... and thirdparty that contains ESM modules which
162
164
  - "!sap/ui/integration/thirdparty/" # can't be bundled anyways and would cause build errors
163
165
  - "!sap/ui/vk/thirdparty/"
@@ -167,9 +169,10 @@ builder:
167
169
  - sap/ushell_abap/bootstrap/BootTask/
168
170
  resolve: true
169
171
  - mode: preload
170
- # Include sap/ushell/base to avoid loading of chunk
172
+ # Include sap/ushell/base and sap/ushell_abap/base to avoid loading of chunk
171
173
  filters:
172
174
  - sap/ushell/base/
175
+ - sap/ushell_abap/base/
173
176
  resolve: false
174
177
  bundleOptions:
175
178
  optimize: true
@@ -320,7 +323,6 @@ builder:
320
323
  - sap/ushell/services/Navigation.js
321
324
  - sap/ushell/services/NavTargetResolution.js
322
325
  - sap/ushell/services/NavTargetResolutionInternal.js
323
- - sap/ushell/services/NavigationDataProvider.js
324
326
  - sap/ushell/services/PageBuilding.js
325
327
  - sap/ushell/services/PagePersistence.js
326
328
  - sap/ushell/services/Pages.js
@@ -361,6 +363,7 @@ builder:
361
363
  - sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js
362
364
  - sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js
363
365
  - sap/ushell_abap/adapters/abap/UserInfoAdapter.js
366
+ - sap/ushell_abap/services/NavigationDataProvider.js
364
367
  - sap/ushell_abap/library.js
365
368
  - sap/ushell_abap/pbServices/
366
369
  - '!sap/viz/libs/sap-viz.js'