@sapui5/sap.ushell_abap 1.143.3 → 1.144.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.
- 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 +17 -81
- 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 +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/MenuAdapter.js +2 -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 +1 -1
- 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 +4 -3
- 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 +76 -26
- 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/ui5.yaml +3 -5
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.144.0</version>
|
|
6
|
+
<copyright>Copyright (c) 2009-2026 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-2026 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.144.0
|
|
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-2026 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.144.0
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
15
15
|
"sap/base/util/ObjectPath",
|
|
@@ -80,6 +80,9 @@ 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.
|
|
83
86
|
*
|
|
84
87
|
* @since 1.135.0
|
|
85
88
|
* @private
|
|
@@ -203,37 +206,8 @@ sap.ui.define([
|
|
|
203
206
|
}
|
|
204
207
|
};
|
|
205
208
|
|
|
206
|
-
this.
|
|
207
|
-
|
|
208
|
-
"Falling back to full start_up request from adapter",
|
|
209
|
-
"",
|
|
210
|
-
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
211
|
-
);
|
|
212
|
-
that._requestAllTargetMappings()
|
|
213
|
-
.then((oFullStartupResult) => {
|
|
214
|
-
that._storeFromFullStartupResponse(oFullStartupResult);
|
|
215
|
-
fnResolve(); // resolve the full promise
|
|
216
|
-
})
|
|
217
|
-
.catch((oError) => {
|
|
218
|
-
fnReject(oError); // reject the full promise
|
|
219
|
-
});
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
this._iTargetMappingsUnusedPromiseRejectCount = 0;
|
|
223
|
-
this._oInitialSegmentPromise = oAdapterConfig && oAdapterConfig.config && oAdapterConfig.config.initialSegmentPromise
|
|
224
|
-
|| (new Promise((fnResolve, fnReject1) => {
|
|
225
|
-
that._iTargetMappingsUnusedPromiseRejectCount++;
|
|
226
|
-
if (that._iTargetMappingsUnusedPromiseRejectCount === 2) {
|
|
227
|
-
that._fallbackToFullStartupRequest(fnResolve, fnReject1);
|
|
228
|
-
}
|
|
229
|
-
}));
|
|
230
|
-
this._oNavTargetPromise = oAdapterConfig && oAdapterConfig.config && oAdapterConfig.config.navTargetDataPromise
|
|
231
|
-
|| (new Promise((fnResolve, fnReject2) => {
|
|
232
|
-
that._iTargetMappingsUnusedPromiseRejectCount++;
|
|
233
|
-
if (that._iTargetMappingsUnusedPromiseRejectCount === 2) {
|
|
234
|
-
that._fallbackToFullStartupRequest(fnResolve, fnReject2);
|
|
235
|
-
}
|
|
236
|
-
}));
|
|
209
|
+
this._oInitialSegmentPromise = oAdapterConfig && oAdapterConfig.config && oAdapterConfig.config.initialSegmentPromise;
|
|
210
|
+
this._oNavTargetPromise = oAdapterConfig && oAdapterConfig.config && oAdapterConfig.config.navTargetDataPromise;
|
|
237
211
|
|
|
238
212
|
this._oInitialSegmentPromise.then((aArgs) => {
|
|
239
213
|
if (aArgs === null) {
|
|
@@ -492,53 +466,6 @@ sap.ui.define([
|
|
|
492
466
|
});
|
|
493
467
|
};
|
|
494
468
|
|
|
495
|
-
/**
|
|
496
|
-
* Obtain the full set of inbounds via the start_up service.
|
|
497
|
-
*
|
|
498
|
-
* @returns {Promise} Resolves the target mappings.
|
|
499
|
-
*/
|
|
500
|
-
ClientSideTargetResolutionAdapter.prototype._requestAllTargetMappings = function () {
|
|
501
|
-
const mParameterMap = Utils.getParameterMap();
|
|
502
|
-
let sRequestUrl = "/sap/bc/ui2/start_up?so=%2A&action=%2A&";
|
|
503
|
-
const sCacheId = (ObjectPath.create("services.targetMappings", this._oAdapterConfig).cacheId
|
|
504
|
-
&& (`&sap-cache-id=${ObjectPath.create("services.targetMappings", this._oAdapterConfig).cacheId}`)) || "";
|
|
505
|
-
|
|
506
|
-
// add client and language if in url
|
|
507
|
-
|
|
508
|
-
/**
|
|
509
|
-
* Copies the URL parameter with the given name from <code>mParameterMap</code> to
|
|
510
|
-
* <code>sRequestUrl</code> if within the relevant list.
|
|
511
|
-
*
|
|
512
|
-
* @param {string} sName URL parameter name
|
|
513
|
-
* @private
|
|
514
|
-
*/
|
|
515
|
-
function copyParameter (sName) {
|
|
516
|
-
const sValue = mParameterMap[sName];
|
|
517
|
-
if (sValue) {
|
|
518
|
-
sRequestUrl += `${sName}=${encodeURIComponent(sValue[0])}&`;
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
copyParameter("sap-language");
|
|
522
|
-
copyParameter("sap-client");
|
|
523
|
-
|
|
524
|
-
return new Promise((fnResolve, fnReject) => {
|
|
525
|
-
Utils.get(
|
|
526
|
-
`${sRequestUrl}&shellType=${ushellUtils.getShellType()}&depth=0${sCacheId}`,
|
|
527
|
-
false, /* xml= */
|
|
528
|
-
(sNavTargetDataResult) => {
|
|
529
|
-
const oNavTargetDataResult = JSON.parse(sNavTargetDataResult);
|
|
530
|
-
if (!oNavTargetDataResult) {
|
|
531
|
-
fnReject(new Error("Malformed Full TM Result"));
|
|
532
|
-
}
|
|
533
|
-
fnResolve(oNavTargetDataResult);
|
|
534
|
-
},
|
|
535
|
-
(sErrorMessage) => {
|
|
536
|
-
fnReject(new Error(sErrorMessage));
|
|
537
|
-
}
|
|
538
|
-
);
|
|
539
|
-
});
|
|
540
|
-
};
|
|
541
|
-
|
|
542
469
|
/**
|
|
543
470
|
* Formats a set of target mappings returned by the start_up result into inbounds.
|
|
544
471
|
*
|
|
@@ -562,9 +489,15 @@ sap.ui.define([
|
|
|
562
489
|
* applicationType: "SAPUI5",
|
|
563
490
|
* applicationDependencies: "...",
|
|
564
491
|
* url: "/sap/bc/ui5_ui5/ui2/test_path",
|
|
492
|
+
* systemAlias: "MILLEFIORI",
|
|
565
493
|
* createdOn: "2015-08-04",
|
|
566
494
|
* catalogId: "X-SAP-UI2-CATALOGPAGE:/UI2/CATALOG",
|
|
567
|
-
* tmChipId: "01O2TR99M0M42Q838RE8YGK0Z"
|
|
495
|
+
* tmChipId: "01O2TR99M0M42Q838RE8YGK0Z",
|
|
496
|
+
* tcode: "/ASU/MAINTAIN",
|
|
497
|
+
* uiadId: "FA163E8D39F61EE5AEA232C2169D0883",
|
|
498
|
+
* isDefaultLadi: true,
|
|
499
|
+
* ladiHasTiles: true,
|
|
500
|
+
* defaultTileParams: "sap-ui-tech-hint=GUI"
|
|
568
501
|
* },
|
|
569
502
|
* ...
|
|
570
503
|
* }
|
|
@@ -604,6 +537,9 @@ sap.ui.define([
|
|
|
604
537
|
oTarget.title = oSrc.text;
|
|
605
538
|
oTarget.permanentKey = `X-SAP-UI2-PAGE:${oSrc.catalogId}:${oSrc.tmChipId}`;
|
|
606
539
|
oTarget.contentProviderId = "";
|
|
540
|
+
oTarget.isDefaultLadi = oSrc.isDefaultLadi || false;
|
|
541
|
+
oTarget.ladiHasTiles = oSrc.ladiHasTiles || false;
|
|
542
|
+
oTarget.defaultTileParams = oSrc.defaultTileParams || "";
|
|
607
543
|
|
|
608
544
|
// resolution result
|
|
609
545
|
const oFakeResolutionResult = {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
], () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
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-2026 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.144.0
|
|
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-2026 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.144.0
|
|
7
7
|
*/
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/ui/thirdparty/URI",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
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-2026 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview MenuAdapter for the ABAP platform.
|
|
@@ -118,6 +118,7 @@ sap.ui.define([
|
|
|
118
118
|
* @returns {Promise<MenuEntry[]>} The menu entries, @see sap.ushell.services.menu#MenuEntry
|
|
119
119
|
* @since 1.104.0
|
|
120
120
|
* @private
|
|
121
|
+
* @deprecated Since 1.104. Only relevant for {@link sap.ushell.services.Menu#getSpacesPagesHierarchy} which is deprecated as of version 1.104.
|
|
121
122
|
*/
|
|
122
123
|
MenuAdapter.prototype.getContentNodeEntries = function () {
|
|
123
124
|
const aMetatagMenu = this._getAssignedSpaces();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
12
12
|
*/
|
|
13
13
|
sap.ui.define([], () => {
|
|
14
14
|
"use strict";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
12
12
|
* @since 1.121
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([], () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
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-2026 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview PagePersistenceAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.144.0
|
|
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-2026 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.144.0
|
|
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-2026 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.144.0
|
|
11
11
|
*/
|
|
12
12
|
sap.ui.define([
|
|
13
13
|
"./PersonalizationAdapter"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([], () => {
|
|
8
8
|
"use strict";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
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-2026 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.144.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
], () => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0
|
|
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-2026 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.144.0
|
|
18
18
|
*/
|
|
19
19
|
sap.ui.define([
|
|
20
20
|
"./abap.constants",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ushell_abap/bootstrap/evo/abap.xhrlogon.LibLoader",
|
|
@@ -897,11 +897,12 @@ sap.ui.define([
|
|
|
897
897
|
const oLaunchPageAdapterConfig = ObjectPath.get("sap-ushell-config.services.LaunchPage.adapter.config") || ObjectPath.create("sap-ushell-config.services.LaunchPage.adapter.config");
|
|
898
898
|
const oClientSideTargetResolutionAdapterConfig = ObjectPath.get("sap-ushell-config.services.ClientSideTargetResolution.adapter.config") ||
|
|
899
899
|
ObjectPath.create("sap-ushell-config.services.ClientSideTargetResolution.adapter.config");
|
|
900
|
+
// NavigationDataProvider and ClientSideTargetResolution both create a ClientSideTargetResolutionAdapter instance. These should
|
|
901
|
+
// use the same config object (not copies) as the request promises are stored in the config and need to be accessible for all instances.
|
|
902
|
+
ObjectPath.set("sap-ushell-config.services.NavigationDataProvider.adapter.config", oClientSideTargetResolutionAdapterConfig);
|
|
900
903
|
if (ObjectPath.get("sap-ushell-config.ushell.spaces.enabled")) {
|
|
901
904
|
// VisualizationDataProvider and LaunchPageAdapter should have the same configuration
|
|
902
905
|
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);
|
|
905
906
|
}
|
|
906
907
|
processDirectStart(oStartupResult);
|
|
907
908
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ushell/Container",
|
|
@@ -7,7 +7,8 @@ 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"
|
|
10
|
+
"sap/ushell_abap/components/TCodeNavigation/MessageCode",
|
|
11
|
+
"sap/ushell/utils/UrlParsing"
|
|
11
12
|
], (
|
|
12
13
|
Container,
|
|
13
14
|
Log,
|
|
@@ -15,7 +16,8 @@ sap.ui.define([
|
|
|
15
16
|
WindowUtils,
|
|
16
17
|
NavigationSource,
|
|
17
18
|
TCodeNavigationError,
|
|
18
|
-
MessageCode
|
|
19
|
+
MessageCode,
|
|
20
|
+
UrlParsing
|
|
19
21
|
) => {
|
|
20
22
|
"use strict";
|
|
21
23
|
|
|
@@ -112,7 +114,7 @@ sap.ui.define([
|
|
|
112
114
|
{ code: MessageCode.NO_INBOUND_FOUND }
|
|
113
115
|
);
|
|
114
116
|
} catch (oError) {
|
|
115
|
-
Log.error("Error during TCode navigation", oError);
|
|
117
|
+
Log.error("Error during TCode navigation", oError, "sap.ushell_abap.components.TCodeNavigation");
|
|
116
118
|
const oErrorResult = new TCodeNavigationError(
|
|
117
119
|
"Error during TCode navigation.",
|
|
118
120
|
{
|
|
@@ -126,6 +128,7 @@ sap.ui.define([
|
|
|
126
128
|
|
|
127
129
|
/**
|
|
128
130
|
* 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.
|
|
129
132
|
* @param {object} oValidInbound The valid inbound object containing semanticObject and action.
|
|
130
133
|
* @param {boolean} bExplace Indicates whether to open the navigation in a new tab.
|
|
131
134
|
*
|
|
@@ -134,11 +137,11 @@ sap.ui.define([
|
|
|
134
137
|
*/
|
|
135
138
|
static async #navigateByInbound (oValidInbound, bExplace) {
|
|
136
139
|
const { semanticObject: sSemanticObject, action: sAction } = oValidInbound;
|
|
137
|
-
const oParams = {};
|
|
140
|
+
const oParams = UrlParsing.parseParameters(`?${oValidInbound?.defaultTileParams}`);
|
|
141
|
+
oParams["sap-ui-app-id-hint"] = oValidInbound.resolutionResult?.appId;
|
|
138
142
|
if (bExplace) {
|
|
139
143
|
oParams["sap-ushell-navmode"] = "explace";
|
|
140
144
|
}
|
|
141
|
-
|
|
142
145
|
// Log the navigation source for performance tracking
|
|
143
146
|
this.#oExtension.addNavigationSource(NavigationSource.SearchDirectLaunch);
|
|
144
147
|
|
|
@@ -152,49 +155,96 @@ sap.ui.define([
|
|
|
152
155
|
});
|
|
153
156
|
}
|
|
154
157
|
|
|
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
|
+
|
|
155
181
|
/**
|
|
156
182
|
* 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.
|
|
157
184
|
* @param {object} oNavigationData The navigation data containing inbounds.
|
|
158
185
|
* @param {string} sTCode The transaction code to match.
|
|
159
|
-
* @returns {object|null} The matched inbound or null if no match is found.
|
|
186
|
+
* @returns {object|null} The matched inbound or <code>null</code> if no match is found.
|
|
187
|
+
* @throws {sap.ushell_abap.components.TCodeNavigation.TCodeNavigationError} If no matching inbound is found or if a mandatory parameter is missing.
|
|
160
188
|
*
|
|
161
189
|
* @since 1.140.0
|
|
162
190
|
* @private
|
|
163
191
|
*/
|
|
164
192
|
static #getValidInbound (oNavigationData, sTCode) {
|
|
165
|
-
if (
|
|
166
|
-
Log.error("No navigation data found");
|
|
193
|
+
if (sTCode === "") {
|
|
167
194
|
return null;
|
|
168
195
|
}
|
|
196
|
+
if (!oNavigationData?.inbounds) {
|
|
197
|
+
Log.error("No navigation data found", null, "sap.ushell_abap.components.TCodeNavigation");
|
|
198
|
+
throw new TCodeNavigationError(
|
|
199
|
+
`No matching inbound found for transaction code: ${sTCode}`,
|
|
200
|
+
{ code: MessageCode.NO_INBOUND_FOUND }
|
|
201
|
+
);
|
|
202
|
+
}
|
|
169
203
|
|
|
170
|
-
//
|
|
171
|
-
|
|
204
|
+
// Finds the first "app" that matches the given transaction code and doesn't have mandatory parameters.
|
|
205
|
+
// "App" in this sense mean: combination of inbound and default tile (the default tile might bring values for defined mandatory parameters,
|
|
206
|
+
// therefore, both artefacts are combined and checked together).
|
|
207
|
+
const aTranscationCodeInbounds = oNavigationData.inbounds.filter((oInbound) =>
|
|
172
208
|
oInbound.resolutionResult?.appInfo?.["abap.transaction"] === sTCode
|
|
173
209
|
);
|
|
174
|
-
if (aMatchedInbounds.length === 0) {
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
210
|
|
|
178
|
-
//
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
211
|
+
// filter inbounds which are default for ladi and have tiles
|
|
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 }
|
|
187
222
|
);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// filter inbound where all mandatory parameters have values of the default tile
|
|
226
|
+
|
|
227
|
+
const aValidInbounds = aSortedInbounds.filter((oInbound) => {
|
|
228
|
+
const oDefaultTileParams = UrlParsing.parseParameters(`?${oInbound?.defaultTileParams}`);
|
|
229
|
+
const oInboundParams = oInbound.signature?.parameters || {};
|
|
230
|
+
return Object.keys(oInboundParams).every((sKey) => {
|
|
231
|
+
if (oInboundParams[sKey].required) {
|
|
232
|
+
if (oDefaultTileParams[sKey]) {
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
return true;
|
|
238
|
+
});
|
|
188
239
|
});
|
|
189
240
|
|
|
190
|
-
if (
|
|
241
|
+
if (aValidInbounds.length === 0) {
|
|
191
242
|
throw new TCodeNavigationError(
|
|
192
243
|
`Mandatory parameter is missing for transaction ${sTCode}`,
|
|
193
244
|
{ code: MessageCode.MANDATORY_PARAMETER_MISSING }
|
|
194
245
|
);
|
|
195
246
|
}
|
|
196
|
-
|
|
197
|
-
return oValidInbound;
|
|
247
|
+
return aValidInbounds[0];
|
|
198
248
|
}
|
|
199
249
|
}
|
|
200
250
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c) 2009-
|
|
1
|
+
// Copyright (c) 2009-2026 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.144.0",
|
|
34
34
|
dependencies: ["sap.ui.core", "sap.m"],
|
|
35
35
|
noLibraryCSS: true,
|
|
36
36
|
extensions: {
|
package/ui5.yaml
CHANGED
|
@@ -75,7 +75,7 @@ builder:
|
|
|
75
75
|
filters: &appruntime-preload
|
|
76
76
|
- sap/ushell/appRuntime/ui5/
|
|
77
77
|
- sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js
|
|
78
|
-
- sap/ushell/
|
|
78
|
+
- sap/ushell/services/PluginManager/PostMessagePluginInterface.js
|
|
79
79
|
- sap/ushell/components/pages/controller/PagesAndSpaceId.js
|
|
80
80
|
- sap/ushell/ui5service/UserStatus.js
|
|
81
81
|
- sap/ushell/Ui5ServiceFactory.js
|
|
@@ -88,12 +88,11 @@ builder:
|
|
|
88
88
|
- sap/ushell/utils/UrlShortening.js
|
|
89
89
|
- sap/ushell/Container.js
|
|
90
90
|
- sap/ushell/EventHub.js
|
|
91
|
+
- sap/ushell/navigation/ColdStart.js
|
|
91
92
|
- sap/ushell/resources.js
|
|
92
|
-
- sap/ushell/renderer/History
|
|
93
93
|
- sap/ushell/renderer/utils
|
|
94
94
|
- sap/ushell/renderer/ShellLayout
|
|
95
95
|
- sap/ushell/renderer/search/HashChangeHandler.js
|
|
96
|
-
- sap/ushell/renderers/fiori2/History
|
|
97
96
|
- sap/ushell/System.js
|
|
98
97
|
- sap/ushell/Ui5NativeServiceFactory.js
|
|
99
98
|
- sap/ushell/User.js
|
|
@@ -428,13 +427,11 @@ builder:
|
|
|
428
427
|
- sap/ushell/library.js
|
|
429
428
|
- sap/ushell/modules
|
|
430
429
|
- sap/ushell/override.js
|
|
431
|
-
- sap/ushell/renderer/History.js
|
|
432
430
|
- sap/ushell/renderer/Renderer.js
|
|
433
431
|
- sap/ushell/renderer/RendererRootView.fragment.xml
|
|
434
432
|
- sap/ushell/renderer/Shell.controller.js
|
|
435
433
|
- sap/ushell/renderer/Shell.view.js
|
|
436
434
|
- sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml
|
|
437
|
-
- sap/ushell/renderers/fiori2/History.js
|
|
438
435
|
- sap/ushell/renderers/fiori2/LogonFrameProvider.js
|
|
439
436
|
- sap/ushell/renderers/fiori2/Renderer.js
|
|
440
437
|
- sap/ushell/renderers/fiori2/RendererExtensions.js
|
|
@@ -589,6 +586,7 @@ builder:
|
|
|
589
586
|
- sap/ushell/utils/AppType.js
|
|
590
587
|
# Default ushell modules
|
|
591
588
|
- sap/ushell/components/shell/Notifications/NotificationsModule.js
|
|
589
|
+
- sap/ushell/components/shell/ProductSwitch/ProductSwitchModule.js
|
|
592
590
|
resolve: false
|
|
593
591
|
bundleOptions:
|
|
594
592
|
optimize: true
|