@sapui5/sap.ushell_abap 1.148.1 → 1.149.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 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +3 -3
- package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +4 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +4 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +4 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/UserInfoAdapter.js +3 -1
- package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/BootTask/MarkPerformance.js +25 -0
- package/src/main/js/sap/ushell_abap/bootstrap/BootTask/PrepareDirectAppStart.js +18 -0
- package/src/main/js/sap/ushell_abap/bootstrap/BootTask/RequestGroups.js +36 -2
- package/src/main/js/sap/ushell_abap/bootstrap/BootTask/RequestTargetMappings.js +11 -0
- package/src/main/js/sap/ushell_abap/bootstrap/BootTask.js +32 -14
- package/src/main/js/sap/ushell_abap/bootstrap/DirectAppStart.js +71 -10
- package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/CreateRenderer.js +21 -2
- package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/InitXhrLogon.js +59 -19
- package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/RequestPages.js +56 -5
- package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad.js +32 -11
- package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpadModule.js +4 -1
- package/src/main/js/sap/ushell_abap/bootstrap/PageSetsRequestHandler.js +54 -42
- package/src/main/js/sap/ushell_abap/bootstrap/PlatformConfig.js +7 -9
- package/src/main/js/sap/ushell_abap/bootstrap/SAPCompanionConditionSetter.js +33 -28
- package/src/main/js/sap/ushell_abap/bootstrap/StartupRequestHandler.js +34 -23
- package/src/main/js/sap/ushell_abap/bootstrap/ThemeHandler.js +90 -2
- package/src/main/js/sap/ushell_abap/bootstrap/XhrFactory.js +23 -13
- package/src/main/js/sap/ushell_abap/bootstrap/XhrLogonEventHandler.js +33 -10
- package/src/main/js/sap/ushell_abap/bootstrap/XhrLogonLibLoader.js +49 -1
- package/src/main/js/sap/ushell_abap/bootstrap/abap-def-dev.js +1 -0
- package/src/main/js/sap/ushell_abap/bootstrap/abap-def-loader.js +4 -0
- package/src/main/js/sap/ushell_abap/bootstrap/abap-def.js +1 -0
- package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +3 -0
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.js +2 -0
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation.js +1 -1
- package/src/main/js/sap/ushell_abap/integration/WebSsoBridge.js +57 -0
- package/src/main/js/sap/ushell_abap/library.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Contracts.js +3 -3
- package/src/main/js/sap/ushell_abap/pbServices/ui2/PageBuildingService.js +4 -16
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Utils.js +3 -2
- package/ui5.yaml +18 -13
package/package.json
CHANGED
|
@@ -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.
|
|
5
|
+
<version>1.149.0</version>
|
|
6
6
|
<copyright>Copyright (c) 2009-2026 SAP SE, All Rights Reserved</copyright>
|
|
7
7
|
<documentation>SAP library: sap.ushell_abap</documentation>
|
|
8
8
|
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
<exclude name="**/*-preload" />
|
|
40
40
|
<exclude name="**/preload-bundles/**/*" />
|
|
41
41
|
<exclude name="sap/ushell_abap/bootstrap/appruntime-min*" />
|
|
42
|
+
<exclude name="sap/ushell_abap/bootstrap/bootBundle*" />
|
|
42
43
|
<exclude name="sap/ushell_abap/bootstrap/evo/abap*" />
|
|
43
44
|
<exclude name="sap/ushell_abap/bootstrap/evo/core-min*" />
|
|
44
45
|
<exclude name="sap/ushell_abap/bootstrap/evo/core-ext-light*" />
|
|
@@ -9,15 +9,15 @@
|
|
|
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.149.0
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
15
15
|
"sap/base/util/ObjectPath",
|
|
16
16
|
"sap/base/util/isPlainObject",
|
|
17
17
|
"sap/base/util/deepExtend",
|
|
18
18
|
"sap/ushell/base/SAPBusinessClientEnablement",
|
|
19
|
+
"sap/ushell/base/UrlParsing",
|
|
19
20
|
"sap/ushell/utils",
|
|
20
|
-
"sap/ushell/utils/UrlParsing",
|
|
21
21
|
"sap/base/Log",
|
|
22
22
|
"sap/ushell_abap/pbServices/ui2/ODataWrapper",
|
|
23
23
|
"sap/ushell_abap/pbServices/ui2/Utils",
|
|
@@ -29,8 +29,8 @@ sap.ui.define([
|
|
|
29
29
|
isPlainObject,
|
|
30
30
|
deepExtend,
|
|
31
31
|
SAPBusinessClientEnablement,
|
|
32
|
-
ushellUtils,
|
|
33
32
|
UrlParsing,
|
|
33
|
+
ushellUtils,
|
|
34
34
|
Log,
|
|
35
35
|
ODataWrapper,
|
|
36
36
|
Utils,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's container adapter for the ABAP platform.
|
|
4
4
|
*
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.149.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/thirdparty/jquery",
|
|
@@ -17,6 +17,7 @@ sap.ui.define([
|
|
|
17
17
|
"sap/base/util/deepClone",
|
|
18
18
|
"sap/base/util/ObjectPath",
|
|
19
19
|
"sap/base/Log",
|
|
20
|
+
"sap/ushell/Config",
|
|
20
21
|
"sap/ushell/Container"
|
|
21
22
|
], (
|
|
22
23
|
jQuery,
|
|
@@ -31,6 +32,7 @@ sap.ui.define([
|
|
|
31
32
|
deepClone,
|
|
32
33
|
ObjectPath,
|
|
33
34
|
Log,
|
|
35
|
+
Config,
|
|
34
36
|
Container
|
|
35
37
|
) => {
|
|
36
38
|
"use strict";
|
|
@@ -513,7 +515,7 @@ sap.ui.define([
|
|
|
513
515
|
function isUserImageEnabled () {
|
|
514
516
|
// just as quick workaround, we read the renderer configuration directly
|
|
515
517
|
// will be removed later
|
|
516
|
-
const oConfig =
|
|
518
|
+
const oConfig = Config.getRawBootstrapConfig();
|
|
517
519
|
const vUserImageEnabled = ObjectPath.get("renderers.fiori2.componentData.config.enableUserImage", oConfig);
|
|
518
520
|
|
|
519
521
|
return !!vUserImageEnabled;
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Unified Shell's page building adapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.149.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/ObjectPath",
|
|
9
9
|
"sap/base/Log",
|
|
10
|
+
"sap/ushell/Config",
|
|
10
11
|
"sap/ushell_abap/pbServices/ui2/Factory"
|
|
11
12
|
], (
|
|
12
13
|
ObjectPath,
|
|
13
14
|
Log,
|
|
15
|
+
Config,
|
|
14
16
|
Factory
|
|
15
17
|
) => {
|
|
16
18
|
"use strict";
|
|
@@ -90,7 +92,7 @@ sap.ui.define([
|
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
// Get CacheId for PAGE_BUILDER_PERS when available
|
|
93
|
-
const sCacheId = ObjectPath.get("
|
|
95
|
+
const sCacheId = ObjectPath.get("services.Container.adapter.config.services.pbFioriHome.cacheId", Config.getRawBootstrapConfig());
|
|
94
96
|
|
|
95
97
|
const oFactory = Factory.createFactory(
|
|
96
98
|
sPageBuilderServiceUrl,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview PagePersistenceAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.149.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/i18n/Localization",
|
|
@@ -11,6 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
"sap/ushell/resources",
|
|
12
12
|
"sap/ushell/utils/chipsUtils",
|
|
13
13
|
"sap/ushell/Container",
|
|
14
|
+
"sap/ushell/Config",
|
|
14
15
|
"sap/ushell/utils/LaunchpadError"
|
|
15
16
|
], (
|
|
16
17
|
Localization,
|
|
@@ -19,6 +20,7 @@ sap.ui.define([
|
|
|
19
20
|
ushellResources,
|
|
20
21
|
chipsUtils,
|
|
21
22
|
Container,
|
|
23
|
+
Config,
|
|
22
24
|
LaunchpadError
|
|
23
25
|
) => {
|
|
24
26
|
"use strict";
|
|
@@ -31,7 +33,7 @@ sap.ui.define([
|
|
|
31
33
|
* @returns {string} the service url.
|
|
32
34
|
*/
|
|
33
35
|
function getServiceUrl () {
|
|
34
|
-
const oServiceConfig = (
|
|
36
|
+
const oServiceConfig = Config.getRawBootstrapConfig().services?.PagePersistence || {};
|
|
35
37
|
return (ObjectPath.get("config.serviceUrl", oServiceConfig.adapter) || "").replace(/\/?$/, "/");
|
|
36
38
|
}
|
|
37
39
|
|
|
@@ -8,6 +8,7 @@ sap.ui.define([
|
|
|
8
8
|
"sap/base/Log",
|
|
9
9
|
"sap/ushell/resources",
|
|
10
10
|
"sap/base/i18n/date/CalendarWeekNumbering",
|
|
11
|
+
"sap/ushell/Config",
|
|
11
12
|
"sap/ushell/utils/LaunchpadError"
|
|
12
13
|
], (
|
|
13
14
|
ODataWrapper,
|
|
@@ -17,6 +18,7 @@ sap.ui.define([
|
|
|
17
18
|
Log,
|
|
18
19
|
resources,
|
|
19
20
|
CalendarWeekNumbering,
|
|
21
|
+
Config,
|
|
20
22
|
LaunchpadError
|
|
21
23
|
) => {
|
|
22
24
|
"use strict";
|
|
@@ -47,7 +49,7 @@ sap.ui.define([
|
|
|
47
49
|
this._getThemeList = async function () {
|
|
48
50
|
let sThemingAPI = "/sap/bc/rest/themes"; // ABAP end point
|
|
49
51
|
|
|
50
|
-
const sClient =
|
|
52
|
+
const sClient = Config.getRawBootstrapConfig()?.startupConfig?.client;
|
|
51
53
|
if (sClient) {
|
|
52
54
|
sThemingAPI += `/~client-${sClient}`;
|
|
53
55
|
}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview This module marks the performance of the ABAP bootstrap process.
|
|
4
|
+
*/
|
|
2
5
|
sap.ui.define([
|
|
3
6
|
], (
|
|
4
7
|
) => {
|
|
5
8
|
"use strict";
|
|
6
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @alias sap.ushell_abap.bootstrap.BootTask.MarkPerformance
|
|
12
|
+
* @namespace
|
|
13
|
+
* @description This module marks the performance of the ABAP bootstrap process.
|
|
14
|
+
*
|
|
15
|
+
* @since 1.147.0
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
7
18
|
class MarkPerformance {
|
|
19
|
+
/**
|
|
20
|
+
* Marks the start of the ABAP bootstrap process.
|
|
21
|
+
* @returns {Promise<undefined>} A promise that resolves when the operation is complete.
|
|
22
|
+
*
|
|
23
|
+
* @since 1.147.0
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
8
26
|
async run () {
|
|
9
27
|
performance?.mark("FLP - boottask start");
|
|
10
28
|
}
|
|
11
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Marks the end of the ABAP bootstrap process.
|
|
32
|
+
* @returns {Promise<undefined>} A promise that resolves when the operation is complete.
|
|
33
|
+
*
|
|
34
|
+
* @since 1.147.0
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
12
37
|
async beforeReady () {
|
|
13
38
|
performance?.mark("FLP - boottask end");
|
|
14
39
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview This module prepares the direct app start by preloading necessary resources.
|
|
4
|
+
*/
|
|
2
5
|
sap.ui.define([
|
|
3
6
|
"sap/base/Log",
|
|
4
7
|
"sap/ushell_abap/bootstrap/DirectAppStart"
|
|
@@ -8,7 +11,22 @@ sap.ui.define([
|
|
|
8
11
|
) => {
|
|
9
12
|
"use strict";
|
|
10
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @alias sap.ushell_abap.bootstrap.BootTask.PrepareDirectAppStart
|
|
16
|
+
* @namespace
|
|
17
|
+
* @description This bootTask prepares the direct app start by preloading necessary resources.
|
|
18
|
+
*
|
|
19
|
+
* @since 1.147.0
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
11
22
|
class PrepareDirectAppStart {
|
|
23
|
+
/**
|
|
24
|
+
* Prepares the direct app start by preloading necessary resources.
|
|
25
|
+
* @returns {Promise<undefined>} A promise that resolves when the operation is complete.
|
|
26
|
+
*
|
|
27
|
+
* @since 1.147.0
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
12
30
|
async run () {
|
|
13
31
|
DirectAppStart.prepare().catch((oError) => {
|
|
14
32
|
Log.error("Error during the preparation of direct app start", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview This bootTask handles the early fetch of data for the classic homepage.
|
|
4
|
+
* @deprecated since 1.136. Deprecated without successor together with the classic homepage.
|
|
5
|
+
*/
|
|
2
6
|
sap.ui.define([
|
|
3
7
|
"sap/base/util/ObjectPath",
|
|
4
8
|
"sap/ushell_abap/bootstrap/PageSetsRequestHandler",
|
|
@@ -10,16 +14,30 @@ sap.ui.define([
|
|
|
10
14
|
) => {
|
|
11
15
|
"use strict";
|
|
12
16
|
|
|
17
|
+
/**
|
|
18
|
+
* @alias sap.ushell_abap.bootstrap.BootTask.RequestGroups
|
|
19
|
+
* @namespace
|
|
20
|
+
* @description This bootTask handles the early fetch of data for the classic homepage.
|
|
21
|
+
*
|
|
22
|
+
* @since 1.147.0
|
|
23
|
+
* @private
|
|
24
|
+
* @deprecated since 1.136. Deprecated without successor together with the classic homepage.
|
|
25
|
+
*/
|
|
13
26
|
class RequestGroups {
|
|
14
27
|
#aInternTargets = [
|
|
15
28
|
"#Shell-home",
|
|
16
29
|
"#Launchpad-openFLPPage",
|
|
17
30
|
"#Shell-appfinder",
|
|
18
|
-
"#Shell-catalog",
|
|
19
|
-
"#shell-catalog",
|
|
20
31
|
"#Action-search"
|
|
21
32
|
];
|
|
22
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Checks whether conditions apply for this module.
|
|
36
|
+
* @returns {boolean} True if this module is relevant and should be executed, false otherwise.
|
|
37
|
+
*
|
|
38
|
+
* @since 1.147.0
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
23
41
|
#isRelevant () {
|
|
24
42
|
const oUshellConfig = BootstrapConfig.get();
|
|
25
43
|
if (ObjectPath.get("ushell.spaces.enabled", oUshellConfig)) {
|
|
@@ -31,6 +49,14 @@ sap.ui.define([
|
|
|
31
49
|
return this.#aInternTargets.some((sTarget) => sHash.startsWith(sTarget));
|
|
32
50
|
}
|
|
33
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Executes the boot task.
|
|
54
|
+
* Result is not awaited, as the results are handled via the datajs cache.
|
|
55
|
+
* @returns {Promise<undefined>} A promise that resolves instantly
|
|
56
|
+
*
|
|
57
|
+
* @since 1.147.0
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
34
60
|
async run () {
|
|
35
61
|
if (!this.#isRelevant()) {
|
|
36
62
|
return;
|
|
@@ -42,6 +68,14 @@ sap.ui.define([
|
|
|
42
68
|
PageSetsRequestHandler.requestPageSets(oContainerAdapterConfig);
|
|
43
69
|
}
|
|
44
70
|
|
|
71
|
+
/**
|
|
72
|
+
* Returns the window.location.hash string.
|
|
73
|
+
* Extracted as a method to allow stubbing in tests.
|
|
74
|
+
* @returns {string} The hash portion of the URL
|
|
75
|
+
*
|
|
76
|
+
* @since 1.147.0
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
45
79
|
getLocationHash () {
|
|
46
80
|
return window.location.hash || "#";
|
|
47
81
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Boot task to request the target mappings from the backend.
|
|
4
|
+
*/
|
|
2
5
|
sap.ui.define([
|
|
3
6
|
"sap/base/util/ObjectPath",
|
|
4
7
|
"sap/ushell_abap/bootstrap/StartupRequestHandler",
|
|
@@ -10,6 +13,14 @@ sap.ui.define([
|
|
|
10
13
|
) => {
|
|
11
14
|
"use strict";
|
|
12
15
|
|
|
16
|
+
/**
|
|
17
|
+
* @alias sap.ushell_abap.bootstrap.BootTask.RequestTargetMappings
|
|
18
|
+
* @namespace
|
|
19
|
+
* @description This bootTask requests ALL target mappings from the backend and stores the resulting promise in the ushell config.
|
|
20
|
+
*
|
|
21
|
+
* @since 1.147.0
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
13
24
|
class RequestTargetMappings {
|
|
14
25
|
async run () {
|
|
15
26
|
const oUshellConfig = BootstrapConfig.get();
|
|
@@ -1,52 +1,70 @@
|
|
|
1
1
|
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview This modules combines all bootTasks to be consumable for the xx-boottask setting.
|
|
4
|
+
* @deprecated since 1.136. Use the bootManifest instead.
|
|
5
|
+
*/
|
|
2
6
|
sap.ui.define([
|
|
3
7
|
"sap/base/Log",
|
|
4
8
|
"sap/ui/performance/trace/initTraces",
|
|
9
|
+
"sap/ushell_abap/bootstrap/BootTask/MarkPerformance",
|
|
5
10
|
"sap/ushell_abap/bootstrap/BootTask/PrepareDirectAppStart",
|
|
6
|
-
"sap/ushell_abap/bootstrap/BootTask/RequestTargetMappings",
|
|
7
11
|
"sap/ushell_abap/bootstrap/BootTask/RequestGroups",
|
|
8
|
-
"sap/ushell_abap/bootstrap/BootTask/
|
|
12
|
+
"sap/ushell_abap/bootstrap/BootTask/RequestTargetMappings"
|
|
9
13
|
], (
|
|
10
14
|
Log,
|
|
11
15
|
initTraces,
|
|
16
|
+
MarkPerformance,
|
|
12
17
|
PrepareDirectAppStart,
|
|
13
|
-
RequestTargetMappings,
|
|
14
18
|
RequestGroups,
|
|
15
|
-
|
|
19
|
+
RequestTargetMappings
|
|
16
20
|
) => {
|
|
17
21
|
"use strict";
|
|
18
22
|
|
|
19
23
|
class BootTask {
|
|
24
|
+
#aParallelPromises = [];
|
|
25
|
+
|
|
20
26
|
async run (fnCallback, fnErrorCallback) {
|
|
27
|
+
this.#aParallelPromises = [];
|
|
28
|
+
|
|
21
29
|
try {
|
|
22
|
-
MarkPerformance.run().catch((oError) => {
|
|
30
|
+
this.#aParallelPromises.push(MarkPerformance.run().catch((oError) => {
|
|
23
31
|
Log.error("Error during performance marking", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
24
|
-
});
|
|
32
|
+
}));
|
|
25
33
|
|
|
26
34
|
// initialize UI5 performance tracing (FESR) before first request is sent, so that this is also instrumented
|
|
27
35
|
initTraces();
|
|
28
36
|
|
|
29
|
-
PrepareDirectAppStart.run().catch((oError) => {
|
|
37
|
+
this.#aParallelPromises.push(PrepareDirectAppStart.run().catch((oError) => {
|
|
30
38
|
Log.error("Error during the preparation of direct app start", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
31
|
-
});
|
|
39
|
+
}));
|
|
32
40
|
|
|
33
|
-
RequestGroups.run().catch((oError) => {
|
|
41
|
+
this.#aParallelPromises.push(RequestGroups.run().catch((oError) => {
|
|
34
42
|
Log.error("Error during request of groups", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
35
|
-
});
|
|
43
|
+
}));
|
|
36
44
|
|
|
37
|
-
RequestTargetMappings.run().catch((oError) => {
|
|
45
|
+
this.#aParallelPromises.push(RequestTargetMappings.run().catch((oError) => {
|
|
38
46
|
Log.error("Error during request of target mappings", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
39
|
-
});
|
|
47
|
+
}));
|
|
40
48
|
|
|
41
|
-
MarkPerformance.beforeReady().catch((oError) => {
|
|
49
|
+
this.#aParallelPromises.push(MarkPerformance.beforeReady().catch((oError) => {
|
|
42
50
|
Log.error("Error during performance marking", oError, "sap.ushell_abap.bootstrap.BootTask");
|
|
43
|
-
});
|
|
51
|
+
}));
|
|
44
52
|
|
|
45
53
|
fnCallback();
|
|
46
54
|
} catch (oError) {
|
|
47
55
|
fnErrorCallback(oError);
|
|
48
56
|
}
|
|
49
57
|
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Helper for testing to await async processes
|
|
61
|
+
*
|
|
62
|
+
* @since 1.148.0
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
async awaitParallelTasks () {
|
|
66
|
+
await Promise.all(this.#aParallelPromises);
|
|
67
|
+
}
|
|
50
68
|
}
|
|
51
69
|
|
|
52
70
|
return new BootTask();
|