@sapui5/sap.fe.navigation 1.96.4 → 1.99.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 +4 -2
- package/src/sap/fe/navigation/.library +1 -1
- package/src/sap/fe/navigation/NavError.js +3 -2
- package/src/sap/fe/navigation/NavigationHandler.js +73 -32
- package/src/sap/fe/navigation/PresentationVariant.js +3 -2
- package/src/sap/fe/navigation/SelectionVariant.js +3 -2
- package/src/sap/fe/navigation/library.js +4 -3
- package/ui5.yaml +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sapui5/sap.fe.navigation",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.99.0",
|
|
4
4
|
"description": "SAPUI5 Library sap.fe.navigation",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "SAP SE (https://www.sap.com)",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "echo 'nothing to do'",
|
|
10
10
|
"prepare-npm-sources": "babel target/npm-sources/src --out-dir target/npm-sources/src --extensions \".ts\" --config-file ../../.babelrc",
|
|
11
|
+
"prepare-ui5-build-sources": "mkdirp target/ui5-build-tmp/src && babel src --out-dir target/ui5-build-tmp/src --extensions \".ts\" --config-file ../../.babelrc",
|
|
11
12
|
"test": "echo 'nothing to do'"
|
|
12
13
|
},
|
|
13
14
|
"keywords": [
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
],
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"@babel/cli": "^7.14.8",
|
|
19
|
-
"@ui5/cli": "^2.
|
|
20
|
+
"@ui5/cli": "^2.14.0",
|
|
21
|
+
"mkdirp": "^1.0.4"
|
|
20
22
|
}
|
|
21
23
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
|
|
4
5
|
*/
|
|
5
6
|
sap.ui.define(
|
|
6
7
|
[
|
|
@@ -346,7 +347,11 @@ sap.ui.define(
|
|
|
346
347
|
throw new NavError("NavigationHandler.INVALID_INPUT");
|
|
347
348
|
}
|
|
348
349
|
|
|
349
|
-
oTmpData.selectionVariant = new SelectionVariant(sSelectionVariant)
|
|
350
|
+
oTmpData.selectionVariant = new SelectionVariant(sSelectionVariant);
|
|
351
|
+
if (typeof vNavigationParameters === "string") {
|
|
352
|
+
oTmpData.selectionVariant = this._removeTechnicalParameters(oTmpData.selectionVariant);
|
|
353
|
+
}
|
|
354
|
+
oTmpData.selectionVariant = oTmpData.selectionVariant && oTmpData.selectionVariant.toJSONObject();
|
|
350
355
|
oTmpData = this._removeMeasureBasedInformation(oTmpData); // remove eventual measures
|
|
351
356
|
oTmpData = this._checkIsPotentiallySensitive(oTmpData); // remove eventual sensitive data
|
|
352
357
|
|
|
@@ -518,7 +523,32 @@ sap.ui.define(
|
|
|
518
523
|
|
|
519
524
|
var oMyDeferred = jQuery.Deferred();
|
|
520
525
|
var oNavHandler = this;
|
|
521
|
-
|
|
526
|
+
var parseUrlParams = function(oStartupParameters, aDefaultedParameters, oMyDeferred, sNavType) {
|
|
527
|
+
// standard URL navigation
|
|
528
|
+
var oSelVars = oNavHandler._splitInboundNavigationParameters(
|
|
529
|
+
new SelectionVariant(),
|
|
530
|
+
oStartupParameters,
|
|
531
|
+
aDefaultedParameters
|
|
532
|
+
);
|
|
533
|
+
if (oSelVars.oNavigationSelVar.isEmpty() && oSelVars.oDefaultedSelVar.isEmpty()) {
|
|
534
|
+
// Startup parameters contain only technical parameters (SAP system) which were filtered out.
|
|
535
|
+
// oNavigationSelVar and oDefaultedSelVar are empty.
|
|
536
|
+
// Thus, consider this type of navigation as an initial navigation.
|
|
537
|
+
if (sNavType === NavType.xAppState) {
|
|
538
|
+
var oError = oNavHandler._createTechnicalError("NavigationHandler.getDataFromAppState.failed");
|
|
539
|
+
oMyDeferred.reject(oError, oStartupParameters || {}, NavType.xAppState);
|
|
540
|
+
} else {
|
|
541
|
+
oMyDeferred.resolve({}, oStartupParameters, NavType.initial);
|
|
542
|
+
}
|
|
543
|
+
} else {
|
|
544
|
+
var oAppStateData = {};
|
|
545
|
+
oAppStateData.selectionVariant = oSelVars.oNavigationSelVar.toJSONString();
|
|
546
|
+
oAppStateData.oSelectionVariant = oSelVars.oNavigationSelVar;
|
|
547
|
+
oAppStateData.oDefaultedSelectionVariant = oSelVars.oDefaultedSelVar;
|
|
548
|
+
oAppStateData.bNavSelVarHasDefaultsOnly = oSelVars.bNavSelVarHasDefaultsOnly;
|
|
549
|
+
oMyDeferred.resolve(oAppStateData, oStartupParameters, sNavType);
|
|
550
|
+
}
|
|
551
|
+
};
|
|
522
552
|
if (sIAppState) {
|
|
523
553
|
// inner app state is available in the AppHash (back navigation); extract the parameter value
|
|
524
554
|
this._loadAppState(sIAppState, oMyDeferred);
|
|
@@ -557,9 +587,13 @@ sap.ui.define(
|
|
|
557
587
|
oAppStateData.bNavSelVarHasDefaultsOnly = oSelVars.bNavSelVarHasDefaultsOnly;
|
|
558
588
|
oMyDeferred.resolve(oAppStateData, oStartupParameters, NavType.xAppState);
|
|
559
589
|
} else {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
590
|
+
if (oStartupParameters) {
|
|
591
|
+
parseUrlParams(oStartupParameters, aDefaultedParameters, oMyDeferred, NavType.xAppState);
|
|
592
|
+
} else {
|
|
593
|
+
// sap-xapp-state navigation, but ID has already expired, but URL parameters available
|
|
594
|
+
oError = oNavHandler._createTechnicalError("NavigationHandler.getDataFromAppState.failed");
|
|
595
|
+
oMyDeferred.reject(oError, oStartupParameters || {}, NavType.xAppState);
|
|
596
|
+
}
|
|
563
597
|
}
|
|
564
598
|
});
|
|
565
599
|
oStartupPromise.fail(function() {
|
|
@@ -569,25 +603,7 @@ sap.ui.define(
|
|
|
569
603
|
} else {
|
|
570
604
|
// no sap-xapp-state
|
|
571
605
|
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
|
-
}
|
|
606
|
+
parseUrlParams(oStartupParameters, aDefaultedParameters, oMyDeferred, NavType.URLParams);
|
|
591
607
|
} else {
|
|
592
608
|
// initial navigation
|
|
593
609
|
oMyDeferred.resolve({}, {}, NavType.initial);
|
|
@@ -648,16 +664,42 @@ sap.ui.define(
|
|
|
648
664
|
*/
|
|
649
665
|
_isTechnicalParameter: function(sParameterName) {
|
|
650
666
|
if (sParameterName) {
|
|
651
|
-
if (
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
667
|
+
if (
|
|
668
|
+
!(
|
|
669
|
+
sParameterName === "sap-ui-fe-variant-id" ||
|
|
670
|
+
sParameterName === "sap-ui-fe-table-variant-id" ||
|
|
671
|
+
sParameterName === "sap-ui-fe-chart-variant-id" ||
|
|
672
|
+
sParameterName === "sap-ui-fe-filterbar-variant-id"
|
|
673
|
+
)
|
|
674
|
+
) {
|
|
675
|
+
if (sParameterName.toLowerCase().indexOf("sap-") === 0) {
|
|
676
|
+
return true;
|
|
677
|
+
} else if (this._aTechnicalParamaters.indexOf(sParameterName) >= 0) {
|
|
678
|
+
return true;
|
|
679
|
+
}
|
|
655
680
|
}
|
|
656
681
|
}
|
|
657
|
-
|
|
658
682
|
return false;
|
|
659
683
|
},
|
|
660
684
|
|
|
685
|
+
/**
|
|
686
|
+
* Rmoves if the passed parameter is considered as technical parameter.
|
|
687
|
+
* @param {object} oSelectionVariant Selection Variant which consists of technical Parameters.
|
|
688
|
+
* @returns {object} Selection Variant without technical Parameters.
|
|
689
|
+
* @private
|
|
690
|
+
*/
|
|
691
|
+
_removeTechnicalParameters: function(oSelectionVariant) {
|
|
692
|
+
var sPropName, i;
|
|
693
|
+
var aSelVarPropNames = oSelectionVariant.getSelectOptionsPropertyNames();
|
|
694
|
+
for (i = 0; i < aSelVarPropNames.length; i++) {
|
|
695
|
+
sPropName = aSelVarPropNames[i];
|
|
696
|
+
if (this._isTechnicalParameter(sPropName)) {
|
|
697
|
+
oSelectionVariant.removeSelectOption(sPropName);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
return oSelectionVariant;
|
|
701
|
+
},
|
|
702
|
+
|
|
661
703
|
/**
|
|
662
704
|
* Splits the parameters provided during inbound navigation and separates the contextual information between defaulted parameter values and
|
|
663
705
|
* navigation parameters.
|
|
@@ -2171,7 +2213,6 @@ sap.ui.define(
|
|
|
2171
2213
|
fnIsSensitiveData = function(sProp, esName, mData) {
|
|
2172
2214
|
var aPropertyAnnotations;
|
|
2173
2215
|
esName = esName || sEntitySet;
|
|
2174
|
-
mData = mData;
|
|
2175
2216
|
aPropertyAnnotations = oMetaModel.getObject("/" + esName + "/" + sProp + "@");
|
|
2176
2217
|
if (aPropertyAnnotations) {
|
|
2177
2218
|
if (
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
|
|
4
5
|
*/
|
|
5
6
|
sap.ui.define(["./NavError", "sap/ui/base/Object", "sap/base/util/extend", "sap/base/util/each", "sap/base/Log"], function(
|
|
6
7
|
NavError,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
|
|
4
5
|
*/
|
|
5
6
|
sap.ui.define(
|
|
6
7
|
["./NavError", "sap/ui/base/Object", "sap/base/util/each", "sap/base/Log"],
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* SAPUI5
|
|
3
|
-
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
|
|
4
5
|
*/
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -26,7 +27,7 @@ sap.ui.define(
|
|
|
26
27
|
// library dependencies
|
|
27
28
|
sap.ui.getCore().initLibrary({
|
|
28
29
|
name: "sap.fe.navigation",
|
|
29
|
-
version: "1.
|
|
30
|
+
version: "1.99.0",
|
|
30
31
|
dependencies: ["sap.ui.core"],
|
|
31
32
|
types: ["sap.fe.navigation.NavType", "sap.fe.navigation.ParamHandlingMode", "sap.fe.navigation.SuppressionBehavior"],
|
|
32
33
|
interfaces: [],
|