@sapui5/sap.ushell_abap 1.153.0 → 1.154.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 +1 -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 +1 -1
- 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 +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +53 -4
- 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 +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +5 -5
- 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/VisualizationInstantiationAdapter.js +76 -0
- package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/local/ClientSideTargetResolutionAdapter.js +123 -0
- package/src/main/js/sap/ushell_abap/adapters/local/FlpLaunchPageAdapter.js +115 -0
- package/src/main/js/sap/ushell_abap/adapters/local/MenuAdapter.js +92 -0
- package/src/main/js/sap/ushell_abap/adapters/local/PageBuildingAdapter.js +242 -0
- package/src/main/js/sap/ushell_abap/adapters/local/PagePersistenceAdapter.js +308 -0
- package/src/main/js/sap/ushell_abap/api/S4MyHome.js +58 -0
- package/src/main/js/sap/ushell_abap/bootstrap/DirectAppStart.js +25 -13
- package/src/main/js/sap/ushell_abap/bootstrap/PlatformConfig.js +5 -5
- package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +11 -0
- package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/Favorites.js +549 -0
- package/src/main/js/sap/ushell_abap/components/SideNavigation/modules/GenericNavigationListProvider.js +241 -0
- package/src/main/js/sap/ushell_abap/components/cards/Card.controller.js +117 -0
- package/src/main/js/sap/ushell_abap/components/cards/Card.view.xml +11 -0
- package/src/main/js/sap/ushell_abap/components/cards/Configuration.controller.js +280 -0
- package/src/main/js/sap/ushell_abap/components/cards/Configuration.view.xml +27 -0
- package/src/main/js/sap/ushell_abap/components/cards/ManifestPropertyHelper.js +298 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/Component.js +6 -6
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/TransactionCode.controller.js +9 -8
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n.properties +10 -10
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ar.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_bg.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ca.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cnr.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cs.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_cy.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_da.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_de.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_el.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_GB.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_sappsd.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saprigi.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_en_US_saptrc.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_es_MX.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_et.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fi.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_fr_CA.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hi.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hr.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_hu.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_id.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_it.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_iw.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ja.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_kk.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ko.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lt.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_lv.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_mk.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ms.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_nl.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_no.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pl.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_pt_PT.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ro.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_ru.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sh.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sk.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sl.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sr.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_sv.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_th.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_tr.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_uk.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_vi.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_CN.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/i18n/i18n_zh_TW.properties +10 -0
- package/src/main/js/sap/ushell_abap/components/settings/TransactionCode/manifest.json +1 -1
- package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.controller.js +189 -0
- package/src/main/js/sap/ushell_abap/components/tiles/action/ActionTile.view.xml +13 -0
- package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.controller.js +193 -0
- package/src/main/js/sap/ushell_abap/components/tiles/action/Configuration.view.xml +333 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Component.js +41 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.controller.js +114 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncher/Configuration.view.xml +208 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.controller.js +497 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncher/StaticTile.view.js +61 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Component.js +45 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.controller.js +113 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/Configuration.view.xml +231 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.controller.js +729 -0
- package/src/main/js/sap/ushell_abap/components/tiles/applauncherdynamic/DynamicTile.view.js +106 -0
- package/src/main/js/sap/ushell_abap/library.js +12 -1
- package/src/main/js/sap/ushell_abap/messagebundle.properties +5 -3
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +7 -3
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +1 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/configuration.js +6 -2
- package/src/main/js/sap/ushell_abap/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/ChipInstanceWrapper.js +248 -0
- package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap.js +134 -0
- package/src/main/js/sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink.js +145 -0
- package/src/main/js/sap/ushell_abap/utils/UserPersonalization.js +51 -4
- package/ui5.yaml +20 -2
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.154.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
|
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileoverview The Unified Shell's page building adapter for the ABAP platform. Private copy. Classical home page functions are deprecated.
|
|
5
5
|
* @since 1.121
|
|
6
|
-
* @version 1.
|
|
6
|
+
* @version 1.154.0
|
|
7
7
|
*/
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/ui/thirdparty/URI",
|
|
10
|
-
"sap/
|
|
10
|
+
"sap/ushell_abap/components/cards/ManifestPropertyHelper",
|
|
11
11
|
"sap/base/util/ObjectPath",
|
|
12
12
|
"sap/base/util/isEmptyObject",
|
|
13
13
|
"sap/m/GenericTile",
|
|
@@ -24,7 +24,8 @@ sap.ui.define([
|
|
|
24
24
|
"sap/ushell/ui/tile/StaticTile",
|
|
25
25
|
"sap/ushell_abap/pbServices/ui2/contracts/preview",
|
|
26
26
|
"sap/ushell/Container",
|
|
27
|
-
"sap/ushell/utils/LaunchpadError"
|
|
27
|
+
"sap/ushell/utils/LaunchpadError",
|
|
28
|
+
"sap/ushell_abap/utils/UserPersonalization"
|
|
28
29
|
], (
|
|
29
30
|
URI,
|
|
30
31
|
ManifestPropertyHelper,
|
|
@@ -44,7 +45,8 @@ sap.ui.define([
|
|
|
44
45
|
StaticTile,
|
|
45
46
|
Preview,
|
|
46
47
|
Container,
|
|
47
|
-
LaunchpadError
|
|
48
|
+
LaunchpadError,
|
|
49
|
+
UserPersonalization
|
|
48
50
|
) => {
|
|
49
51
|
"use strict";
|
|
50
52
|
|
|
@@ -2930,6 +2932,16 @@ sap.ui.define([
|
|
|
2930
2932
|
return [];
|
|
2931
2933
|
}
|
|
2932
2934
|
|
|
2935
|
+
function getTransactionCodeDefinedInCatalogTileData (oCatalogTile) {
|
|
2936
|
+
const sTransactionCode = LaunchPageAdapter.prototype._getConfigurationProperty(oCatalogTile, "tileConfiguration", "display_transaction_code");
|
|
2937
|
+
|
|
2938
|
+
if (sTransactionCode) {
|
|
2939
|
+
return [sTransactionCode];
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2942
|
+
return [];
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2933
2945
|
// Apply the 'search' contract when available
|
|
2934
2946
|
function getKeywordsFromSearchContract (oCatalogTile) {
|
|
2935
2947
|
if (oCatalogTile.isStub()) {
|
|
@@ -2957,6 +2969,10 @@ sap.ui.define([
|
|
|
2957
2969
|
oKeywordsSet,
|
|
2958
2970
|
getNumberUnitDefinedInCatalogTileData(oCatalogTile)
|
|
2959
2971
|
);
|
|
2972
|
+
addKeywords(
|
|
2973
|
+
oKeywordsSet,
|
|
2974
|
+
getTransactionCodeDefinedInCatalogTileData(oCatalogTile)
|
|
2975
|
+
);
|
|
2960
2976
|
|
|
2961
2977
|
// Relevant for tiles which are instantiated in the app finder.
|
|
2962
2978
|
addKeywords(
|
|
@@ -2977,6 +2993,39 @@ sap.ui.define([
|
|
|
2977
2993
|
return Object.keys(oKeywordsSet); // property names are used in order to avoid duplicates
|
|
2978
2994
|
};
|
|
2979
2995
|
|
|
2996
|
+
/**
|
|
2997
|
+
* Attaches an event handler to the display transaction code change event.
|
|
2998
|
+
*
|
|
2999
|
+
* @param {object} oCatalogTile The catalog tile
|
|
3000
|
+
* @param {object} [oData] An object that will be passed to the handler along with the event object when the event is fired
|
|
3001
|
+
* @param {function} fnFunction The handler function to call when the event occurs.
|
|
3002
|
+
* This function will be called in the context of the <code>oListener</code> instance (if present) or on the event provider instance.
|
|
3003
|
+
* The event object ({@link sap.ui.base.Event}) is provided as first argument of the handler. Handlers must not change the content of
|
|
3004
|
+
* the event. The second argument is the specified <code>oData</code> instance (if present).
|
|
3005
|
+
* @param {object} [oListener] The object that wants to be notified when the event occurs (<code>this</code> context within the
|
|
3006
|
+
* handler function). If it is not specified, the handler function is called in the context of the event provider.
|
|
3007
|
+
*
|
|
3008
|
+
* @since 1.154.0
|
|
3009
|
+
* @private
|
|
3010
|
+
*/
|
|
3011
|
+
this.attachCatalogTileUpdated = function (oCatalogTile, ...args) {
|
|
3012
|
+
UserPersonalization.attachDisplayTransactionCodeChanged(...args);
|
|
3013
|
+
};
|
|
3014
|
+
|
|
3015
|
+
/**
|
|
3016
|
+
* Detaches an event handler from the display transaction code change event.
|
|
3017
|
+
*
|
|
3018
|
+
* @param {object} oCatalogTile The catalog tile
|
|
3019
|
+
* @param {function} fnFunction The handler function to detach from the event
|
|
3020
|
+
* @param {object} [oListener] The object that wanted to be notified when the event occurred
|
|
3021
|
+
*
|
|
3022
|
+
* @since 1.154.0
|
|
3023
|
+
* @private
|
|
3024
|
+
*/
|
|
3025
|
+
this.detachCatalogTileUpdated = function (oCatalogTile, ...args) {
|
|
3026
|
+
UserPersonalization.detachDisplayTransactionCodeChanged(...args);
|
|
3027
|
+
};
|
|
3028
|
+
|
|
2980
3029
|
/**
|
|
2981
3030
|
* Adds a bookmark to the user's home page.
|
|
2982
3031
|
*
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview PagePersistenceAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.154.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/i18n/Localization",
|
|
@@ -59,7 +59,7 @@ sap.ui.define([
|
|
|
59
59
|
*/
|
|
60
60
|
PagePersistenceAdapter.prototype.getPage = function (pageId) {
|
|
61
61
|
return Promise.all([
|
|
62
|
-
this.
|
|
62
|
+
this.readPage(pageId),
|
|
63
63
|
Container.getServiceAsync("URLParsing")
|
|
64
64
|
])
|
|
65
65
|
.then((aResults) => {
|
|
@@ -82,7 +82,7 @@ sap.ui.define([
|
|
|
82
82
|
*/
|
|
83
83
|
PagePersistenceAdapter.prototype.getPages = function (aPageId) {
|
|
84
84
|
return Promise.all([
|
|
85
|
-
this.
|
|
85
|
+
this.readPages(aPageId),
|
|
86
86
|
Container.getServiceAsync("URLParsing")
|
|
87
87
|
])
|
|
88
88
|
.then((aResults) => {
|
|
@@ -105,7 +105,7 @@ sap.ui.define([
|
|
|
105
105
|
* @since 1.67.0
|
|
106
106
|
* @private
|
|
107
107
|
*/
|
|
108
|
-
PagePersistenceAdapter.prototype.
|
|
108
|
+
PagePersistenceAdapter.prototype.readPage = function (pageId) {
|
|
109
109
|
return new Promise((resolve, reject) => {
|
|
110
110
|
const oHeaders = {
|
|
111
111
|
"Cache-Control": "no-cache, no-store, must-revalidate",
|
|
@@ -147,7 +147,7 @@ sap.ui.define([
|
|
|
147
147
|
* @since 1.75.0
|
|
148
148
|
* @private
|
|
149
149
|
*/
|
|
150
|
-
PagePersistenceAdapter.prototype.
|
|
150
|
+
PagePersistenceAdapter.prototype.readPages = function (aPageId) {
|
|
151
151
|
return new Promise((resolve, reject) => {
|
|
152
152
|
const oHeaders = {
|
|
153
153
|
"Cache-Control": "no-cache, no-store, must-revalidate",
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileOverview VisualizationInstantiation Adapter for the ABAP platform.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ushell/library",
|
|
9
|
+
"sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbap",
|
|
10
|
+
"sap/ushell_abap/ui/VisualizationInstantiation/VizInstanceAbapLink"
|
|
11
|
+
], (
|
|
12
|
+
ushellLibrary,
|
|
13
|
+
VizInstanceAbap,
|
|
14
|
+
VizInstanceAbapLink
|
|
15
|
+
) => {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
// shortcut for sap.ushell.DisplayFormat
|
|
19
|
+
const DisplayFormat = ushellLibrary.DisplayFormat;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Constructs a new instance of the VisualizationInstantiation Adapter for the ABAP platform
|
|
23
|
+
*
|
|
24
|
+
* @class
|
|
25
|
+
* @since 1.154.0
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
function VisualizationInstantiationAdapter () { }
|
|
29
|
+
|
|
30
|
+
VisualizationInstantiationAdapter.prototype.instantiateVisualization = function (oVizInstanceData, sPlatform, oPropertiesWithSpecialSyntax) {
|
|
31
|
+
if (sPlatform !== "ABAP") {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let oVizInstance;
|
|
36
|
+
if (oVizInstanceData.displayFormat === DisplayFormat.Compact) {
|
|
37
|
+
this._cleanInstantiationDataForLink(oVizInstanceData);
|
|
38
|
+
oVizInstance = new VizInstanceAbapLink(oVizInstanceData);
|
|
39
|
+
} else {
|
|
40
|
+
oVizInstance = new VizInstanceAbap(oVizInstanceData);
|
|
41
|
+
oVizInstance.setInfo(oPropertiesWithSpecialSyntax.info); // same as below
|
|
42
|
+
}
|
|
43
|
+
// we need to set these properties separately because it is likely that they contain stringified objects
|
|
44
|
+
// which might be interpreted as complex binding
|
|
45
|
+
// e.g. appSpecificRoute of search
|
|
46
|
+
// BCP: 2070390842
|
|
47
|
+
// BCP: 2180362150
|
|
48
|
+
// BCP: 002075129400006346412020
|
|
49
|
+
oVizInstance.setTargetURL(oPropertiesWithSpecialSyntax.targetURL);
|
|
50
|
+
|
|
51
|
+
return oVizInstance;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Removes unnecessary properties for VizInstanceLink
|
|
56
|
+
*
|
|
57
|
+
* @param {object} oVizInstanceData The vizInstance data which should be modified
|
|
58
|
+
*
|
|
59
|
+
* @private
|
|
60
|
+
* @since 1.154.0
|
|
61
|
+
*/
|
|
62
|
+
VisualizationInstantiationAdapter.prototype._cleanInstantiationDataForLink = function (oVizInstanceData) {
|
|
63
|
+
delete oVizInstanceData.info;
|
|
64
|
+
delete oVizInstanceData.icon;
|
|
65
|
+
delete oVizInstanceData.keywords;
|
|
66
|
+
delete oVizInstanceData.dataSource;
|
|
67
|
+
delete oVizInstanceData.contentProviderId;
|
|
68
|
+
delete oVizInstanceData.contentProviderLabel;
|
|
69
|
+
delete oVizInstanceData.vizConfig;
|
|
70
|
+
delete oVizInstanceData.numberUnit;
|
|
71
|
+
delete oVizInstanceData.indicatorDataSource;
|
|
72
|
+
delete oVizInstanceData.preview;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return VisualizationInstantiationAdapter;
|
|
76
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileOverview ClientSideTargetResolutionAdapter for the local (abap) platform.
|
|
5
|
+
*
|
|
6
|
+
* Intended for OPA and standalone test scenarios.
|
|
7
|
+
*
|
|
8
|
+
* A thin subclass of the ABAP ClientSideTargetResolutionAdapter that feeds inbounds
|
|
9
|
+
* from static config JSON without requiring an OData MockServer.
|
|
10
|
+
*
|
|
11
|
+
* @version 1.154.0
|
|
12
|
+
*/
|
|
13
|
+
sap.ui.define([
|
|
14
|
+
"sap/base/util/LoaderExtensions",
|
|
15
|
+
"sap/base/util/uid",
|
|
16
|
+
"sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter"
|
|
17
|
+
], (
|
|
18
|
+
LoaderExtensions,
|
|
19
|
+
uid,
|
|
20
|
+
AbapClientSideTargetResolutionAdapter
|
|
21
|
+
) => {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Constructs a new local instance of the ClientSideTargetResolutionAdapter for the ABAP platform.
|
|
26
|
+
*
|
|
27
|
+
* @param {object} oSystem The system served by the adapter
|
|
28
|
+
* @param {string} sParameter Parameter string, not in use
|
|
29
|
+
* @param {object} oAdapterConfiguration Adapter configuration
|
|
30
|
+
*
|
|
31
|
+
* @class
|
|
32
|
+
* @since 1.154.0
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
function ClientSideTargetResolutionAdapter (oSystem, sParameter, oAdapterConfiguration) {
|
|
36
|
+
const oConfig = oAdapterConfiguration?.config || {};
|
|
37
|
+
|
|
38
|
+
// Resolving with null signals the base that no segmented start-up data will arrive
|
|
39
|
+
// (i.e. the direct-start fast-path is intentionally disabled for local/test use).
|
|
40
|
+
const pInitialSegmentPromise = Promise.resolve(null);
|
|
41
|
+
|
|
42
|
+
// Carry the full synthetic start-up payload so the base stores targetMappings and
|
|
43
|
+
// systemAliases via _storeFromFullStartupResponse before getInbounds is called.
|
|
44
|
+
const pNavTargetDataPromise = this._fetchData(oAdapterConfiguration.config).then((oTargetMappings) => {
|
|
45
|
+
return {
|
|
46
|
+
targetMappings: oTargetMappings,
|
|
47
|
+
systemAliases: oConfig.systemAliases || {},
|
|
48
|
+
urlTemplates: {}
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
AbapClientSideTargetResolutionAdapter.call(this, oSystem, sParameter, {
|
|
53
|
+
config: {
|
|
54
|
+
initialSegmentPromise: pInitialSegmentPromise,
|
|
55
|
+
navTargetDataPromise: pNavTargetDataPromise
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
ClientSideTargetResolutionAdapter.prototype = Object.create(AbapClientSideTargetResolutionAdapter.prototype);
|
|
61
|
+
ClientSideTargetResolutionAdapter.prototype.constructor = ClientSideTargetResolutionAdapter;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Loads target mappings from the configured JSON resource and converts them
|
|
65
|
+
* into the keyed structure expected by the base ABAP adapter.
|
|
66
|
+
*
|
|
67
|
+
* @param {object} oConfig Adapter config containing <code>targetMappingsPath</code>.
|
|
68
|
+
* @returns {Promise<Object<string, object>>} Target mappings keyed by <code>SemanticObject-action~uiadId</code>.
|
|
69
|
+
*
|
|
70
|
+
* @since 1.154.0
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
ClientSideTargetResolutionAdapter.prototype._fetchData = async function (oConfig) {
|
|
74
|
+
const aTargetMappingData = oConfig.targetMappings || await LoaderExtensions.loadResource(oConfig.targetMappingsPath, { async: true });
|
|
75
|
+
|
|
76
|
+
return aTargetMappingData.reduce((oTargetMappings, oTMToAdd) => {
|
|
77
|
+
const sUiadId = oTMToAdd.uiadId || uid();
|
|
78
|
+
const sTmId = `${oTMToAdd.semanticObject}-${oTMToAdd.action}~${sUiadId}`;
|
|
79
|
+
|
|
80
|
+
if (oTargetMappings[sTmId]) {
|
|
81
|
+
throw new Error(`Conflicting tm ids '${sTmId}'`);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
oTargetMappings[sTmId] = {
|
|
85
|
+
semanticObject: oTMToAdd.semanticObject,
|
|
86
|
+
semanticAction: oTMToAdd.action,
|
|
87
|
+
formFactors: {
|
|
88
|
+
desktop: true,
|
|
89
|
+
tablet: true,
|
|
90
|
+
phone: true
|
|
91
|
+
},
|
|
92
|
+
signature: oTMToAdd.signature || {},
|
|
93
|
+
text: oTMToAdd.title,
|
|
94
|
+
applicationType: oTMToAdd.applicationType,
|
|
95
|
+
catalogId: oTMToAdd.catalogId,
|
|
96
|
+
tcode: oTMToAdd.tcode,
|
|
97
|
+
|
|
98
|
+
// optional
|
|
99
|
+
tmChipId: sUiadId,
|
|
100
|
+
uiadId: sUiadId,
|
|
101
|
+
isDefaultLadi: oTMToAdd.isDefaultLadi,
|
|
102
|
+
ladiHasTiles: oTMToAdd.ladiHasTiles,
|
|
103
|
+
defaultTileParams: oTMToAdd.defaultTileParams
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
if (oTargetMappings[sTmId].applicationType === "SAPUI5") {
|
|
107
|
+
oTargetMappings[sTmId].applicationData = `SAPUI5.Component=${oTMToAdd.ui5ComponentName}`;
|
|
108
|
+
oTargetMappings[sTmId].applicationDependencies = JSON.stringify({
|
|
109
|
+
name: oTMToAdd.ui5ComponentName,
|
|
110
|
+
url: new URL(sap.ui.require.toUrl(oTMToAdd.url), document.baseURI).toString(),
|
|
111
|
+
asyncHints: {},
|
|
112
|
+
minUi5Versions: ["1.28"]
|
|
113
|
+
});
|
|
114
|
+
} else {
|
|
115
|
+
oTargetMappings[sTmId].url = oTMToAdd.url;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return oTargetMappings;
|
|
119
|
+
}, {});
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
return ClientSideTargetResolutionAdapter;
|
|
123
|
+
});
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Copyright (c) 2009-2026 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileOverview FlpLaunchPageAdapter for the local (abap) platform.
|
|
5
|
+
*
|
|
6
|
+
* Intended for OPA and standalone test scenarios with no backend.
|
|
7
|
+
*
|
|
8
|
+
* A thin subclass of the ABAP FlpLaunchPageAdapter that feeds the compact target
|
|
9
|
+
* mappings from static config JSON instead of the <code>/sap/bc/ui2/start_up</code>
|
|
10
|
+
* backend request.
|
|
11
|
+
*
|
|
12
|
+
* @version 1.154.0
|
|
13
|
+
*/
|
|
14
|
+
sap.ui.define([
|
|
15
|
+
"sap/base/util/LoaderExtensions",
|
|
16
|
+
"sap/base/util/uid",
|
|
17
|
+
"sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
|
|
18
|
+
], (
|
|
19
|
+
LoaderExtensions,
|
|
20
|
+
uid,
|
|
21
|
+
AbapFlpLaunchPageAdapter
|
|
22
|
+
) => {
|
|
23
|
+
"use strict";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Constructs a new local instance of the FlpLaunchPageAdapter for the ABAP platform.
|
|
27
|
+
*
|
|
28
|
+
* @param {object} oSystem The system served by the adapter
|
|
29
|
+
* @param {string} sParameter Parameter string, not in use
|
|
30
|
+
* @param {object} oAdapterConfiguration Adapter configuration.
|
|
31
|
+
*
|
|
32
|
+
* @class
|
|
33
|
+
* @since 1.154.0
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
function FlpLaunchPageAdapter (oSystem, sParameter, oAdapterConfiguration) {
|
|
37
|
+
// The base _readTargetMappings short-circuits to config.compactTMPromise (when present)
|
|
38
|
+
// and never issues the /sap/bc/ui2/start_up backend request that would hang here.
|
|
39
|
+
const pCompactTMs = this._fetchData(oAdapterConfiguration.config).then((oTargetMappings) => {
|
|
40
|
+
return {
|
|
41
|
+
targetMappings: oTargetMappings
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
AbapFlpLaunchPageAdapter.call(this, oSystem, sParameter, {
|
|
46
|
+
config: Object.assign({}, oAdapterConfiguration, {
|
|
47
|
+
compactTMPromise: pCompactTMs
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
FlpLaunchPageAdapter.prototype = Object.create(AbapFlpLaunchPageAdapter.prototype);
|
|
53
|
+
FlpLaunchPageAdapter.prototype.constructor = FlpLaunchPageAdapter;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Loads target mappings from the configured JSON resource and converts them
|
|
57
|
+
* into the keyed structure expected by the base ABAP adapter.
|
|
58
|
+
*
|
|
59
|
+
* @param {object} oConfig Adapter config containing <code>targetMappingsPath</code>.
|
|
60
|
+
* @returns {Promise<Object<string, object>>} Target mappings keyed by <code>SemanticObject-action~uiadId</code>.
|
|
61
|
+
*
|
|
62
|
+
* @since 1.154.0
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
FlpLaunchPageAdapter.prototype._fetchData = async function (oConfig) {
|
|
66
|
+
const aTargetMappingData = oConfig.targetMappings || await LoaderExtensions.loadResource(oConfig.targetMappingsPath, { async: true });
|
|
67
|
+
|
|
68
|
+
return aTargetMappingData.reduce((oTargetMappings, oTMToAdd) => {
|
|
69
|
+
const sUiadId = oTMToAdd.uiadId || uid();
|
|
70
|
+
const sTmId = `${oTMToAdd.semanticObject}-${oTMToAdd.action}~${sUiadId}`;
|
|
71
|
+
|
|
72
|
+
if (oTargetMappings[sTmId]) {
|
|
73
|
+
throw new Error(`Conflicting tm ids '${sTmId}'`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
oTargetMappings[sTmId] = {
|
|
77
|
+
semanticObject: oTMToAdd.semanticObject,
|
|
78
|
+
semanticAction: oTMToAdd.action,
|
|
79
|
+
formFactors: {
|
|
80
|
+
desktop: true,
|
|
81
|
+
tablet: true,
|
|
82
|
+
phone: true
|
|
83
|
+
},
|
|
84
|
+
signature: oTMToAdd.signature || {},
|
|
85
|
+
text: oTMToAdd.title,
|
|
86
|
+
applicationType: oTMToAdd.applicationType,
|
|
87
|
+
catalogId: oTMToAdd.catalogId,
|
|
88
|
+
tcode: oTMToAdd.tcode,
|
|
89
|
+
|
|
90
|
+
// optional
|
|
91
|
+
tmChipId: sUiadId,
|
|
92
|
+
uiadId: sUiadId,
|
|
93
|
+
isDefaultLadi: oTMToAdd.isDefaultLadi,
|
|
94
|
+
ladiHasTiles: oTMToAdd.ladiHasTiles,
|
|
95
|
+
defaultTileParams: oTMToAdd.defaultTileParams
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
if (oTargetMappings[sTmId].applicationType === "SAPUI5") {
|
|
99
|
+
oTargetMappings[sTmId].applicationData = `SAPUI5.Component=${oTMToAdd.ui5ComponentName}`;
|
|
100
|
+
oTargetMappings[sTmId].applicationDependencies = JSON.stringify({
|
|
101
|
+
name: oTMToAdd.ui5ComponentName,
|
|
102
|
+
url: new URL(sap.ui.require.toUrl(oTMToAdd.url), document.baseURI).toString(),
|
|
103
|
+
asyncHints: {},
|
|
104
|
+
minUi5Versions: ["1.28"]
|
|
105
|
+
});
|
|
106
|
+
} else {
|
|
107
|
+
oTargetMappings[sTmId].url = oTMToAdd.url;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return oTargetMappings;
|
|
111
|
+
}, {});
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
return FlpLaunchPageAdapter;
|
|
115
|
+
});
|