@sapui5/sap.ushell_abap 1.96.1 → 1.97.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.96.1",
3
+ "version": "1.97.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "keywords": [
@@ -2,7 +2,7 @@
2
2
  <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
3
  <name>sap.ushell_abap</name>
4
4
  <vendor>SAP SE</vendor>
5
- <version>1.96.1</version>
5
+ <version>1.97.0</version>
6
6
  <copyright>Copyright (c) 2009-2021 SAP SE. All rights reserved.</copyright>
7
7
  <documentation>SAP library: sap.ushell_abap</documentation>
8
8
 
@@ -42,7 +42,7 @@
42
42
  <exclude name="sap.ushell_abap.bootstrap.evo.core-*" />
43
43
  </jsdoc>
44
44
  <releasenotes xmlns="http://www.sap.com/ui5/buildext/releasenotes"
45
- url="../../../../test-resources/js/sap/ushell_abap/relnotes/changes-{major}.{minor}.json"
45
+ url="../../../test-resources/sap/ushell_abap/relnotes/changes-{major}.{minor}.json"
46
46
  resolve="lib" />
47
47
  <ownership xmlns="http://www.sap.com/ui5/buildext/ownership">
48
48
  <!-- default component for this library -->
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
5
- * @version 1.96.1
5
+ * @version 1.97.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.96.1
12
+ * @version 1.97.0
13
13
  */
14
14
  sap.ui.define([
15
15
  "sap/ui/thirdparty/jquery",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The ConfigurationDefaults adapter for the ABAP platform.
5
- * @version 1.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/evo/abap.constants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/thirdparty/jquery",
@@ -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.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/thirdparty/URI",
@@ -19,7 +19,10 @@ sap.ui.define([
19
19
  "sap/ushell_abap/pbServices/ui2/ChipDefinition",
20
20
  "sap/ushell_abap/pbServices/ui2/Utils",
21
21
  "sap/ushell_abap/pbServices/ui2/Page",
22
- "sap/ushell_abap/pbServices/ui2/Error"
22
+ "sap/ushell_abap/pbServices/ui2/Error",
23
+ "sap/base/Log",
24
+ "sap/m/library",
25
+ "sap/ushell/ui/tile/StaticTile"
23
26
  ], function (
24
27
  URI,
25
28
  ManifestPropertyHelper,
@@ -35,10 +38,15 @@ sap.ui.define([
35
38
  ChipDefinition,
36
39
  Utils,
37
40
  Page,
38
- SrvcError
41
+ SrvcError,
42
+ Log,
43
+ mobileLibrary,
44
+ StaticTile
39
45
  ) {
40
46
  "use strict";
41
47
 
48
+ var LoadState = mobileLibrary.LoadState;
49
+
42
50
  var sCOMPONENT = "sap.ushell_abap.adapters.abap.LaunchPageAdapter",
43
51
  sDEFAULT_PAGE_ID = "/UI2/Fiori2LaunchpadHome",
44
52
  sDEFAULT_CATALOG_ID = "/UI2/FLPD_CATALOG",
@@ -115,8 +123,7 @@ sap.ui.define([
115
123
  return oTile.getImplementationAsSapui5();
116
124
  } catch (ex) {
117
125
  // log errors, but do not fail
118
- jQuery.sap.log.error(sMessage + ": " + (ex.message || ex),
119
- ex.stack, sCOMPONENT);
126
+ Log.error(sMessage + ": " + (ex.message || ex), ex.stack, sCOMPONENT);
120
127
  return new sap.ushell.ui.tile.StaticTile({ // TODO remove as soon as RT has a own // TODO: pending dependency migration
121
128
  icon: "sap-icon://error",
122
129
  info: "",
@@ -427,7 +434,7 @@ sap.ui.define([
427
434
 
428
435
  function fnFailure (sMessage) {
429
436
  // log errors, but do not fail
430
- jQuery.sap.log.error("Failed to load tile: " + sMessage, oChipInstance.toString(), sCOMPONENT);
437
+ Log.error("Failed to load tile: " + sMessage, oChipInstance.toString(), sCOMPONENT);
431
438
  if (oChipInstance._loadingDeferred) {
432
439
  oChipInstance._loadingDeferred.reject();
433
440
  }
@@ -485,7 +492,7 @@ sap.ui.define([
485
492
  LaunchPageAdapter.prototype._triggerChipInstanceLoad(oChipInstance);
486
493
  oCoreResourcesComplementEvent.off();
487
494
  } else {
488
- jQuery.sap.log.error("Did not load custom tile as core resources where not loaded", null, sCOMPONENT);
495
+ Log.error("Did not load custom tile as core resources where not loaded", null, sCOMPONENT);
489
496
  }
490
497
  });
491
498
  });
@@ -504,8 +511,7 @@ sap.ui.define([
504
511
  iPendingRequests += 1;
505
512
  oChipInstance.load(onLoad, function (sMessage) {
506
513
  // log errors, but do not fail
507
- jQuery.sap.log.error("Failed to load tile: " + sMessage,
508
- oChipInstance.toString(), sCOMPONENT);
514
+ Log.error("Failed to load tile: " + sMessage, oChipInstance.toString(), sCOMPONENT);
509
515
  onLoad();
510
516
  });
511
517
  }
@@ -756,7 +762,7 @@ sap.ui.define([
756
762
  try {
757
763
  oParsedTileConfiguration = JSON.parse(sConfigParam || "{}");
758
764
  } catch (oEx) {
759
- jQuery.sap.log.error("Tile with ID '" + oChipInstance.getId() +
765
+ Log.error("Tile with ID '" + oChipInstance.getId() +
760
766
  "' has a corrupt configuration containing a 'tileConfiguration' value '" + sConfigParam +
761
767
  "' which could not be parsed. If present, a (stringified) JSON is expected as value.",
762
768
  oEx.message,
@@ -926,7 +932,7 @@ sap.ui.define([
926
932
  sReferenceLostSafe = sReferenceLost || Object.prototype.toString.apply(sReferenceLostSafe);
927
933
 
928
934
  if (!sReferenceLostSafe.match(/^Reference lost: Note \d+ Page.+\s,\sInstance ID.+$/)) {
929
- jQuery.sap.log.warning(
935
+ Log.warning(
930
936
  "The string that describes a lost reference is in an unexpected format",
931
937
  "This is expected to be a string exactly like 'Reference lost: Note <#> Page <CATALOG_ID> , Instance ID <CHIP_ID>' instead of the given '" + sReferenceLost + "'",
932
938
  "sap.ushell_abap.adapters.abap.LaunchPageAdapter"
@@ -1215,12 +1221,12 @@ sap.ui.define([
1215
1221
 
1216
1222
  if (aErrorMessage.length > 0) {
1217
1223
  aErrorMessage.unshift("Tile error(s) were detected:");
1218
- jQuery.sap.log.error(aErrorMessage.join("\n"), null, "sap.ushell_abap.adapters.abap.LaunchPageAdapter");
1224
+ Log.error(aErrorMessage.join("\n"), null, "sap.ushell_abap.adapters.abap.LaunchPageAdapter");
1219
1225
  }
1220
1226
 
1221
1227
  if (aWarningMessage.length > 0) {
1222
1228
  aWarningMessage.unshift("Tile warning(s) were detected:");
1223
- jQuery.sap.log.warning(aWarningMessage.join("\n"), null, "sap.ushell_abap.adapters.abap.LaunchPageAdapter");
1229
+ Log.warning(aWarningMessage.join("\n"), null, "sap.ushell_abap.adapters.abap.LaunchPageAdapter");
1224
1230
  }
1225
1231
  };
1226
1232
 
@@ -1343,7 +1349,7 @@ sap.ui.define([
1343
1349
  .done(function (oTargetMappings, oPageSet) {
1344
1350
  this._bPageSetFullyLoaded = true;
1345
1351
 
1346
- if (jQuery.sap.log.getLevel() >= jQuery.sap.log.Level.DEBUG) { // sap-ui-debug = true
1352
+ if (Log.getLevel() >= Log.Level.DEBUG) { // sap-ui-debug = true
1347
1353
  this._findAndReportTileErrors(oPageSet.getPages(), oTargetMappingSupport);
1348
1354
  }
1349
1355
 
@@ -1413,7 +1419,7 @@ sap.ui.define([
1413
1419
  try {
1414
1420
  oLayout = JSON.parse(oGroup.getLayout());
1415
1421
  } catch (e) {
1416
- jQuery.sap.log.warning("Group " + oGroup.getId() + ": invalid layout: " + oGroup.getLayout(), null, sCOMPONENT);
1422
+ Log.warning("Group " + oGroup.getId() + ": invalid layout: " + oGroup.getLayout(), null, sCOMPONENT);
1417
1423
  // no valid layout
1418
1424
  }
1419
1425
  return this._orderBasedOnConfiguration(oLayout, oGroup.getChipInstances());
@@ -1573,7 +1579,7 @@ sap.ui.define([
1573
1579
 
1574
1580
  // This error is already logged in an aggregated log message by _reportTileErrors, but we keep it because
1575
1581
  // tiles may be added to the FLP home at a later point of time within the session (not covered by the other log).
1576
- jQuery.sap.log.warning("Group tile with ID '" + oTile.getId() + "' is filtered out as the current user has no target mapping assigned for the intent '" +
1582
+ Log.warning("Group tile with ID '" + oTile.getId() + "' is filtered out as the current user has no target mapping assigned for the intent '" +
1577
1583
  sIntent + "'",
1578
1584
  "\nGroup Tile ID: '" + oTile.getId() + "'\n" +
1579
1585
  "Title: '" + sTitle + "'\n" +
@@ -1863,7 +1869,7 @@ sap.ui.define([
1863
1869
 
1864
1870
  iSourceIndex = removeFromLayout(oSourceLayout, oTile, sOldTileType);
1865
1871
  if (iSourceIndex < 0) {
1866
- jQuery.sap.log.error("moveTile: tile not found in source group", null, sCOMPONENT);
1872
+ Log.error("moveTile: tile not found in source group", null, sCOMPONENT);
1867
1873
  fnFailure();
1868
1874
  return oDeferred.promise();
1869
1875
  }
@@ -1921,7 +1927,7 @@ sap.ui.define([
1921
1927
  oCurrentBag.save(function () {
1922
1928
  // don't wait for the save operation for performance reasons
1923
1929
  }, function () {
1924
- jQuery.sap.log.error("Bag " + sBagId + ": could not be saved", null, sCOMPONENT);
1930
+ Log.error("Bag " + sBagId + ": could not be saved", null, sCOMPONENT);
1925
1931
  });
1926
1932
  }
1927
1933
  });
@@ -1971,8 +1977,7 @@ sap.ui.define([
1971
1977
  return "link";
1972
1978
  }
1973
1979
  } catch (e) {
1974
- jQuery.sap.log.warning("Group " + oGroup.getId() + ": invalid layout: "
1975
- + oGroup.getLayout(), null, sCOMPONENT);
1980
+ Log.warning("Group " + oGroup.getId() + ": invalid layout: " + oGroup.getLayout(), null, sCOMPONENT);
1976
1981
  }
1977
1982
 
1978
1983
  // Cards can never be a stub at this point
@@ -2007,7 +2012,7 @@ sap.ui.define([
2007
2012
 
2008
2013
  return oManifest;
2009
2014
  } catch (error) {
2010
- jQuery.sap.log.error("Manifest of card with id '" + card.getId() + "' could not be read. " + error.message);
2015
+ Log.error("Manifest of card with id '" + card.getId() + "' could not be read. " + error.message);
2011
2016
  }
2012
2017
  };
2013
2018
 
@@ -2034,54 +2039,54 @@ sap.ui.define([
2034
2039
  * @since 1.11.0
2035
2040
  */
2036
2041
  this.getTileView = function (oTile) {
2037
- var that = this,
2038
- oDeferred = new jQuery.Deferred(),
2039
- oTypesContract;
2042
+ var that = this;
2043
+ var oDeferred = new jQuery.Deferred();
2044
+ var oTypesContract;
2040
2045
 
2041
2046
  function doResolve () {
2042
- var sTileType,
2043
- oView;
2047
+ var sTileType;
2044
2048
 
2045
2049
  // if needed, notify the tile in which way it shall display itself
2046
2050
  oTypesContract = oTile.getContract("types");
2047
-
2048
2051
  if (oTypesContract) {
2049
2052
  // set the tile type before getting the view
2050
2053
  // note: the contract caches the new type until the handler is attached
2051
2054
  sTileType = that.getTileType(oTile);
2052
2055
  oTypesContract.setType(sTileType);
2053
2056
  }
2054
- oView = oTile.getImplementationAsSapui5();
2055
2057
 
2056
- if (sTileType === "link") {
2057
- var oViewModel,
2058
- oViewController,
2059
- sUrl,
2060
- oLinkTile;
2058
+ oTile.getImplementationAsSapui5Async().then(function (oView) {
2059
+ if (sTileType === "link") {
2060
+ var oViewModel,
2061
+ oViewController,
2062
+ sUrl,
2063
+ oLinkTile;
2061
2064
 
2062
- if (!oView.hasModel()) {
2063
- oView = oView.getComponentInstance().getRootControl();
2064
- }
2065
- oViewModel = oView.getModel();
2066
- oViewController = oView.getController();
2067
-
2068
- sUrl = oViewModel && oViewModel.getProperty ? oViewModel.getProperty("/nav/navigation_target_url") : undefined;
2069
- oLinkTile = new GenericTile({
2070
- mode: "{view>/mode}",
2071
- header: "{view>/config/display_title_text}",
2072
- subheader: "{view>/config/display_subtitle_text}",
2073
- sizeBehavior: "{view>/sizeBehavior}",
2074
- size: "Auto",
2075
- url: oViewController.formatters && oViewController.formatters.leanURL(sUrl),
2076
- press: [oViewController.onPress, oViewController]
2077
- });
2065
+ if (!oView.hasModel()) {
2066
+ oView = oView.getComponentInstance().getRootControl();
2067
+ }
2068
+ oViewModel = oView.getModel();
2069
+ oViewController = oView.getController();
2070
+
2071
+ sUrl = oViewModel && oViewModel.getProperty ? oViewModel.getProperty("/nav/navigation_target_url") : undefined;
2072
+ oLinkTile = new GenericTile({
2073
+ mode: "{view>/mode}",
2074
+ header: "{view>/config/display_title_text}",
2075
+ subheader: "{view>/config/display_subtitle_text}",
2076
+ sizeBehavior: "{view>/sizeBehavior}",
2077
+ size: "Auto",
2078
+ url: oViewController.formatters && oViewController.formatters.leanURL(sUrl),
2079
+ press: [oViewController.onPress, oViewController]
2080
+ });
2078
2081
 
2079
- oLinkTile.setModel(oViewModel, "view");
2080
- oDeferred.resolve(oLinkTile);
2081
- return;
2082
- }
2082
+ oLinkTile.setModel(oViewModel, "view");
2083
+ oDeferred.resolve(oLinkTile);
2084
+ return;
2085
+ }
2083
2086
 
2084
- oDeferred.resolve(oView);
2087
+ oDeferred.resolve(oView);
2088
+ })
2089
+ .catch(doReject);
2085
2090
  }
2086
2091
 
2087
2092
  function doReject (sMessage) {
@@ -2093,10 +2098,10 @@ sap.ui.define([
2093
2098
 
2094
2099
  if (!oTile.$loadingPromise) { // loading resolved or failed
2095
2100
  if (!oTile.isStub()) { // success
2096
- // call getImplementationAsSapui5 async for non-AppLaunchers and resolves.
2101
+ // call getImplementationAsSapui5Async async for non-AppLaunchers and resolves.
2097
2102
  // For AppLaunchers, there is an optimization (requested by RT) to call it sync
2098
2103
  // as the resources are already bundled and loaded at startup.
2099
- // As a result, the Home will initially at least display app launchers.
2104
+ // Although they are called sync the view creation is still async
2100
2105
  Utils.callHandler(doResolve, doReject, /*async*/!isAppLauncher(oTile));
2101
2106
  } else { // failed
2102
2107
  doReject();
@@ -2341,7 +2346,7 @@ sap.ui.define([
2341
2346
  }
2342
2347
  }, function (sMessage) {
2343
2348
  // log errors, but do not fail
2344
- jQuery.sap.log.error("Failed to load catalog: " + sMessage, oCatalog.toString(), sCOMPONENT);
2349
+ Log.error("Failed to load catalog: " + sMessage, oCatalog.toString(), sCOMPONENT);
2345
2350
  oWrappedCatalog.errorMessage = sMessage || "Error"; // not undefined!
2346
2351
 
2347
2352
  oDeferred.notify(oWrappedCatalog);
@@ -2538,8 +2543,7 @@ sap.ui.define([
2538
2543
 
2539
2544
  function onFailure (oCatalogTile, sMessage) {
2540
2545
  // log errors, but do not fail
2541
- jQuery.sap.log.error("Failed to load catalog tile: " + sMessage,
2542
- oCatalogTile.toString(), sCOMPONENT);
2546
+ Log.error("Failed to load catalog tile: " + sMessage, oCatalogTile.toString(), sCOMPONENT);
2543
2547
  onLoaded();
2544
2548
  }
2545
2549
 
@@ -2627,8 +2631,7 @@ sap.ui.define([
2627
2631
  // TODO cache the view for later re-use - might not work cause view can get destroyed and is not reusable!
2628
2632
  // Needs further investigation - don't implement cache for now
2629
2633
  if (oCatalogTile.isStub()) {
2630
- jQuery.sap.log.warning("CHIP (instance) is just a stub!", oCatalogTile.toString(true),
2631
- sCOMPONENT);
2634
+ Log.warning("CHIP (instance) is just a stub!", oCatalogTile.toString(true), sCOMPONENT);
2632
2635
  return new sap.ushell.ui.tile.StaticTile({ // TODO remove as soon as RT has a own // TODO: pending dependency migration
2633
2636
  icon: "sap-icon://hide",
2634
2637
  info: "",
@@ -2656,6 +2659,83 @@ sap.ui.define([
2656
2659
  return getImplementationAsSapui5(oCatalogTile, sTitle, "Cannot get catalog tile view as SAPUI5");
2657
2660
  };
2658
2661
 
2662
+ /**
2663
+ * A function which returns UI5 view / control of the catalog tile
2664
+ *
2665
+ * @param {sap.ui2.ChipInstance} oCatalogTile the catalog tile
2666
+ * @param {boolean} bPreview return the tile in preview mode, default is true
2667
+ * @returns {jQuery.Promise<sap.ui.core.Control>} the UI5 representation of the catalog tile
2668
+ * @since 1.97.0
2669
+ * @private
2670
+ */
2671
+ this.getCatalogTileViewControl = function (oCatalogTile, bPreview) {
2672
+ var oDeferred = new jQuery.Deferred();
2673
+ bPreview = typeof bPreview !== "undefined" ? bPreview : true;
2674
+ var sTitle = this.getCatalogTileTitle(oCatalogTile);
2675
+
2676
+ if (oCatalogTile.isStub()) {
2677
+ Log.warning("CHIP (instance) is just a stub!", oCatalogTile.toString(true), sCOMPONENT);
2678
+ oDeferred.resolve(this._createErrorTile(sTitle, "CHIP was just a stub!"));
2679
+ return oDeferred.promise();
2680
+ }
2681
+
2682
+ if (bPreview) {
2683
+ var oPreviewContract = oCatalogTile.getContract("preview");
2684
+ if (oPreviewContract) {
2685
+ oPreviewContract.setEnabled(true);
2686
+ } else {
2687
+ oDeferred.resolve(this._createPreviewTile(sTitle));
2688
+ return oDeferred.promise();
2689
+ }
2690
+ }
2691
+
2692
+ oCatalogTile.getImplementationAsSapui5Async()
2693
+ .catch(function (oError) {
2694
+ Log.error("Cannot get catalog tile view as SAPUI5: " + (oError.message || oError), oError.stack, sCOMPONENT);
2695
+ return this._createErrorTile(sTitle, (oError.message || oError));
2696
+ }.bind(this))
2697
+ .then(oDeferred.resolve);
2698
+
2699
+ return oDeferred.promise();
2700
+ };
2701
+
2702
+ /**
2703
+ * Returns an error tile
2704
+ * @param {string} sTitle The tile title
2705
+ * @param {string} [sMessage] A message which gets added to the tile as subtitle
2706
+ * @returns {sap.m.GenericTile} The error tile
2707
+ *
2708
+ * @private
2709
+ * @since 1.97.0
2710
+ */
2711
+ this._createErrorTile = function (sTitle, sMessage) {
2712
+ var oErrorTile = new GenericTile({
2713
+ state: LoadState.Failed,
2714
+ header: sTitle,
2715
+ subheader: sMessage || ""
2716
+ }).addStyleClass("sapUshellTileError");
2717
+ return oErrorTile;
2718
+ };
2719
+
2720
+ /**
2721
+ * Returns a Tile for preview purposes
2722
+ * @param {string} sTitle The title
2723
+ * @returns {sap.ushell.ui.tile.StaticTile} a Preview Tile
2724
+ *
2725
+ * @private
2726
+ * @since 1.97.0
2727
+ */
2728
+ this._createPreviewTile = function (sTitle) {
2729
+ // TODO remove as soon as RT has an own // TODO: pending dependency migration
2730
+ return new StaticTile({
2731
+ title: sTitle,
2732
+ subtitle: "",
2733
+ info: "",
2734
+ infoState: "Neutral",
2735
+ icon: "sap-icon://folder-full"
2736
+ });
2737
+ };
2738
+
2659
2739
  /**
2660
2740
  * Get navigation target URL for a catalog tile.
2661
2741
  *
@@ -3055,7 +3135,7 @@ sap.ui.define([
3055
3135
  resolve();
3056
3136
  } catch (oError) {
3057
3137
  var sMessage = "Chip configuration check failed: " + oError.toString();
3058
- jQuery.sap.log.error(sMessage, oChipInstance.getId(), sCOMPONENT);
3138
+ Log.error(sMessage, oChipInstance.getId(), sCOMPONENT);
3059
3139
  reject(sMessage);
3060
3140
  }
3061
3141
  }.bind(this));
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the abap
9
9
  * platform.
10
10
  *
11
- * @version 1.96.1
11
+ * @version 1.97.0
12
12
  */
13
13
  sap.ui.define([], function () {
14
14
  "use strict";
@@ -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.96.1
5
+ * @version 1.97.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.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -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.96.1
10
+ * @version 1.97.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ushell_abap/adapters/abap/AdapterContainer",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Search adapter for the ABAP platform.
5
- * @version 1.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([], function () {
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.96.1
5
+ * @version 1.97.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.96.1
5
+ * @version 1.97.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], function () {
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's container adapter for the HANA platform.
5
5
  *
6
- * @version 1.96.1
6
+ * @version 1.97.0
7
7
  */
8
8
  /**
9
9
  * @namespace Default namespace for Unified Shell adapters for the HANA platform. They can usually
@@ -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.96.1
17
+ * @version 1.97.0
18
18
  */
19
19
  sap.ui.define([
20
20
  "./abap.constants",
@@ -13,13 +13,13 @@ sap.ui.define([
13
13
  * @namespace
14
14
  * @name sap.ushell_abap
15
15
  * @author SAP SE
16
- * @version 1.96.1
16
+ * @version 1.97.0
17
17
  * @private
18
18
  * @ui5-restricted
19
19
  */
20
20
  sap.ui.getCore().initLibrary({
21
21
  name: "sap.ushell_abap",
22
- version: "1.96.1",
22
+ version: "1.97.0",
23
23
  dependencies: ["sap.ui.core", "sap.m"],
24
24
  noLibraryCSS: true,
25
25
  extensions: {
@@ -689,6 +689,20 @@ sap.ui.define([
689
689
  fillPropertyMap(oBagData);
690
690
  };
691
691
 
692
+ // for test purposes -------------------------------------------------------
693
+
694
+ this._getChangeHandler = function () {
695
+ return fnChangeListener;
696
+ };
697
+
698
+ this._getRawBagData = function () {
699
+ return oAlterEgo;
700
+ };
701
+
702
+ this._getParentBag = function () {
703
+ return oParentBag;
704
+ };
705
+
692
706
  // constructor code -------------------------------------------------------
693
707
 
694
708
  fillPropertyMap(oAlterEgo);
@@ -467,6 +467,24 @@ sap.ui.define([
467
467
  return oChip.getImplementationAsSapui5(oApi);
468
468
  };
469
469
 
470
+ /**
471
+ * Returns this CHIP instance's implementation of type SAPUI5 as a control. This control
472
+ * represents the root of this CHIP instance's UI from a page builder point of view. Can only
473
+ * be called if the CHIP instance is not a stub anymore.
474
+ *
475
+ * @returns {Promise<sap.ui.core.Control>}
476
+ * resolves this CHIP instance's SAPUI5 implementation as a control
477
+ * @since 1.97.0
478
+ *
479
+ * @see #isStub()
480
+ */
481
+ this.getImplementationAsSapui5Async = function () {
482
+ return new Promise(function (resolve, reject) {
483
+ checkStub();
484
+ resolve(oChip.getImplementationAsSapui5(oApi));
485
+ });
486
+ };
487
+
470
488
  /**
471
489
  * Returns this CHIP instance's layout data as defined by the page building service.
472
490
  *
package/ui5.yaml CHANGED
@@ -214,6 +214,7 @@ builder:
214
214
  - sap/m/Link.js
215
215
  - sap/m/LinkRenderer.js
216
216
  - sap/m/MessagePage.js
217
+ - sap/m/MessageStrip.js
217
218
  - sap/m/NumericContent.js
218
219
  - sap/m/NumericContentRenderer.js
219
220
  - sap/m/Page.js