@openui5/sap.ui.fl 1.139.0 → 1.141.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/.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 +2 -2
- 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 +14 -12
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
- 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 +13 -10
- 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 +2 -2
- 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 +5 -5
- package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +12 -26
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +68 -229
- 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 +3 -3
- package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/communication/FLPAboutInfo.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +287 -10
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/applyChangesOnVariant.js +61 -0
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +22 -5
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +72 -19
- package/src/sap/ui/fl/apply/_internal/init.js +47 -0
- package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +17 -7
- 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 +6 -5
- package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +45 -45
- 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 +372 -0
- package/src/sap/ui/fl/{apply/_internal/flexState → 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 +16 -5
- package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/RegistrationDelegator.js +9 -40
- package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/XmlPreprocessor.js +29 -21
- 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/messagebundle_vi.properties +1 -1
- package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +1 -1
- package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +2 -2
- package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
- package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +2 -2
- 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 +5 -4
- package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
- package/src/sap/ui/fl/variants/VariantManagement.js +88 -36
- package/src/sap/ui/fl/variants/VariantManager.js +81 -21
- package/src/sap/ui/fl/variants/VariantModel.js +38 -189
- package/src/sap/ui/fl/write/_internal/SaveAs.js +1 -1
- package/src/sap/ui/fl/write/_internal/Storage.js +14 -1
- package/src/sap/ui/fl/write/_internal/Versions.js +9 -5
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +10 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +6 -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 +27 -2
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +4 -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 +40 -71
- 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/{CompVariantState.js → CompVariantManager.js} +176 -309
- package/src/sap/ui/fl/write/_internal/init.js +27 -0
- package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +2 -2
- 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 +4 -2
- package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +60 -26
- package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +4 -3
- package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +19 -23
- package/src/sap/ui/fl/write/api/ContextSharingAPI.js +3 -2
- 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 +3 -2
- package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +23 -20
- package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +10 -7
- package/src/sap/ui/fl/write/api/SACIntegrationUpdateVariant.js +8 -7
- package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +3 -2
- package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +26 -22
- package/src/sap/ui/fl/write/api/TranslationAPI.js +3 -2
- package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +4 -3
- package/src/sap/ui/fl/write/api/VersionsAPI.js +4 -3
- package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +3 -2
- package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +4 -2
- package/src/sap/ui/fl/write/connectors/BaseConnector.js +13 -0
- package/ui5.yaml +0 -1
- package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +0 -208
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +0 -233
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +0 -118
- package/src/sap/ui/fl/util/resolveBinding.js +0 -79
|
@@ -9,7 +9,7 @@ sap.ui.define([
|
|
|
9
9
|
"sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
|
|
10
10
|
"sap/ui/fl/apply/_internal/flexState/FlexObjectState",
|
|
11
11
|
"sap/ui/fl/apply/_internal/flexState/FlexState",
|
|
12
|
-
"sap/ui/fl/
|
|
12
|
+
"sap/ui/fl/initial/_internal/ManifestUtils",
|
|
13
13
|
"sap/ui/fl/Utils"
|
|
14
14
|
], function(
|
|
15
15
|
UIChangesState,
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
*
|
|
27
27
|
* @namespace sap.ui.fl.support._internal.getFlexObjectInfos
|
|
28
28
|
* @since 1.128
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.141.0
|
|
30
30
|
* @private
|
|
31
31
|
* @ui5-restricted sap.ui.fl.support.api.SupportAPI
|
|
32
32
|
*/
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
*
|
|
35
35
|
* @namespace sap.ui.fl.support._internal.getFlexSettings
|
|
36
36
|
* @since 1.99
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.141.0
|
|
38
38
|
* @param {sap.ui.core.UIComponent} oAppComponent - Application Component
|
|
39
39
|
* @private
|
|
40
40
|
* @ui5-restricted sap.ui.fl.support.api.SupportAPI
|
|
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/fl/Utils", "sap/ui/thirdparty/jquery"], function(Utils, j
|
|
|
13
13
|
* @constructor
|
|
14
14
|
* @alias sap.ui.fl.support.apps.contentbrowser.lrepConnector.LRepConnector
|
|
15
15
|
* @author SAP SE
|
|
16
|
-
* @version 1.
|
|
16
|
+
* @version 1.141.0
|
|
17
17
|
* @since 1.45
|
|
18
18
|
* @private
|
|
19
19
|
*/
|
|
@@ -17,7 +17,7 @@ sap.ui.define([
|
|
|
17
17
|
* @alias sap.ui.fl.transport.TransportSelection
|
|
18
18
|
* @constructor
|
|
19
19
|
* @author SAP SE
|
|
20
|
-
* @version 1.
|
|
20
|
+
* @version 1.141.0
|
|
21
21
|
* @since 1.38.0
|
|
22
22
|
* Helper object to select an ABAP transport for an LREP object. This is not a generic utility to select a transport request, but part
|
|
23
23
|
* of the SmartVariant control.
|
|
@@ -9,12 +9,13 @@ sap.ui.define([
|
|
|
9
9
|
"sap/base/util/uid",
|
|
10
10
|
"sap/ui/core/Control",
|
|
11
11
|
"sap/ui/model/json/JSONModel",
|
|
12
|
-
"
|
|
12
|
+
"sap/ui/fl/util/getContainerUserInfo",
|
|
13
13
|
"sap/base/security/URLListValidator",
|
|
14
14
|
"sap/base/Log",
|
|
15
|
-
"
|
|
16
|
-
"../library",
|
|
15
|
+
"sap/ui/fl/util/IFrameRenderer",
|
|
17
16
|
"sap/ui/core/library"
|
|
17
|
+
// The iFrame control does not need to require its library module because no DataTypes are defined in fl library and the control
|
|
18
|
+
// doesn't require any CSS from the library.css
|
|
18
19
|
], function(
|
|
19
20
|
uid,
|
|
20
21
|
Control,
|
|
@@ -50,7 +51,7 @@ sap.ui.define([
|
|
|
50
51
|
* @extends sap.ui.core.Control
|
|
51
52
|
*
|
|
52
53
|
* @author SAP SE
|
|
53
|
-
* @version 1.
|
|
54
|
+
* @version 1.141.0
|
|
54
55
|
*
|
|
55
56
|
* @constructor
|
|
56
57
|
* @private
|
|
@@ -6,29 +6,31 @@
|
|
|
6
6
|
|
|
7
7
|
// Provides control sap.ui.fl.variants.VariantManagement.
|
|
8
8
|
sap.ui.define([
|
|
9
|
-
"sap/
|
|
10
|
-
"sap/ui/model/Filter",
|
|
11
|
-
"sap/ui/model/FilterOperator",
|
|
9
|
+
"sap/base/Log",
|
|
12
10
|
"sap/m/VariantItem",
|
|
13
11
|
"sap/m/VariantManagement",
|
|
14
|
-
"sap/ui/fl/apply/api/ControlVariantApplyAPI",
|
|
15
|
-
"sap/ui/fl/initial/_internal/Settings",
|
|
16
12
|
"sap/ui/core/Control",
|
|
17
13
|
"sap/ui/core/Lib",
|
|
18
14
|
"sap/ui/core/library",
|
|
19
|
-
"sap/
|
|
15
|
+
"sap/ui/fl/apply/api/ControlVariantApplyAPI",
|
|
16
|
+
"sap/ui/fl/initial/_internal/Settings",
|
|
17
|
+
"sap/ui/fl/Utils",
|
|
18
|
+
"sap/ui/model/Context",
|
|
19
|
+
"sap/ui/model/Filter",
|
|
20
|
+
"sap/ui/model/FilterOperator"
|
|
20
21
|
], function(
|
|
21
|
-
|
|
22
|
-
Filter,
|
|
23
|
-
FilterOperator,
|
|
22
|
+
Log,
|
|
24
23
|
VariantItem,
|
|
25
24
|
MVariantManagement,
|
|
26
|
-
ControlVariantApplyAPI,
|
|
27
|
-
flSettings,
|
|
28
25
|
Control,
|
|
29
26
|
Lib,
|
|
30
27
|
coreLibrary,
|
|
31
|
-
|
|
28
|
+
ControlVariantApplyAPI,
|
|
29
|
+
flSettings,
|
|
30
|
+
Utils,
|
|
31
|
+
Context,
|
|
32
|
+
Filter,
|
|
33
|
+
FilterOperator
|
|
32
34
|
) {
|
|
33
35
|
"use strict";
|
|
34
36
|
|
|
@@ -139,11 +141,11 @@ sap.ui.define([
|
|
|
139
141
|
},
|
|
140
142
|
|
|
141
143
|
/**
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
* Semantic level of the header.
|
|
145
|
+
* For more information, see {@link sap.m.Title#setLevel}.
|
|
146
|
+
*
|
|
147
|
+
* @since 1.104
|
|
148
|
+
*/
|
|
147
149
|
headerLevel: {
|
|
148
150
|
type: "sap.ui.core.TitleLevel",
|
|
149
151
|
group: "Appearance",
|
|
@@ -348,6 +350,15 @@ sap.ui.define([
|
|
|
348
350
|
oRm.renderControl(oControl._oVM);
|
|
349
351
|
oRm.close("div");
|
|
350
352
|
}
|
|
353
|
+
},
|
|
354
|
+
// eslint-disable-next-line object-shorthand
|
|
355
|
+
constructor: function(...aArgs) {
|
|
356
|
+
Control.prototype.constructor.apply(this, aArgs); // Call base class constructor
|
|
357
|
+
this._oInitPromise = new Promise((resolve) => {
|
|
358
|
+
this.attachEventOnce("initialized", () => {
|
|
359
|
+
resolve();
|
|
360
|
+
});
|
|
361
|
+
});
|
|
351
362
|
}
|
|
352
363
|
});
|
|
353
364
|
|
|
@@ -371,6 +382,7 @@ sap.ui.define([
|
|
|
371
382
|
this._aSaveEventHandlers = [];
|
|
372
383
|
this._aManageEventHandlers = [];
|
|
373
384
|
this._aSelectEventHandlers = [];
|
|
385
|
+
this._oVariantAppliedListeners = {};
|
|
374
386
|
|
|
375
387
|
this._oVM.attachManage(this._fireManage, this);
|
|
376
388
|
this._oVM.attachCancel(this._fireCancel, this);
|
|
@@ -380,6 +392,15 @@ sap.ui.define([
|
|
|
380
392
|
this._updateWithSettingsInfo();
|
|
381
393
|
};
|
|
382
394
|
|
|
395
|
+
/**
|
|
396
|
+
* Waits for VM control initialization.
|
|
397
|
+
*
|
|
398
|
+
* @returns {Promise} A promise that resolves when the control is initialized
|
|
399
|
+
*/
|
|
400
|
+
VariantManagement.prototype.waitForInit = function() {
|
|
401
|
+
return this._oInitPromise;
|
|
402
|
+
};
|
|
403
|
+
|
|
383
404
|
/**
|
|
384
405
|
* Registers an invalidation event that is fired when the width of the control is changed.
|
|
385
406
|
* <b>Note:</b> This is required by the {@link sap.m.IOverflowToolbarContent} interface.
|
|
@@ -716,7 +737,7 @@ sap.ui.define([
|
|
|
716
737
|
};
|
|
717
738
|
|
|
718
739
|
VariantManagement.prototype.setShowExecuteOnSelection = function(bValue) {
|
|
719
|
-
//
|
|
740
|
+
// This property is not bound since it is not part of the model
|
|
720
741
|
this._oVM.setSupportApplyAutomatically(bValue);
|
|
721
742
|
return this;
|
|
722
743
|
};
|
|
@@ -864,7 +885,7 @@ sap.ui.define([
|
|
|
864
885
|
if (!this.oContext) {
|
|
865
886
|
oModel = this.getModel(sModelName);
|
|
866
887
|
if (oModel) {
|
|
867
|
-
sLocalId = this.
|
|
888
|
+
sLocalId = this.getVariantManagementReference();
|
|
868
889
|
|
|
869
890
|
if (sLocalId) {
|
|
870
891
|
this.oContext = new Context(oModel, `/${sLocalId}`);
|
|
@@ -900,11 +921,6 @@ sap.ui.define([
|
|
|
900
921
|
model: sModelName
|
|
901
922
|
});
|
|
902
923
|
|
|
903
|
-
this._oVM.bindProperty("supportApplyAutomatically", {
|
|
904
|
-
path: `${this.oContext}/showExecuteOnSelection`,
|
|
905
|
-
model: sModelName
|
|
906
|
-
});
|
|
907
|
-
|
|
908
924
|
this._oVM.bindProperty("showFooter", {
|
|
909
925
|
path: `${this.oContext}/variantsEditable`,
|
|
910
926
|
model: sModelName
|
|
@@ -944,18 +960,6 @@ sap.ui.define([
|
|
|
944
960
|
});
|
|
945
961
|
};
|
|
946
962
|
|
|
947
|
-
VariantManagement.prototype._getLocalId = function(oModel) {
|
|
948
|
-
var sModelName = this.getModelName();
|
|
949
|
-
if (!sModelName) {
|
|
950
|
-
return null;
|
|
951
|
-
}
|
|
952
|
-
if (sModelName !== ControlVariantApplyAPI.getVariantModelName()) {
|
|
953
|
-
return this.getId();
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
return oModel.getVariantManagementReferenceForControl(this);
|
|
957
|
-
};
|
|
958
|
-
|
|
959
963
|
VariantManagement.prototype._getInnerItems = function() {
|
|
960
964
|
var aItems = [];
|
|
961
965
|
if (this.oContext && this.oContext.getObject()) {
|
|
@@ -1080,5 +1084,53 @@ sap.ui.define([
|
|
|
1080
1084
|
return true;
|
|
1081
1085
|
};
|
|
1082
1086
|
|
|
1087
|
+
/**
|
|
1088
|
+
* Adds a listener for a control that is called when a variant is applied.
|
|
1089
|
+
*
|
|
1090
|
+
* @param {sap.ui.core.Control} oControl The control for which the listener is registered
|
|
1091
|
+
* @param {function} fnCallBack The callback function that is called when the variant is applied
|
|
1092
|
+
*
|
|
1093
|
+
* @ui5-restricted sap.ui.fl
|
|
1094
|
+
* @private
|
|
1095
|
+
*/
|
|
1096
|
+
VariantManagement.prototype._addVariantAppliedListener = function(oControl, fnCallBack) {
|
|
1097
|
+
this._oVariantAppliedListeners[oControl.getId()] = fnCallBack;
|
|
1098
|
+
};
|
|
1099
|
+
|
|
1100
|
+
/**
|
|
1101
|
+
* Removes a listener for a control that is called when a variant is applied.
|
|
1102
|
+
*
|
|
1103
|
+
* @param {sap.ui.core.Control} oControl The control for which the listener is registered
|
|
1104
|
+
*
|
|
1105
|
+
* @ui5-restricted sap.ui.fl
|
|
1106
|
+
* @private
|
|
1107
|
+
*/
|
|
1108
|
+
VariantManagement.prototype._removeVariantAppliedListener = function(oControl) {
|
|
1109
|
+
delete this._oVariantAppliedListeners[oControl.getId()];
|
|
1110
|
+
};
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* Executes all variant applied listeners (for all controls).
|
|
1114
|
+
* @param {object} oVariant The variant that was applied
|
|
1115
|
+
*
|
|
1116
|
+
* @ui5-restricted sap.ui.fl
|
|
1117
|
+
* @private
|
|
1118
|
+
*/
|
|
1119
|
+
VariantManagement.prototype._executeAllVariantAppliedListeners = function(oVariant) {
|
|
1120
|
+
Object.values(this._oVariantAppliedListeners).forEach(function(fnCallback) {
|
|
1121
|
+
fnCallback(oVariant);
|
|
1122
|
+
});
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Returns the reference of the variant management control.
|
|
1127
|
+
* @returns {string} The reference of the variant management control
|
|
1128
|
+
*/
|
|
1129
|
+
VariantManagement.prototype.getVariantManagementReference = function() {
|
|
1130
|
+
const sControlId = this.getId();
|
|
1131
|
+
const oAppComponent = Utils.getAppComponentForControl(this);
|
|
1132
|
+
return (oAppComponent && oAppComponent.getLocalId(sControlId)) || sControlId;
|
|
1133
|
+
};
|
|
1134
|
+
|
|
1083
1135
|
return VariantManagement;
|
|
1084
1136
|
});
|
|
@@ -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.0
|
|
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
|
}
|
|
@@ -94,18 +105,18 @@ sap.ui.define([
|
|
|
94
105
|
* Adds the passed function to the variant switch promise and returns the whole promise chain.
|
|
95
106
|
*
|
|
96
107
|
* @param {function():Promise} fnCallback - Callback function returning a promise
|
|
97
|
-
* @param {
|
|
108
|
+
* @param {string} sFlexReference - Flex reference of the app
|
|
98
109
|
* @param {string} sVMReference - Variant Management reference
|
|
99
|
-
* @returns {Promise
|
|
110
|
+
* @returns {Promise} Resolves when the variant model is not busy anymore
|
|
100
111
|
* @private
|
|
101
112
|
*/
|
|
102
|
-
function executeAfterSwitch(fnCallback,
|
|
113
|
+
function executeAfterSwitch(fnCallback, sFlexReference, sVMReference) {
|
|
103
114
|
// if there are multiple switches triggered very quickly this makes sure that they are being executed one after another
|
|
104
|
-
|
|
115
|
+
const oNewPromise = VariantManagementState.waitForVariantSwitch(sFlexReference, sVMReference)
|
|
105
116
|
.catch(function() {})
|
|
106
117
|
.then(fnCallback);
|
|
107
|
-
VariantManagementState.setVariantSwitchPromise(
|
|
108
|
-
return
|
|
118
|
+
VariantManagementState.setVariantSwitchPromise(sFlexReference, sVMReference, oNewPromise);
|
|
119
|
+
return oNewPromise;
|
|
109
120
|
}
|
|
110
121
|
|
|
111
122
|
async function handleDirtyChanges(aDirtyChanges, sVariantManagementReference, oAppComponent, oVariantModel) {
|
|
@@ -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
|
});
|