@sapui5/sap.ushell_abap 1.147.1 → 1.148.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 (28) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +1 -20
  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 +45 -4
  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 +1 -1
  9. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
  10. package/src/main/js/sap/ushell_abap/adapters/abap/MenuAdapter.js +8 -0
  11. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
  17. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  18. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  20. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  21. package/src/main/js/sap/ushell_abap/bootstrap/BootTask/MarkPerformance.js +18 -0
  22. package/src/main/js/sap/ushell_abap/bootstrap/BootTask.js +10 -4
  23. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +31 -18
  24. package/src/main/js/sap/ushell_abap/bootstrap/bootManifest.json +12 -0
  25. package/src/main/js/sap/ushell_abap/library.js +10 -4
  26. package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +21 -61
  27. package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipInstance.js +11 -8
  28. package/ui5.yaml +148 -67
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.147.1",
3
+ "version": "1.148.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -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.147.1</version>
5
+ <version>1.148.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
 
@@ -16,18 +16,6 @@
16
16
  <dependency>
17
17
  <libraryName>sap.ushell</libraryName>
18
18
  </dependency>
19
- <dependency>
20
- <libraryName>sap.ui.layout</libraryName>
21
- <lazy>true</lazy>
22
- </dependency>
23
- <dependency>
24
- <libraryName>sap.ui.fl</libraryName>
25
- <lazy>true</lazy>
26
- </dependency>
27
- <dependency>
28
- <libraryName>sap.f</libraryName>
29
- <lazy>true</lazy>
30
- </dependency>
31
19
  </dependencies>
32
20
 
33
21
  <appData>
@@ -36,13 +24,6 @@
36
24
  <raw-module name="sap/ushell_abap/thirdparty/sap-xhrlib-esm-dbg.js" />
37
25
  <raw-module name="sap/ushell_abap/thirdparty/sap-xhrlib-esm.js" />
38
26
  </module-infos>
39
- <all-in-one>
40
- <exclude name="sap/ushell_abap/bootstrap/evo/abap.js" />
41
- <exclude name="sap/ushell_abap/thirdparty/" />
42
- <!-- excludes plugins from preload file -->
43
- <exclude name="sap/ushell_abap/plugins/" />
44
- <exclude name="sap/ushell_abap/support/plugins/" />
45
- </all-in-one>
46
27
  </packaging>
47
28
  <jsdoc xmlns="http://www.sap.com/ui5/buildext/jsdoc">
48
29
  <!-- excludes for JSDoc -->
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
5
- * @version 1.147.1
5
+ * @version 1.148.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.147.1
12
+ * @version 1.148.0
13
13
  */
14
14
  sap.ui.define([
15
15
  "sap/base/util/ObjectPath",
@@ -22,6 +22,7 @@ sap.ui.define([
22
22
  "sap/ushell_abap/pbServices/ui2/ODataWrapper",
23
23
  "sap/ushell_abap/pbServices/ui2/Utils",
24
24
  "sap/ui/thirdparty/URI",
25
+ "sap/ushell/Config",
25
26
  "sap/ushell/Container"
26
27
  ], (
27
28
  ObjectPath,
@@ -34,6 +35,7 @@ sap.ui.define([
34
35
  ODataWrapper,
35
36
  Utils,
36
37
  URI,
38
+ Config,
37
39
  Container
38
40
  ) => {
39
41
  "use strict";
@@ -386,6 +388,45 @@ sap.ui.define([
386
388
 
387
389
  // functions past this point are helpers for the getInbounds function
388
390
 
391
+ /**
392
+ * Returns ABAP-specific virtual inbounds.
393
+ *
394
+ * Always adds a <code>Launchpad-openSpaceOverview</code> inbound, using configurable component
395
+ * name, URL, and async hints with fallback defaults for ABAP systems that carry the
396
+ * component at the standard path but do not explicitly configure ushell settings.
397
+ *
398
+ * @returns {object[]} Array of virtual inbound objects.
399
+ * @private
400
+ */
401
+ ClientSideTargetResolutionAdapter.prototype._getAbapVirtualInbounds = function () {
402
+ const sComponentName = Config.last("/abap/spaces/spaceOverview/component/name") || "ux.eng.workarea";
403
+ const sUrl = Config.last("/abap/spaces/spaceOverview/component/url") || "/sap/bc/ui5_ui5/sap/ux_workarea/";
404
+ const oAsyncHints = Config.last("/abap/spaces/spaceOverview/component/asyncHints") || {};
405
+ return [{
406
+ hideIntentLink: true,
407
+ semanticObject: "Launchpad",
408
+ action: "openSpaceOverview",
409
+ deviceTypes: { desktop: true, tablet: true, phone: true },
410
+ signature: {
411
+ parameters: { spaceId: { required: true } },
412
+ additionalParameters: "ignored"
413
+ },
414
+ resolutionResult: {
415
+ applicationType: "URL",
416
+ applicationDependencies: {
417
+ name: sComponentName,
418
+ asyncHints: oAsyncHints
419
+ },
420
+ additionalInformation: `SAPUI5.Component=${sComponentName}`,
421
+ url: sUrl,
422
+ loadCoreExt: false,
423
+ loadDefaultDependencies: false,
424
+ isFLPHome: true,
425
+ fullWidth: true
426
+ }
427
+ }];
428
+ };
429
+
389
430
  /**
390
431
  * Produces a list of Inbounds suitable for ClientSideTargetResolution.
391
432
  * When aSegment is defined, an initial promise matching the segment may be used to supply the result
@@ -412,7 +453,7 @@ sap.ui.define([
412
453
 
413
454
  ({ aResult: this._aInbounds, oResultABAP: this._oInboundsABAP } = this._formatDirectStart(this._aTargetMappings));
414
455
 
415
- fnResolve(this._aInbounds);
456
+ fnResolve(this._aInbounds.concat(this._getAbapVirtualInbounds()));
416
457
  } else {
417
458
  Log.debug(
418
459
  "Did not get inbound in initial segment",
@@ -436,10 +477,10 @@ sap.ui.define([
436
477
  // we don't want to check for the initial segment in the future anymore, since we've got all the inbounds now.
437
478
  this.getInbounds = function () {
438
479
  // replace implementation of this method (no conversion in future calls anymore!)
439
- return Promise.resolve(this._aInbounds);
480
+ return Promise.resolve(this._aInbounds.concat(this._getAbapVirtualInbounds()));
440
481
  };
441
482
 
442
- fnResolve(this._aInbounds);
483
+ fnResolve(this._aInbounds.concat(this._getAbapVirtualInbounds()));
443
484
  })
444
485
  .catch(fnReject);
445
486
  });
@@ -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.147.1
5
+ * @version 1.148.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.147.1
5
+ * @version 1.148.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/abapConstants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.147.1
5
+ * @version 1.148.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.147.1
6
+ * @version 1.148.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/URI",
@@ -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.147.1
7
+ * @version 1.148.0
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
@@ -198,6 +198,14 @@ sap.ui.define([
198
198
 
199
199
  if (aSubMenuEntries.length > 1) {
200
200
  oTopMenuEntry.menuEntries = aSubMenuEntries;
201
+
202
+ if (Config.last("/abap/spaces/spaceOverview/enabled")) {
203
+ oTopMenuEntry.target.semanticObject = "Launchpad";
204
+ oTopMenuEntry.target.action = "openSpaceOverview";
205
+ oTopMenuEntry.target.parameters = [
206
+ { name: "spaceId", value: oSpace.id }
207
+ ];
208
+ }
201
209
  }
202
210
 
203
211
  return oTopMenuEntry;
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the ABAP
9
9
  * platform.
10
10
  *
11
- * @version 1.147.1
11
+ * @version 1.148.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.147.1
11
+ * @version 1.148.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.147.1
5
+ * @version 1.148.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.147.1
5
+ * @version 1.148.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.147.1
10
+ * @version 1.148.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.147.1
10
+ * @version 1.148.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.147.1
5
+ * @version 1.148.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.147.1
5
+ * @version 1.148.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.147.1
5
+ * @version 1.148.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.147.1
6
+ * @version 1.148.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/jquery",
@@ -0,0 +1,18 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+ sap.ui.define([
3
+ ], (
4
+ ) => {
5
+ "use strict";
6
+
7
+ class MarkPerformance {
8
+ async run () {
9
+ performance?.mark("FLP - boottask start");
10
+ }
11
+
12
+ async beforeReady () {
13
+ performance?.mark("FLP - boottask end");
14
+ }
15
+ }
16
+
17
+ return new MarkPerformance();
18
+ });
@@ -4,20 +4,24 @@ sap.ui.define([
4
4
  "sap/ui/performance/trace/initTraces",
5
5
  "sap/ushell_abap/bootstrap/BootTask/PrepareDirectAppStart",
6
6
  "sap/ushell_abap/bootstrap/BootTask/RequestTargetMappings",
7
- "sap/ushell_abap/bootstrap/BootTask/RequestGroups"
7
+ "sap/ushell_abap/bootstrap/BootTask/RequestGroups",
8
+ "sap/ushell_abap/bootstrap/BootTask/MarkPerformance"
8
9
  ], (
9
10
  Log,
10
11
  initTraces,
11
12
  PrepareDirectAppStart,
12
13
  RequestTargetMappings,
13
- RequestGroups
14
+ RequestGroups,
15
+ MarkPerformance
14
16
  ) => {
15
17
  "use strict";
16
18
 
17
19
  class BootTask {
18
20
  async run (fnCallback, fnErrorCallback) {
19
21
  try {
20
- performance?.mark("FLP - boottask start");
22
+ MarkPerformance.run().catch((oError) => {
23
+ Log.error("Error during performance marking", oError, "sap.ushell_abap.bootstrap.BootTask");
24
+ });
21
25
 
22
26
  // initialize UI5 performance tracing (FESR) before first request is sent, so that this is also instrumented
23
27
  initTraces();
@@ -34,7 +38,9 @@ sap.ui.define([
34
38
  Log.error("Error during request of target mappings", oError, "sap.ushell_abap.bootstrap.BootTask");
35
39
  });
36
40
 
37
- performance?.mark("FLP - boottask end");
41
+ MarkPerformance.beforeReady().catch((oError) => {
42
+ Log.error("Error during performance marking", oError, "sap.ushell_abap.bootstrap.BootTask");
43
+ });
38
44
 
39
45
  fnCallback();
40
46
  } catch (oError) {
@@ -4,6 +4,35 @@ sap.ui.define([
4
4
  ) => {
5
5
  "use strict";
6
6
 
7
+ function getCustomPreloadConfig () {
8
+ /**
9
+ * @deprecated since 1.136.0. The usage of custom preload bundles has been abandoned in favor of the standard SAPUI5 loading.
10
+ */ // eslint-disable-next-line no-constant-condition
11
+ if (true) {
12
+ return {
13
+ enabled: true,
14
+ coreResources: [
15
+ "sap/ushell_abap/bootstrap/evo/core-min-0.js",
16
+ "sap/ushell_abap/bootstrap/evo/core-min-1.js",
17
+ "sap/ushell_abap/bootstrap/evo/core-min-2.js",
18
+ "sap/ushell_abap/bootstrap/evo/core-min-3.js"
19
+ ],
20
+ coreResourcesComplement: [
21
+ "sap/ushell_abap/bootstrap/evo/core-ext-light-0.js",
22
+ "sap/ushell_abap/bootstrap/evo/core-ext-light-1.js",
23
+ "sap/ushell_abap/bootstrap/evo/core-ext-light-2.js",
24
+ "sap/ushell_abap/bootstrap/evo/core-ext-light-3.js"
25
+ ]
26
+ };
27
+ }
28
+
29
+ return {
30
+ enabled: false,
31
+ coreResources: [],
32
+ coreResourcesComplement: []
33
+ };
34
+ }
35
+
7
36
  return {
8
37
  defaultUshellConfig: {
9
38
  defaultRenderer: "fiori2",
@@ -24,21 +53,7 @@ sap.ui.define([
24
53
  enabled: true
25
54
  }
26
55
  },
27
- customPreload: {
28
- enabled: true,
29
- coreResources: [
30
- "sap/ushell_abap/bootstrap/evo/core-min-0.js",
31
- "sap/ushell_abap/bootstrap/evo/core-min-1.js",
32
- "sap/ushell_abap/bootstrap/evo/core-min-2.js",
33
- "sap/ushell_abap/bootstrap/evo/core-min-3.js"
34
- ],
35
- coreResourcesComplement: [
36
- "sap/ushell_abap/bootstrap/evo/core-ext-light-0.js",
37
- "sap/ushell_abap/bootstrap/evo/core-ext-light-1.js",
38
- "sap/ushell_abap/bootstrap/evo/core-ext-light-2.js",
39
- "sap/ushell_abap/bootstrap/evo/core-ext-light-3.js"
40
- ]
41
- }
56
+ customPreload: getCustomPreloadConfig()
42
57
  },
43
58
  renderers: {
44
59
  fiori2: {
@@ -184,9 +199,7 @@ sap.ui.define([
184
199
  },
185
200
  ui5: {
186
201
  libs: {
187
- "sap.ui.core": true,
188
- "sap.m": true,
189
- "sap.ushell": true
202
+ "sap.ushell_abap": true
190
203
  },
191
204
  timeZoneFromServerInUI5: false
192
205
  },
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "sap/ui/core/boot/boot.json",
3
+ "config": ["sap/ushell_abap/bootstrap/ConfigurationProvider"],
4
+ "preBoot": [
5
+ "sap/ushell_abap/bootstrap/BootTask/MarkPerformance",
6
+ "sap/ushell_abap/bootstrap/BootTask/PrepareDirectAppStart",
7
+ "sap/ushell_abap/bootstrap/BootTask/RequestTargetMappings"
8
+ ],
9
+ "bundles": [
10
+ "sap/ushell_abap/bootstrap/bootBundle"
11
+ ]
12
+ }
@@ -3,11 +3,13 @@
3
3
  sap.ui.define([
4
4
  "sap/ui/core/Lib",
5
5
  "sap/ui/core/library",
6
- "sap/m/library"
6
+ "sap/m/library",
7
+ "sap/ushell/library"
7
8
  ], (
8
9
  Library,
9
10
  coreLib,
10
- mLib
11
+ mobileLib,
12
+ ushellLibrary
11
13
  ) => {
12
14
  "use strict";
13
15
 
@@ -30,8 +32,12 @@ sap.ui.define([
30
32
  const ushellAbapLib = Library.init({
31
33
  name: "sap.ushell_abap",
32
34
  apiVersion: 2,
33
- version: "1.147.1",
34
- dependencies: ["sap.ui.core", "sap.m"],
35
+ version: "1.148.0",
36
+ dependencies: [
37
+ "sap.ui.core",
38
+ "sap.m",
39
+ "sap.ushell"
40
+ ],
35
41
  noLibraryCSS: true,
36
42
  extensions: {
37
43
  "sap.ui.support": {
@@ -4,17 +4,19 @@
4
4
  * @fileOverview The <code>sap.ushell_abap.pbServices.ui2.Chip</code> object with related functions.
5
5
  */
6
6
  sap.ui.define([
7
+ "sap/base/Log",
7
8
  "sap/ushell_abap/pbServices/ui2/Bag",
8
- "sap/ushell_abap/pbServices/ui2/Utils",
9
- "sap/ushell_abap/pbServices/ui2/Error",
10
9
  "sap/ushell_abap/pbServices/ui2/ChipDefinition",
11
- "sap/base/Log"
10
+ "sap/ushell_abap/pbServices/ui2/Error",
11
+ "sap/ushell_abap/pbServices/ui2/Utils",
12
+ "sap/ushell/utils/DeprecationLog"
12
13
  ], (
14
+ Log,
13
15
  Bag,
14
- Utils,
15
- SrvcError,
16
16
  ChipDefinition,
17
- Log
17
+ SrvcError,
18
+ Utils,
19
+ DeprecationLog
18
20
  ) => {
19
21
  "use strict";
20
22
 
@@ -24,12 +26,6 @@ sap.ui.define([
24
26
  */
25
27
  const mContractsByName = {};
26
28
 
27
- /**
28
- * A cache containing promises for each component name to ensure that
29
- * component resources are only loaded once
30
- */
31
- let _oComponentPromiseCache = {};
32
-
33
29
  // "private" methods (static) without need to access properties -------------
34
30
 
35
31
  /**
@@ -529,10 +525,11 @@ sap.ui.define([
529
525
  * @see #isStub()
530
526
  */
531
527
  this.getImplementationAsSapui5 = function (oApi) {
532
- Log.error("Deprecated API call of 'Chip.getImplementationAsSapui5'. Please use 'getImplementationAsSapui5Async' instead",
533
- null,
534
- "sap.ushell_abap.pbServices.ui2.Chip"
535
- );
528
+ DeprecationLog.logApiDeprecation({
529
+ api: "sap.ushell_abap.pbServices.ui2.Chip.getImplementationAsSapui5",
530
+ since: "1.97",
531
+ successor: "getImplementationAsSapui5Async"
532
+ });
536
533
 
537
534
  checkStub();
538
535
  const oData = {
@@ -557,11 +554,6 @@ sap.ui.define([
557
554
  }
558
555
 
559
556
  if (oImplementation.componentName) {
560
- // The standard tiles have no manifest. Since we know this and are in control of it we can save the server roundtrip for those.
561
- if (sBaseChipId === "X-SAP-UI2-CHIP:/UI2/STATIC_APPLAUNCHER" || sBaseChipId === "X-SAP-UI2-CHIP:/UI2/DYNAMIC_APPLAUNCHER") {
562
- oData.manifest = false;
563
- }
564
-
565
557
  // SAPUI5 component
566
558
  const ComponentContainer = sap.ui.requireSync("sap/ui/core/ComponentContainer"); // LEGACY API (deprecated)
567
559
  const oComponentContainer = new ComponentContainer();
@@ -572,7 +564,8 @@ sap.ui.define([
572
564
  ], (Component) => {
573
565
  Component.create({
574
566
  name: oImplementation.componentName,
575
- componentData: oData
567
+ componentData: oData,
568
+ manifest: false
576
569
  })
577
570
  .then((oComponent) => {
578
571
  oComponentContainer.setComponent(oComponent);
@@ -638,39 +631,12 @@ sap.ui.define([
638
631
  }
639
632
 
640
633
  if (oImplementation.componentName) {
641
- let bLoadManifest = true;
642
-
643
- // The standard tiles have no manifest. Since we know this and are in control of it we can save the server roundtrip for those.
644
- if (sBaseChipId === "X-SAP-UI2-CHIP:/UI2/STATIC_APPLAUNCHER" || sBaseChipId === "X-SAP-UI2-CHIP:/UI2/DYNAMIC_APPLAUNCHER") {
645
- bLoadManifest = false;
646
- }
647
-
648
- if (!_oComponentPromiseCache[oImplementation.componentName]) {
649
- _oComponentPromiseCache[oImplementation.componentName] = Component.create({
650
- name: oImplementation.componentName,
651
- componentData: oData,
652
- manifest: bLoadManifest
653
- });
654
-
655
- return _oComponentPromiseCache[oImplementation.componentName]
656
- .then((oComponent) => {
657
- return new ComponentContainer({
658
- component: oComponent
659
- });
660
- })
661
- .then(resolve)
662
- .catch(reject);
663
- }
664
-
665
- return _oComponentPromiseCache[oImplementation.componentName]
666
- .then(() => {
667
- // SAPUI5 component
668
- return Component.create({
669
- name: oImplementation.componentName,
670
- componentData: oData,
671
- manifest: bLoadManifest
672
- });
673
- })
634
+ // SAPUI5 component
635
+ return Component.create({
636
+ name: oImplementation.componentName,
637
+ componentData: oData,
638
+ manifest: false
639
+ })
674
640
  .then((oComponent) => {
675
641
  return new ComponentContainer({
676
642
  component: oComponent
@@ -1160,11 +1126,5 @@ sap.ui.define([
1160
1126
  });
1161
1127
  }
1162
1128
 
1163
- // for test purposes -------------------------------------------------------
1164
-
1165
- Chip.prototype._clearComponentCache = function () {
1166
- _oComponentPromiseCache = {};
1167
- };
1168
-
1169
1129
  return Chip;
1170
1130
  });
@@ -7,15 +7,17 @@
7
7
  this.sap = this.sap || {};
8
8
 
9
9
  sap.ui.define([
10
+ "sap/base/Log",
10
11
  "sap/ushell_abap/pbServices/ui2/Bag",
11
- "sap/ushell_abap/pbServices/ui2/Utils",
12
12
  "sap/ushell_abap/pbServices/ui2/Error",
13
- "sap/base/Log"
13
+ "sap/ushell_abap/pbServices/ui2/Utils",
14
+ "sap/ushell/utils/DeprecationLog"
14
15
  ], (
16
+ Log,
15
17
  Bag,
16
- Utils,
17
18
  SrvcError,
18
- Log
19
+ Utils,
20
+ DeprecationLog
19
21
  ) => {
20
22
  "use strict";
21
23
 
@@ -466,10 +468,11 @@ sap.ui.define([
466
468
  * @see #isStub()
467
469
  */
468
470
  this.getImplementationAsSapui5 = function () {
469
- Log.error("Deprecated API call of 'ChipInstance.getImplementationAsSapui5'. Please use 'getImplementationAsSapui5Async' instead",
470
- null,
471
- "sap.ushell_abap.pbServices.ui2.ChipInstance"
472
- );
471
+ DeprecationLog.logApiDeprecation({
472
+ api: "sap.ushell_abap.pbServices.ui2.ChipInstance.getImplementationAsSapui5",
473
+ since: "1.97",
474
+ successor: "getImplementationAsSapui5Async"
475
+ });
473
476
  checkStub();
474
477
  return oChip.getImplementationAsSapui5(oApi);
475
478
  };
package/ui5.yaml CHANGED
@@ -14,56 +14,74 @@ framework:
14
14
  libraries:
15
15
  - name: sap.ui.core
16
16
  - name: sap.m
17
- - name: sap.ui.layout
18
- - name: sap.ui.fl
19
17
  - name: sap.ushell
20
- - name: sap.f
21
18
  builder:
22
19
  bundles:
20
+ # Chunk definitions ============================================
23
21
  - bundleDefinition:
24
22
  name: sap/ushell_abap/preload-bundles/flex-plugins.js
23
+ # [SAPUI5 1.x only] only required for abap.js and appruntime-min.js
24
+ # until we migrate to library preloads
25
+ # components are bundled via Component-preload any deps are loaded via this bundle
26
+ # - sap/ushell/appRuntime/ui5/plugins/rtaAgent/
27
+ # - sap/ushell/appRuntime/ui5/plugins/rtaShell/
28
+ # - sap/ushell/plugins/rta/
29
+ # - sap/ushell/plugins/rta-personalize/
30
+ # the related bundle infos have to be maintained for all scenarios in all repos:
31
+ # - ushell
32
+ # - ushell_abap
33
+ # - sap/fiori
25
34
  sections:
26
35
  - mode: preload
27
36
  name: sap/ushell_abap/preload-bundles/flex-plugins
28
- filters: &preload-flex-plugins
37
+ filters:
29
38
  - sap/ushell/plugins/BaseRTAPlugin.js # base component class
30
39
  - sap/ushell/appRuntime/ui5/plugins/baseRta/ # reuse files
31
- # components are bundled via Component-preload any deps are loaded via this bundle
32
- # - sap/ushell/appRuntime/ui5/plugins/rtaAgent/
33
- # - sap/ushell/appRuntime/ui5/plugins/rtaShell/
34
- # - sap/ushell/plugins/rta/
35
- # - sap/ushell/plugins/rta-personalize/
36
- # the related bundle infos have to be maintained for all scenarios in all repos:
37
- # - ushell
38
- # - ushell_abap
39
- # - sap/fiori
40
40
  resolve: false
41
41
  bundleOptions:
42
42
  optimize: true
43
43
  usePredefineCalls: true
44
+ - bundleDefinition:
45
+ name: sap/ushell_abap/library-preload-bootstrap.js
46
+ # This chunk should not be required during productive usage of ushell,
47
+ # as the boot should ALWAYS include bootstrap
48
+ # It rather ensures that the ushell can always be used via library
49
+ sections:
50
+ - mode: provided
51
+ filters: &exclude-external-libs
52
+ - "**/" # assume everything as provided ...
53
+ - "!sap/ushell_abap/" # ... except the modules from sap/ushell_abap
54
+ - "**/designtime/" # also exclude all designtime ...
55
+ - "**/*.designtime.js" #
56
+ - "**/support/" # ... and support files
57
+ - "**/*.support.js" #
58
+ - mode: preload
59
+ filters:
60
+ - sap/ushell_abap/bootstrap/
61
+ # Exclude all bundles
62
+ - "!sap/ushell_abap/**/*-preload*.js"
63
+ - "!sap/ushell_abap/preload-bundles/"
64
+ - "!sap/ushell_abap/bootstrap/evo/abap.js"
65
+ - "!sap/ushell_abap/bootstrap/appruntime-min*.js"
66
+ - "!sap/ushell_abap/bootstrap/evo/core-min*.js"
67
+ resolve: false
68
+ bundleOptions:
69
+ optimize: true
70
+ # Bootstrap Bundles ============================================
44
71
  - bundleDefinition:
45
72
  name: sap/ushell_abap/bootstrap/appruntime-min.js
46
73
  sections:
47
74
  - mode: raw
48
75
  filters:
49
76
  - sap/ushell/appRuntime/ui5/BusyIndicator.js
50
- declareRawModules: false
51
- resolve: true
52
- - mode: raw
53
- filters:
54
77
  - sap/ushell/appRuntime/ui5/libsPreload.js
55
- declareRawModules: false
56
- resolve: true
57
- - mode: raw
58
- filters:
59
78
  - ui5loader-autoconfig.js
60
79
  declareRawModules: false
61
80
  resolve: true
62
- sort: true
63
81
  - mode: bundleInfo
64
82
  name: sap/ushell_abap/preload-bundles/flex-plugins.js
65
- filters: *preload-flex-plugins
66
- resolve: false
83
+ filters:
84
+ - sap/ushell_abap/preload-bundles/flex-plugins.js
67
85
  - mode: preload
68
86
  filters:
69
87
  - sap/ui/core/Core.js
@@ -71,8 +89,7 @@ builder:
71
89
  resolve: true
72
90
  resolveConditional: false
73
91
  - mode: preload
74
- name: sap/ushell/appruntime-min-preload
75
- filters: &appruntime-preload
92
+ filters:
76
93
  - sap/ushell/appRuntime/ui5/
77
94
  - sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js
78
95
  - sap/ushell/services/PluginManager/PostMessagePluginInterface.js
@@ -251,76 +268,86 @@ builder:
251
268
  decorateBootstrapModule: true
252
269
  numberOfParts: 4
253
270
  - bundleDefinition:
254
- name: sap/ushell_abap/bootstrap/evo/abap-dbg.js
271
+ name: sap/ushell_abap/bootstrap/evo/abap.js
272
+ # [SAPUI5 1.x only]
255
273
  sections:
256
274
  - mode: raw
257
275
  filters:
258
276
  - sap/ushell/bootstrap/ui5loader-config.js
277
+ - ui5loader-autoconfig.js
259
278
  declareRawModules: false
260
279
  resolve: true
261
- sort: true
262
- - mode: raw
280
+ - mode: preload
263
281
  filters:
264
- - ui5loader-autoconfig.js
265
- declareRawModules: false
282
+ - sap/ushell_abap/bootstrap/abap-def.js
283
+ - sap/ui/thirdparty/datajs.js
266
284
  resolve: true
267
- sort: true
285
+ - mode: preload
286
+ # This is a copy of the sap-ui-core preload bundle
287
+ # Any changes and new usages have to be aligned with the UI5 Core Team
288
+ filters: &sap-ui-core-preload
289
+ - sap/ui/core/Core.js
290
+ - sap/ui/performance/trace/_InteractionImpl.js
291
+ resolve: true
292
+ - mode: preload
293
+ # Include sap/ushell/base to avoid loading of chunk
294
+ filters:
295
+ - sap/ushell/base/
296
+ resolve: false
268
297
  - mode: raw
269
298
  filters:
270
299
  - sap/ushell_abap/bootstrap/abap-def-loader.js
271
300
  declareRawModules: false
272
301
  resolve: false
273
302
  bundleOptions:
274
- optimize: false
303
+ optimize: true
275
304
  usePredefineCalls: true
305
+ decorateBootstrapModule: true
276
306
  - bundleDefinition:
277
- name: sap/ushell_abap/bootstrap/evo/abap.js
307
+ name: sap/ushell_abap/bootstrap/bootBundle.js
308
+ # [SAPUI5 2.x only]
278
309
  sections:
279
- - mode: raw
310
+ - mode: preload
280
311
  filters:
281
- - sap/ushell/bootstrap/ui5loader-config.js
282
- declareRawModules: false
283
- resolve: true
284
- sort: true
285
- - mode: raw
312
+ - sap/ui/thirdparty/datajs.js
313
+ resolve: false
314
+ - mode: provided
315
+ # use a stricter version of the exclude-external-libs
316
+ # filter to ensure that no other dependencies sneak into the boot bundle
317
+ # and break the assumptions that only base and bootstrap modules are used during boot
286
318
  filters:
287
- - ui5loader-autoconfig.js
288
- declareRawModules: false
289
- resolve: true
290
- sort: true
319
+ - "**/" # assume everything as provided ...
320
+ - "!sap/ushell/bootstrap/" # ... except the modules from sap/ushell/bootstrap
321
+ - "!sap/ushell/base/" # ... and sap/ushell/base
322
+ - "!sap/ushell_abap/bootstrap/" # ... and abap related bootstrap parts
291
323
  - mode: preload
292
- name: sap/ushell/bootstrap/common
293
324
  filters:
294
- - sap/ushell_abap/bootstrap/abap-def.js
295
- - sap/ui/thirdparty/datajs.js
325
+ - sap/ushell_abap/bootstrap/ConfigurationProvider.js
326
+ - sap/ushell_abap/bootstrap/BootTask/
296
327
  resolve: true
297
- - mode: raw
328
+ - mode: preload
329
+ # Include sap/ushell/base to avoid loading of chunk
298
330
  filters:
299
- - sap/ushell_abap/bootstrap/abap-def-loader.js
300
- declareRawModules: false
331
+ - sap/ushell/base/
301
332
  resolve: false
302
333
  bundleOptions:
303
334
  optimize: true
304
- usePredefineCalls: true
305
335
  decorateBootstrapModule: true
336
+ # Runtime Bundles ============================================
306
337
  - bundleDefinition:
307
338
  name: sap/ushell_abap/bootstrap/evo/core-min.js
339
+ # [SAPUI5 1.x only]
308
340
  sections:
309
341
  - mode: provided
310
- filters: &core-min-provided
311
- - ui5loader-autoconfig.js
312
- - sap/ui/thirdparty/datajs.js
313
- - sap/ushell/bootstrap/ui5loader-config.js
314
- - sap/ushell_abap/bootstrap/abap-def-loader.js
315
- - sap/ushell_abap/bootstrap/abap-def.js
316
- resolve: true
342
+ filters:
343
+ - sap/ushell_abap/bootstrap/evo/abap.js
344
+ resolve: false
317
345
  - mode: bundleInfo
318
346
  name: sap/ushell_abap/preload-bundles/flex-plugins.js
319
- filters: *preload-flex-plugins
320
- resolve: false
347
+ filters:
348
+ - sap/ushell_abap/preload-bundles/flex-plugins.js
321
349
  - mode: preload
322
- name: sap/ushell/core-lib-preload
323
- filters: &core-min-preload
350
+ filters:
324
351
  - sap/f/gen/ui5/webcomponents/dist/Avatar.js
325
352
  - sap/f/gen/ui5/webcomponents/dist/Button.js
326
353
  - sap/f/gen/ui5/webcomponents_fiori/dist/ShellBar.js
@@ -508,14 +535,16 @@ builder:
508
535
  numberOfParts: 4
509
536
  - bundleDefinition:
510
537
  name: sap/ushell_abap/bootstrap/evo/core-ext-light.js
538
+ # [SAPUI5 1.x only]
511
539
  sections:
512
540
  - mode: provided
513
- filters: *core-min-preload
514
- resolve: true
541
+ filters:
542
+ - sap/ushell_abap/bootstrap/evo/abap.js
543
+ resolve: false
515
544
  - mode: provided
516
- filters: *core-min-provided
517
- resolve: true
518
- renderer: true
545
+ filters:
546
+ - sap/ushell_abap/bootstrap/evo/core-min*.js
547
+ resolve: false
519
548
  - mode: preload
520
549
  filters:
521
550
  - jquery.sap.* # necessary to ensure CSP compliance - as UI5 stubbing layer causes otherwise sync requests
@@ -593,6 +622,58 @@ builder:
593
622
  optimize: true
594
623
  usePredefineCalls: true
595
624
  numberOfParts: 4
625
+ # Library Bundle ============================================
626
+ - bundleDefinition:
627
+ name: sap/ushell_abap/library-preload.js
628
+ sections:
629
+ # disabling thirdparty lib preload as it is already bundled with ushell
630
+ # if it gets removed there its has to be enabled here again
631
+ # - mode: preload
632
+ # filters:
633
+ # - sap/ui/thirdparty/datajs.js
634
+ # - sap/ui/thirdparty/jquery.js
635
+ # - sap/ui/thirdparty/URI.js
636
+ # resolve: false
637
+ - mode: preload
638
+ filters:
639
+ # Add abap relevant adapters from ushell
640
+ - sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js
641
+ - sap/ushell/adapters/cdm/util/AppForInbound.js
642
+ - sap/ushell/adapters/cdm/util/cdmSiteUtils.js
643
+ - sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js
644
+ - sap/ushell/adapters/local/NavTargetResolutionAdapter.js
645
+ - sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js
646
+ - sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js
647
+ - sap/ushell/adapters/local/UserInfoAdapter.js
648
+ # Required by Classic Homepage
649
+ - sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js
650
+ resolve: false
651
+ - mode: provided
652
+ filters: *exclude-external-libs
653
+ # Include Chunks --------------------------
654
+ - mode: bundleInfo
655
+ name: sap/ushell_abap/library-preload-bootstrap.js
656
+ filters:
657
+ - sap/ushell_abap/library-preload-bootstrap.js
658
+ resolve: false
659
+ - mode: provided
660
+ filters:
661
+ - sap/ushell_abap/library-preload-bootstrap.js
662
+ resolve: false
663
+ # Bundle the Rest --------------------------
664
+ - mode: preload
665
+ filters:
666
+ - sap/ushell_abap/
667
+ # Exclude all bundles
668
+ - "!sap/ushell_abap/**/*-preload*.js"
669
+ - "!sap/ushell_abap/preload-bundles/"
670
+ - "!sap/ushell_abap/bootstrap/evo/abap.js"
671
+ - "!sap/ushell_abap/bootstrap/appruntime-min*.js"
672
+ - "!sap/ushell_abap/bootstrap/evo/core-min*.js"
673
+ resolve: true
674
+ renderer: true
675
+ bundleOptions:
676
+ optimize: true
596
677
  jsdoc:
597
678
  excludes:
598
679
  - sap/ui/Device.js