@openui5/sap.ui.fl 1.140.0 → 1.141.1
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/.eslint-rules/import-check.js +71 -0
- package/THIRDPARTY.txt +2 -2
- package/package.json +3 -3
- package/src/sap/ui/fl/.library +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/LayerUtils.js +1 -1
- package/src/sap/ui/fl/Utils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +13 -3
- package/src/sap/ui/fl/apply/_internal/changes/Applier.js +3 -2
- package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +4 -1
- package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
- 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/AddNewDataSource.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/AddNewOutbound.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddTechnicalAttributes.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/ChangeOutbound.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/SetAch.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetDescription.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/SetCloudDevAdaptationStatus.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/ChangeModel.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/controlVariants/URLHandler.js +1 -1
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.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 +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +2 -8
- package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexObjects/VariantChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/VariantManagementChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +6 -3
- package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +53 -161
- package/src/sap/ui/fl/apply/_internal/flexState/InitialPrepareFunctions.js +0 -8
- 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/changes/UIChangesState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +2 -5
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +22 -5
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +54 -12
- package/src/sap/ui/fl/apply/_internal/init.js +47 -0
- package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +14 -5
- package/src/sap/ui/fl/apply/api/AnnotationChangeHandlerAPI.js +2 -1
- package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +190 -53
- package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +17 -1
- package/src/sap/ui/fl/apply/api/ExtensionPointRegistryAPI.js +2 -1
- package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +2 -1
- package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +2 -1
- package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +2 -1
- package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddXML.js +2 -2
- package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +4 -4
- package/src/sap/ui/fl/changeHandler/Base.js +3 -2
- package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseAddXml.js +21 -9
- package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
- package/src/sap/ui/fl/changeHandler/ChangeAnnotation.js +7 -2
- package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
- 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 +1 -1
- package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/common/createIFrame.js +1 -4
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorChange.js +3 -3
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +3 -3
- 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/variants/VariantManagement.designtime.js +14 -12
- package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
- package/src/sap/ui/fl/initial/_internal/Loader.js +243 -79
- package/src/sap/ui/fl/initial/_internal/ManifestUtils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/Settings.js +1 -1
- package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
- package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
- package/src/sap/ui/fl/initial/_internal/StorageUtils.js +67 -9
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +12 -5
- package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
- package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/ControllerExtension.js +15 -4
- package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/RegistrationDelegator.js +7 -38
- package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/XmlPreprocessor.js +28 -20
- package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
- package/src/sap/ui/fl/initial/api/InitialFlexAPI.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 +44 -44
- package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
- package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
- package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.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 +3 -2
- package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
- package/src/sap/ui/fl/variants/VariantManagement.js +49 -36
- package/src/sap/ui/fl/variants/VariantManager.js +75 -15
- package/src/sap/ui/fl/variants/VariantModel.js +7 -165
- package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
- package/src/sap/ui/fl/write/_internal/Versions.js +9 -5
- 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/BtpServiceConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
- 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/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/FlexObjectManager.js +30 -21
- package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +3 -3
- package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantManager.js +2 -19
- package/src/sap/ui/fl/write/_internal/init.js +27 -0
- 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/Adaptations.js +1 -1
- package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +9 -8
- package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +2 -3
- package/src/sap/ui/fl/write/api/ContextSharingAPI.js +2 -1
- package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/FeaturesAPI.js +2 -1
- package/src/sap/ui/fl/write/api/FieldExtensibility.js +3 -2
- package/src/sap/ui/fl/write/api/LocalResetAPI.js +2 -1
- package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +10 -3
- package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +5 -2
- package/src/sap/ui/fl/write/api/SACIntegrationUpdateVariant.js +2 -1
- package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/TranslationAPI.js +2 -1
- package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +2 -1
- package/src/sap/ui/fl/write/api/VersionsAPI.js +2 -1
- package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +2 -1
- package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +2 -1
|
@@ -17,6 +17,7 @@ sap.ui.define([
|
|
|
17
17
|
"sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
|
|
18
18
|
"sap/ui/fl/apply/_internal/flexState/FlexObjectState",
|
|
19
19
|
"sap/ui/fl/apply/api/ControlVariantApplyAPI",
|
|
20
|
+
"sap/ui/fl/apply/api/FlexRuntimeInfoAPI",
|
|
20
21
|
"sap/ui/fl/write/_internal/controlVariants/ControlVariantWriteUtils",
|
|
21
22
|
"sap/ui/fl/write/_internal/flexState/changes/UIChangeManager",
|
|
22
23
|
"sap/ui/fl/write/_internal/flexState/FlexObjectManager",
|
|
@@ -36,6 +37,7 @@ sap.ui.define([
|
|
|
36
37
|
VariantManagementState,
|
|
37
38
|
FlexObjectState,
|
|
38
39
|
ControlVariantApplyAPI,
|
|
40
|
+
FlexRuntimeInfoAPI,
|
|
39
41
|
ControlVariantWriteUtils,
|
|
40
42
|
UIChangeManager,
|
|
41
43
|
FlexObjectManager,
|
|
@@ -50,7 +52,7 @@ sap.ui.define([
|
|
|
50
52
|
*
|
|
51
53
|
* @namespace sap.ui.fl.variants.VariantManager
|
|
52
54
|
* @since 1.132
|
|
53
|
-
* @version 1.
|
|
55
|
+
* @version 1.141.1
|
|
54
56
|
* @private
|
|
55
57
|
* @ui5-restricted sap.ui.fl, sap.ui.rta
|
|
56
58
|
*/
|
|
@@ -61,31 +63,40 @@ sap.ui.define([
|
|
|
61
63
|
return oAppComponent.getModel(ControlVariantApplyAPI.getVariantModelName());
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
function getDirtyChangesFromVariantChanges(aControlChanges, sFlexReference) {
|
|
67
|
+
const aChangeFileNames = aControlChanges.map((oChange) => oChange.getId());
|
|
68
|
+
|
|
69
|
+
return FlexObjectState.getDirtyFlexObjects(sFlexReference).filter(function(oChange) {
|
|
70
|
+
return aChangeFileNames.includes(oChange.getId()) && !oChange.getSavedToVariant();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
64
74
|
/**
|
|
65
75
|
* Removes passed control changes which are in DIRTY state from the variant state and flex controller.
|
|
66
76
|
*
|
|
67
77
|
* @param {object} mPropertyBag - Object with properties
|
|
68
78
|
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} mPropertyBag.changes - Array of control changes
|
|
79
|
+
* @param {string} mPropertyBag.reference - Flex reference of the app
|
|
69
80
|
* @param {string} mPropertyBag.vmReference - Variant management reference
|
|
70
81
|
* @param {string} mPropertyBag.vReference - Variant reference to remove dirty changes from
|
|
71
|
-
* @param {sap.ui.
|
|
82
|
+
* @param {sap.ui.core.Component} mPropertyBag.appComponent - Model's app component
|
|
72
83
|
* @param {boolean} [mPropertyBag.revert] - Revert the given changes
|
|
73
84
|
*
|
|
74
85
|
* @returns {Promise<undefined>} Resolves when changes have been erased
|
|
75
86
|
*/
|
|
76
87
|
async function eraseDirtyChanges(mPropertyBag) {
|
|
77
|
-
var aVariantDirtyChanges = mPropertyBag.
|
|
88
|
+
var aVariantDirtyChanges = getDirtyChangesFromVariantChanges(mPropertyBag.changes, mPropertyBag.reference);
|
|
78
89
|
aVariantDirtyChanges = aVariantDirtyChanges.reverse();
|
|
79
90
|
|
|
80
91
|
if (mPropertyBag.revert) {
|
|
81
92
|
await Reverter.revertMultipleChanges(aVariantDirtyChanges, {
|
|
82
|
-
appComponent: mPropertyBag.
|
|
93
|
+
appComponent: mPropertyBag.appComponent,
|
|
83
94
|
modifier: JsControlTreeModifier,
|
|
84
|
-
reference: mPropertyBag.
|
|
95
|
+
reference: mPropertyBag.reference
|
|
85
96
|
});
|
|
86
97
|
}
|
|
87
98
|
FlexObjectManager.deleteFlexObjects({
|
|
88
|
-
reference: mPropertyBag.
|
|
99
|
+
reference: mPropertyBag.reference,
|
|
89
100
|
flexObjects: aVariantDirtyChanges
|
|
90
101
|
});
|
|
91
102
|
}
|
|
@@ -179,10 +190,11 @@ sap.ui.define([
|
|
|
179
190
|
});
|
|
180
191
|
await eraseDirtyChanges({
|
|
181
192
|
changes: aControlChanges,
|
|
193
|
+
reference: oModel.sFlexReference,
|
|
182
194
|
vmReference: sVMReference,
|
|
183
195
|
vReference: sSourceVReference,
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
appComponent: oModel.oAppComponent,
|
|
197
|
+
revert: !bVariantSwitch
|
|
186
198
|
});
|
|
187
199
|
}
|
|
188
200
|
// the variant switch already calls the listeners
|
|
@@ -210,9 +222,19 @@ sap.ui.define([
|
|
|
210
222
|
return oChange.visible === false
|
|
211
223
|
&& oChange.variantReference === oVariantModel.getCurrentVariantReference(sVMReference);
|
|
212
224
|
})) {
|
|
225
|
+
// If the current variant is deleted, switch to the default variant
|
|
226
|
+
// In case the deleted variant was the default or the default variant was changed in the
|
|
227
|
+
// same manage variants session, switch to the new default that is passed via the event
|
|
228
|
+
const sNewDefaultVariantReference = (
|
|
229
|
+
oEvent.getParameter("def")
|
|
230
|
+
|| VariantManagementState.getDefaultVariantReference({
|
|
231
|
+
reference: oVariantModel.sFlexReference,
|
|
232
|
+
vmReference: sVMReference
|
|
233
|
+
})
|
|
234
|
+
);
|
|
213
235
|
await oVariantModel.updateCurrentVariant({
|
|
214
236
|
variantManagementReference: sVMReference,
|
|
215
|
-
newVariantReference:
|
|
237
|
+
newVariantReference: sNewDefaultVariantReference
|
|
216
238
|
});
|
|
217
239
|
}
|
|
218
240
|
|
|
@@ -257,6 +279,7 @@ sap.ui.define([
|
|
|
257
279
|
|
|
258
280
|
VariantManager.handleSaveEvent = async function(oVariantManagementControl, mParameters, oVariantModel) {
|
|
259
281
|
var oAppComponent = Utils.getAppComponentForControl(oVariantManagementControl);
|
|
282
|
+
oVariantModel ||= getVariantModel(oVariantManagementControl);
|
|
260
283
|
var sVMReference = oVariantModel.getLocalId(oVariantManagementControl.getId(), oAppComponent);
|
|
261
284
|
var aNewVariantDirtyChanges;
|
|
262
285
|
|
|
@@ -271,7 +294,7 @@ sap.ui.define([
|
|
|
271
294
|
if (mParameters.overwrite) {
|
|
272
295
|
// handle triggered "Save" button
|
|
273
296
|
// Includes special handling for PUBLIC variant which requires changing all the dirty changes to PUBLIC layer before saving
|
|
274
|
-
aNewVariantDirtyChanges = oVariantModel.
|
|
297
|
+
aNewVariantDirtyChanges = getDirtyChangesFromVariantChanges(aSourceVariantChanges, oVariantModel.sFlexReference);
|
|
275
298
|
if (oVariantModel.getVariant(sSourceVariantReference, sVariantManagementReference).layer === Layer.PUBLIC) {
|
|
276
299
|
aNewVariantDirtyChanges.forEach((oChange) => oChange.setLayer(Layer.PUBLIC));
|
|
277
300
|
}
|
|
@@ -328,9 +351,10 @@ sap.ui.define([
|
|
|
328
351
|
// unsaved changes on the source variant are removed before copied variant changes are saved
|
|
329
352
|
await eraseDirtyChanges({
|
|
330
353
|
changes: aSourceVariantChanges,
|
|
354
|
+
reference: oVariantModel.sFlexReference,
|
|
331
355
|
vmReference: sVariantManagementReference,
|
|
332
356
|
vReference: sSourceVariantReference,
|
|
333
|
-
|
|
357
|
+
appComponent: oAppComponent
|
|
334
358
|
});
|
|
335
359
|
return handleDirtyChanges(
|
|
336
360
|
aNewVariantDirtyChanges,
|
|
@@ -382,20 +406,21 @@ sap.ui.define([
|
|
|
382
406
|
* @returns {Promise<sap.ui.fl.apply._internal.flexObjects.FlexObject[]>} Resolves with the removed dirty changes
|
|
383
407
|
*/
|
|
384
408
|
VariantManager.eraseDirtyChangesOnVariant = async function(sVariantManagementReference, sVariantReference, oControl) {
|
|
385
|
-
const
|
|
409
|
+
const sFlexReference = FlexRuntimeInfoAPI.getFlexReference({ element: oControl });
|
|
386
410
|
var aSourceVariantChanges = VariantManagementState.getControlChangesForVariant({
|
|
387
|
-
reference:
|
|
411
|
+
reference: sFlexReference,
|
|
388
412
|
vmReference: sVariantManagementReference,
|
|
389
413
|
vReference: sVariantReference
|
|
390
414
|
});
|
|
391
415
|
|
|
392
|
-
var aSourceVariantDirtyChanges =
|
|
416
|
+
var aSourceVariantDirtyChanges = getDirtyChangesFromVariantChanges(aSourceVariantChanges, sFlexReference);
|
|
393
417
|
|
|
394
418
|
await eraseDirtyChanges({
|
|
395
419
|
changes: aSourceVariantChanges,
|
|
420
|
+
reference: sFlexReference,
|
|
396
421
|
vmReference: sVariantManagementReference,
|
|
397
422
|
vReference: sVariantReference,
|
|
398
|
-
|
|
423
|
+
appComponent: Utils.getAppComponentForControl(oControl),
|
|
399
424
|
revert: true
|
|
400
425
|
});
|
|
401
426
|
return aSourceVariantDirtyChanges;
|
|
@@ -606,5 +631,40 @@ sap.ui.define([
|
|
|
606
631
|
});
|
|
607
632
|
};
|
|
608
633
|
|
|
634
|
+
/**
|
|
635
|
+
* Returns the dirty changes from the given changes.
|
|
636
|
+
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} aControlChanges - Array of changes to be checked
|
|
637
|
+
* @param {string} sFlexReference - Flex reference of the app
|
|
638
|
+
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of filtered changes
|
|
639
|
+
* @private
|
|
640
|
+
*/
|
|
641
|
+
VariantManager.getDirtyChangesFromVariantChanges = function(aControlChanges, sFlexReference) {
|
|
642
|
+
return getDirtyChangesFromVariantChanges(aControlChanges, sFlexReference);
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Invalidates the variant management map for the given flex reference.
|
|
647
|
+
* This is used to ensure that the variant management map is updated when changes are made.
|
|
648
|
+
* @param {string} sFlexReference - Flex reference of the app
|
|
649
|
+
*/
|
|
650
|
+
VariantManager.updateVariantManagementMap = function(sFlexReference) {
|
|
651
|
+
VariantManagementState.getVariantManagementMap().checkUpdate({ reference: sFlexReference });
|
|
652
|
+
};
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* Returns all control changes for the given variant.
|
|
656
|
+
* @param {string} sFlexReference - Flex reference of the app
|
|
657
|
+
* @param {*} sVMReference - Variant Management reference
|
|
658
|
+
* @param {*} sVReference - Variant reference
|
|
659
|
+
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of control changes for the given variant
|
|
660
|
+
*/
|
|
661
|
+
VariantManager.getControlChangesForVariant = function(sFlexReference, sVMReference, sVReference) {
|
|
662
|
+
return VariantManagementState.getVariant({
|
|
663
|
+
reference: sFlexReference,
|
|
664
|
+
vmReference: sVMReference,
|
|
665
|
+
vReference: sVReference
|
|
666
|
+
}).controlChanges;
|
|
667
|
+
};
|
|
668
|
+
|
|
609
669
|
return VariantManager;
|
|
610
670
|
});
|
|
@@ -10,10 +10,8 @@ sap.ui.define([
|
|
|
10
10
|
"sap/base/util/restricted/_omit",
|
|
11
11
|
"sap/base/util/isEmptyObject",
|
|
12
12
|
"sap/base/util/merge",
|
|
13
|
-
"sap/base/Log",
|
|
14
13
|
"sap/ui/core/util/reflection/JsControlTreeModifier",
|
|
15
14
|
"sap/ui/core/BusyIndicator",
|
|
16
|
-
"sap/ui/core/Element",
|
|
17
15
|
"sap/ui/core/Lib",
|
|
18
16
|
"sap/ui/fl/apply/_internal/controlVariants/URLHandler",
|
|
19
17
|
"sap/ui/fl/apply/_internal/controlVariants/Utils",
|
|
@@ -22,6 +20,7 @@ sap.ui.define([
|
|
|
22
20
|
"sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher",
|
|
23
21
|
"sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
|
|
24
22
|
"sap/ui/fl/apply/_internal/flexState/FlexObjectState",
|
|
23
|
+
"sap/ui/fl/apply/api/ControlVariantApplyAPI",
|
|
25
24
|
"sap/ui/fl/initial/_internal/ManifestUtils",
|
|
26
25
|
"sap/ui/fl/initial/_internal/Settings",
|
|
27
26
|
"sap/ui/fl/Layer",
|
|
@@ -36,10 +35,8 @@ sap.ui.define([
|
|
|
36
35
|
_omit,
|
|
37
36
|
isEmptyObject,
|
|
38
37
|
merge,
|
|
39
|
-
Log,
|
|
40
38
|
JsControlTreeModifier,
|
|
41
39
|
BusyIndicator,
|
|
42
|
-
Element,
|
|
43
40
|
Lib,
|
|
44
41
|
URLHandler,
|
|
45
42
|
VariantUtil,
|
|
@@ -48,6 +45,7 @@ sap.ui.define([
|
|
|
48
45
|
Switcher,
|
|
49
46
|
VariantManagementState,
|
|
50
47
|
FlexObjectState,
|
|
48
|
+
ControlVariantApplyAPI,
|
|
51
49
|
ManifestUtils,
|
|
52
50
|
Settings,
|
|
53
51
|
Layer,
|
|
@@ -136,20 +134,6 @@ sap.ui.define([
|
|
|
136
134
|
return false;
|
|
137
135
|
}
|
|
138
136
|
|
|
139
|
-
function waitForControlToBeRendered(oControl) {
|
|
140
|
-
return new Promise(function(resolve) {
|
|
141
|
-
if (oControl.getDomRef()) {
|
|
142
|
-
resolve();
|
|
143
|
-
} else {
|
|
144
|
-
oControl.addEventDelegate({
|
|
145
|
-
onAfterRendering() {
|
|
146
|
-
resolve();
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
|
|
153
137
|
function initUshellServices() {
|
|
154
138
|
var oUShellContainer = Utils.getUshellContainer();
|
|
155
139
|
if (oUShellContainer) {
|
|
@@ -195,22 +179,12 @@ sap.ui.define([
|
|
|
195
179
|
return aSelectors.length ? FlexObjectState.waitForFlexObjectsToBeApplied(aSelectors) : Promise.resolve();
|
|
196
180
|
}
|
|
197
181
|
|
|
198
|
-
function getVariantManagementControl(sVariantManagementReference, oAppComponent) {
|
|
199
|
-
let sVMControlId;
|
|
200
|
-
if (oAppComponent.byId(sVariantManagementReference)) {
|
|
201
|
-
sVMControlId = oAppComponent.createId(sVariantManagementReference);
|
|
202
|
-
} else {
|
|
203
|
-
sVMControlId = sVariantManagementReference;
|
|
204
|
-
}
|
|
205
|
-
return Element.getElementById(sVMControlId);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
182
|
/**
|
|
209
183
|
* Constructor for a new sap.ui.fl.variants.VariantModel model.
|
|
210
184
|
* @class Variant model implementation for JSON format.
|
|
211
185
|
* @extends sap.ui.model.json.JSONModel
|
|
212
186
|
* @author SAP SE
|
|
213
|
-
* @version 1.
|
|
187
|
+
* @version 1.141.1
|
|
214
188
|
* @param {object} oData - Either the URL where to load the JSON from or a JS object
|
|
215
189
|
* @param {object} mPropertyBag - Map of properties required for the constructor
|
|
216
190
|
* @param {sap.ui.core.Component} mPropertyBag.appComponent - Application component instance that is currently loading
|
|
@@ -378,81 +352,8 @@ sap.ui.define([
|
|
|
378
352
|
return getVariant(this.oData[sVMReference].variants, sVariantReference).title;
|
|
379
353
|
};
|
|
380
354
|
|
|
381
|
-
function handleInitialLoadScenario(sVMReference, oVariantManagementControl) {
|
|
382
|
-
var aVariantChangesForVariant = VariantManagementState.getVariantChangesForVariant({
|
|
383
|
-
vmReference: sVMReference,
|
|
384
|
-
reference: this.sFlexReference
|
|
385
|
-
});
|
|
386
|
-
var sDefaultVariantReference = this.oData[sVMReference].defaultVariant;
|
|
387
|
-
if (
|
|
388
|
-
oVariantManagementControl.getExecuteOnSelectionForStandardDefault()
|
|
389
|
-
&& sDefaultVariantReference === sVMReference
|
|
390
|
-
&& !aVariantChangesForVariant.some((oVariantChange) => oVariantChange.getChangeType() === "setExecuteOnSelect")
|
|
391
|
-
) {
|
|
392
|
-
var oStandardVariant = getVariant(this.oData[sVMReference].variants, sVMReference);
|
|
393
|
-
// set executeOnSelect in model and State without creating a change
|
|
394
|
-
oStandardVariant.instance.setExecuteOnSelection(true);
|
|
395
|
-
this.oData[sVMReference].variants[0].executeOnSelect = true;
|
|
396
|
-
return true;
|
|
397
|
-
}
|
|
398
|
-
return false;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* Saves a function that will be called after a variant has been applied with the new variant as parameter.
|
|
403
|
-
* The function also performs a sanity check after the control has been rendered.
|
|
404
|
-
* If the passed variant control ID does not match the responsible variant management control, the callback will not be saved.
|
|
405
|
-
* Optionally this function is also called after the initial variant is applied without a sanity check.
|
|
406
|
-
*
|
|
407
|
-
* @param {object} mPropertyBag - Object with parameters as properties
|
|
408
|
-
* @param {string} mPropertyBag.control - Instance of the control
|
|
409
|
-
* @param {string} mPropertyBag.vmControlId - ID of the variant management control
|
|
410
|
-
* @param {function} mPropertyBag.callback - Callback that will be called after a variant has been applied
|
|
411
|
-
* @param {boolean} mPropertyBag.callAfterInitialVariant - The callback will also be called after the initial variant is applied
|
|
412
|
-
* @returns {Promise} Promise that resolves after the sanity check
|
|
413
|
-
*/
|
|
414
|
-
VariantModel.prototype.attachVariantApplied = function(mPropertyBag) {
|
|
415
|
-
var oVariantManagementControl = Element.getElementById(mPropertyBag.vmControlId);
|
|
416
|
-
var sVMReference = this.getVariantManagementReferenceForControl(oVariantManagementControl);
|
|
417
|
-
|
|
418
|
-
return this.waitForVMControlInit(sVMReference).then(function(sVMReference, mPropertyBag) {
|
|
419
|
-
var bInitialLoad = handleInitialLoadScenario.call(this, sVMReference, oVariantManagementControl);
|
|
420
|
-
|
|
421
|
-
// if the parameter callAfterInitialVariant or initialLoad is true call the function without check
|
|
422
|
-
if (mPropertyBag.callAfterInitialVariant || bInitialLoad) {
|
|
423
|
-
var mParameters = {
|
|
424
|
-
appComponent: this.oAppComponent,
|
|
425
|
-
reference: this.sFlexReference,
|
|
426
|
-
vmReference: sVMReference
|
|
427
|
-
};
|
|
428
|
-
waitForInitialVariantChanges(mParameters).then(function() {
|
|
429
|
-
var sCurrentVariantReference = this.oData[sVMReference].currentVariant;
|
|
430
|
-
this.callVariantSwitchListeners(sVMReference, sCurrentVariantReference, mPropertyBag.callback);
|
|
431
|
-
}.bind(this));
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
// first check if the passed vmControlId is correct, then save the callback
|
|
435
|
-
// for this check the control has to be in the control tree already
|
|
436
|
-
return waitForControlToBeRendered(mPropertyBag.control).then(function() {
|
|
437
|
-
if (
|
|
438
|
-
VariantUtil.getRelevantVariantManagementControlId(
|
|
439
|
-
mPropertyBag.control,
|
|
440
|
-
this.getVariantManagementControlIds()
|
|
441
|
-
) === mPropertyBag.vmControlId
|
|
442
|
-
) {
|
|
443
|
-
this.oData[sVMReference].showExecuteOnSelection = true;
|
|
444
|
-
this.checkUpdate(true);
|
|
445
|
-
oVariantManagementControl._addVariantAppliedListener(mPropertyBag.control, mPropertyBag.callback);
|
|
446
|
-
} else {
|
|
447
|
-
Log.error("Error in attachVariantApplied: The passed VariantManagement ID does not match the "
|
|
448
|
-
+ "responsible VariantManagement control");
|
|
449
|
-
}
|
|
450
|
-
}.bind(this));
|
|
451
|
-
}.bind(this, sVMReference, mPropertyBag));
|
|
452
|
-
};
|
|
453
|
-
|
|
454
355
|
VariantModel.prototype.callVariantSwitchListeners = function(sVMReference, sNewVariantReference, fnCallback, sScenario) {
|
|
455
|
-
const oVMControl =
|
|
356
|
+
const oVMControl = ControlVariantApplyAPI.getVariantManagementControlByVMReference(sVMReference, this.oAppComponent);
|
|
456
357
|
const oVariant = getVariant(this.oData[sVMReference].variants, sNewVariantReference);
|
|
457
358
|
if (sScenario) {
|
|
458
359
|
oVariant.createScenario = sScenario;
|
|
@@ -465,21 +366,6 @@ sap.ui.define([
|
|
|
465
366
|
}
|
|
466
367
|
};
|
|
467
368
|
|
|
468
|
-
VariantModel.prototype.detachVariantApplied = function(sVMControlId, oControl) {
|
|
469
|
-
const oVMControl = Element.getElementById(sVMControlId);
|
|
470
|
-
oVMControl._removeVariantAppliedListener(oControl);
|
|
471
|
-
};
|
|
472
|
-
|
|
473
|
-
VariantModel.prototype._getVariantTitleCount = function(sNewText, sVariantManagementReference) {
|
|
474
|
-
var oData = this.getData();
|
|
475
|
-
return oData[sVariantManagementReference].variants.reduce(function(iCount, oVariant) {
|
|
476
|
-
if (sNewText.toLowerCase() === oVariant.title.toLowerCase() && oVariant.visible) {
|
|
477
|
-
iCount++;
|
|
478
|
-
}
|
|
479
|
-
return iCount;
|
|
480
|
-
}, 0);
|
|
481
|
-
};
|
|
482
|
-
|
|
483
369
|
function createNewVariant(oSourceVariant, mPropertyBag) {
|
|
484
370
|
var mProperties = {
|
|
485
371
|
id: mPropertyBag.newVariantReference,
|
|
@@ -753,8 +639,7 @@ sap.ui.define([
|
|
|
753
639
|
VariantModel.prototype._ensureStandardVariantExists = function(sVariantManagementReference) {
|
|
754
640
|
var oData = this.getData();
|
|
755
641
|
var oVMDataSection = oData[sVariantManagementReference] || {};
|
|
756
|
-
|
|
757
|
-
if (!oData[sVariantManagementReference] || isEmptyObject(oVMDataSectionWithoutInit)) { // Ensure standard variant exists
|
|
642
|
+
if (!oData[sVariantManagementReference] || isEmptyObject(oVMDataSection)) { // Ensure standard variant exists
|
|
758
643
|
// Standard Variant should always contain the value: "SAP" in "author" / "Created by" field
|
|
759
644
|
var oStandardVariantInstance = FlexObjectFactory.createFlVariant({
|
|
760
645
|
id: sVariantManagementReference,
|
|
@@ -881,12 +766,6 @@ sap.ui.define([
|
|
|
881
766
|
return JsControlTreeModifier.getSelector(sId, oAppComponent).id;
|
|
882
767
|
};
|
|
883
768
|
|
|
884
|
-
VariantModel.prototype.getVariantManagementReferenceForControl = function(oVariantManagementControl) {
|
|
885
|
-
var sControlId = oVariantManagementControl.getId();
|
|
886
|
-
var oAppComponent = Utils.getAppComponentForControl(oVariantManagementControl);
|
|
887
|
-
return (oAppComponent && oAppComponent.getLocalId(sControlId)) || sControlId;
|
|
888
|
-
};
|
|
889
|
-
|
|
890
769
|
VariantModel.prototype.switchToDefaultForVariantManagement = function(sVariantManagementReference) {
|
|
891
770
|
if (this.oData[sVariantManagementReference].currentVariant !== this.oData[sVariantManagementReference].defaultVariant) {
|
|
892
771
|
BusyIndicator.show(200);
|
|
@@ -942,7 +821,7 @@ sap.ui.define([
|
|
|
942
821
|
}
|
|
943
822
|
|
|
944
823
|
VariantModel.prototype.registerToModel = function(oVariantManagementControl) {
|
|
945
|
-
const sVariantManagementReference =
|
|
824
|
+
const sVariantManagementReference = oVariantManagementControl.getVariantManagementReference();
|
|
946
825
|
|
|
947
826
|
// ensure standard variants are mocked, if no variants are present in the changes.variantSection response from the backend
|
|
948
827
|
this._ensureStandardVariantExists(sVariantManagementReference);
|
|
@@ -951,7 +830,7 @@ sap.ui.define([
|
|
|
951
830
|
this.oData[sVariantManagementReference]._isEditable = oVariantManagementControl.getEditable();
|
|
952
831
|
|
|
953
832
|
// only attachVariantApplied will set this to true
|
|
954
|
-
|
|
833
|
+
oVariantManagementControl.setShowExecuteOnSelection(false);
|
|
955
834
|
|
|
956
835
|
// replace bindings in titles with the resolved texts
|
|
957
836
|
resolveTitleBindingsAndCreateVariantChanges.call(this, oVariantManagementControl, sVariantManagementReference);
|
|
@@ -997,43 +876,6 @@ sap.ui.define([
|
|
|
997
876
|
sVariantManagementReference,
|
|
998
877
|
waitForInitialVariantChanges(mParameters)
|
|
999
878
|
);
|
|
1000
|
-
|
|
1001
|
-
if (this.oData[sVariantManagementReference].initPromise) {
|
|
1002
|
-
this.oData[sVariantManagementReference].initPromise.resolveFunction();
|
|
1003
|
-
delete this.oData[sVariantManagementReference].initPromise;
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
this.oData[sVariantManagementReference].init = true;
|
|
1007
|
-
};
|
|
1008
|
-
|
|
1009
|
-
VariantModel.prototype.waitForVMControlInit = function(sVMReference) {
|
|
1010
|
-
if (!this.oData[sVMReference]) {
|
|
1011
|
-
this.oData[sVMReference] = {};
|
|
1012
|
-
} else if (this.oData[sVMReference].init) {
|
|
1013
|
-
return Promise.resolve();
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
-
this.oData[sVMReference].initPromise = {};
|
|
1017
|
-
this.oData[sVMReference].initPromise.promise = new Promise(function(resolve) {
|
|
1018
|
-
this.oData[sVMReference].initPromise.resolveFunction = resolve;
|
|
1019
|
-
}.bind(this));
|
|
1020
|
-
return this.oData[sVMReference].initPromise.promise;
|
|
1021
|
-
};
|
|
1022
|
-
|
|
1023
|
-
/**
|
|
1024
|
-
* Checks if the passed changes exist as dirty changes.
|
|
1025
|
-
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} aControlChanges - Array of changes to be checked
|
|
1026
|
-
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of filtered changes
|
|
1027
|
-
* @private
|
|
1028
|
-
*/
|
|
1029
|
-
VariantModel.prototype._getDirtyChangesFromVariantChanges = function(aControlChanges) {
|
|
1030
|
-
var aChangeFileNames = aControlChanges.map(function(oChange) {
|
|
1031
|
-
return oChange.getId();
|
|
1032
|
-
});
|
|
1033
|
-
|
|
1034
|
-
return FlexObjectState.getDirtyFlexObjects(this.sFlexReference).filter(function(oChange) {
|
|
1035
|
-
return aChangeFileNames.includes(oChange.getId()) && !oChange.getSavedToVariant();
|
|
1036
|
-
});
|
|
1037
879
|
};
|
|
1038
880
|
|
|
1039
881
|
/**
|
|
@@ -159,7 +159,7 @@ sap.ui.define([
|
|
|
159
159
|
*
|
|
160
160
|
* @namespace sap.ui.fl.write._internal.Versions
|
|
161
161
|
* @since 1.74
|
|
162
|
-
* @version 1.
|
|
162
|
+
* @version 1.141.1
|
|
163
163
|
* @private
|
|
164
164
|
* @ui5-restricted sap.ui.fl
|
|
165
165
|
*/
|
|
@@ -275,10 +275,10 @@ sap.ui.define([
|
|
|
275
275
|
* @param {array} [mPropertyBag.draftFilenames] - Array with filesnames which was saved as draft
|
|
276
276
|
*/
|
|
277
277
|
Versions.onAllChangesSaved = function(mPropertyBag) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
278
|
+
const oModel = Versions.getVersionsModel(mPropertyBag);
|
|
279
|
+
const bVersioningEnabled = oModel.getProperty("/versioningEnabled");
|
|
280
|
+
const bDirtyChanges = oModel.getProperty("/dirtyChanges");
|
|
281
|
+
const aDraftFilenames = oModel.getProperty("/draftFilenames");
|
|
282
282
|
oModel.setProperty("/draftFilenames", aDraftFilenames.concat(mPropertyBag.draftFilenames));
|
|
283
283
|
oModel.setProperty("/dirtyChanges", true);
|
|
284
284
|
oModel.setProperty("/backendDraft", bVersioningEnabled && bDirtyChanges || !!mPropertyBag.contextBasedAdaptation);
|
|
@@ -286,6 +286,10 @@ sap.ui.define([
|
|
|
286
286
|
// Save can happen without a reload and the model must be kept up-to-date
|
|
287
287
|
oModel.setProperty("/persistedVersion", Version.Number.Draft);
|
|
288
288
|
oModel.updateBindings(true);
|
|
289
|
+
// Set the Flex InfoSession version to draft "0"
|
|
290
|
+
const oFlexInfo = FlexInfoSession.getByReference(mPropertyBag.reference);
|
|
291
|
+
oFlexInfo.version = Version.Number.Draft;
|
|
292
|
+
FlexInfoSession.setByReference(oFlexInfo, mPropertyBag.reference);
|
|
289
293
|
};
|
|
290
294
|
|
|
291
295
|
/**
|
|
@@ -25,7 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
* Connector for saving and deleting data from SAPUI5 Flexibility KeyUser service - including personalization.
|
|
26
26
|
*
|
|
27
27
|
* @namespace sap.ui.fl.write._internal.connectors.BtpServiceConnector
|
|
28
|
-
* @version 1.
|
|
28
|
+
* @version 1.141.1
|
|
29
29
|
* @private
|
|
30
30
|
* @ui5-restricted sap.ui.fl.write._internal.Storage
|
|
31
31
|
*/
|