@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 +1 -1
- package/src/main/js/sap/ushell_abap/.library +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.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 +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +142 -62
- package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.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/hana/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.ushell.js +1 -1
- package/src/main/js/sap/ushell_abap/library.js +2 -2
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Bag.js +14 -0
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipInstance.js +18 -0
- package/ui5.yaml +1 -0
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.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="
|
|
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 page building adapter for the ABAP platform.
|
|
5
|
-
* @version 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2039
|
-
|
|
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
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2058
|
+
oTile.getImplementationAsSapui5Async().then(function (oView) {
|
|
2059
|
+
if (sTileType === "link") {
|
|
2060
|
+
var oViewModel,
|
|
2061
|
+
oViewController,
|
|
2062
|
+
sUrl,
|
|
2063
|
+
oLinkTile;
|
|
2061
2064
|
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
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
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2082
|
+
oLinkTile.setModel(oViewModel, "view");
|
|
2083
|
+
oDeferred.resolve(oLinkTile);
|
|
2084
|
+
return;
|
|
2085
|
+
}
|
|
2083
2086
|
|
|
2084
|
-
|
|
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
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3138
|
+
Log.error(sMessage, oChipInstance.getId(), sCOMPONENT);
|
|
3059
3139
|
reject(sMessage);
|
|
3060
3140
|
}
|
|
3061
3141
|
}.bind(this));
|
|
@@ -13,13 +13,13 @@ sap.ui.define([
|
|
|
13
13
|
* @namespace
|
|
14
14
|
* @name sap.ushell_abap
|
|
15
15
|
* @author SAP SE
|
|
16
|
-
* @version 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.
|
|
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
|
*
|