@sapui5/sap.ushell_abap 1.142.0 → 1.143.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 (23) 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 +6 -6
  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 +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/hana/ContainerAdapter.js +1 -1
  20. package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.ushell.js +1 -1
  21. package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.startup.js +5 -5
  22. package/src/main/js/sap/ushell_abap/bootstrap/evo/boottask.js +17 -9
  23. package/src/main/js/sap/ushell_abap/library.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.142.0",
3
+ "version": "1.143.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "keywords": [
@@ -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.142.0</version>
5
+ <version>1.143.0</version>
6
6
  <copyright>Copyright (c) 2009-2025 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.142.0
5
+ * @version 1.143.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -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.142.0
12
+ * @version 1.143.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.142.0
5
+ * @version 1.143.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.142.0
5
+ * @version 1.143.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/evo/abap.constants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.142.0
5
+ * @version 1.143.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/thirdparty/jquery",
@@ -3,7 +3,7 @@
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.142.0
6
+ * @version 1.143.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/URI",
@@ -3171,13 +3171,13 @@ sap.ui.define([
3171
3171
 
3172
3172
  // check and process sUrl
3173
3173
  if (sUrl[0] === "#" || bSameDomain) {
3174
- const oHash = oUrlParsing.parseShellHash(oUrlParsing.getShellHash(sUrl));
3175
- if (oHash && oTargetMappingSupport.get(fnMkKey(oHash.semanticObject, oHash.action)) !== undefined) {
3174
+ const oParsedHash = oUrlParsing.parseShellHash(oUrlParsing.getShellHash(sUrl));
3175
+ if (oParsedHash && oTargetMappingSupport.get(fnMkKey(oParsedHash.semanticObject, oParsedHash.action)) !== undefined) {
3176
3176
  // User has a target mapping matching the URL, so add this information to the bookmark for form factor based filtering
3177
3177
  oConfiguration.navigation_use_semantic_object = true;
3178
- oConfiguration.navigation_semantic_object = oHash.semanticObject;
3179
- oConfiguration.navigation_semantic_action = oHash.action;
3180
- oConfiguration.navigation_semantic_parameters = oUrlParsing.paramsToString(oHash.params);
3178
+ oConfiguration.navigation_semantic_object = oParsedHash.semanticObject;
3179
+ oConfiguration.navigation_semantic_action = oParsedHash.action;
3180
+ oConfiguration.navigation_semantic_parameters = oUrlParsing.paramsToString(oParsedHash.params);
3181
3181
  }
3182
3182
  }
3183
3183
  return oConfiguration;
@@ -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.142.0
7
+ * @version 1.143.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.142.0
11
+ * @version 1.143.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.142.0
11
+ * @version 1.143.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.142.0
5
+ * @version 1.143.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.142.0
5
+ * @version 1.143.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/i18n/Localization",
@@ -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.142.0
10
+ * @version 1.143.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.142.0
10
+ * @version 1.143.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.142.0
5
+ * @version 1.143.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.142.0
5
+ * @version 1.143.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.142.0
5
+ * @version 1.143.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], () => {
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's container adapter for the HANA platform.
5
5
  *
6
- * @version 1.142.0
6
+ * @version 1.143.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/jquery",
@@ -14,7 +14,7 @@
14
14
  * It furthermore calculates if FLP pages get activated and if needed sets up
15
15
  * the configuration environment to run these.
16
16
  *
17
- * @version 1.142.0
17
+ * @version 1.143.0
18
18
  */
19
19
  sap.ui.define([
20
20
  "./abap.constants",
@@ -120,23 +120,23 @@ sap.ui.define([
120
120
  };
121
121
 
122
122
  /**
123
- * Performs an extra request to retreive a direct Start Request.
123
+ * Performs an extra request to retrieve a direct Start Request.
124
124
  *
125
125
  * @param {object} oStartupConfig
126
126
  * Startup object, used to take cacheId and other parameters
127
- * @param {object} oParsedShellHash
127
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash
128
128
  * The parsed shell hash object. The object must contain semanticObject and action
129
129
  * @param {object} oInitialKeys
130
- * The parameters which shold be copyed to the requested url
130
+ * The parameters which should be copied to the requested url
131
131
  *
132
132
  * @returns {Promise}
133
133
  * Result of the GET request should be resolved
134
134
  */
135
- oStartupHandler.requestDirectStart = function (oStartupConfig, oParsedShellHash, oInitialKeys) {
135
+ oStartupHandler.requestDirectStart = function (oStartupConfig, oParsedHash, oInitialKeys) {
136
136
  const sFormFactor = Utils.getFormFactor();
137
137
  let sQueryPath = "";
138
138
 
139
- sQueryPath = `so=${oParsedShellHash.semanticObject}&action=${oParsedShellHash.action}`;
139
+ sQueryPath = `so=${oParsedHash.semanticObject}&action=${oParsedHash.action}`;
140
140
  sQueryPath += "&systemAliasesFormat=object";
141
141
  Object.keys(oInitialKeys).forEach((sKey) => {
142
142
  sQueryPath += `&${sKey}=${oInitialKeys[sKey]}`;
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  //
45
45
  // URLParsing service could not used because some functional need before Container is created
46
46
  //
47
- // TODO: move to ushell or seperate module or find other solution
47
+ // TODO: move to ushell or separate module or find other solution
48
48
  //**************************************
49
49
 
50
50
  /**
@@ -214,7 +214,7 @@ sap.ui.define([
214
214
  * @param {string} [oSettings.legacyDateFormat] the date format
215
215
  * @param {string} [oSettings.legacyNumberFormat] the number format
216
216
  * @param {string} [oSettings.legacyTimeFormat] the time format
217
- * @param {object} [oCurrencyFormats] Currecnty Format Information
217
+ * @param {object} [oCurrencyFormats] Currency Format Information
218
218
  * @param {string} [sTimeZoneIana] IANA timezone
219
219
  *
220
220
  * @private
@@ -319,7 +319,7 @@ sap.ui.define([
319
319
  * Determines the theme root for the given theme.
320
320
  * In case the theme begins with sap_ we assume that it is a theme provided by sap and therefore
321
321
  * theme root is set to "". The theme is then loaded by the UI5 http handler. This is necessary
322
- * as the themeing infrastructure is not mandatory and therefore it cannot be ensured that the
322
+ * as the theming infrastructure is not mandatory and therefore it cannot be ensured that the
323
323
  * http handler of the theming infrastructure is running.
324
324
  * @param {string} sTheme theme
325
325
  * @param {string} sSystemThemeRoot system theme root
@@ -727,7 +727,7 @@ sap.ui.define([
727
727
  Log.info("SAPCompanion conditions could not be set.");
728
728
  });
729
729
 
730
- const sShellHash = oBoottask._getShellHash();
730
+ let sShellHash = oBoottask._getShellHash();
731
731
 
732
732
  if (isHomepageHash(sShellHash) && window["sap-ushell-config"].ushell &&
733
733
  window["sap-ushell-config"].ushell.spaces && window["sap-ushell-config"].ushell.spaces.enabled) {
@@ -739,6 +739,8 @@ sap.ui.define([
739
739
  });
740
740
 
741
741
  if (isDirectStart(sShellHash)) { // only set on direct app start (not #Shell-home)
742
+ sShellHash = this._getFullShellHash(); // take full hash for direct start
743
+
742
744
  let fnResolve;
743
745
  let fnReject;
744
746
  window["sap-ushell-async-libs-promise-directstart"] = new Promise((resolve, reject) => {
@@ -750,7 +752,6 @@ sap.ui.define([
750
752
  });
751
753
 
752
754
  let oPromise = Promise.resolve();
753
- let sSSBShellHash;
754
755
  if (sShellHash.includes("sap-ssb-eval-id")) {
755
756
  // For a Smart Business direct start the parameter sap-ssb-eval-id has to be
756
757
  // resolved by Smart Business early so that the resolved parameters are already
@@ -760,10 +761,15 @@ sap.ui.define([
760
761
  const SmartBusiness = await new Promise((resolve, reject) => {
761
762
  sap.ui.require(["sap/ushell/utils/SmartBusiness"], resolve, reject);
762
763
  });
764
+ // At this early point in time the Smart Business library has not been loaded yet.
765
+ // Load it to avoid single file requests.
766
+ // On ABAP, the path where the library is loaded from differs from the
767
+ // common namespace so it has to be mapped.
768
+ await SmartBusiness.loadSmartBusinessLibrary("/sap/bc/ui5_ui5/sap/ssbtileslibs1");
763
769
 
764
770
  let oParsedShellHash = UrlParsing.parseShellHash(sShellHash);
765
771
  oParsedShellHash = await SmartBusiness.resolveEvaluationId(oParsedShellHash, true);
766
- sSSBShellHash = UrlParsing.constructShellHash(oParsedShellHash);
772
+ sShellHash = UrlParsing.constructShellHash(oParsedShellHash, true);
767
773
  });
768
774
  }
769
775
 
@@ -775,14 +781,16 @@ sap.ui.define([
775
781
  return getContainer().getServiceAsync("NavTargetResolutionInternal");
776
782
  })
777
783
  .then((oNavTargetResolutionInternal) => {
778
- const sShellHash = `#${sSSBShellHash || oBoottask._getShellHash()}`;
779
- oNavTargetResolutionInternal.resolveHashFragment(sShellHash)
784
+ const oParsedHash = UrlParsing.parseShellHash(sShellHash);
785
+
786
+ oNavTargetResolutionInternal.resolveHashFragment(UrlParsing.ensureLeadingHash(sShellHash))
780
787
  .done((oResolutionResult) => {
781
788
  sap.ui.require(["sap/ushell/services/AppConfiguration"], (AppConfiguration) => {
782
789
  AppConfiguration.setCurrentApplication(oResolutionResult);
783
790
 
784
791
  if (oResolutionResult && oResolutionResult.ui5ComponentName) {
785
- oResolutionResult.ui5ComponentId = `application-${UrlParsing.getBasicHash(sShellHash)}-component`;
792
+ const sBasicHash = UrlParsing.constructBasicHash(oParsedHash);
793
+ oResolutionResult.ui5ComponentId = `application-${sBasicHash}-component`;
786
794
  // create UI5 component early
787
795
  getContainer().getServiceAsync("Ui5ComponentLoader").then((oUi5ComponentLoader) => {
788
796
  oUi5ComponentLoader.createComponent(
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  const ushellAbapLib = Library.init({
31
31
  name: "sap.ushell_abap",
32
32
  apiVersion: 2,
33
- version: "1.142.0",
33
+ version: "1.143.0",
34
34
  dependencies: ["sap.ui.core", "sap.m"],
35
35
  noLibraryCSS: true,
36
36
  extensions: {