@sapui5/sap.fe.navigation 1.97.0 → 1.98.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/sap/fe/navigation/.library +1 -1
- package/src/sap/fe/navigation/NavError.js +1 -1
- package/src/sap/fe/navigation/NavigationHandler.js +71 -30
- package/src/sap/fe/navigation/PresentationVariant.js +1 -1
- package/src/sap/fe/navigation/SelectionVariant.js +1 -1
- package/src/sap/fe/navigation/library.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
@@ -346,7 +346,11 @@ sap.ui.define(
|
|
|
346
346
|
throw new NavError("NavigationHandler.INVALID_INPUT");
|
|
347
347
|
}
|
|
348
348
|
|
|
349
|
-
oTmpData.selectionVariant = new SelectionVariant(sSelectionVariant)
|
|
349
|
+
oTmpData.selectionVariant = new SelectionVariant(sSelectionVariant);
|
|
350
|
+
if (typeof vNavigationParameters === "string") {
|
|
351
|
+
oTmpData.selectionVariant = this._removeTechnicalParameters(oTmpData.selectionVariant);
|
|
352
|
+
}
|
|
353
|
+
oTmpData.selectionVariant = oTmpData.selectionVariant && oTmpData.selectionVariant.toJSONObject();
|
|
350
354
|
oTmpData = this._removeMeasureBasedInformation(oTmpData); // remove eventual measures
|
|
351
355
|
oTmpData = this._checkIsPotentiallySensitive(oTmpData); // remove eventual sensitive data
|
|
352
356
|
|
|
@@ -518,7 +522,32 @@ sap.ui.define(
|
|
|
518
522
|
|
|
519
523
|
var oMyDeferred = jQuery.Deferred();
|
|
520
524
|
var oNavHandler = this;
|
|
521
|
-
|
|
525
|
+
var parseUrlParams = function(oStartupParameters, aDefaultedParameters, oMyDeferred, sNavType) {
|
|
526
|
+
// standard URL navigation
|
|
527
|
+
var oSelVars = oNavHandler._splitInboundNavigationParameters(
|
|
528
|
+
new SelectionVariant(),
|
|
529
|
+
oStartupParameters,
|
|
530
|
+
aDefaultedParameters
|
|
531
|
+
);
|
|
532
|
+
if (oSelVars.oNavigationSelVar.isEmpty() && oSelVars.oDefaultedSelVar.isEmpty()) {
|
|
533
|
+
// Startup parameters contain only technical parameters (SAP system) which were filtered out.
|
|
534
|
+
// oNavigationSelVar and oDefaultedSelVar are empty.
|
|
535
|
+
// Thus, consider this type of navigation as an initial navigation.
|
|
536
|
+
if (sNavType === NavType.xAppState) {
|
|
537
|
+
var oError = oNavHandler._createTechnicalError("NavigationHandler.getDataFromAppState.failed");
|
|
538
|
+
oMyDeferred.reject(oError, oStartupParameters || {}, NavType.xAppState);
|
|
539
|
+
} else {
|
|
540
|
+
oMyDeferred.resolve({}, oStartupParameters, NavType.initial);
|
|
541
|
+
}
|
|
542
|
+
} else {
|
|
543
|
+
var oAppStateData = {};
|
|
544
|
+
oAppStateData.selectionVariant = oSelVars.oNavigationSelVar.toJSONString();
|
|
545
|
+
oAppStateData.oSelectionVariant = oSelVars.oNavigationSelVar;
|
|
546
|
+
oAppStateData.oDefaultedSelectionVariant = oSelVars.oDefaultedSelVar;
|
|
547
|
+
oAppStateData.bNavSelVarHasDefaultsOnly = oSelVars.bNavSelVarHasDefaultsOnly;
|
|
548
|
+
oMyDeferred.resolve(oAppStateData, oStartupParameters, sNavType);
|
|
549
|
+
}
|
|
550
|
+
};
|
|
522
551
|
if (sIAppState) {
|
|
523
552
|
// inner app state is available in the AppHash (back navigation); extract the parameter value
|
|
524
553
|
this._loadAppState(sIAppState, oMyDeferred);
|
|
@@ -557,9 +586,13 @@ sap.ui.define(
|
|
|
557
586
|
oAppStateData.bNavSelVarHasDefaultsOnly = oSelVars.bNavSelVarHasDefaultsOnly;
|
|
558
587
|
oMyDeferred.resolve(oAppStateData, oStartupParameters, NavType.xAppState);
|
|
559
588
|
} else {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
589
|
+
if (oStartupParameters) {
|
|
590
|
+
parseUrlParams(oStartupParameters, aDefaultedParameters, oMyDeferred, NavType.xAppState);
|
|
591
|
+
} else {
|
|
592
|
+
// sap-xapp-state navigation, but ID has already expired, but URL parameters available
|
|
593
|
+
oError = oNavHandler._createTechnicalError("NavigationHandler.getDataFromAppState.failed");
|
|
594
|
+
oMyDeferred.reject(oError, oStartupParameters || {}, NavType.xAppState);
|
|
595
|
+
}
|
|
563
596
|
}
|
|
564
597
|
});
|
|
565
598
|
oStartupPromise.fail(function() {
|
|
@@ -569,25 +602,7 @@ sap.ui.define(
|
|
|
569
602
|
} else {
|
|
570
603
|
// no sap-xapp-state
|
|
571
604
|
if (oStartupParameters) {
|
|
572
|
-
|
|
573
|
-
var oSelVars = oNavHandler._splitInboundNavigationParameters(
|
|
574
|
-
new SelectionVariant(),
|
|
575
|
-
oStartupParameters,
|
|
576
|
-
aDefaultedParameters
|
|
577
|
-
);
|
|
578
|
-
if (oSelVars.oNavigationSelVar.isEmpty() && oSelVars.oDefaultedSelVar.isEmpty()) {
|
|
579
|
-
// Startup parameters contain only technical parameters (SAP system) which were filtered out.
|
|
580
|
-
// oNavigationSelVar and oDefaultedSelVar are empty.
|
|
581
|
-
// Thus, consider this type of navigation as an initial navigation.
|
|
582
|
-
oMyDeferred.resolve({}, oStartupParameters, NavType.initial);
|
|
583
|
-
} else {
|
|
584
|
-
var oAppStateData = {};
|
|
585
|
-
oAppStateData.selectionVariant = oSelVars.oNavigationSelVar.toJSONString();
|
|
586
|
-
oAppStateData.oSelectionVariant = oSelVars.oNavigationSelVar;
|
|
587
|
-
oAppStateData.oDefaultedSelectionVariant = oSelVars.oDefaultedSelVar;
|
|
588
|
-
oAppStateData.bNavSelVarHasDefaultsOnly = oSelVars.bNavSelVarHasDefaultsOnly;
|
|
589
|
-
oMyDeferred.resolve(oAppStateData, oStartupParameters, NavType.URLParams);
|
|
590
|
-
}
|
|
605
|
+
parseUrlParams(oStartupParameters, aDefaultedParameters, oMyDeferred, NavType.URLParams);
|
|
591
606
|
} else {
|
|
592
607
|
// initial navigation
|
|
593
608
|
oMyDeferred.resolve({}, {}, NavType.initial);
|
|
@@ -648,16 +663,42 @@ sap.ui.define(
|
|
|
648
663
|
*/
|
|
649
664
|
_isTechnicalParameter: function(sParameterName) {
|
|
650
665
|
if (sParameterName) {
|
|
651
|
-
if (
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
666
|
+
if (
|
|
667
|
+
!(
|
|
668
|
+
sParameterName === "sap-ui-fe-variant-id" ||
|
|
669
|
+
sParameterName === "sap-ui-fe-table-variant-id" ||
|
|
670
|
+
sParameterName === "sap-ui-fe-chart-variant-id" ||
|
|
671
|
+
sParameterName === "sap-ui-fe-filterbar-variant-id"
|
|
672
|
+
)
|
|
673
|
+
) {
|
|
674
|
+
if (sParameterName.toLowerCase().indexOf("sap-") === 0) {
|
|
675
|
+
return true;
|
|
676
|
+
} else if (this._aTechnicalParamaters.indexOf(sParameterName) >= 0) {
|
|
677
|
+
return true;
|
|
678
|
+
}
|
|
655
679
|
}
|
|
656
680
|
}
|
|
657
|
-
|
|
658
681
|
return false;
|
|
659
682
|
},
|
|
660
683
|
|
|
684
|
+
/**
|
|
685
|
+
* Rmoves if the passed parameter is considered as technical parameter.
|
|
686
|
+
* @param {object} oSelectionVariant Selection Variant which consists of technical Parameters.
|
|
687
|
+
* @returns {object} Selection Variant without technical Parameters.
|
|
688
|
+
* @private
|
|
689
|
+
*/
|
|
690
|
+
_removeTechnicalParameters: function(oSelectionVariant) {
|
|
691
|
+
var sPropName, i;
|
|
692
|
+
var aSelVarPropNames = oSelectionVariant.getSelectOptionsPropertyNames();
|
|
693
|
+
for (i = 0; i < aSelVarPropNames.length; i++) {
|
|
694
|
+
sPropName = aSelVarPropNames[i];
|
|
695
|
+
if (this._isTechnicalParameter(sPropName)) {
|
|
696
|
+
oSelectionVariant.removeSelectOption(sPropName);
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
return oSelectionVariant;
|
|
700
|
+
},
|
|
701
|
+
|
|
661
702
|
/**
|
|
662
703
|
* Splits the parameters provided during inbound navigation and separates the contextual information between defaulted parameter values and
|
|
663
704
|
* navigation parameters.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
sap.ui.define(["./NavError", "sap/ui/base/Object", "sap/base/util/extend", "sap/base/util/each", "sap/base/Log"], function(
|
|
6
6
|
NavError,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -26,7 +26,7 @@ sap.ui.define(
|
|
|
26
26
|
// library dependencies
|
|
27
27
|
sap.ui.getCore().initLibrary({
|
|
28
28
|
name: "sap.fe.navigation",
|
|
29
|
-
version: "1.
|
|
29
|
+
version: "1.98.0",
|
|
30
30
|
dependencies: ["sap.ui.core"],
|
|
31
31
|
types: ["sap.fe.navigation.NavType", "sap.fe.navigation.ParamHandlingMode", "sap.fe.navigation.SuppressionBehavior"],
|
|
32
32
|
interfaces: [],
|