@sapui5/sap.ushell_abap 1.140.0 → 1.141.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 +2 -2
- package/src/main/js/sap/ushell_abap/.library +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/AdapterContainer.js +12 -9
- package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +9 -9
- package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +39 -36
- 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 +8 -10
- package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +150 -91
- 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 +18 -15
- package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +3 -3
- 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 +2 -2
- package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/UserInfoAdapter.js +28 -20
- package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/SAPCompanionConditionSetter.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/bootstrap/evo/abap.request.pageset.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.startup.js +17 -13
- package/src/main/js/sap/ushell_abap/bootstrap/evo/boottask.js +58 -56
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation/MessageCode.js +47 -0
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation/TCodeNavigationError.js +59 -0
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation.js +129 -116
- package/src/main/js/sap/ushell_abap/integration/fileshares/AppRuntimeFileShareSupport.js +4 -4
- package/src/main/js/sap/ushell_abap/library.js +8 -1
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Bag.js +11 -11
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Catalog.js +2 -2
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Chip.js +4 -8
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ChipInstance.js +4 -8
- package/src/main/js/sap/ushell_abap/pbServices/ui2/ODataWrapper.js +18 -6
- package/src/main/js/sap/ushell_abap/pbServices/ui2/Utils.js +6 -9
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/actions.js +2 -2
- package/src/main/js/sap/ushell_abap/pbServices/ui2/contracts/visible.js +2 -2
- package/src/main/js/sap/ushell_abap/ui5appruntime/AppInfoAdapter.js +2 -2
- package/ui5.yaml +33 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sapui5/sap.ushell_abap",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.141.0",
|
|
4
4
|
"description": "SAPUI5 Library sap.ushell_abap",
|
|
5
5
|
"homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
|
|
6
6
|
"keywords": [
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"build-themes": "cross-env-shell ui5 build --exclude-task=* --include-task=buildThemes --framework-version $npm_package_version"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@ui5/cli": "^
|
|
18
|
+
"@ui5/cli": "^4.0.24",
|
|
19
19
|
"cross-env": "^7.0.3"
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -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.141.0</version>
|
|
6
6
|
<copyright>Copyright (c) 2009-2025 SAP SE, All Rights Reserved</copyright>
|
|
7
7
|
<documentation>SAP library: sap.ushell_abap</documentation>
|
|
8
8
|
|
|
@@ -6,14 +6,16 @@ sap.ui.define([
|
|
|
6
6
|
"sap/ui/thirdparty/jquery",
|
|
7
7
|
"sap/ui/core/format/DateFormat",
|
|
8
8
|
"sap/ushell_abap/pbServices/ui2/ODataService",
|
|
9
|
-
"sap/ushell/services/_Personalization/constants"
|
|
9
|
+
"sap/ushell/services/_Personalization/constants",
|
|
10
|
+
"sap/ushell/utils/LaunchpadError"
|
|
10
11
|
], (
|
|
11
12
|
ObjectPath,
|
|
12
13
|
Log,
|
|
13
14
|
jQuery,
|
|
14
15
|
DateFormat,
|
|
15
16
|
ODataService,
|
|
16
|
-
constants
|
|
17
|
+
constants,
|
|
18
|
+
LaunchpadError
|
|
17
19
|
) => {
|
|
18
20
|
"use strict";
|
|
19
21
|
|
|
@@ -92,11 +94,12 @@ sap.ui.define([
|
|
|
92
94
|
// response contains items.results (!)
|
|
93
95
|
that._oJSONContainer.PersContainerItems = (that._oJSONContainer.PersContainerItems && that._oJSONContainer.PersContainerItems.results) || [];
|
|
94
96
|
oDeferred.resolve(that);
|
|
95
|
-
}, (sErrorMessage) => {
|
|
97
|
+
}, (sErrorMessage, oParsedError) => {
|
|
96
98
|
// this error handler used to resolve with an empty personalization container
|
|
97
99
|
// but was changed to reject the promise so that the caller can react to the error
|
|
98
100
|
Log.error(sErrorMessage);
|
|
99
|
-
|
|
101
|
+
|
|
102
|
+
oDeferred.reject(new LaunchpadError(sErrorMessage, oParsedError));
|
|
100
103
|
});
|
|
101
104
|
return oDeferred.promise();
|
|
102
105
|
};
|
|
@@ -114,8 +117,8 @@ sap.ui.define([
|
|
|
114
117
|
|
|
115
118
|
oDataWrapper.create(sRelativeURL, this._oJSONContainer, (/* response */) => {
|
|
116
119
|
oDeferred.resolve(that);
|
|
117
|
-
}, (sErrorMessage) => {
|
|
118
|
-
oDeferred.reject(sErrorMessage);
|
|
120
|
+
}, (sErrorMessage, oParsedError) => {
|
|
121
|
+
oDeferred.reject(new LaunchpadError(sErrorMessage, oParsedError));
|
|
119
122
|
});
|
|
120
123
|
return oDeferred.promise();
|
|
121
124
|
};
|
|
@@ -132,8 +135,8 @@ sap.ui.define([
|
|
|
132
135
|
|
|
133
136
|
oDataWrapper.del(sRelativeURL, (response) => {
|
|
134
137
|
oDeferred.resolve(that);
|
|
135
|
-
}, (sErrorMessage) => {
|
|
136
|
-
oDeferred.reject(sErrorMessage);
|
|
138
|
+
}, (sErrorMessage, oParsedError) => {
|
|
139
|
+
oDeferred.reject(new LaunchpadError(sErrorMessage, oParsedError));
|
|
137
140
|
});
|
|
138
141
|
this._reset();
|
|
139
142
|
return oDeferred.promise();
|
|
@@ -276,7 +279,7 @@ sap.ui.define([
|
|
|
276
279
|
sItemValue = this._oJSONContainer.PersContainerItems[oItemRef.index].value;
|
|
277
280
|
try {
|
|
278
281
|
oItemValue = JSON.parse(sItemValue);
|
|
279
|
-
} catch
|
|
282
|
+
} catch {
|
|
280
283
|
// Workaround for
|
|
281
284
|
// GW Bug "true" => "X" and false => "" at the backend
|
|
282
285
|
// can be removed once Correction of Note 2013368 is implemented in landscape
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.141.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/ObjectPath",
|
|
@@ -47,8 +47,8 @@ sap.ui.define([
|
|
|
47
47
|
"sap-client": Container.getLogonSystem().getClient()
|
|
48
48
|
};
|
|
49
49
|
this._oWrapper = ODataWrapper.createODataWrapper(oODataWrapperSettings);
|
|
50
|
-
function fnDefaultFailure (
|
|
51
|
-
throw new SrvcError(
|
|
50
|
+
function fnDefaultFailure (sErrorMessage) {
|
|
51
|
+
throw new SrvcError(sErrorMessage, "sap.ushell_abap.adapters.abap.AppStateAdapter");
|
|
52
52
|
}
|
|
53
53
|
ODataService.call(this, this._oWrapper, fnDefaultFailure);
|
|
54
54
|
}
|
|
@@ -83,8 +83,8 @@ sap.ui.define([
|
|
|
83
83
|
this._oWrapper.create(sRelativeUrl, oPayload, (/* response */) => {
|
|
84
84
|
oDeferred.resolve();
|
|
85
85
|
}, (sErrorMessage) => {
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
Log.error(`AppState save failed: ${sErrorMessage}`);
|
|
87
|
+
oDeferred.reject(new Error(sErrorMessage));
|
|
88
88
|
});
|
|
89
89
|
|
|
90
90
|
return oDeferred.promise();
|
|
@@ -111,12 +111,12 @@ sap.ui.define([
|
|
|
111
111
|
this._oWrapper.read(sRelativeUrl, (response) => {
|
|
112
112
|
oDeferredRead.resolve(response.id, response.value);
|
|
113
113
|
}, (sErrorMessage) => {
|
|
114
|
-
Log.error(sErrorMessage);
|
|
115
|
-
oDeferredRead.reject(sErrorMessage);
|
|
114
|
+
Log.error(`AppState load failed: ${sErrorMessage}`);
|
|
115
|
+
oDeferredRead.reject(new Error(sErrorMessage));
|
|
116
116
|
}, false);
|
|
117
117
|
this._oWrapper.submitBatchQueue(() => { }, (sErrorMessage) => {
|
|
118
|
-
Log.error(sErrorMessage);
|
|
119
|
-
oDeferredRead.reject(sErrorMessage);
|
|
118
|
+
Log.error(`AppState load failed: ${sErrorMessage}`);
|
|
119
|
+
oDeferredRead.reject(new Error(sErrorMessage));
|
|
120
120
|
});
|
|
121
121
|
|
|
122
122
|
return oDeferredRead.promise();
|
|
@@ -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.
|
|
12
|
+
* @version 1.141.0
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
15
15
|
"sap/base/util/ObjectPath",
|
|
@@ -214,8 +214,8 @@ sap.ui.define([
|
|
|
214
214
|
that._storeFromFullStartupResponse(oFullStartupResult);
|
|
215
215
|
fnResolve(); // resolve the full promise
|
|
216
216
|
})
|
|
217
|
-
.catch((
|
|
218
|
-
fnReject(
|
|
217
|
+
.catch((oError) => {
|
|
218
|
+
fnReject(oError); // reject the full promise
|
|
219
219
|
});
|
|
220
220
|
};
|
|
221
221
|
|
|
@@ -271,10 +271,10 @@ sap.ui.define([
|
|
|
271
271
|
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
272
272
|
);
|
|
273
273
|
}
|
|
274
|
-
}).catch((
|
|
274
|
+
}).catch((oError) => {
|
|
275
275
|
Log.error(
|
|
276
276
|
"Initial segment promise was rejected.",
|
|
277
|
-
|
|
277
|
+
oError,
|
|
278
278
|
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
279
279
|
);
|
|
280
280
|
});
|
|
@@ -450,26 +450,26 @@ sap.ui.define([
|
|
|
450
450
|
});
|
|
451
451
|
|
|
452
452
|
// must wait on the full target mappings promise to complete before returning
|
|
453
|
-
this._oNavTargetPromise
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
453
|
+
this._oNavTargetPromise
|
|
454
|
+
.then(() => {
|
|
455
|
+
Log.debug(
|
|
456
|
+
"Got inbounds from full start_up response",
|
|
457
|
+
"",
|
|
458
|
+
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
459
|
+
);
|
|
459
460
|
|
|
460
|
-
|
|
461
|
-
|
|
461
|
+
// convert (once) when needed
|
|
462
|
+
this._aInbounds = this._formatDirectStart(this._aTargetMappings);
|
|
462
463
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
464
|
+
// we don't want to check for the initial segment in the future anymore, since we've got all the inbounds now.
|
|
465
|
+
this.getInbounds = function () {
|
|
466
|
+
// replace implementation of this method (no conversion in future calls anymore!)
|
|
467
|
+
return Promise.resolve(this._aInbounds);
|
|
468
|
+
};
|
|
468
469
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
fnReject
|
|
472
|
-
});
|
|
470
|
+
fnResolve(this._aInbounds);
|
|
471
|
+
})
|
|
472
|
+
.catch(fnReject);
|
|
473
473
|
});
|
|
474
474
|
};
|
|
475
475
|
|
|
@@ -528,12 +528,12 @@ sap.ui.define([
|
|
|
528
528
|
(sNavTargetDataResult) => {
|
|
529
529
|
const oNavTargetDataResult = JSON.parse(sNavTargetDataResult);
|
|
530
530
|
if (!oNavTargetDataResult) {
|
|
531
|
-
fnReject("Malformed Full TM Result");
|
|
531
|
+
fnReject(new Error("Malformed Full TM Result"));
|
|
532
532
|
}
|
|
533
533
|
fnResolve(oNavTargetDataResult);
|
|
534
534
|
},
|
|
535
|
-
(
|
|
536
|
-
fnReject(
|
|
535
|
+
(sErrorMessage) => {
|
|
536
|
+
fnReject(new Error(sErrorMessage));
|
|
537
537
|
}
|
|
538
538
|
);
|
|
539
539
|
});
|
|
@@ -1204,18 +1204,21 @@ sap.ui.define([
|
|
|
1204
1204
|
|
|
1205
1205
|
that._compactTooLongWdaUrl(oAdjustedResult).then((oCompactedResult) => {
|
|
1206
1206
|
fnResolve(oCompactedResult);
|
|
1207
|
-
}).catch((
|
|
1208
|
-
|
|
1207
|
+
}).catch((oError) => {
|
|
1208
|
+
Log.error(`Could not resolve link '${sFragmentNoHash}' due to compactation failure`, oError);
|
|
1209
|
+
fnReject(oError);
|
|
1209
1210
|
});
|
|
1210
1211
|
} else {
|
|
1211
|
-
fnReject(`Could not resolve link '${sFragmentNoHash}'`);
|
|
1212
|
+
fnReject(new Error(`Could not resolve link '${sFragmentNoHash}'`));
|
|
1212
1213
|
}
|
|
1213
|
-
}, (
|
|
1214
|
-
fnReject(
|
|
1214
|
+
}, (sErrorMessage) => {
|
|
1215
|
+
fnReject(new Error(sErrorMessage));
|
|
1215
1216
|
});
|
|
1216
1217
|
|
|
1217
1218
|
if (bBatchQueueOpened) {
|
|
1218
|
-
that._getODataWrapper().submitBatchQueue(() => { },
|
|
1219
|
+
that._getODataWrapper().submitBatchQueue(() => { }, (sErrorMessage) => {
|
|
1220
|
+
fnReject(new Error(sErrorMessage));
|
|
1221
|
+
});
|
|
1219
1222
|
}
|
|
1220
1223
|
});
|
|
1221
1224
|
};
|
|
@@ -1342,8 +1345,8 @@ sap.ui.define([
|
|
|
1342
1345
|
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
1343
1346
|
);
|
|
1344
1347
|
that._readSystemAliasViaInterop(sSystemAlias)
|
|
1345
|
-
.catch((
|
|
1346
|
-
fnReject(
|
|
1348
|
+
.catch((oError) => {
|
|
1349
|
+
fnReject(oError);
|
|
1347
1350
|
})
|
|
1348
1351
|
.then((oOdataSystemAliasData) => {
|
|
1349
1352
|
oSystemAliasData = that._fixSystemAlias(oOdataSystemAliasData);
|
|
@@ -1379,7 +1382,7 @@ sap.ui.define([
|
|
|
1379
1382
|
|
|
1380
1383
|
// must wait at least on the small start_up response before using INTEROP
|
|
1381
1384
|
|
|
1382
|
-
this._oInitialSegmentPromise.
|
|
1385
|
+
this._oInitialSegmentPromise.finally(fnRetryBufferOrUseInterop);
|
|
1383
1386
|
}
|
|
1384
1387
|
});
|
|
1385
1388
|
};
|
|
@@ -1517,8 +1520,8 @@ sap.ui.define([
|
|
|
1517
1520
|
(oSystemAliasData) => {
|
|
1518
1521
|
fnResolve(oSystemAliasData);
|
|
1519
1522
|
},
|
|
1520
|
-
(
|
|
1521
|
-
fnReject(
|
|
1523
|
+
(sErrorMessage) => {
|
|
1524
|
+
fnReject(new Error(sErrorMessage));
|
|
1522
1525
|
}
|
|
1523
1526
|
);
|
|
1524
1527
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview The Unified Shell's container adapter for the ABAP platform.
|
|
4
4
|
*
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.141.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/thirdparty/jquery",
|
|
@@ -25,7 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
abapUtils,
|
|
26
26
|
ODataWrapper,
|
|
27
27
|
URI,
|
|
28
|
-
|
|
28
|
+
datajs,
|
|
29
29
|
deepClone,
|
|
30
30
|
ObjectPath,
|
|
31
31
|
Log,
|
|
@@ -391,11 +391,9 @@ sap.ui.define([
|
|
|
391
391
|
});
|
|
392
392
|
}
|
|
393
393
|
oDeferred.resolve();
|
|
394
|
-
}, (
|
|
395
|
-
Log.error(
|
|
396
|
-
|
|
397
|
-
"sap.ushell_abap.adapters.abap.ContainerAdapter");
|
|
398
|
-
oDeferred.reject();
|
|
394
|
+
}, (sErrorMessage) => { // error handler
|
|
395
|
+
Log.error("Reading REMOTE catalogs failed:", sErrorMessage, "sap.ushell_abap.adapters.abap.ContainerAdapter");
|
|
396
|
+
oDeferred.reject(new Error(sErrorMessage));
|
|
399
397
|
});
|
|
400
398
|
})
|
|
401
399
|
.catch(oDeferred.reject);
|
|
@@ -513,13 +511,13 @@ sap.ui.define([
|
|
|
513
511
|
}
|
|
514
512
|
|
|
515
513
|
if (isUserImageEnabled() && oUser && oUser.isJamActive && oUser.isJamActive()) {
|
|
516
|
-
|
|
514
|
+
datajs.read("/sap/bc/ui2/smi/rest_tunnel/Jam/api/v1/OData/Self?$format=json", (oResponseData) => {
|
|
517
515
|
const sJamUserId = oResponseData.results.Id;
|
|
518
516
|
const sJamUserImageUrl = `/sap/bc/ui2/smi/rest_tunnel/Jam/api/v1/OData/Members('${sJamUserId}')/ProfilePhoto/$value`;
|
|
519
517
|
|
|
520
518
|
oUser.setImage(sJamUserImageUrl);
|
|
521
|
-
}, () => {
|
|
522
|
-
Log.error("Could not
|
|
519
|
+
}, (oDataJsError) => {
|
|
520
|
+
Log.error("Could not receive JAM user data");
|
|
523
521
|
});
|
|
524
522
|
}
|
|
525
523
|
};
|