@sapui5/sap.ushell_abap 1.142.3 → 1.143.2
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.
- package/package.json +1 -1
- package/src/main/js/sap/ushell_abap/.library +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +3 -15
- package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +7 -7
- package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/MenuAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/SAPCompanionConditionSetter.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/XhrLogonEventHandler.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap-def-dev.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap-def-loader.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap-def.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.bootstrap.utils.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.theme.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.ushell.js +2 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.constants.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.load.launchpad.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.pageset.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.startup.js +6 -6
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.theme.handler.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.LibLoader.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.configure.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.handler.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/boottask.js +20 -13
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation/MessageCode.js +1 -1
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation/TCodeNavigationError.js +1 -1
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation.js +26 -76
- package/src/main/js/sap/ushell_abap/integration/fileshares/AppRuntimeFileShareSupport.js +1 -1
- package/src/main/js/sap/ushell_abap/integration/fileshares/NavTargetResolutionFileShareSupport.js +1 -1
- package/src/main/js/sap/ushell_abap/library.js +2 -2
- package/src/main/js/sap/ushell_abap/pbServices/ui2/AllCatalogs.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Bag.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Catalog.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipDefinition.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipInstance.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Error.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Factory.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataService.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Page.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/PageBuildingService.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/PageSet.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/RemoteCatalogService.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Utils.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/actions.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/bag.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configurationUi.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/fullscreen.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/preview.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/refresh.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/search.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/types.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/url.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/visible.js +1 -1
- package/src/main/js/sap/ushell_abap/ui5appruntime/AppInfoAdapter.js +1 -1
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
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.
|
|
6
|
-
<copyright>Copyright (c) 2009-
|
|
5
|
+
<version>1.143.2</version>
|
|
6
|
+
<copyright>Copyright (c) 2009-2025 SAP SE, All Rights Reserved</copyright>
|
|
7
7
|
<documentation>SAP library: sap.ushell_abap</documentation>
|
|
8
8
|
|
|
9
9
|
<dependencies>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/ObjectPath",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview ClientSideTargetResolutionAdapter for the abap platform.
|
|
@@ -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.
|
|
12
|
+
* @version 1.143.2
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
15
15
|
"sap/base/util/ObjectPath",
|
|
@@ -80,9 +80,6 @@ sap.ui.define([
|
|
|
80
80
|
* @property {string} catalogId The catalog ID of the source.
|
|
81
81
|
* @property {string} tmChipId The TM chip ID of the source.
|
|
82
82
|
* @property {string} tcode The transaction code of the LADI/Target Mapping.
|
|
83
|
-
* @property {string} isDefaultLadi Indicates whether the LADI/Target Mapping is default.
|
|
84
|
-
* @property {string} ladiHasTiles Indicates whether the LADI/Target Mapping has tiles.
|
|
85
|
-
* @property {string} defaultTileParams The default tile parameters of the LADI/Target Mapping.
|
|
86
83
|
*
|
|
87
84
|
* @since 1.135.0
|
|
88
85
|
* @private
|
|
@@ -565,15 +562,9 @@ sap.ui.define([
|
|
|
565
562
|
* applicationType: "SAPUI5",
|
|
566
563
|
* applicationDependencies: "...",
|
|
567
564
|
* url: "/sap/bc/ui5_ui5/ui2/test_path",
|
|
568
|
-
* systemAlias: "MILLEFIORI",
|
|
569
565
|
* createdOn: "2015-08-04",
|
|
570
566
|
* catalogId: "X-SAP-UI2-CATALOGPAGE:/UI2/CATALOG",
|
|
571
|
-
* tmChipId: "01O2TR99M0M42Q838RE8YGK0Z"
|
|
572
|
-
* tcode: "/ASU/MAINTAIN",
|
|
573
|
-
* uiadId: "FA163E8D39F61EE5AEA232C2169D0883",
|
|
574
|
-
* isDefaultLadi: true,
|
|
575
|
-
* ladiHasTiles: true,
|
|
576
|
-
* defaultTileParams: "sap-ui-tech-hint=GUI"
|
|
567
|
+
* tmChipId: "01O2TR99M0M42Q838RE8YGK0Z"
|
|
577
568
|
* },
|
|
578
569
|
* ...
|
|
579
570
|
* }
|
|
@@ -613,9 +604,6 @@ sap.ui.define([
|
|
|
613
604
|
oTarget.title = oSrc.text;
|
|
614
605
|
oTarget.permanentKey = `X-SAP-UI2-PAGE:${oSrc.catalogId}:${oSrc.tmChipId}`;
|
|
615
606
|
oTarget.contentProviderId = "";
|
|
616
|
-
oTarget.isDefaultLadi = oSrc.isDefaultLadi || false;
|
|
617
|
-
oTarget.ladiHasTiles = oSrc.ladiHasTiles || false;
|
|
618
|
-
oTarget.defaultTileParams = oSrc.defaultTileParams || "";
|
|
619
607
|
|
|
620
608
|
// resolution result
|
|
621
609
|
const oFakeResolutionResult = {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
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.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
], () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The ConfigurationDefaults adapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ushell_abap/bootstrap/evo/abap.constants",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's container adapter for the ABAP platform.
|
|
4
4
|
*
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/thirdparty/jquery",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
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.
|
|
6
|
+
* @version 1.143.2
|
|
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
|
|
3175
|
-
if (
|
|
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 =
|
|
3179
|
-
oConfiguration.navigation_semantic_action =
|
|
3180
|
-
oConfiguration.navigation_semantic_parameters = oUrlParsing.paramsToString(
|
|
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;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
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.
|
|
7
|
+
* @version 1.143.2
|
|
8
8
|
*/
|
|
9
9
|
sap.ui.define([
|
|
10
10
|
"sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The NavTargetResolution adapter for the ABAP platform.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* service now calls the ClientSideTargetResolution service in the ABAP
|
|
9
9
|
* platform.
|
|
10
10
|
*
|
|
11
|
-
* @version 1.
|
|
11
|
+
* @version 1.143.2
|
|
12
12
|
*/
|
|
13
13
|
sap.ui.define([], () => {
|
|
14
14
|
"use strict";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The NavTargetResolutionInternal adapter for the ABAP platform.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* service now calls the ClientSideTargetResolution service in the ABAP
|
|
9
9
|
* platform.
|
|
10
10
|
*
|
|
11
|
-
* @version 1.
|
|
11
|
+
* @version 1.143.2
|
|
12
12
|
* @since 1.121
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([], () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Unified Shell's page building adapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/ObjectPath",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview PagePersistenceAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/i18n/Localization",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's personalization adapter for the ABAP
|
|
4
4
|
* platform.
|
|
@@ -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.
|
|
10
|
+
* @version 1.143.2
|
|
11
11
|
*/
|
|
12
12
|
sap.ui.define([
|
|
13
13
|
"sap/ushell_abap/adapters/abap/AdapterContainer",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's personalization adapter for the ABAP
|
|
4
4
|
* platform.
|
|
@@ -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.
|
|
10
|
+
* @version 1.143.2
|
|
11
11
|
*/
|
|
12
12
|
sap.ui.define([
|
|
13
13
|
"./PersonalizationAdapter"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Search adapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([], () => {
|
|
8
8
|
"use strict";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The SupportTicket adapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/isEmptyObject",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's Ui5ComponentLoaderAdapter for the ABAP platform
|
|
4
4
|
*
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.2
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
], () => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Unified Shell's container adapter for the HANA platform.
|
|
5
5
|
*
|
|
6
|
-
* @version 1.
|
|
6
|
+
* @version 1.143.2
|
|
7
7
|
*/
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/ui/thirdparty/jquery",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview
|
|
@@ -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.
|
|
17
|
+
* @version 1.143.2
|
|
18
18
|
*/
|
|
19
19
|
sap.ui.define([
|
|
20
20
|
"./abap.constants",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
sap.ui.define([
|
|
3
3
|
"./abap.bootstrap.utils",
|
|
4
4
|
"sap/base/util/ObjectPath",
|
|
@@ -120,23 +120,23 @@ sap.ui.define([
|
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
|
-
* Performs an extra request to
|
|
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 {
|
|
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
|
|
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,
|
|
135
|
+
oStartupHandler.requestDirectStart = function (oStartupConfig, oParsedHash, oInitialKeys) {
|
|
136
136
|
const sFormFactor = Utils.getFormFactor();
|
|
137
137
|
let sQueryPath = "";
|
|
138
138
|
|
|
139
|
-
sQueryPath = `so=${
|
|
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]}`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ushell_abap/bootstrap/evo/abap.xhrlogon.LibLoader",
|
|
@@ -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
|
|
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]
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
779
|
-
|
|
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
|
-
|
|
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(
|
|
@@ -889,12 +897,11 @@ sap.ui.define([
|
|
|
889
897
|
const oLaunchPageAdapterConfig = ObjectPath.get("sap-ushell-config.services.LaunchPage.adapter.config") || ObjectPath.create("sap-ushell-config.services.LaunchPage.adapter.config");
|
|
890
898
|
const oClientSideTargetResolutionAdapterConfig = ObjectPath.get("sap-ushell-config.services.ClientSideTargetResolution.adapter.config") ||
|
|
891
899
|
ObjectPath.create("sap-ushell-config.services.ClientSideTargetResolution.adapter.config");
|
|
892
|
-
// NavigationDataProvider and ClientSideTargetResolution both create a ClientSideTargetResolutionAdapter instance. These should
|
|
893
|
-
// use the same config object (not copies) as the request promises are stored in the config and need to be accessible for all instances.
|
|
894
|
-
ObjectPath.set("sap-ushell-config.services.NavigationDataProvider.adapter.config", oClientSideTargetResolutionAdapterConfig);
|
|
895
900
|
if (ObjectPath.get("sap-ushell-config.ushell.spaces.enabled")) {
|
|
896
901
|
// VisualizationDataProvider and LaunchPageAdapter should have the same configuration
|
|
897
902
|
ObjectPath.set("sap-ushell-config.services.VisualizationDataProvider.adapter.config", oLaunchPageAdapterConfig);
|
|
903
|
+
// NavigationDataProvider and ClientSideTargetResolutionAdapter should have the same config
|
|
904
|
+
ObjectPath.set("sap-ushell-config.services.NavigationDataProvider.adapter.config", oClientSideTargetResolutionAdapterConfig);
|
|
898
905
|
}
|
|
899
906
|
processDirectStart(oStartupResult);
|
|
900
907
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ushell/Container",
|
|
@@ -7,8 +7,7 @@ sap.ui.define([
|
|
|
7
7
|
"sap/ushell/utils/WindowUtils",
|
|
8
8
|
"sap/ushell/api/performance/NavigationSource",
|
|
9
9
|
"sap/ushell_abap/components/TCodeNavigation/TCodeNavigationError",
|
|
10
|
-
"sap/ushell_abap/components/TCodeNavigation/MessageCode"
|
|
11
|
-
"sap/ushell/utils/UrlParsing"
|
|
10
|
+
"sap/ushell_abap/components/TCodeNavigation/MessageCode"
|
|
12
11
|
], (
|
|
13
12
|
Container,
|
|
14
13
|
Log,
|
|
@@ -16,8 +15,7 @@ sap.ui.define([
|
|
|
16
15
|
WindowUtils,
|
|
17
16
|
NavigationSource,
|
|
18
17
|
TCodeNavigationError,
|
|
19
|
-
MessageCode
|
|
20
|
-
UrlParsing
|
|
18
|
+
MessageCode
|
|
21
19
|
) => {
|
|
22
20
|
"use strict";
|
|
23
21
|
|
|
@@ -114,7 +112,7 @@ sap.ui.define([
|
|
|
114
112
|
{ code: MessageCode.NO_INBOUND_FOUND }
|
|
115
113
|
);
|
|
116
114
|
} catch (oError) {
|
|
117
|
-
Log.error("Error during TCode navigation", oError
|
|
115
|
+
Log.error("Error during TCode navigation", oError);
|
|
118
116
|
const oErrorResult = new TCodeNavigationError(
|
|
119
117
|
"Error during TCode navigation.",
|
|
120
118
|
{
|
|
@@ -128,7 +126,6 @@ sap.ui.define([
|
|
|
128
126
|
|
|
129
127
|
/**
|
|
130
128
|
* Performs navigation using the Navigation service based on the provided inbound.
|
|
131
|
-
* Combines default tile parameters with the app ID and handles explace navigation if specified.
|
|
132
129
|
* @param {object} oValidInbound The valid inbound object containing semanticObject and action.
|
|
133
130
|
* @param {boolean} bExplace Indicates whether to open the navigation in a new tab.
|
|
134
131
|
*
|
|
@@ -137,11 +134,11 @@ sap.ui.define([
|
|
|
137
134
|
*/
|
|
138
135
|
static async #navigateByInbound (oValidInbound, bExplace) {
|
|
139
136
|
const { semanticObject: sSemanticObject, action: sAction } = oValidInbound;
|
|
140
|
-
const oParams =
|
|
141
|
-
oParams["sap-ui-app-id-hint"] = oValidInbound.resolutionResult?.appId;
|
|
137
|
+
const oParams = {};
|
|
142
138
|
if (bExplace) {
|
|
143
139
|
oParams["sap-ushell-navmode"] = "explace";
|
|
144
140
|
}
|
|
141
|
+
|
|
145
142
|
// Log the navigation source for performance tracking
|
|
146
143
|
this.#oExtension.addNavigationSource(NavigationSource.SearchDirectLaunch);
|
|
147
144
|
|
|
@@ -155,96 +152,49 @@ sap.ui.define([
|
|
|
155
152
|
});
|
|
156
153
|
}
|
|
157
154
|
|
|
158
|
-
/**
|
|
159
|
-
* compare inbounds first by ladiid and then by uuid.
|
|
160
|
-
* in case of different ladiid, the one with smaller ladiid comes first.
|
|
161
|
-
* in case of same ladiid, the one with smaller uuid comes first.
|
|
162
|
-
* in case of same ladiid and same uuid, the order is not changed.
|
|
163
|
-
* @param {object} oInboundA The first inbound to compare.
|
|
164
|
-
* @param {object} oInboundB The second inbound to compare.
|
|
165
|
-
*
|
|
166
|
-
* @returns {int} Comparison result.
|
|
167
|
-
*
|
|
168
|
-
* @since 1.144.0
|
|
169
|
-
* @private
|
|
170
|
-
*/
|
|
171
|
-
static compareInboundsAccordingToUuidAndLadiid (oInboundA, oInboundB) {
|
|
172
|
-
if (oInboundA.ladiid === oInboundB.ladiid) {
|
|
173
|
-
if (oInboundA.uuid === oInboundB.uuid) {
|
|
174
|
-
return 0;
|
|
175
|
-
}
|
|
176
|
-
return oInboundA.uuid < oInboundB.uuid ? -1 : 1;
|
|
177
|
-
}
|
|
178
|
-
return oInboundA.ladiid < oInboundB.ladiid ? -1 : 1;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
155
|
/**
|
|
182
156
|
* Finds the first inbound that matches the given transaction code and doesn't have mandatory parameters.
|
|
183
|
-
* Empty transaction codes lead to a null return value.
|
|
184
157
|
* @param {object} oNavigationData The navigation data containing inbounds.
|
|
185
158
|
* @param {string} sTCode The transaction code to match.
|
|
186
|
-
* @returns {object|null} The matched inbound or
|
|
187
|
-
* @throws {sap.ushell_abap.components.TCodeNavigation.TCodeNavigationError} If no matching inbound is found or if a mandatory parameter is missing.
|
|
159
|
+
* @returns {object|null} The matched inbound or null if no match is found.
|
|
188
160
|
*
|
|
189
161
|
* @since 1.140.0
|
|
190
162
|
* @private
|
|
191
163
|
*/
|
|
192
164
|
static #getValidInbound (oNavigationData, sTCode) {
|
|
193
|
-
if (sTCode === "") {
|
|
194
|
-
return null;
|
|
195
|
-
}
|
|
196
165
|
if (!oNavigationData?.inbounds) {
|
|
197
|
-
Log.error("No navigation data found"
|
|
198
|
-
|
|
199
|
-
`No matching inbound found for transaction code: ${sTCode}`,
|
|
200
|
-
{ code: MessageCode.NO_INBOUND_FOUND }
|
|
201
|
-
);
|
|
166
|
+
Log.error("No navigation data found");
|
|
167
|
+
return null;
|
|
202
168
|
}
|
|
203
169
|
|
|
204
|
-
//
|
|
205
|
-
|
|
206
|
-
// therefore, both artefacts are combined and checked together).
|
|
207
|
-
const aTranscationCodeInbounds = oNavigationData.inbounds.filter((oInbound) =>
|
|
170
|
+
// Find all inbounds with matching transaction code
|
|
171
|
+
const aMatchedInbounds = oNavigationData.inbounds.filter((oInbound) =>
|
|
208
172
|
oInbound.resolutionResult?.appInfo?.["abap.transaction"] === sTCode
|
|
209
173
|
);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
const aLadiInbounds = aTranscationCodeInbounds.filter((oInbound) =>
|
|
213
|
-
oInbound.isDefaultLadi && oInbound.ladiHasTiles);
|
|
214
|
-
// currently, it is not possible to ensure that there is only one default ladi inbound for a transaction code,
|
|
215
|
-
// therefore, we sort them by ladiid and uuid and take the first one
|
|
216
|
-
const aSortedInbounds = aLadiInbounds.sort(this.compareInboundsAccordingToUuidAndLadiid);
|
|
217
|
-
|
|
218
|
-
if (aSortedInbounds.length === 0) {
|
|
219
|
-
throw new TCodeNavigationError(
|
|
220
|
-
`No matching inbound found for transaction code: ${sTCode}`,
|
|
221
|
-
{ code: MessageCode.NO_INBOUND_FOUND }
|
|
222
|
-
);
|
|
174
|
+
if (aMatchedInbounds.length === 0) {
|
|
175
|
+
return null;
|
|
223
176
|
}
|
|
224
177
|
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
return false;
|
|
236
|
-
}
|
|
237
|
-
return true;
|
|
238
|
-
});
|
|
178
|
+
// Return the first matched inbound where all mandatory parameters have default values
|
|
179
|
+
const oValidInbound = aMatchedInbounds.find((oInbound) => {
|
|
180
|
+
const oParams = oInbound.signature?.parameters;
|
|
181
|
+
if (!oParams) {
|
|
182
|
+
return true; // No parameters, consider valid
|
|
183
|
+
}
|
|
184
|
+
// All required parameters must have a default value
|
|
185
|
+
return Object.values(oParams).every((oValue) =>
|
|
186
|
+
!oValue.required || (oValue.defaultValue && oValue.defaultValue.value)
|
|
187
|
+
);
|
|
239
188
|
});
|
|
240
189
|
|
|
241
|
-
if (
|
|
190
|
+
if (!oValidInbound) {
|
|
242
191
|
throw new TCodeNavigationError(
|
|
243
192
|
`Mandatory parameter is missing for transaction ${sTCode}`,
|
|
244
193
|
{ code: MessageCode.MANDATORY_PARAMETER_MISSING }
|
|
245
194
|
);
|
|
246
195
|
}
|
|
247
|
-
|
|
196
|
+
|
|
197
|
+
return oValidInbound;
|
|
248
198
|
}
|
|
249
199
|
}
|
|
250
200
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ui/core/Lib",
|
|
@@ -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.
|
|
33
|
+
version: "1.143.2",
|
|
34
34
|
dependencies: ["sap.ui.core", "sap.m"],
|
|
35
35
|
noLibraryCSS: true,
|
|
36
36
|
extensions: {
|