@sapui5/sap.ushell_abap 1.145.0 → 1.146.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 +8 -7
- package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +144 -72
- 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 +12 -1
- package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +1 -1
- 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 +9 -10
- 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/hana/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell_abap/bootstrap/evo/XhrLogonEventHandler.js +3 -3
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap-def-dev.js +20 -20
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap-def.js +22 -22
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.bootstrap.utils.js +3 -3
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.configure.ushell.js +9 -4
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.constants.js +8 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.load.launchpad.js +3 -3
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.pageset.js +9 -9
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.request.startup.js +8 -8
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.theme.handler.js +6 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.LibLoader.js +2 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.configure.js +2 -2
- package/src/main/js/sap/ushell_abap/bootstrap/evo/abap.xhrlogon.handler.js +7 -7
- package/src/main/js/sap/ushell_abap/bootstrap/evo/boottask.js +24 -28
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation/MessageCode.js +18 -1
- package/src/main/js/sap/ushell_abap/components/TCodeNavigation.js +24 -13
- package/src/main/js/sap/ushell_abap/library.js +1 -1
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.146.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
|
|
|
@@ -54,13 +54,14 @@
|
|
|
54
54
|
<exclude name="sap.ushell_abap.bootstrap.evo.abap-dbg" />
|
|
55
55
|
</jsdoc>
|
|
56
56
|
<jscoverage xmlns="http://www.sap.com/ui5/buildext/jscoverage" >
|
|
57
|
-
<!-- excludes for JScoverage -->
|
|
58
57
|
<!-- Bundles -->
|
|
59
|
-
<exclude name="
|
|
60
|
-
<exclude name="
|
|
61
|
-
<exclude name="sap
|
|
62
|
-
<exclude name="sap
|
|
63
|
-
<exclude name="sap
|
|
58
|
+
<exclude name="**/*-preload" />
|
|
59
|
+
<exclude name="**/preload-bundles/**/*" />
|
|
60
|
+
<exclude name="sap/ushell_abap/bootstrap/appruntime-min*" />
|
|
61
|
+
<exclude name="sap/ushell_abap/bootstrap/evo/abap*" />
|
|
62
|
+
<exclude name="sap/ushell_abap/bootstrap/evo/core-min*" />
|
|
63
|
+
<exclude name="sap/ushell_abap/bootstrap/evo/core-ext-light*" />
|
|
64
|
+
<exclude name="sap/ushell_abap/thirdparty/sap-xhrlib-esm*" />
|
|
64
65
|
</jscoverage>
|
|
65
66
|
<releasenotes xmlns="http://www.sap.com/ui5/buildext/releasenotes"
|
|
66
67
|
url="../../../test-resources/sap/ushell_abap/relnotes/changes-{major}.{minor}.json"
|
|
@@ -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.146.0
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
15
15
|
"sap/base/util/ObjectPath",
|
|
@@ -70,7 +70,6 @@ sap.ui.define([
|
|
|
70
70
|
* @property {string} postParameters The post parameters of the source.
|
|
71
71
|
* @property {string} url The URL of the source.
|
|
72
72
|
* @property {string} systemAlias The system alias of the source.
|
|
73
|
-
* @property {sap.ushell.services.ClientSideTargetResolution.DeviceTypes} [formfactors] The form factors of the source.
|
|
74
73
|
* @property {sap.ushell.services.ClientSideTargetResolution.DeviceTypes} [formFactors] The form factors of the source.
|
|
75
74
|
* @property {sap.ushell.services.ClientSideTargetResolution.Signature} signature The signature of the source.
|
|
76
75
|
* @property {object} parameterMappings The parameter mappings of the source.
|
|
@@ -80,9 +79,6 @@ sap.ui.define([
|
|
|
80
79
|
* @property {string} catalogId The catalog ID of the source.
|
|
81
80
|
* @property {string} tmChipId The TM chip ID of the source.
|
|
82
81
|
* @property {string} tcode The transaction code of the LADI/Target Mapping.
|
|
83
|
-
* @property {string} isDefaultLadi Indicates whether the LADI/Target Mapping is default.
|
|
84
|
-
* @property {string} ladiHasTiles Indicates whether the LADI/Target Mapping has tiles.
|
|
85
|
-
* @property {string} defaultTileParams The default tile parameters of the LADI/Target Mapping.
|
|
86
82
|
*
|
|
87
83
|
* @since 1.135.0
|
|
88
84
|
* @private
|
|
@@ -309,10 +305,10 @@ sap.ui.define([
|
|
|
309
305
|
if (oAppDependencies.url.toUpperCase().indexOf(oUri.path().toUpperCase()) !== 0) {
|
|
310
306
|
// No applicationDependencies in this case as they belong to the wrong app
|
|
311
307
|
Log.debug("Component URL defined in target mapping "
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
308
|
+
+ "does not match the URL retrieved from application index. "
|
|
309
|
+
+ "The URL of the application index is used for further processing.",
|
|
310
|
+
`Target mapping URL: ${oResult.url}\nApplication index URL: ${oAppDependencies.url}`,
|
|
311
|
+
"sap.ushell_abap.bootstrap.abap");
|
|
316
312
|
}
|
|
317
313
|
oUri.path(oAppDependencies.url);
|
|
318
314
|
sUrl = oUri.toString();
|
|
@@ -326,8 +322,7 @@ sap.ui.define([
|
|
|
326
322
|
oAdjustedResult.applicationDependencies = oAppDependencies;
|
|
327
323
|
} catch (oError) {
|
|
328
324
|
Log.error(
|
|
329
|
-
`Parsing of applicationDependencies attribute in resolveLink result failed for SAPUI5 component '${
|
|
330
|
-
sComponentName}'`,
|
|
325
|
+
`Parsing of applicationDependencies attribute in resolveLink result failed for SAPUI5 component '${sComponentName}'`,
|
|
331
326
|
oError,
|
|
332
327
|
"sap.ushell_abap.bootstrap.abap"
|
|
333
328
|
);
|
|
@@ -401,8 +396,8 @@ sap.ui.define([
|
|
|
401
396
|
return new Promise((fnResolve, fnReject) => {
|
|
402
397
|
this._oInitialSegmentPromise.then((aInitialSegmentAndTargetMappings) => {
|
|
403
398
|
if (aInitialSegmentAndTargetMappings === null) {
|
|
404
|
-
|
|
405
|
-
|
|
399
|
+
// When this promise resolved with null it means that target mappings won't be taken from an initial segment ever
|
|
400
|
+
// in the future (mostly likely because this is not needed, e.g., no direct start).
|
|
406
401
|
return;
|
|
407
402
|
}
|
|
408
403
|
|
|
@@ -412,7 +407,9 @@ sap.ui.define([
|
|
|
412
407
|
"",
|
|
413
408
|
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
414
409
|
);
|
|
415
|
-
|
|
410
|
+
|
|
411
|
+
({ aResult: this._aInbounds, oResultABAP: this._oInboundsABAP } = this._formatDirectStart(this._aTargetMappings));
|
|
412
|
+
|
|
416
413
|
fnResolve(this._aInbounds);
|
|
417
414
|
} else {
|
|
418
415
|
Log.debug(
|
|
@@ -432,8 +429,7 @@ sap.ui.define([
|
|
|
432
429
|
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
433
430
|
);
|
|
434
431
|
|
|
435
|
-
|
|
436
|
-
this._aInbounds = this._formatDirectStart(this._aTargetMappings);
|
|
432
|
+
({ aResult: this._aInbounds, oResultABAP: this._oInboundsABAP } = this._formatDirectStart(this._aTargetMappings));
|
|
437
433
|
|
|
438
434
|
// we don't want to check for the initial segment in the future anymore, since we've got all the inbounds now.
|
|
439
435
|
this.getInbounds = function () {
|
|
@@ -447,6 +443,60 @@ sap.ui.define([
|
|
|
447
443
|
});
|
|
448
444
|
};
|
|
449
445
|
|
|
446
|
+
/**
|
|
447
|
+
* Creates a new array of inbound objects enriched with ABAP-specific properties.
|
|
448
|
+
*
|
|
449
|
+
* This method merges the ABAP-specific properties (stored in `this._oInboundsABAP`)
|
|
450
|
+
* into the corresponding inbound objects within the main `this._aInbounds` array.
|
|
451
|
+
* The merge is performed by matching the `id` of each inbound.
|
|
452
|
+
*
|
|
453
|
+
* @param {sap.ushell.services.ClientSideTargetResolution.Inbound[]} aBasicInbounds Array of basic inbound objects
|
|
454
|
+
* @param {object} oABAPInboundParams Object containing ABAP-specific properties indexed by inbound ID
|
|
455
|
+
* @returns {sap.ushell.services.NavigationDataProvider.ABAPInbound[]} Array of enriched inbound objects
|
|
456
|
+
* @since 1.146.0
|
|
457
|
+
* @private
|
|
458
|
+
*/
|
|
459
|
+
ClientSideTargetResolutionAdapter.prototype._createEnhancedInbounds = function (aBasicInbounds, oABAPInboundParams) {
|
|
460
|
+
return aBasicInbounds.map((oInbound) => {
|
|
461
|
+
const sInboundId = oInbound.id;
|
|
462
|
+
const oMatchingAbapProps = oABAPInboundParams[sInboundId];
|
|
463
|
+
|
|
464
|
+
if (oMatchingAbapProps) {
|
|
465
|
+
return {
|
|
466
|
+
...oInbound,
|
|
467
|
+
...oMatchingAbapProps
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
return oInbound;
|
|
471
|
+
});
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Enriches the main inbounds array with ABAP-specific properties.
|
|
476
|
+
*
|
|
477
|
+
* This function should be called after `getInbounds` has resolved, as `getInbounds`
|
|
478
|
+
* is responsible for initially populating both `_aInbounds` and `_oInboundsABAP`.
|
|
479
|
+
*
|
|
480
|
+
* @returns {Promise<sap.ushell.services.NavigationDataProvider.ABAPInbound[]> | Promise<sap.ushell.services.ClientSideTargetResolution.Inbound[]>}
|
|
481
|
+
* A Promise that resolves with the newly created array of enriched inbounds.
|
|
482
|
+
* @private
|
|
483
|
+
* @since 1.146.0
|
|
484
|
+
*/
|
|
485
|
+
ClientSideTargetResolutionAdapter.prototype.getEnhancedInbounds = async function () {
|
|
486
|
+
if (this._aInboundsEnhanced) {
|
|
487
|
+
return this._aInboundsEnhanced;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
const aBasicInbounds = await this.getInbounds();
|
|
491
|
+
if (this._oInboundsABAP && Object.keys(this._oInboundsABAP).length > 0) {
|
|
492
|
+
this._aInboundsEnhanced = this._createEnhancedInbounds(aBasicInbounds, this._oInboundsABAP);
|
|
493
|
+
return this._aInboundsEnhanced;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
Log.warning("getEnhancedInbounds called but no ABAP-specific properties are available. Basic Inbounds are used.", null, S_COMPONENT);
|
|
497
|
+
return aBasicInbounds;
|
|
498
|
+
};
|
|
499
|
+
|
|
450
500
|
/**
|
|
451
501
|
* Test whether aSubSegment is completely contained in aSegment
|
|
452
502
|
*
|
|
@@ -537,9 +587,6 @@ sap.ui.define([
|
|
|
537
587
|
oTarget.title = oSrc.text;
|
|
538
588
|
oTarget.permanentKey = `X-SAP-UI2-PAGE:${oSrc.catalogId}:${oSrc.tmChipId}`;
|
|
539
589
|
oTarget.contentProviderId = "";
|
|
540
|
-
oTarget.isDefaultLadi = oSrc.isDefaultLadi || false;
|
|
541
|
-
oTarget.ladiHasTiles = oSrc.ladiHasTiles || false;
|
|
542
|
-
oTarget.defaultTileParams = oSrc.defaultTileParams || "";
|
|
543
590
|
|
|
544
591
|
// resolution result
|
|
545
592
|
const oFakeResolutionResult = {};
|
|
@@ -573,7 +620,6 @@ sap.ui.define([
|
|
|
573
620
|
// ClientSideTargetResolution will de-interpolate the URL before applying sap-system
|
|
574
621
|
oTarget.resolutionResult.systemAlias = oSrc.systemAlias || ""; // NOTE: "" is the local system alias
|
|
575
622
|
|
|
576
|
-
oTarget.deviceTypes = oSrc.formfactors;
|
|
577
623
|
oTarget.resolutionResult["sap.ui"] = {};
|
|
578
624
|
oTarget.resolutionResult["sap.ui"].technology = oTarget.resolutionResult.applicationType;
|
|
579
625
|
if (oTarget.resolutionResult["sap.ui"].technology === "SAPUI5") {
|
|
@@ -677,29 +723,58 @@ sap.ui.define([
|
|
|
677
723
|
oTarget.templateContext = that.getUrlTemplateContext(oSrc);
|
|
678
724
|
}
|
|
679
725
|
|
|
726
|
+
return oTarget;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
function mapABAPAttributes (sSrcId, oSrc) {
|
|
730
|
+
const oABAPAttributes = {};
|
|
731
|
+
const aMatch = sSrcId.match(/^([^-]+)-([^~]+)/);
|
|
732
|
+
if (!aMatch) {
|
|
733
|
+
Log.warning(
|
|
734
|
+
`The target mapping id ${sSrcId} is not valid`,
|
|
735
|
+
"this target mapping will be discarded",
|
|
736
|
+
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter"
|
|
737
|
+
);
|
|
738
|
+
return undefined;
|
|
739
|
+
}
|
|
740
|
+
oABAPAttributes.id = sSrcId;
|
|
741
|
+
oABAPAttributes.isDefaultLadi = oSrc.isDefaultLadi || false;
|
|
742
|
+
oABAPAttributes.ladiHasTiles = oSrc.ladiHasTiles || false;
|
|
743
|
+
oABAPAttributes.defaultTileParams =
|
|
744
|
+
oSrc.defaultTileParams || "";
|
|
680
745
|
if (oSrc.tcode) {
|
|
681
|
-
|
|
682
|
-
|
|
746
|
+
oABAPAttributes.resolutionResult = { appInfo: {} };
|
|
747
|
+
oABAPAttributes.resolutionResult.appInfo = {
|
|
748
|
+
"abap.transaction": oSrc.tcode || ""
|
|
683
749
|
};
|
|
684
750
|
}
|
|
685
|
-
|
|
686
|
-
return oTarget;
|
|
751
|
+
return oABAPAttributes;
|
|
687
752
|
}
|
|
688
753
|
|
|
689
|
-
|
|
754
|
+
// main processing of inbounds and inbounds with ABAP specific attributes returning all results
|
|
755
|
+
const aResult = [];
|
|
756
|
+
let oInbound = {};
|
|
757
|
+
const oResultABAP = {};
|
|
758
|
+
let oInboundABAP = {};
|
|
690
759
|
Object.keys(oDirectStartResponse).forEach((sKey) => {
|
|
691
|
-
|
|
692
|
-
if (
|
|
693
|
-
|
|
760
|
+
oInbound = mapOne(sKey, oDirectStartResponse[sKey]);
|
|
761
|
+
if (oInbound) {
|
|
762
|
+
aResult.push(oInbound);
|
|
763
|
+
|
|
764
|
+
oInboundABAP = mapABAPAttributes(sKey, oDirectStartResponse[sKey]);
|
|
765
|
+
if (oInboundABAP) {
|
|
766
|
+
oResultABAP[oInboundABAP.id] = oInboundABAP;
|
|
767
|
+
}
|
|
694
768
|
}
|
|
695
769
|
});
|
|
696
|
-
|
|
770
|
+
|
|
771
|
+
return { aResult, oResultABAP };
|
|
697
772
|
};
|
|
698
773
|
|
|
699
774
|
/**
|
|
700
775
|
* Extracts a valid <code>applicationType</code> field for ClientSideTargetResolution from the given object.
|
|
701
776
|
*
|
|
702
|
-
* @param {string} sTargetMappingId A unique
|
|
777
|
+
* @param {string} sTargetMappingId A unique identifier
|
|
703
778
|
* @param {object} oResolutionResult The (pre-resolution) resolutionResult of the navigation target.
|
|
704
779
|
* @returns {string} One of the following application types compatible with ClientSideTargetResolution service:
|
|
705
780
|
* "TR", "SAPUI5", "WDA", "URL".
|
|
@@ -1104,52 +1179,49 @@ sap.ui.define([
|
|
|
1104
1179
|
}
|
|
1105
1180
|
|
|
1106
1181
|
return new Promise((fnResolve, fnReject) => {
|
|
1107
|
-
this._oODataWrapper.read(`ResolveLink?linkId='${
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1182
|
+
this._oODataWrapper.read(`ResolveLink?linkId='${encodeODataQueryParameter(sFragmentNoHash)}'&shellType='${ushellUtils.getShellType()}'${sFormFactor ?
|
|
1183
|
+
`&formFactor='${encodeODataQueryParameter(sFormFactor)}'` : ""}`,
|
|
1184
|
+
(oResult) => {
|
|
1185
|
+
let i;
|
|
1186
|
+
let sDetails = "";
|
|
1187
|
+
let oAdjustedResult;
|
|
1188
|
+
|
|
1189
|
+
if (oResult.results.length) {
|
|
1190
|
+
if (oResult.results.length > 1) {
|
|
1191
|
+
// console log because of multiple targets
|
|
1192
|
+
for (i = 0; i < oResult.results.length; i += 1) {
|
|
1193
|
+
delete oResult.results[i].__metadata; // simplify output
|
|
1194
|
+
sDetails += (i === 0 ? "used target: " : "\nignored target: ")
|
|
1195
|
+
+ JSON.stringify(oResult.results[i]);
|
|
1196
|
+
}
|
|
1197
|
+
Log.error("INTEROP service's ResolveLink operation "
|
|
1198
|
+
+ `returned ${oResult.results.length} targets for hash '#${sFragmentNoHash}', first one is used.`,
|
|
1199
|
+
sDetails,
|
|
1200
|
+
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter");
|
|
1123
1201
|
}
|
|
1124
|
-
Log.error("INTEROP service's ResolveLink operation "
|
|
1125
|
-
+ `returned ${oResult.results.length} targets for hash '#${
|
|
1126
|
-
sFragmentNoHash}', first one is used.`,
|
|
1127
|
-
sDetails,
|
|
1128
|
-
"sap.ushell_abap.adapters.abap.ClientSideTargetResolutionAdapter");
|
|
1129
|
-
}
|
|
1130
1202
|
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1203
|
+
oResult = oResult.results[0];
|
|
1204
|
+
oAdjustedResult = ClientSideTargetResolutionAdapter.prototype._adjustNavTargetResult(oResult);
|
|
1205
|
+
oAdjustedResult.url = _addPostParametersToNavTargetResultUrl(
|
|
1206
|
+
oResult.postParameters, oAdjustedResult.url);
|
|
1135
1207
|
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1208
|
+
// Fix application type to ensure backward compatible behavior after incompatible server-side change.
|
|
1209
|
+
if (oAdjustedResult && oAdjustedResult.applicationType === "SAPUI5") {
|
|
1210
|
+
oAdjustedResult.applicationType = "URL";
|
|
1211
|
+
}
|
|
1140
1212
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1213
|
+
that._compactTooLongWdaUrl(oAdjustedResult).then((oCompactedResult) => {
|
|
1214
|
+
fnResolve(oCompactedResult);
|
|
1215
|
+
}).catch((oError) => {
|
|
1216
|
+
Log.error(`Could not resolve link '${sFragmentNoHash}' due to compactation failure`, oError);
|
|
1217
|
+
fnReject(oError);
|
|
1218
|
+
});
|
|
1219
|
+
} else {
|
|
1220
|
+
fnReject(new Error(`Could not resolve link '${sFragmentNoHash}'`));
|
|
1221
|
+
}
|
|
1222
|
+
}, (sErrorMessage) => {
|
|
1223
|
+
fnReject(new Error(sErrorMessage));
|
|
1224
|
+
});
|
|
1153
1225
|
|
|
1154
1226
|
if (bBatchQueueOpened) {
|
|
1155
1227
|
that._getODataWrapper().submitBatchQueue(() => { }, (sErrorMessage) => {
|
|
@@ -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.146.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/thirdparty/jquery",
|
|
@@ -190,6 +190,7 @@ sap.ui.define([
|
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
192
|
oUserProfileIdHistory[oUserProfileParameter.id] = oUserProfileParameter.id;
|
|
193
|
+
|
|
193
194
|
if (oUserProfileParameter.id === "CONTENT_DENSITY") {
|
|
194
195
|
oStartupResult.contentDensity = oUserProfileParameter.value;
|
|
195
196
|
oStartupResult.setContentDensityPermitted = (
|
|
@@ -197,6 +198,7 @@ sap.ui.define([
|
|
|
197
198
|
oUserProfileParameter.editState === 3
|
|
198
199
|
) || false;
|
|
199
200
|
}
|
|
201
|
+
|
|
200
202
|
if (oUserProfileParameter.id === "TRACKING_USAGE_ANALYTICS") {
|
|
201
203
|
if (typeof oUserProfileParameter.value === "string") {
|
|
202
204
|
// check if string is 'true' OR 'false' -> if 'yes' set the explicit boolean value
|
|
@@ -213,10 +215,12 @@ sap.ui.define([
|
|
|
213
215
|
oStartupResult.trackUsageAnalytics = undefined;
|
|
214
216
|
}
|
|
215
217
|
}
|
|
218
|
+
|
|
216
219
|
// FLP Spaces MyHome - whether the user has opted not to import bookmarks from classical FLP
|
|
217
220
|
if (oUserProfileParameter.id === "MYHOME_IMPORT_FROM_CLASSIC") {
|
|
218
221
|
oStartupResult.importBookmarks = oUserProfileParameter.value;
|
|
219
222
|
}
|
|
223
|
+
|
|
220
224
|
// FLP Spaces MyHome - whether the user has opted not to show the My Home page
|
|
221
225
|
if (oUserProfileParameter.id === "MYHOME_ENABLEMENT") {
|
|
222
226
|
switch (oUserProfileParameter.value) {
|
|
@@ -231,6 +235,7 @@ sap.ui.define([
|
|
|
231
235
|
break;
|
|
232
236
|
}
|
|
233
237
|
}
|
|
238
|
+
|
|
234
239
|
// Dark Mode Auto Detection - whether the user has disabled it
|
|
235
240
|
if (oUserProfileParameter.id === "THEME_DARKMODE_AUTO_DETECTION") {
|
|
236
241
|
switch (oUserProfileParameter.value) {
|
|
@@ -245,6 +250,11 @@ sap.ui.define([
|
|
|
245
250
|
break;
|
|
246
251
|
}
|
|
247
252
|
}
|
|
253
|
+
|
|
254
|
+
// The theme set the user has chosen
|
|
255
|
+
if (oUserProfileParameter.id === "THEME_SET") {
|
|
256
|
+
oStartupResult.bootThemeSet = oUserProfileParameter.value || "";
|
|
257
|
+
}
|
|
248
258
|
});
|
|
249
259
|
}
|
|
250
260
|
};
|
|
@@ -283,6 +293,7 @@ sap.ui.define([
|
|
|
283
293
|
"setAccessibilityPermitted",
|
|
284
294
|
"bootTheme",
|
|
285
295
|
"themeRoot",
|
|
296
|
+
"bootThemeSet",
|
|
286
297
|
"ranges",
|
|
287
298
|
"setThemePermitted",
|
|
288
299
|
"importBookmarks",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview PagePersistenceAdapter for the ABAP platform.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.146.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/i18n/Localization",
|
|
@@ -39,7 +39,7 @@ sap.ui.define([
|
|
|
39
39
|
* Constructs a new instance of the PagePersistenceAdapter for the ABAP platform
|
|
40
40
|
*
|
|
41
41
|
* @class
|
|
42
|
-
* @
|
|
42
|
+
* @since 1.67.0
|
|
43
43
|
* @private
|
|
44
44
|
*/
|
|
45
45
|
function PagePersistenceAdapter () {
|
|
@@ -52,7 +52,7 @@ sap.ui.define([
|
|
|
52
52
|
* @param {string} pageId The page ID
|
|
53
53
|
* @returns {Promise<object>} Resolves to a page
|
|
54
54
|
*
|
|
55
|
-
* @
|
|
55
|
+
* @since 1.67.0
|
|
56
56
|
* @private
|
|
57
57
|
*/
|
|
58
58
|
PagePersistenceAdapter.prototype.getPage = function (pageId) {
|
|
@@ -75,7 +75,7 @@ sap.ui.define([
|
|
|
75
75
|
* @param {string[]} aPageId The array of page ID
|
|
76
76
|
* @returns {Promise<object[]>} Resolves to array of pages
|
|
77
77
|
*
|
|
78
|
-
* @
|
|
78
|
+
* @since 1.75.0
|
|
79
79
|
* @private
|
|
80
80
|
*/
|
|
81
81
|
PagePersistenceAdapter.prototype.getPages = function (aPageId) {
|
|
@@ -100,7 +100,7 @@ sap.ui.define([
|
|
|
100
100
|
* @param {string} pageId The page ID
|
|
101
101
|
* @returns {Promise<object>} Resolves to a page in the OData format
|
|
102
102
|
*
|
|
103
|
-
* @
|
|
103
|
+
* @since 1.67.0
|
|
104
104
|
* @private
|
|
105
105
|
*/
|
|
106
106
|
PagePersistenceAdapter.prototype._readPage = function (pageId) {
|
|
@@ -142,7 +142,7 @@ sap.ui.define([
|
|
|
142
142
|
* @param {string[]} aPageId The array of page ID
|
|
143
143
|
* @returns {Promise<object[]>} Resolves to a array of page in the OData format
|
|
144
144
|
*
|
|
145
|
-
* @
|
|
145
|
+
* @since 1.75.0
|
|
146
146
|
* @private
|
|
147
147
|
*/
|
|
148
148
|
PagePersistenceAdapter.prototype._readPages = function (aPageId) {
|
|
@@ -193,7 +193,7 @@ sap.ui.define([
|
|
|
193
193
|
* @param {string[]} sPageRequest The PageSet Request
|
|
194
194
|
* @returns {Promise<object[]>} Resolves to a array of page in the OData format
|
|
195
195
|
*
|
|
196
|
-
* @
|
|
196
|
+
* @since 1.105.0
|
|
197
197
|
* @private
|
|
198
198
|
*/
|
|
199
199
|
PagePersistenceAdapter.prototype._createBatchData = function (sPageRequest) {
|
|
@@ -228,10 +228,9 @@ sap.ui.define([
|
|
|
228
228
|
* @param {string[]} sPageBatchResponse The PageSet Request
|
|
229
229
|
* @returns {Promise<object[]>} Resolves to a array of page in the OData format
|
|
230
230
|
*
|
|
231
|
-
* @
|
|
231
|
+
* @since 1.75.0
|
|
232
232
|
* @private
|
|
233
233
|
*/
|
|
234
|
-
|
|
235
234
|
PagePersistenceAdapter.prototype._retrieveBatchData = function (sPageBatchResponse) {
|
|
236
235
|
const lines = sPageBatchResponse.responseText.split("\r\n");
|
|
237
236
|
let data = [];
|
|
@@ -392,7 +391,7 @@ sap.ui.define([
|
|
|
392
391
|
* @param {Error} oError The error object
|
|
393
392
|
* @returns {Promise<object>} A rejected promise containing the error
|
|
394
393
|
*
|
|
395
|
-
* @
|
|
394
|
+
* @since 1.67.0
|
|
396
395
|
* @private
|
|
397
396
|
*/
|
|
398
397
|
PagePersistenceAdapter.prototype._rejectWithError = async function (oError) {
|