@openui5/sap.ui.fl 1.96.2 → 1.98.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.reuse/dep5 +26 -31
- package/THIRDPARTY.txt +15 -21
- package/package.json +3 -3
- package/src/sap/ui/fl/.library +2 -2
- package/src/sap/ui/fl/Cache.js +2 -2
- package/src/sap/ui/fl/Change.js +5 -219
- package/src/sap/ui/fl/ChangePersistence.js +28 -28
- package/src/sap/ui/fl/ChangePersistenceFactory.js +5 -3
- package/src/sap/ui/fl/EventHistory.js +2 -2
- package/src/sap/ui/fl/FakeLrepConnector.js +1 -1
- package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +2 -2
- package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +2 -2
- package/src/sap/ui/fl/FakeLrepLocalStorage.js +2 -2
- package/src/sap/ui/fl/FlexController.js +37 -19
- package/src/sap/ui/fl/FlexControllerFactory.js +14 -8
- package/src/sap/ui/fl/Layer.js +1 -1
- package/src/sap/ui/fl/LayerUtils.js +2 -2
- package/src/sap/ui/fl/PreprocessorImpl.js +7 -5
- package/src/sap/ui/fl/RegistrationDelegator.js +2 -2
- package/src/sap/ui/fl/Utils.js +35 -309
- package/src/sap/ui/fl/Variant.js +2 -116
- package/src/sap/ui/fl/XmlPreprocessorImpl.js +15 -14
- package/src/sap/ui/fl/apply/_internal/ChangesController.js +1 -1
- package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +3 -3
- package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Applier.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Utils.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyStrategyFactory.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyUtil.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 +4 -3
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +2 -2
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +2 -2
- package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageConnector.js +1 -1
- package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +2 -2
- package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +267 -265
- package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +40 -10
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +16 -11
- package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariantRevertData.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexObjects/RevertData.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/UpdatableChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +5 -5
- package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +16 -17
- package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +22 -23
- package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/appDescriptorChanges/prepareAppDescriptorMap.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/changes/prepareChangesMap.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +3 -3
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +3 -3
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +3 -5
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +23 -25
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +8 -2
- package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +87 -7
- package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +2 -2
- package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +72 -10
- package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +13 -2
- package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddIFrame.js +2 -2
- package/src/sap/ui/fl/changeHandler/AddXML.js +2 -2
- package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +2 -2
- package/src/sap/ui/fl/changeHandler/Base.js +2 -2
- package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +2 -2
- package/src/sap/ui/fl/changeHandler/BaseAddXml.js +2 -2
- package/src/sap/ui/fl/changeHandler/BaseRename.js +2 -2
- package/src/sap/ui/fl/changeHandler/BaseTreeModifier.js +1 -1
- package/src/sap/ui/fl/changeHandler/HideControl.js +2 -2
- package/src/sap/ui/fl/changeHandler/JsControlTreeModifier.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveControls.js +2 -2
- package/src/sap/ui/fl/changeHandler/MoveElements.js +2 -2
- package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +2 -2
- package/src/sap/ui/fl/changeHandler/PropertyChange.js +2 -2
- package/src/sap/ui/fl/changeHandler/StashControl.js +2 -2
- package/src/sap/ui/fl/changeHandler/UnhideControl.js +2 -2
- package/src/sap/ui/fl/changeHandler/UnstashControl.js +2 -2
- package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +2 -2
- package/src/sap/ui/fl/changeHandler/XmlTreeModifier.js +1 -1
- package/src/sap/ui/fl/changeHandler/common/createIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +1 -1
- package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +1 -1
- package/src/sap/ui/fl/codeExt/CodeExtManager.js +17 -11
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +5 -5
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +2 -2
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +2 -2
- package/src/sap/ui/fl/descriptorRelated/internal/Utils.js +1 -1
- package/src/sap/ui/fl/designtime/library.designtime.js +1 -1
- package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +1 -1
- package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +10 -3
- package/src/sap/ui/fl/initial/_internal/Storage.js +2 -2
- package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +2 -2
- package/src/sap/ui/fl/initial/_internal/StorageUtils.js +2 -2
- 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/changeHandlers/ChangeRegistryItem.js +2 -2
- package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +2 -2
- package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +17 -7
- package/src/sap/ui/fl/initial/_internal/connectors/NeoLrepConnector.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/PersonalizationConnector.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/StaticFileConnector.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +5 -6
- package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +2 -2
- package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +2 -2
- package/src/sap/ui/fl/interfaces/Delegate.js +2 -2
- package/src/sap/ui/fl/library.js +12 -12
- package/src/sap/ui/fl/library.support.js +1 -1
- package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +19 -2
- package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +2 -35
- package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +19 -2
- package/src/sap/ui/fl/messagebundle_ro.properties +1 -1
- package/src/sap/ui/fl/registry/Settings.js +26 -17
- package/src/sap/ui/fl/requireAsync.js +1 -1
- package/src/sap/ui/fl/support/Flexibility.js +84 -73
- package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +59 -0
- package/src/sap/ui/fl/support/api/SupportAPI.js +28 -0
- package/src/sap/ui/fl/support/apps/contentbrowser/Component.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +14 -14
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +9 -9
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +10 -10
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +4 -4
- package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +52 -53
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +130 -126
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +2 -2
- package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/Component.js +1 -1
- package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/controller/Root.controller.js +1 -3
- package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/helper/Extractor.js +4 -15
- package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +2 -2
- package/src/sap/ui/fl/themes/base/library.source.less +1 -1
- package/src/sap/ui/fl/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/fl/transport/TransportDialog.js +1 -1
- package/src/sap/ui/fl/transport/TransportSelection.js +2 -2
- package/src/sap/ui/fl/util/DescriptorChangeCheck.js +3 -5
- package/src/sap/ui/fl/util/IFrame.flexibility.js +1 -1
- package/src/sap/ui/fl/util/IFrame.js +2 -2
- package/src/sap/ui/fl/util/IFrameRenderer.js +1 -1
- package/src/sap/ui/fl/util/ManagedObjectModel.js +2 -2
- package/src/sap/ui/fl/util/changePropertyValueByPath.js +1 -1
- package/src/sap/ui/fl/util/getContainerUserInfo.js +1 -1
- package/src/sap/ui/fl/util/resolveBinding.js +2 -2
- package/src/sap/ui/fl/variants/VariantManagement.js +3 -2
- package/src/sap/ui/fl/variants/VariantModel.js +6 -46
- package/src/sap/ui/fl/variants/context/Component.js +1 -1
- package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +13 -3
- package/src/sap/ui/fl/write/_internal/SaveAs.js +1 -1
- package/src/sap/ui/fl/write/_internal/Storage.js +34 -2
- package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +2 -2
- package/src/sap/ui/fl/write/_internal/Versions.js +18 -19
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +2 -2
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +2 -2
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +2 -2
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +25 -2
- package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +4 -3
- package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +2 -2
- package/src/sap/ui/fl/write/_internal/condenser/Utils.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/classifications/LastOneWins.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Reverse.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +5 -5
- package/src/sap/ui/fl/write/_internal/connectors/JsObjectConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +50 -26
- package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +60 -3
- package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +2 -2
- package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +2 -2
- package/src/sap/ui/fl/write/_internal/connectors/ObjectStorageConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +2 -2
- package/src/sap/ui/fl/write/_internal/connectors/SessionStorageConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/Utils.js +2 -2
- package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +1 -1
- package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +2 -2
- package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +5 -5
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +3 -3
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +2 -2
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +22 -7
- package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +6 -5
- package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +6 -8
- package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +7 -6
- package/src/sap/ui/fl/write/_internal/transport/Transports.js +2 -3
- package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +1 -1
- package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -1
- package/src/sap/ui/fl/write/api/ContextSharingAPI.js +1 -1
- package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +125 -14
- package/src/sap/ui/fl/write/api/ExtensionPointRegistryAPI.js +1 -1
- package/src/sap/ui/fl/write/api/FeaturesAPI.js +6 -2
- package/src/sap/ui/fl/write/api/FieldExtensibility.js +8 -4
- package/src/sap/ui/fl/write/api/LocalResetAPI.js +1 -1
- package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +43 -4
- package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +5 -5
- package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +1 -1
- package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +3 -1
- package/src/sap/ui/fl/write/api/TranslationAPI.js +102 -0
- package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +1 -1
- package/src/sap/ui/fl/write/api/VersionsAPI.js +2 -2
- package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +1 -1
- package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +3 -2
- package/src/sap/ui/fl/write/connectors/BaseConnector.js +31 -1
- package/ui5.yaml +132 -1
- package/src/sap/ui/fl/ControlPersonalizationAPI.js +0 -479
|
@@ -1,479 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ! OpenUI5
|
|
3
|
-
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
sap.ui.define([
|
|
8
|
-
"sap/ui/fl/Layer",
|
|
9
|
-
"sap/ui/fl/Utils",
|
|
10
|
-
"sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage",
|
|
11
|
-
"sap/ui/fl/FlexControllerFactory",
|
|
12
|
-
"sap/ui/core/util/reflection/JsControlTreeModifier",
|
|
13
|
-
"sap/ui/core/Element",
|
|
14
|
-
"sap/ui/base/ManagedObject",
|
|
15
|
-
"sap/base/util/includes",
|
|
16
|
-
"sap/ui/fl/variants/VariantManagement",
|
|
17
|
-
"sap/ui/fl/apply/_internal/controlVariants/URLHandler",
|
|
18
|
-
"sap/ui/core/Component",
|
|
19
|
-
"sap/base/Log",
|
|
20
|
-
"sap/ui/thirdparty/jquery"
|
|
21
|
-
], function(
|
|
22
|
-
Layer,
|
|
23
|
-
Utils,
|
|
24
|
-
ChangeHandlerStorage,
|
|
25
|
-
FlexControllerFactory,
|
|
26
|
-
JsControlTreeModifier,
|
|
27
|
-
Element,
|
|
28
|
-
ManagedObject,
|
|
29
|
-
includes,
|
|
30
|
-
VariantManagement,
|
|
31
|
-
URLHandler,
|
|
32
|
-
Component,
|
|
33
|
-
Log,
|
|
34
|
-
jQuery
|
|
35
|
-
) {
|
|
36
|
-
"use strict";
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Provides an API to handle specific functionality for personalized changes.
|
|
40
|
-
*
|
|
41
|
-
* @namespace
|
|
42
|
-
* @name sap.ui.fl.ControlPersonalizationAPI
|
|
43
|
-
* @author SAP SE
|
|
44
|
-
* @experimental Since 1.56
|
|
45
|
-
* @since 1.56
|
|
46
|
-
* @version 1.96.2
|
|
47
|
-
* @private
|
|
48
|
-
* @ui5-restricted
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Object containing attributes of a change, along with the control to which this change should be applied.
|
|
53
|
-
*
|
|
54
|
-
* @typedef {object} sap.ui.fl.ControlPersonalizationAPI.PersonalizationChange
|
|
55
|
-
* @since 1.56
|
|
56
|
-
* @private
|
|
57
|
-
* @ui5-restricted
|
|
58
|
-
* @property {sap.ui.core.Element} selectorControl The control object to be used as selector for the change
|
|
59
|
-
* @property {object} changeSpecificData The map of change-specific data to perform a flex change
|
|
60
|
-
* @property {string} changeSpecificData.changeType The change type for which a change handler is registered
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
var ControlPersonalizationAPI = {
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Returns a map of parameters used in public functions.
|
|
67
|
-
*
|
|
68
|
-
* @param {sap.ui.core.Element} oControl - The control for which a variant management control has to be evaluated
|
|
69
|
-
* @param {boolean} [bIgnoreVariantManagement=false] - If flag is set to true then variant management will be ignored
|
|
70
|
-
* @param {boolean} [bUseStaticArea=false] - If flag is set to true then the static area is used to determine the variant management control
|
|
71
|
-
* @returns {object} Returns a map with needed parameters
|
|
72
|
-
* @private
|
|
73
|
-
*/
|
|
74
|
-
_determineParameters: function(oControl, bIgnoreVariantManagement, bUseStaticArea) {
|
|
75
|
-
var oAppComponent = Utils.getAppComponentForControl(oControl);
|
|
76
|
-
var oFlexController = FlexControllerFactory.createForControl(oAppComponent);
|
|
77
|
-
var oRootControl = oAppComponent.getRootControl();
|
|
78
|
-
|
|
79
|
-
var mParams = {
|
|
80
|
-
rootControl: oRootControl,
|
|
81
|
-
flexController: oFlexController
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
if (!bIgnoreVariantManagement) {
|
|
85
|
-
var aVMControls;
|
|
86
|
-
var oVMControl;
|
|
87
|
-
var aForControlTypes;
|
|
88
|
-
mParams.variantModel = oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
|
|
89
|
-
mParams.variantManagement = {};
|
|
90
|
-
if (!bUseStaticArea) {
|
|
91
|
-
aVMControls = jQuery.makeArray(mParams.rootControl.$().find(".sapUiFlVarMngmt"));
|
|
92
|
-
}
|
|
93
|
-
if (bUseStaticArea || aVMControls.length === 0) {
|
|
94
|
-
aVMControls = jQuery.makeArray(jQuery(sap.ui.getCore().getStaticAreaRef()).find(".sapUiFlVarMngmt"));
|
|
95
|
-
}
|
|
96
|
-
aVMControls.map(function (oVariantManagementNode) {
|
|
97
|
-
oVMControl = sap.ui.getCore().byId(oVariantManagementNode.id);
|
|
98
|
-
if (oVMControl.getMetadata().getName() === "sap.ui.fl.variants.VariantManagement") {
|
|
99
|
-
aForControlTypes = oVMControl.getFor();
|
|
100
|
-
aForControlTypes.forEach(function (sControlType) {
|
|
101
|
-
mParams.variantManagement[sControlType] = mParams.variantModel.getLocalId(oVariantManagementNode.id, oAppComponent);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return mParams;
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Returns the local ID of the encompassing variant management control.
|
|
112
|
-
*
|
|
113
|
-
* @param {sap.ui.core.Element} oControl - The control for which a variant management control has to be evaluated
|
|
114
|
-
* @returns {object} Returns a map with needed parameters
|
|
115
|
-
* @private
|
|
116
|
-
*/
|
|
117
|
-
_getVariantManagement: function(oControl, mParams) {
|
|
118
|
-
mParams = mParams || this._determineParameters(oControl);
|
|
119
|
-
var fnCheckForControl = function (oControl) {
|
|
120
|
-
if (!mParams.variantManagement[oControl.getId()] && oControl.getParent() && oControl.getId() !== mParams.rootControl.getId()) {
|
|
121
|
-
return fnCheckForControl(oControl.getParent());
|
|
122
|
-
} else if (!oControl.getParent() || oControl.getId() === mParams.rootControl.getId()) {
|
|
123
|
-
return mParams.variantManagement[oControl.getId()] || "";
|
|
124
|
-
}
|
|
125
|
-
return mParams.variantManagement[oControl.getId()];
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
return fnCheckForControl(oControl);
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
*
|
|
133
|
-
* Clears URL technical parameter 'sap-ui-fl-control-variant-id' for control variants.
|
|
134
|
-
* If a variant management control is given as parameter, only parameters specific to that control are cleared.
|
|
135
|
-
*
|
|
136
|
-
* @param {sap.ui.base.ManagedObject} [oVariantManagementControl] - The variant management control for which the URL technical parameter has to be cleared
|
|
137
|
-
*
|
|
138
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.clearVariantParameterInURL
|
|
139
|
-
* @public
|
|
140
|
-
*/
|
|
141
|
-
clearVariantParameterInURL: function (oControl) {
|
|
142
|
-
var aUpdatedVariantParameters;
|
|
143
|
-
var oAppComponent = Utils.getAppComponentForControl(oControl);
|
|
144
|
-
var oVariantModel = oAppComponent instanceof Component ? oAppComponent.getModel(Utils.VARIANT_MODEL_NAME) : undefined;
|
|
145
|
-
if (!oVariantModel) {
|
|
146
|
-
//technical parameters are not updated, only URL hash is updated
|
|
147
|
-
Log.warning("Variant model could not be found on the provided control");
|
|
148
|
-
//TODO: Confirm if there is a reason for this code to continue if no model is available
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
//check if variant for the passed variant management control is present
|
|
153
|
-
if (oControl instanceof VariantManagement) {
|
|
154
|
-
var sVariantManagementReference = oVariantModel.getLocalId(oControl.getId(), oAppComponent);
|
|
155
|
-
var mCleansedParametersWithIndex = URLHandler.removeURLParameterForVariantManagement({
|
|
156
|
-
model: oVariantModel,
|
|
157
|
-
vmReference: sVariantManagementReference
|
|
158
|
-
});
|
|
159
|
-
aUpdatedVariantParameters = mCleansedParametersWithIndex.parameters;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
//both technical parameters and URL hash updated
|
|
163
|
-
URLHandler.update({
|
|
164
|
-
parameters: aUpdatedVariantParameters || [],
|
|
165
|
-
updateURL: true,
|
|
166
|
-
updateHashEntry: !!oVariantModel,
|
|
167
|
-
model: oVariantModel || {},
|
|
168
|
-
silent: !oVariantModel
|
|
169
|
-
});
|
|
170
|
-
},
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
*
|
|
174
|
-
* Activates the passed variant applicable to the passed control/component.
|
|
175
|
-
*
|
|
176
|
-
* @param {sap.ui.base.ManagedObject|string} vElement - The component or control (instance or ID) on which the variantModel is set
|
|
177
|
-
* @param {string} sVariantReference - The variant reference which needs to be activated
|
|
178
|
-
*
|
|
179
|
-
* @returns {Promise} Returns Promise that resolves after the variant is updated or rejects when an error occurs
|
|
180
|
-
*
|
|
181
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.activateVariant
|
|
182
|
-
* @public
|
|
183
|
-
*/
|
|
184
|
-
activateVariant: function(vElement, sVariantReference) {
|
|
185
|
-
return Promise.resolve()
|
|
186
|
-
.then(function () {
|
|
187
|
-
var oElement;
|
|
188
|
-
if (typeof vElement === 'string' || vElement instanceof String) {
|
|
189
|
-
oElement = Component.get(vElement);
|
|
190
|
-
|
|
191
|
-
if (!(oElement instanceof Component)) {
|
|
192
|
-
oElement = sap.ui.getCore().byId(vElement);
|
|
193
|
-
|
|
194
|
-
if (!(oElement instanceof Element)) {
|
|
195
|
-
throw new Error("No valid component or control found for the provided ID");
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
} else if (vElement instanceof Component || vElement instanceof Element) {
|
|
199
|
-
oElement = vElement;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
var oAppComponent = Utils.getAppComponentForControl(oElement);
|
|
203
|
-
if (!oAppComponent) {
|
|
204
|
-
throw new Error("A valid variant management control or component (instance or ID) should be passed as parameter");
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
var oVariantModel = oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
|
|
208
|
-
if (!oVariantModel) {
|
|
209
|
-
throw new Error("No variant management model found for the passed control or application component");
|
|
210
|
-
}
|
|
211
|
-
var sVariantManagementReference = oVariantModel.getVariantManagementReference(sVariantReference).variantManagementReference;
|
|
212
|
-
if (!sVariantManagementReference) {
|
|
213
|
-
throw new Error("A valid control or component, and a valid variant/ID combination are required");
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
// sap/fe is using this API very early during app start, sometimes before FlexState is initialized
|
|
217
|
-
return oVariantModel.waitForVMControlInit(sVariantManagementReference).then(function() {
|
|
218
|
-
return oVariantModel.updateCurrentVariant({
|
|
219
|
-
variantManagementReference: sVariantManagementReference,
|
|
220
|
-
newVariantReference: sVariantReference,
|
|
221
|
-
appComponent: oAppComponent
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
})
|
|
225
|
-
["catch"](function(oError) {
|
|
226
|
-
Log.error(oError);
|
|
227
|
-
return Promise.reject(oError);
|
|
228
|
-
});
|
|
229
|
-
},
|
|
230
|
-
|
|
231
|
-
_checkChangeSpecificData: function(oChange, sLayer) {
|
|
232
|
-
if (!oChange.changeSpecificData) {
|
|
233
|
-
return Promise.reject(new Error("No changeSpecificData available"));
|
|
234
|
-
}
|
|
235
|
-
if (!oChange.changeSpecificData.changeType) {
|
|
236
|
-
return Promise.reject(new Error("No valid changeType"));
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
if (!(oChange.selectorControl instanceof Element)) {
|
|
240
|
-
return Promise.reject(new Error("No valid selectorControl"));
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
var sControlType = oChange.selectorControl.getMetadata().getName();
|
|
244
|
-
return ChangeHandlerStorage.getChangeHandler(
|
|
245
|
-
oChange.changeSpecificData.changeType,
|
|
246
|
-
sControlType,
|
|
247
|
-
oChange.selectorControl,
|
|
248
|
-
JsControlTreeModifier,
|
|
249
|
-
sLayer
|
|
250
|
-
);
|
|
251
|
-
},
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Creates personalization changes, adds them to the flex persistence (not yet saved) and applies them to the control.
|
|
255
|
-
*
|
|
256
|
-
* @param {object} mPropertyBag - Changes along with other settings that need to be added
|
|
257
|
-
* @param {array} mPropertyBag.controlChanges - Array of control changes of type {@link sap.ui.fl.ControlPersonalizationAPI.PersonalizationChange}
|
|
258
|
-
* @param {boolean} [mPropertyBag.ignoreVariantManagement=false] - If flag is set to true then variant management will be ignored
|
|
259
|
-
* @param {boolean} [mPropertyBag.useStaticArea=false] - If flag is set to true then the static area is used to determine the variant management control
|
|
260
|
-
*
|
|
261
|
-
* @returns {Promise} Returns Promise resolving to an array of successfully applied changes,
|
|
262
|
-
* after the changes have been written to the map of dirty changes and applied to the control
|
|
263
|
-
*
|
|
264
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.addPersonalizationChanges
|
|
265
|
-
* @public
|
|
266
|
-
*/
|
|
267
|
-
addPersonalizationChanges: function(mPropertyBag) {
|
|
268
|
-
var aAddedChanges = [];
|
|
269
|
-
var aSuccessfulChanges = [];
|
|
270
|
-
var sLayer = Layer.USER;
|
|
271
|
-
var aPromises = [];
|
|
272
|
-
|
|
273
|
-
function fnCheckAndCreateChange(oChange, mChangeSpecificData) {
|
|
274
|
-
return ControlPersonalizationAPI._checkChangeSpecificData(oChange, sLayer).then(function() {
|
|
275
|
-
mPropertyBag.params = ControlPersonalizationAPI._determineParameters(oChange.selectorControl, mPropertyBag.ignoreVariantManagement, mPropertyBag.useStaticArea);
|
|
276
|
-
if (!mPropertyBag.ignoreVariantManagement) {
|
|
277
|
-
// check for preset variantReference
|
|
278
|
-
if (!oChange.changeSpecificData.variantReference) {
|
|
279
|
-
var sVariantManagementReference = ControlPersonalizationAPI._getVariantManagement(oChange.selectorControl, mPropertyBag.params);
|
|
280
|
-
if (sVariantManagementReference) {
|
|
281
|
-
var sCurrentVariantReference = mPropertyBag.params.variantModel.oData[sVariantManagementReference].currentVariant;
|
|
282
|
-
oChange.changeSpecificData.variantReference = sCurrentVariantReference;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
} else {
|
|
286
|
-
// delete preset variantReference
|
|
287
|
-
delete oChange.changeSpecificData.variantReference;
|
|
288
|
-
}
|
|
289
|
-
return mPropertyBag.params.flexController.addChange(
|
|
290
|
-
Object.assign(mChangeSpecificData, oChange.changeSpecificData),
|
|
291
|
-
oChange.selectorControl);
|
|
292
|
-
})
|
|
293
|
-
.then(function (oAddedChange) {
|
|
294
|
-
oChange.changeInstance = oAddedChange;
|
|
295
|
-
aAddedChanges.push(oChange);
|
|
296
|
-
})
|
|
297
|
-
.catch(function(oError) {
|
|
298
|
-
return Promise.reject({
|
|
299
|
-
change: oChange,
|
|
300
|
-
message: oError.message
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
function fnApplyChange(oChange) {
|
|
305
|
-
return mPropertyBag.params.flexController.applyChange(oChange.changeInstance, oChange.selectorControl).then(function() {
|
|
306
|
-
aSuccessfulChanges.push(oChange.changeInstance);
|
|
307
|
-
})
|
|
308
|
-
.catch(function(oError) {
|
|
309
|
-
return Promise.reject({
|
|
310
|
-
change: oChange,
|
|
311
|
-
message: oError.message
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
mPropertyBag.controlChanges.forEach(function(oChange) {
|
|
317
|
-
var mChangeSpecificData = {};
|
|
318
|
-
Object.assign(mChangeSpecificData, {
|
|
319
|
-
developerMode: false,
|
|
320
|
-
layer: sLayer
|
|
321
|
-
});
|
|
322
|
-
|
|
323
|
-
aPromises.push(fnCheckAndCreateChange.bind(undefined, oChange, mChangeSpecificData));
|
|
324
|
-
});
|
|
325
|
-
|
|
326
|
-
return Utils.execPromiseQueueSequentially(aPromises).then(function() {
|
|
327
|
-
aPromises = [];
|
|
328
|
-
aAddedChanges.forEach(function(oChange) {
|
|
329
|
-
aPromises.push(fnApplyChange.bind(undefined, oChange));
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
return Utils.execPromiseQueueSequentially(aPromises);
|
|
333
|
-
}).then(function() {
|
|
334
|
-
return aSuccessfulChanges;
|
|
335
|
-
});
|
|
336
|
-
},
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Checks if personalization changes exists for control.
|
|
340
|
-
*
|
|
341
|
-
* @param {sap.ui.core.Element[] | map[]} aControls - an array of instances of controls, a map with control IDs including a app component or a mixture for which personalization exists
|
|
342
|
-
* @param {array} [aChangeTypes] - Types of changes that have existing personalization.
|
|
343
|
-
* @param {sap.ui.core.Component} aControls.appComponent - Application component of the controls at runtime in case a map has been used
|
|
344
|
-
* @param {string} aControls.id - ID of the control in case a map has been used to specify the control
|
|
345
|
-
*
|
|
346
|
-
* @returns {Promise} Promise resolving with true if personalization changes exists, otherwise false.
|
|
347
|
-
*
|
|
348
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.isPersonalized
|
|
349
|
-
* @public
|
|
350
|
-
*/
|
|
351
|
-
isPersonalized: function(aControls, aChangeTypes) {
|
|
352
|
-
if (!aControls || aControls.length === 0) {
|
|
353
|
-
return this._reject("At least one control ID has to be provided as a parameter");
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
var oAppComponent = aControls[0].appComponent || Utils.getAppComponentForControl(aControls[0]);
|
|
357
|
-
|
|
358
|
-
if (!oAppComponent) {
|
|
359
|
-
return this._reject("App Component could not be determined");
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
var aIdsOfPassedControls = aControls.map(function (oControl) {
|
|
363
|
-
return oControl.id || oControl.getId();
|
|
364
|
-
});
|
|
365
|
-
|
|
366
|
-
var oFlexController = FlexControllerFactory.createForControl(oAppComponent);
|
|
367
|
-
return oFlexController.getComponentChanges({currentLayer: Layer.USER, includeCtrlVariants: true})
|
|
368
|
-
.then(function (aChanges) {
|
|
369
|
-
return aChanges
|
|
370
|
-
.filter(this._filterBySelectors.bind(this, oAppComponent, aIdsOfPassedControls))
|
|
371
|
-
.filter(this._filterByChangeType.bind(this, aChangeTypes))
|
|
372
|
-
.some(this._ifValidFileType);
|
|
373
|
-
}.bind(this));
|
|
374
|
-
},
|
|
375
|
-
|
|
376
|
-
_reject: function (sMessage) {
|
|
377
|
-
Log.error(sMessage);
|
|
378
|
-
return Promise.reject(sMessage);
|
|
379
|
-
},
|
|
380
|
-
|
|
381
|
-
_filterBySelectors: function (oAppComponent, aIdsOfPassedControls, oChange) {
|
|
382
|
-
var oSelector = oChange.getSelector();
|
|
383
|
-
var sControlId = JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent);
|
|
384
|
-
return includes(aIdsOfPassedControls, sControlId);
|
|
385
|
-
},
|
|
386
|
-
|
|
387
|
-
_filterByChangeType: function (aChangeTypes, oChange) {
|
|
388
|
-
return (Array.isArray(aChangeTypes) && aChangeTypes.length > 0)
|
|
389
|
-
? includes(aChangeTypes, oChange.getChangeType())
|
|
390
|
-
: true;
|
|
391
|
-
},
|
|
392
|
-
|
|
393
|
-
_ifValidFileType: function (oChange) {
|
|
394
|
-
return oChange.getFileType() === "change";
|
|
395
|
-
},
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Deletes changes recorded for control. Changes to be deleted can be filtered by specification of change type(s).
|
|
399
|
-
*
|
|
400
|
-
* @param {sap.ui.core.Element[] | map[]} aControls - an array of instances of controls, a map with control IDs including a app component or a mixture for which the reset shall take place
|
|
401
|
-
* @param {sap.ui.core.Component} aControls.appComponent - Application component of the controls at runtime in case a map has been used
|
|
402
|
-
* @param {string} aControls.id - ID of the control in case a map has been used to specify the control
|
|
403
|
-
* @param {String[]} [aChangeTypes] - Types of changes that shall be deleted
|
|
404
|
-
*
|
|
405
|
-
* @returns {Promise} Promise that resolves after the deletion took place and changes are reverted
|
|
406
|
-
*
|
|
407
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.resetChanges
|
|
408
|
-
* @public
|
|
409
|
-
*/
|
|
410
|
-
resetChanges: function(aControls, aChangeTypes) {
|
|
411
|
-
if (!aControls || aControls.length === 0) {
|
|
412
|
-
return this._reject("At least one control ID has to be provided as a parameter");
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
var oAppComponent = aControls[0].appComponent || Utils.getAppComponentForControl(aControls[0]);
|
|
416
|
-
|
|
417
|
-
if (!oAppComponent) {
|
|
418
|
-
return this._reject("App Component could not be determined");
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
var aSelectorIds = aControls.map(function (vControl) {
|
|
422
|
-
var sControlId = vControl.id || vControl.getId();
|
|
423
|
-
var sLocalId = oAppComponent.getLocalId(sControlId);
|
|
424
|
-
return sLocalId || sControlId;
|
|
425
|
-
});
|
|
426
|
-
var oFlexController = FlexControllerFactory.createForControl(oAppComponent);
|
|
427
|
-
return oFlexController.resetChanges(Layer.USER, undefined, oAppComponent, aSelectorIds, aChangeTypes);
|
|
428
|
-
},
|
|
429
|
-
|
|
430
|
-
/**
|
|
431
|
-
* Saves unsaved changes added to {@link sap.ui.fl.ChangePersistence}.
|
|
432
|
-
*
|
|
433
|
-
* @param {array} aChanges - Array of changes to be saved
|
|
434
|
-
* @param {sap.ui.base.ManagedObject} oManagedObject - A managed object instance which has an application component responsible, on which changes need to be saved
|
|
435
|
-
*
|
|
436
|
-
* @returns {Promise} Returns Promise which is resolved when the passed array of changes have been saved
|
|
437
|
-
*
|
|
438
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.saveChanges
|
|
439
|
-
* @public
|
|
440
|
-
*/
|
|
441
|
-
saveChanges: function(aChanges, oManagedObject) {
|
|
442
|
-
if (!(oManagedObject instanceof ManagedObject)) {
|
|
443
|
-
var sErrorMessage = "A valid sap.ui.base.ManagedObject instance is required as a parameter";
|
|
444
|
-
Log.error(sErrorMessage);
|
|
445
|
-
return Promise.reject(sErrorMessage);
|
|
446
|
-
}
|
|
447
|
-
var mParameters = ControlPersonalizationAPI._determineParameters(oManagedObject);
|
|
448
|
-
var oAppComponent = Utils.getAppComponentForControl(oManagedObject);
|
|
449
|
-
var aVariantManagementReferences = Object.keys(mParameters.variantManagement).reduce(function (aReferences, sVariantForAssociationId) {
|
|
450
|
-
return aReferences.concat([mParameters.variantManagement[sVariantForAssociationId]]);
|
|
451
|
-
}, []);
|
|
452
|
-
return mParameters.flexController.saveSequenceOfDirtyChanges(aChanges, oAppComponent)
|
|
453
|
-
.then(function(oResponse) {
|
|
454
|
-
mParameters.variantModel.checkDirtyStateForControlModels(aVariantManagementReferences);
|
|
455
|
-
return oResponse;
|
|
456
|
-
});
|
|
457
|
-
},
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* Determines the availability of an encompassing variant management control.
|
|
461
|
-
*
|
|
462
|
-
* @param {sap.ui.core.Element} oControl - The control which should be tested for an encompassing variant management control
|
|
463
|
-
*
|
|
464
|
-
* @returns {boolean} Returns true if a variant management control is encompassing the given control, else false
|
|
465
|
-
*
|
|
466
|
-
* @method sap.ui.fl.ControlPersonalizationAPI.hasVariantManagement
|
|
467
|
-
* @public
|
|
468
|
-
*/
|
|
469
|
-
hasVariantManagement: function(oControl) {
|
|
470
|
-
try {
|
|
471
|
-
return !!this._getVariantManagement(oControl);
|
|
472
|
-
} catch (oError) {
|
|
473
|
-
Log.error(oError.message);
|
|
474
|
-
return false;
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
};
|
|
478
|
-
return ControlPersonalizationAPI;
|
|
479
|
-
}, true);
|