@openui5/sap.ui.fl 1.118.0 → 1.119.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/THIRDPARTY.txt +2 -2
- package/package.json +3 -3
- package/src/sap/ui/fl/.library +1 -1
- package/src/sap/ui/fl/ChangePersistence.js +1 -1
- package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
- package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
- package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
- package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
- package/src/sap/ui/fl/FlexController.js +1 -1
- package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
- package/src/sap/ui/fl/LayerUtils.js +14 -7
- package/src/sap/ui/fl/Utils.js +72 -172
- package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Applier.js +8 -4
- package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyStrategyFactory.js +28 -8
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
- package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +5 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +17 -88
- package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +6 -1
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +96 -77
- package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
- package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
- package/src/sap/ui/fl/changeHandler/Base.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseRename.js +45 -59
- package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveControls.js +168 -260
- package/src/sap/ui/fl/changeHandler/MoveElements.js +33 -87
- package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
- package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
- package/src/sap/ui/fl/changeHandler/StashControl.js +31 -53
- package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UnstashControl.js +24 -26
- package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +3 -5
- package/src/sap/ui/fl/changeHandler/common/createIFrame.js +2 -0
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
- package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +5 -0
- package/src/sap/ui/fl/{write → initial}/_internal/FlexInfoSession.js +11 -3
- package/src/sap/ui/fl/initial/_internal/Storage.js +5 -5
- package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
- package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
- package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
- package/src/sap/ui/fl/library.js +43 -43
- package/src/sap/ui/fl/messagebundle_bg.properties +2 -2
- package/src/sap/ui/fl/messagebundle_en.properties +2 -2
- package/src/sap/ui/fl/messagebundle_ja.properties +6 -6
- package/src/sap/ui/fl/messagebundle_sl.properties +2 -2
- package/src/sap/ui/fl/messagebundle_uk.properties +1 -1
- package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
- package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
- package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
- package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
- package/src/sap/ui/fl/util/IFrame.js +60 -27
- package/src/sap/ui/fl/util/IFrameRenderer.js +9 -1
- package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
- package/src/sap/ui/fl/util/resolveBinding.js +1 -1
- package/src/sap/ui/fl/variants/VariantManagement.js +17 -18
- package/src/sap/ui/fl/variants/VariantModel.js +2 -1
- package/src/sap/ui/fl/variants/context/manifest.json +2 -2
- package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
- package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
- package/src/sap/ui/fl/write/_internal/Versions.js +3 -3
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +2 -2
- package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
- package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +63 -43
- package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
- package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
- package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +1 -1
- package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
- package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +1 -1
- package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +12 -2
- package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +14 -11
|
@@ -123,7 +123,7 @@ sap.ui.define([
|
|
|
123
123
|
*
|
|
124
124
|
* @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
|
|
125
125
|
* @since 1.86
|
|
126
|
-
* @version 1.
|
|
126
|
+
* @version 1.119.0
|
|
127
127
|
* @private
|
|
128
128
|
* @ui5-restricted sap.ui.fl
|
|
129
129
|
*/
|
|
@@ -208,7 +208,7 @@ sap.ui.define([
|
|
|
208
208
|
*
|
|
209
209
|
* @function
|
|
210
210
|
* @since 1.89
|
|
211
|
-
* @version 1.
|
|
211
|
+
* @version 1.119.0
|
|
212
212
|
* @private
|
|
213
213
|
* @ui5-restricted sap.ui.fl
|
|
214
214
|
*
|
|
@@ -22,13 +22,18 @@ sap.ui.define([], function() {
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Retrieves the default variant ID for a variant map.
|
|
25
|
+
* Removed variants are filtered out.
|
|
25
26
|
*
|
|
26
27
|
* @param {object} mCompVariantsMap Prepared map for compVariants
|
|
27
28
|
* @returns {string} ID of the default variant
|
|
28
29
|
*/
|
|
29
30
|
Utils.getDefaultVariantId = (mCompVariantsMap) => {
|
|
30
31
|
const aDefaultVariantChanges = mCompVariantsMap.defaultVariants;
|
|
31
|
-
const oChange = aDefaultVariantChanges
|
|
32
|
+
const oChange = aDefaultVariantChanges.toReversed().find((oChange) => {
|
|
33
|
+
return mCompVariantsMap.variants.some((oVariant) => {
|
|
34
|
+
return oChange?.getContent().defaultVariantName === oVariant.getId();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
32
37
|
return oChange?.getContent().defaultVariantName || "";
|
|
33
38
|
};
|
|
34
39
|
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
*
|
|
35
35
|
* @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
|
|
36
36
|
* @since 1.74
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.119.0
|
|
38
38
|
* @private
|
|
39
39
|
* @ui5-restricted
|
|
40
40
|
*/
|
|
@@ -51,13 +51,18 @@ sap.ui.define([
|
|
|
51
51
|
["technicalParameters", VariantsApplyUtil.VARIANT_TECHNICAL_PARAMETER],
|
|
52
52
|
oComponentData
|
|
53
53
|
) || [];
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
|
|
55
|
+
// Only visible variants can be current
|
|
56
|
+
var aVariantKeys = aVariants.filter((oVariant) => {
|
|
57
|
+
return oVariant.visible;
|
|
58
|
+
})
|
|
59
|
+
.map((oVariant) => {
|
|
60
|
+
return oVariant.key;
|
|
56
61
|
});
|
|
57
62
|
|
|
58
63
|
// Check if variant is set via url parameter
|
|
59
|
-
var sDesiredSelectedVariantId =
|
|
60
|
-
return aVariantReferencesFromUrl.includes(
|
|
64
|
+
var sDesiredSelectedVariantId = aVariantKeys.find((sVariantKey) => {
|
|
65
|
+
return aVariantReferencesFromUrl.includes(sVariantKey);
|
|
61
66
|
});
|
|
62
67
|
if (sDesiredSelectedVariantId) {
|
|
63
68
|
return sDesiredSelectedVariantId;
|
|
@@ -69,45 +74,16 @@ sap.ui.define([
|
|
|
69
74
|
// Default is set via applyVariantManagementChange instead
|
|
70
75
|
return aCtrlVariantManagementChanges
|
|
71
76
|
.reverse()
|
|
72
|
-
.map(
|
|
77
|
+
.map((oVariantManagementChange) => {
|
|
73
78
|
return oVariantManagementChange.getContent().defaultVariant;
|
|
74
79
|
})
|
|
75
|
-
.find(
|
|
76
|
-
return
|
|
80
|
+
.find((sDesiredDefaultVariantKey) => {
|
|
81
|
+
return aVariantKeys.includes(sDesiredDefaultVariantKey);
|
|
77
82
|
});
|
|
78
83
|
}
|
|
79
84
|
|
|
80
|
-
function createVariantManagement(aFlexObjects,
|
|
85
|
+
function createVariantManagement(aFlexObjects, sReference, sVMReference) {
|
|
81
86
|
var sCurrentVariantReference = (mCurrentVariantReferences[sReference] || {})[sVMReference];
|
|
82
|
-
var aRelevantVariants = aVariants.filter(function(oFlexObject) {
|
|
83
|
-
return sVMReference === oFlexObject.getVariantManagementReference();
|
|
84
|
-
});
|
|
85
|
-
if (
|
|
86
|
-
!sCurrentVariantReference
|
|
87
|
-
// Current variant might be unavailable due to layer filtering
|
|
88
|
-
// or because a component with a different id but the same flex reference was initalized
|
|
89
|
-
|| !aRelevantVariants.find(function(oVariant) {
|
|
90
|
-
return oVariant.getId() === sCurrentVariantReference;
|
|
91
|
-
})
|
|
92
|
-
) {
|
|
93
|
-
// Try to determine the initial variant from setDefault changes or the url params
|
|
94
|
-
var aCtrlVariantManagementChanges = aFlexObjects.filter(function(oFlexObject) {
|
|
95
|
-
return (
|
|
96
|
-
oFlexObject.getFileType() === "ctrl_variant_management_change"
|
|
97
|
-
&& sVMReference === oFlexObject.getSelector().id
|
|
98
|
-
);
|
|
99
|
-
});
|
|
100
|
-
sCurrentVariantReference = getInitialCurrentVariant(
|
|
101
|
-
sReference,
|
|
102
|
-
aCtrlVariantManagementChanges,
|
|
103
|
-
aRelevantVariants
|
|
104
|
-
) || sVMReference;
|
|
105
|
-
ObjectPath.set(
|
|
106
|
-
[sReference, sVMReference],
|
|
107
|
-
sCurrentVariantReference,
|
|
108
|
-
mCurrentVariantReferences
|
|
109
|
-
);
|
|
110
|
-
}
|
|
111
87
|
return {
|
|
112
88
|
defaultVariant: sVMReference,
|
|
113
89
|
currentVariant: sCurrentVariantReference,
|
|
@@ -121,6 +97,26 @@ sap.ui.define([
|
|
|
121
97
|
};
|
|
122
98
|
}
|
|
123
99
|
|
|
100
|
+
function findVariantInFlexObjects(aFlexObjects, sId) {
|
|
101
|
+
return aFlexObjects.find((oFlexObject) => {
|
|
102
|
+
return oFlexObject.getId() === sId;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function getAllReferencedVariantIds(aFlexObjects, oVariant) {
|
|
107
|
+
const aVariants = [];
|
|
108
|
+
let oCurrentVariant = oVariant;
|
|
109
|
+
let oFoundVariant;
|
|
110
|
+
do {
|
|
111
|
+
oFoundVariant = findVariantInFlexObjects(aFlexObjects, oCurrentVariant.getVariantReference());
|
|
112
|
+
if (oFoundVariant) {
|
|
113
|
+
aVariants.push(oCurrentVariant);
|
|
114
|
+
oCurrentVariant = oFoundVariant;
|
|
115
|
+
}
|
|
116
|
+
} while (oFoundVariant);
|
|
117
|
+
return aVariants.map((oVariant) => oVariant.getId());
|
|
118
|
+
}
|
|
119
|
+
|
|
124
120
|
function createVariantEntry(aFlexObjects, oVariantInstance) {
|
|
125
121
|
return {
|
|
126
122
|
instance: oVariantInstance,
|
|
@@ -136,7 +132,8 @@ sap.ui.define([
|
|
|
136
132
|
return false;
|
|
137
133
|
}
|
|
138
134
|
var bOwnControlChange = oFlexObject.getVariantReference() === oVariantInstance.getId();
|
|
139
|
-
var
|
|
135
|
+
var aReferencedVariantIds = getAllReferencedVariantIds(aFlexObjects, oVariantInstance);
|
|
136
|
+
var bControlChangeOfReferencedVariant = aReferencedVariantIds.indexOf(oFlexObject.getVariantReference()) > -1;
|
|
140
137
|
var bLowerLayerChange = LayerUtils.compareAgainstCurrentLayer(oFlexObject.getLayer(), oVariantInstance.getLayer()) === -1;
|
|
141
138
|
return bOwnControlChange || bControlChangeOfReferencedVariant && bLowerLayerChange;
|
|
142
139
|
}),
|
|
@@ -152,7 +149,7 @@ sap.ui.define([
|
|
|
152
149
|
};
|
|
153
150
|
}
|
|
154
151
|
|
|
155
|
-
function applyVariantChange(oVariantEntry, oVariantChange
|
|
152
|
+
function applyVariantChange(oVariantEntry, oVariantChange) {
|
|
156
153
|
switch (oVariantChange.getChangeType()) {
|
|
157
154
|
case "setTitle":
|
|
158
155
|
oVariantEntry.title = oVariantChange.getText("title");
|
|
@@ -165,16 +162,6 @@ sap.ui.define([
|
|
|
165
162
|
break;
|
|
166
163
|
case "setVisible":
|
|
167
164
|
oVariantEntry.visible = oVariantChange.getContent().visible;
|
|
168
|
-
|
|
169
|
-
// Set standard variant as current variant if current variant is set to invisible
|
|
170
|
-
var sVMReference = oVariantEntry.instance.getVariantManagementReference();
|
|
171
|
-
if (
|
|
172
|
-
mCurrentVariantReferences[sReference][sVMReference] === oVariantEntry.key
|
|
173
|
-
&& !oVariantEntry.visible
|
|
174
|
-
) {
|
|
175
|
-
mCurrentVariantReferences[sReference][sVMReference] = sVMReference;
|
|
176
|
-
oVariantManagementsMap[sVMReference].currentVariant = sVMReference;
|
|
177
|
-
}
|
|
178
165
|
break;
|
|
179
166
|
case "setContexts":
|
|
180
167
|
oVariantEntry.contexts = oVariantChange.getContent().contexts;
|
|
@@ -187,53 +174,81 @@ sap.ui.define([
|
|
|
187
174
|
function applyVariantManagementChange(oVariantManagementEntry, oVariantManagementChange) {
|
|
188
175
|
// Currently only setDefault
|
|
189
176
|
var sDesiredDefaultVariant = oVariantManagementChange.getContent().defaultVariant;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
177
|
+
oVariantManagementEntry.variants.forEach((oVariant) => {
|
|
178
|
+
// Only set default if the variant exists and was not removed
|
|
179
|
+
if (
|
|
180
|
+
oVariant.key === sDesiredDefaultVariant
|
|
181
|
+
&& oVariant.visible
|
|
182
|
+
) {
|
|
183
|
+
oVariantManagementEntry.defaultVariant = sDesiredDefaultVariant;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
196
186
|
}
|
|
197
187
|
|
|
198
|
-
function createVariantsMap(aFlexObjects
|
|
199
|
-
|
|
188
|
+
function createVariantsMap(aFlexObjects) {
|
|
189
|
+
const sReference = aFlexObjects[0]?.getFlexObjectMetadata().reference;
|
|
190
|
+
const aVariants = aFlexObjects.filter((oFlexObject) => {
|
|
200
191
|
return oFlexObject.getFileType() === "ctrl_variant";
|
|
201
192
|
});
|
|
202
193
|
|
|
203
|
-
|
|
204
|
-
aVariants.forEach(
|
|
194
|
+
const oVariantManagementsMap = {};
|
|
195
|
+
aVariants.forEach((oVariantInstance) => {
|
|
205
196
|
var sVMReference = oVariantInstance.getVariantManagementReference();
|
|
206
|
-
oVariantManagementsMap[sVMReference] ||= createVariantManagement(aFlexObjects,
|
|
197
|
+
oVariantManagementsMap[sVMReference] ||= createVariantManagement(aFlexObjects, sReference, sVMReference);
|
|
207
198
|
oVariantManagementsMap[sVMReference].variants.push(
|
|
208
199
|
createVariantEntry(aFlexObjects, oVariantInstance)
|
|
209
200
|
);
|
|
210
201
|
});
|
|
211
202
|
|
|
212
203
|
aFlexObjects
|
|
213
|
-
.filter(
|
|
204
|
+
.filter((oFlexObject) => {
|
|
214
205
|
return oFlexObject.getFileType() === "ctrl_variant_change";
|
|
215
206
|
})
|
|
216
|
-
.forEach(
|
|
217
|
-
|
|
207
|
+
.forEach((oVariantChange) => {
|
|
208
|
+
const oVariantEntry = findVariant(oVariantManagementsMap, oVariantChange);
|
|
218
209
|
if (oVariantEntry) {
|
|
219
210
|
applyVariantChange(oVariantEntry, oVariantChange, sReference, oVariantManagementsMap);
|
|
220
211
|
}
|
|
221
212
|
});
|
|
222
213
|
|
|
223
|
-
aFlexObjects
|
|
224
|
-
.filter(
|
|
214
|
+
const aCtrlVariantManagementChanges = aFlexObjects
|
|
215
|
+
.filter((oFlexObject) => {
|
|
225
216
|
return oFlexObject.getFileType() === "ctrl_variant_management_change";
|
|
226
|
-
})
|
|
227
|
-
|
|
228
|
-
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
aCtrlVariantManagementChanges.forEach((oVariantManagementChange) => {
|
|
220
|
+
const oVariantManagementEntry = oVariantManagementsMap[oVariantManagementChange.getSelector().id];
|
|
229
221
|
if (oVariantManagementEntry) {
|
|
230
222
|
applyVariantManagementChange(oVariantManagementEntry, oVariantManagementChange);
|
|
231
223
|
}
|
|
232
224
|
});
|
|
233
225
|
|
|
234
|
-
Object.
|
|
226
|
+
Object.keys(oVariantManagementsMap).forEach((sVMReference) => {
|
|
227
|
+
const oVariantManagement = oVariantManagementsMap[sVMReference];
|
|
228
|
+
|
|
229
|
+
// If current variant is not already set, set initial current variant
|
|
230
|
+
// Current variant might be unavailable due to layer filtering
|
|
231
|
+
// or because a component with a different id but the same flex reference was initalized
|
|
232
|
+
if (
|
|
233
|
+
!oVariantManagement.currentVariant || !oVariantManagement.variants.some((oVariant) => {
|
|
234
|
+
return oVariant.key === oVariantManagement.currentVariant;
|
|
235
|
+
})
|
|
236
|
+
) {
|
|
237
|
+
const sCurrentVariant = getInitialCurrentVariant(
|
|
238
|
+
sReference,
|
|
239
|
+
aCtrlVariantManagementChanges,
|
|
240
|
+
oVariantManagement.variants
|
|
241
|
+
) || sVMReference;
|
|
242
|
+
oVariantManagement.currentVariant = sCurrentVariant;
|
|
243
|
+
ObjectPath.set(
|
|
244
|
+
[sReference, sVMReference],
|
|
245
|
+
sCurrentVariant,
|
|
246
|
+
mCurrentVariantReferences
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
|
|
235
250
|
// Standard variant should always be at the first position, all others are sorted alphabetically
|
|
236
|
-
oVariantManagement.variants.sort(
|
|
251
|
+
oVariantManagement.variants.sort((oVariant1, oVariant2) => {
|
|
237
252
|
if (oVariant1.isStandardVariant) {
|
|
238
253
|
return -1;
|
|
239
254
|
}
|
|
@@ -244,10 +259,10 @@ sap.ui.define([
|
|
|
244
259
|
});
|
|
245
260
|
|
|
246
261
|
// Set modified flag
|
|
247
|
-
var aCurrentVariantChanges = oVariantManagement.variants.find(
|
|
262
|
+
var aCurrentVariantChanges = oVariantManagement.variants.find((oVariant) => {
|
|
248
263
|
return oVariant.key === oVariantManagement.currentVariant;
|
|
249
264
|
}).controlChanges;
|
|
250
|
-
oVariantManagement.modified = aCurrentVariantChanges.some(
|
|
265
|
+
oVariantManagement.modified = aCurrentVariantChanges.some((oChange) => {
|
|
251
266
|
return !oChange.isPersisted() && !oChange.getSavedToVariant();
|
|
252
267
|
});
|
|
253
268
|
|
|
@@ -283,7 +298,6 @@ sap.ui.define([
|
|
|
283
298
|
|
|
284
299
|
var oVariantManagementMapDataSelector = new DataSelector({
|
|
285
300
|
id: "variantManagementMap",
|
|
286
|
-
parameterKey: "reference",
|
|
287
301
|
parentDataSelector: FlexState.getFlexObjectsDataSelector(),
|
|
288
302
|
executeFunction: createVariantsMap
|
|
289
303
|
});
|
|
@@ -327,10 +341,15 @@ sap.ui.define([
|
|
|
327
341
|
};
|
|
328
342
|
|
|
329
343
|
/**
|
|
330
|
-
*
|
|
344
|
+
* Removes the saved current variant from the internal map for the given reference
|
|
345
|
+
*
|
|
346
|
+
* @param {string} sReference - Flex Reference of the app
|
|
331
347
|
*/
|
|
332
|
-
VariantManagementState.
|
|
333
|
-
mCurrentVariantReferences
|
|
348
|
+
VariantManagementState.resetCurrentVariantReference = function(sReference) {
|
|
349
|
+
delete mCurrentVariantReferences[sReference];
|
|
350
|
+
oVariantManagementMapDataSelector.checkUpdate({
|
|
351
|
+
reference: sReference
|
|
352
|
+
});
|
|
334
353
|
};
|
|
335
354
|
|
|
336
355
|
/**
|
|
@@ -14,7 +14,7 @@ sap.ui.define(["sap/ui/core/Core"], function(oCore) {
|
|
|
14
14
|
* @alias sap.ui.fl.apply._internal.preprocessors.EventHistory
|
|
15
15
|
* @since 1.47.0
|
|
16
16
|
* @author SAP SE
|
|
17
|
-
* @version 1.
|
|
17
|
+
* @version 1.119.0
|
|
18
18
|
*
|
|
19
19
|
* @private
|
|
20
20
|
* @ui5-restricted sap.ui.fl.apply._internal.preprocessors.RegistrationDelegator
|
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
"sap/base/Log",
|
|
9
8
|
"sap/ui/fl/changeHandler/condenser/Classification"
|
|
10
9
|
], function(
|
|
11
|
-
Log,
|
|
12
10
|
CondenserClassification
|
|
13
11
|
) {
|
|
14
12
|
"use strict";
|
|
@@ -19,18 +17,18 @@ sap.ui.define([
|
|
|
19
17
|
* @constructor
|
|
20
18
|
* @alias sap.ui.fl.changeHandler.BaseRename
|
|
21
19
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
20
|
+
* @version 1.119.0
|
|
23
21
|
* @since 1.46
|
|
24
22
|
*
|
|
25
23
|
*/
|
|
26
|
-
|
|
24
|
+
const BaseRename = {
|
|
27
25
|
/**
|
|
28
26
|
* Returns an instance of the rename change handler
|
|
29
|
-
* @param
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @return {
|
|
27
|
+
* @param {object} mRenameSettings - Settings required for the rename action
|
|
28
|
+
* @param {string} mRenameSettings.propertyName - Property from the control to be renamed (e.g. "label")
|
|
29
|
+
* @param {string} mRenameSettings.changePropertyName - Only use if you have migration changeHandler: Property name in change (for LRep; e.g. "fieldLabel")
|
|
30
|
+
* @param {string} mRenameSettings.translationTextType - Translation text type in change (e.g. "XFLD")
|
|
31
|
+
* @return {object} The rename change handler
|
|
34
32
|
*/
|
|
35
33
|
createRenameChangeHandler(mRenameSettings) {
|
|
36
34
|
mRenameSettings.changePropertyName ||= "newText";
|
|
@@ -39,44 +37,37 @@ sap.ui.define([
|
|
|
39
37
|
/**
|
|
40
38
|
* Renames a control.
|
|
41
39
|
*
|
|
42
|
-
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange
|
|
43
|
-
* @param {sap.ui.core.Control} oControl Control that matches the change selector for applying the change
|
|
44
|
-
* @param {object} mPropertyBag
|
|
45
|
-
* @param {
|
|
40
|
+
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Change wrapper object with instructions to be applied on the control map
|
|
41
|
+
* @param {sap.ui.core.Control} oControl - Control that matches the change selector for applying the change
|
|
42
|
+
* @param {object} mPropertyBag - Property bag
|
|
43
|
+
* @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Modifier for the controls
|
|
46
44
|
* @returns {Promise} Promise resolving when the change is applied
|
|
47
45
|
* @public
|
|
48
46
|
*/
|
|
49
|
-
applyChange(oChange, oControl, mPropertyBag) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
.then(function(vPropertyValue) {
|
|
59
|
-
oChange.setRevertData(vPropertyValue);
|
|
60
|
-
return oModifier.setPropertyBindingOrProperty(oControl, sPropertyName, sValue);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
return undefined;
|
|
64
|
-
});
|
|
47
|
+
async applyChange(oChange, oControl, mPropertyBag) {
|
|
48
|
+
const oModifier = mPropertyBag.modifier;
|
|
49
|
+
const sPropertyName = mRenameSettings.propertyName;
|
|
50
|
+
const sValue = oChange.getText(mRenameSettings.changePropertyName);
|
|
51
|
+
if (sValue) {
|
|
52
|
+
const vPropertyValue = await oModifier.getPropertyBindingOrProperty(oControl, sPropertyName);
|
|
53
|
+
oChange.setRevertData(vPropertyValue);
|
|
54
|
+
await oModifier.setPropertyBindingOrProperty(oControl, sPropertyName, sValue);
|
|
55
|
+
}
|
|
65
56
|
},
|
|
66
57
|
|
|
67
58
|
/**
|
|
68
59
|
* Reverts a Rename Change
|
|
69
60
|
*
|
|
70
|
-
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange
|
|
71
|
-
* @param {sap.ui.core.Control} oControl Control that matches the change selector for applying the change
|
|
72
|
-
* @param {object} mPropertyBag
|
|
73
|
-
* @param {
|
|
61
|
+
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Change wrapper object with instructions to be applied on the control map
|
|
62
|
+
* @param {sap.ui.core.Control} oControl - Control that matches the change selector for applying the change
|
|
63
|
+
* @param {object} mPropertyBag - Property bag
|
|
64
|
+
* @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Modifier for the controls
|
|
74
65
|
* @public
|
|
75
66
|
*/
|
|
76
67
|
revertChange(oChange, oControl, mPropertyBag) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
const oModifier = mPropertyBag.modifier;
|
|
69
|
+
const sPropertyName = mRenameSettings.propertyName;
|
|
70
|
+
const vOldValue = oChange.getRevertData();
|
|
80
71
|
|
|
81
72
|
if (vOldValue || vOldValue === "") {
|
|
82
73
|
oModifier.setPropertyBindingOrProperty(oControl, sPropertyName, vOldValue);
|
|
@@ -84,7 +75,7 @@ sap.ui.define([
|
|
|
84
75
|
return;
|
|
85
76
|
}
|
|
86
77
|
|
|
87
|
-
|
|
78
|
+
throw new Error("Change without sufficient information to be reverted. It probably didn't go through applyChange.");
|
|
88
79
|
},
|
|
89
80
|
|
|
90
81
|
/**
|
|
@@ -93,31 +84,26 @@ sap.ui.define([
|
|
|
93
84
|
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange change wrapper object to be completed
|
|
94
85
|
* @param {object} mSpecificChangeInfo with attribute (e.g. textLabel) to be included in the change
|
|
95
86
|
* @param {object} mPropertyBag - Property bag
|
|
96
|
-
* @param {
|
|
87
|
+
* @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Modifier for the controls
|
|
97
88
|
* @returns {Promise} A promise resolving when the change content is completed
|
|
98
89
|
* @public
|
|
99
90
|
*/
|
|
100
|
-
completeChangeContent(oChange, mSpecificChangeInfo, mPropertyBag) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return Promise.resolve()
|
|
105
|
-
.then(function() {
|
|
106
|
-
return mPropertyBag.modifier.bySelector(oChange.getSelector(), mPropertyBag.appComponent);
|
|
107
|
-
})
|
|
108
|
-
.then(function(oControlToBeRenamed) {
|
|
109
|
-
oChange.setContent({
|
|
110
|
-
originalControlType: mPropertyBag.modifier.getControlType(oControlToBeRenamed)
|
|
111
|
-
});
|
|
91
|
+
async completeChangeContent(oChange, mSpecificChangeInfo, mPropertyBag) {
|
|
92
|
+
const sChangePropertyName = mRenameSettings.changePropertyName;
|
|
93
|
+
const sTranslationTextType = mRenameSettings.translationTextType;
|
|
112
94
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
oChange.setText(sChangePropertyName, mSpecificChangeInfo.content.value, sTranslationTextType);
|
|
117
|
-
} else {
|
|
118
|
-
return Promise.reject(new Error("oSpecificChangeInfo.value attribute required"));
|
|
119
|
-
}
|
|
95
|
+
const oControlToBeRenamed = await mPropertyBag.modifier.bySelector(oChange.getSelector(), mPropertyBag.appComponent);
|
|
96
|
+
oChange.setContent({
|
|
97
|
+
originalControlType: mPropertyBag.modifier.getControlType(oControlToBeRenamed)
|
|
120
98
|
});
|
|
99
|
+
|
|
100
|
+
if (typeof (mSpecificChangeInfo.value) === "string") {
|
|
101
|
+
oChange.setText(sChangePropertyName, mSpecificChangeInfo.value, sTranslationTextType);
|
|
102
|
+
} else if (typeof (mSpecificChangeInfo.content.value) === "string") {
|
|
103
|
+
oChange.setText(sChangePropertyName, mSpecificChangeInfo.content.value, sTranslationTextType);
|
|
104
|
+
} else {
|
|
105
|
+
throw new Error("oSpecificChangeInfo.value attribute required");
|
|
106
|
+
}
|
|
121
107
|
},
|
|
122
108
|
|
|
123
109
|
/**
|
|
@@ -139,11 +125,11 @@ sap.ui.define([
|
|
|
139
125
|
* Retrieves the information required for the change visualization.
|
|
140
126
|
*
|
|
141
127
|
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Object with change data
|
|
142
|
-
* @returns {object} Object with a description payload containing the information required for the change visualization
|
|
128
|
+
* @returns {object} - Object with a description payload containing the information required for the change visualization
|
|
143
129
|
* @public
|
|
144
130
|
*/
|
|
145
131
|
getChangeVisualizationInfo(oChange) {
|
|
146
|
-
|
|
132
|
+
const oNewLabel = (
|
|
147
133
|
oChange.getTexts()
|
|
148
134
|
&& oChange.getTexts()[mRenameSettings.changePropertyName]
|
|
149
135
|
);
|