@openui5/sap.ui.fl 1.114.0 → 1.115.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.
Files changed (209) hide show
  1. package/.reuse/dep5 +0 -5
  2. package/THIRDPARTY.txt +0 -6
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +1 -1
  5. package/src/sap/ui/fl/Cache.js +39 -21
  6. package/src/sap/ui/fl/ChangePersistence.js +14 -21
  7. package/src/sap/ui/fl/ChangePersistenceFactory.js +3 -55
  8. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  9. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  10. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  11. package/src/sap/ui/fl/FlexController.js +5 -22
  12. package/src/sap/ui/fl/FlexControllerFactory.js +7 -159
  13. package/src/sap/ui/fl/LayerUtils.js +1 -1
  14. package/src/sap/ui/fl/Utils.js +2 -11
  15. package/src/sap/ui/fl/apply/_internal/ChangesController.js +0 -2
  16. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +8 -7
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +4 -12
  41. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +3 -2
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +8 -1
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +25 -27
  51. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +104 -80
  52. package/src/sap/ui/fl/apply/_internal/flexState/InitialPrepareFunctions.js +34 -15
  53. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  59. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -2
  60. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +300 -386
  61. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +219 -0
  62. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  63. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  64. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +7 -9
  65. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  66. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/MoveControls.js +6 -1
  76. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  81. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  82. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  83. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  84. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  85. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/Storage.js +3 -1
  87. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +3 -22
  88. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +2 -3
  90. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  91. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +1 -0
  92. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  93. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  94. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  95. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  96. package/src/sap/ui/fl/library.js +43 -43
  97. package/src/sap/ui/fl/messagebundle.properties +6 -0
  98. package/src/sap/ui/fl/messagebundle_ar.properties +4 -0
  99. package/src/sap/ui/fl/messagebundle_bg.properties +6 -2
  100. package/src/sap/ui/fl/messagebundle_ca.properties +4 -0
  101. package/src/sap/ui/fl/messagebundle_cs.properties +4 -0
  102. package/src/sap/ui/fl/messagebundle_cy.properties +4 -0
  103. package/src/sap/ui/fl/messagebundle_da.properties +4 -0
  104. package/src/sap/ui/fl/messagebundle_de.properties +6 -2
  105. package/src/sap/ui/fl/messagebundle_el.properties +4 -0
  106. package/src/sap/ui/fl/messagebundle_en.properties +4 -0
  107. package/src/sap/ui/fl/messagebundle_en_GB.properties +4 -0
  108. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +4 -0
  109. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +4 -0
  110. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +4 -0
  111. package/src/sap/ui/fl/messagebundle_es.properties +4 -0
  112. package/src/sap/ui/fl/messagebundle_es_MX.properties +4 -0
  113. package/src/sap/ui/fl/messagebundle_et.properties +4 -0
  114. package/src/sap/ui/fl/messagebundle_fi.properties +4 -0
  115. package/src/sap/ui/fl/messagebundle_fr.properties +4 -0
  116. package/src/sap/ui/fl/messagebundle_fr_CA.properties +4 -0
  117. package/src/sap/ui/fl/messagebundle_hi.properties +4 -0
  118. package/src/sap/ui/fl/messagebundle_hr.properties +4 -0
  119. package/src/sap/ui/fl/messagebundle_hu.properties +4 -0
  120. package/src/sap/ui/fl/messagebundle_id.properties +4 -0
  121. package/src/sap/ui/fl/messagebundle_it.properties +4 -0
  122. package/src/sap/ui/fl/messagebundle_iw.properties +4 -0
  123. package/src/sap/ui/fl/messagebundle_ja.properties +12 -8
  124. package/src/sap/ui/fl/messagebundle_kk.properties +4 -0
  125. package/src/sap/ui/fl/messagebundle_ko.properties +4 -0
  126. package/src/sap/ui/fl/messagebundle_lt.properties +4 -0
  127. package/src/sap/ui/fl/messagebundle_lv.properties +4 -0
  128. package/src/sap/ui/fl/messagebundle_ms.properties +4 -0
  129. package/src/sap/ui/fl/messagebundle_nl.properties +4 -0
  130. package/src/sap/ui/fl/messagebundle_no.properties +4 -0
  131. package/src/sap/ui/fl/messagebundle_pl.properties +4 -0
  132. package/src/sap/ui/fl/messagebundle_pt.properties +4 -0
  133. package/src/sap/ui/fl/messagebundle_pt_PT.properties +4 -0
  134. package/src/sap/ui/fl/messagebundle_ro.properties +4 -0
  135. package/src/sap/ui/fl/messagebundle_ru.properties +4 -0
  136. package/src/sap/ui/fl/messagebundle_sh.properties +4 -0
  137. package/src/sap/ui/fl/messagebundle_sk.properties +4 -0
  138. package/src/sap/ui/fl/messagebundle_sl.properties +4 -0
  139. package/src/sap/ui/fl/messagebundle_sv.properties +4 -0
  140. package/src/sap/ui/fl/messagebundle_th.properties +5 -1
  141. package/src/sap/ui/fl/messagebundle_tr.properties +4 -0
  142. package/src/sap/ui/fl/messagebundle_uk.properties +4 -0
  143. package/src/sap/ui/fl/messagebundle_vi.properties +4 -0
  144. package/src/sap/ui/fl/messagebundle_zh_CN.properties +4 -0
  145. package/src/sap/ui/fl/messagebundle_zh_TW.properties +4 -0
  146. package/src/sap/ui/fl/registry/Settings.js +10 -0
  147. package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +1 -1
  148. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  149. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  150. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  151. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  152. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  153. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  154. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  155. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  156. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  157. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  158. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  159. package/src/sap/ui/fl/util/IFrame.js +1 -1
  160. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  161. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  162. package/src/sap/ui/fl/variants/VariantModel.js +124 -338
  163. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/Versions.js +134 -111
  166. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +35 -8
  171. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +17 -2
  172. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +8 -5
  173. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +6 -0
  174. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +34 -4
  176. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  195. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  196. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +11 -7
  197. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +12 -11
  198. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  199. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  200. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +87 -27
  201. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +7 -1
  202. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +1 -23
  203. package/src/sap/ui/fl/write/api/FeaturesAPI.js +5 -5
  204. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  205. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +4 -3
  206. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +10 -1
  207. package/src/sap/ui/fl/write/api/TranslationAPI.js +1 -1
  208. package/src/sap/ui/fl/write/api/VersionsAPI.js +70 -21
  209. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +0 -356
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.apply._internal.changes.Utils
24
24
  * @since 1.70
25
- * @version 1.114.0
25
+ * @version 1.115.1
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl.apply._internal, sap.ui.fl.write._internal
28
28
  */
@@ -80,16 +80,17 @@ sap.ui.define([
80
80
  * @returns {Promise} Promise resolving with the change handler or an empty object
81
81
  */
82
82
  getChangeHandler: function(oChange, mControl, mPropertyBag) {
83
- var sLibraryName = mPropertyBag.modifier.getLibraryName(mControl.control);
83
+ var oLibraryNamePromise = mPropertyBag.modifier.getLibraryName(mControl.control);
84
84
  // the ChangeHandlerRegistration includes all the predefined ChangeHandlers.
85
85
  // With this as a standard import the ChangeHandlers would not be able to access API classes due to circular dependencies.
86
86
  // TODO should be removed as soon as the ChangePersistence / FlexController are gone
87
- return requireAsync("sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration")
88
-
89
- .then(function(ChangeHandlerRegistration) {
90
- return ChangeHandlerRegistration.waitForChangeHandlerRegistration(sLibraryName);
87
+ return Promise.all([
88
+ requireAsync("sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration"),
89
+ oLibraryNamePromise
90
+ ])
91
+ .then(function(aPromiseValues) {
92
+ return aPromiseValues[0].waitForChangeHandlerRegistration(aPromiseValues[1]);
91
93
  })
92
-
93
94
  .then(function() {
94
95
  var sChangeType = oChange.getChangeType();
95
96
  var sLayer = oChange.getLayer();
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Preprocessor
29
29
  * @since 1.74
30
- * @version 1.114.0
30
+ * @version 1.115.1
31
31
  * @private
32
32
  * @ui5-restricted sap.ui.fl.apply._internal
33
33
  */
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  *
18
18
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Registration
19
19
  * @since 1.74
20
- * @version 1.114.0
20
+ * @version 1.115.1
21
21
  * @private
22
22
  * @ui5-restricted sap.ui.fl.apply._internal
23
23
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild
22
22
  * @since 1.77
23
- * @version 1.114.0
23
+ * @version 1.115.1
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -138,7 +138,7 @@ sap.ui.define([
138
138
  *
139
139
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddAnnotationsToOData
140
140
  * @since 1.87
141
- * @version 1.114.0
141
+ * @version 1.115.1
142
142
  * @private
143
143
  * @ui5-restricted sap.ui.fl.apply._internal
144
144
  */
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * Available for build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
34
34
  *
35
35
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddNewInbound
36
- * @version 1.114.0
36
+ * @version 1.115.1
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.fl.apply._internal
39
39
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace
28
28
  * @alias sap.ui.fl.apply._internal.changes.descriptor.app.ChangeDataSource
29
- * @version 1.114.0
29
+ * @version 1.115.1
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.fl.apply._internal
32
32
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
25
25
  *
26
26
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound
27
- * @version 1.114.0
27
+ * @version 1.115.1
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.apply._internal
30
30
  */
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * Available for build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
44
44
  *
45
45
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.RemoveAllInboundsExceptOne
46
- * @version 1.114.0
46
+ * @version 1.115.1
47
47
  * @private
48
48
  * @ui5-restricted sap.ui.fl.apply._internal
49
49
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.SetTitle
22
- * @version 1.114.0
22
+ * @version 1.115.1
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetAbstract
22
- * @version 1.114.0
22
+ * @version 1.115.1
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetRegistrationIds
22
- * @version 1.114.0
22
+ * @version 1.115.1
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.AddNewCard
21
- * @version 1.114.0
21
+ * @version 1.115.1
22
22
  * @private
23
23
  * @ui5-restricted sap.ui.fl.apply._internal
24
24
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.ChangeCard
21
- * @version 1.114.0
21
+ * @version 1.115.1
22
22
  * @private
23
23
  * @ui5-restricted sap.ui.fl.apply._internal
24
24
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.DeleteCard
21
- * @version 1.114.0
21
+ * @version 1.115.1
22
22
  * @private
23
23
  * @ui5-restricted sap.ui.fl.apply._internal
24
24
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddComponentUsages
22
22
  * @since 1.86
23
- * @version 1.114.0
23
+ * @version 1.115.1
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  *
49
49
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddLibrary
50
50
  * @since 1.74
51
- * @version 1.114.0
51
+ * @version 1.115.1
52
52
  * @private
53
53
  * @ui5-restricted sap.ui.fl.apply._internal
54
54
  */
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
  *
97
97
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModel
98
98
  * @since 1.87
99
- * @version 1.114.0
99
+ * @version 1.115.1
100
100
  * @private
101
101
  * @ui5-restricted sap.ui.fl.apply._internal
102
102
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
24
24
  *
25
25
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModelEnhanceWith
26
- * @version 1.114.0
26
+ * @version 1.115.1
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl.apply._internal
29
29
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetFlexExtensionPointEnabled
22
- * @version 1.114.0
22
+ * @version 1.115.1
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
22
22
  *
23
23
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetMinUI5Version
24
- * @version 1.114.0
24
+ * @version 1.115.1
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -12,7 +12,7 @@ sap.ui.define([], function () {
12
12
  *
13
13
  * @namespace sap.ui.fl.initial._internal.connectors.Utils
14
14
  * @since 1.70
15
- * @version 1.114.0
15
+ * @version 1.115.1
16
16
  * @private
17
17
  * @ui5-restricted sap.ui.fl.initial._internal, sap.ui.fl.write._internal
18
18
  */
@@ -6,7 +6,6 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/core/Component",
9
- "sap/ui/fl/Utils",
10
9
  "sap/base/Log",
11
10
  "sap/base/util/deepEqual",
12
11
  "sap/base/util/merge",
@@ -15,11 +14,9 @@ sap.ui.define([
15
14
  "sap/ui/base/ManagedObjectObserver",
16
15
  "sap/ui/thirdparty/hasher",
17
16
  "sap/base/util/includes",
18
- "sap/ui/fl/apply/_internal/controlVariants/Utils",
19
- "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState"
17
+ "sap/ui/fl/apply/_internal/controlVariants/Utils"
20
18
  ], function(
21
19
  Component,
22
- Utils,
23
20
  Log,
24
21
  deepEqual,
25
22
  merge,
@@ -28,8 +25,7 @@ sap.ui.define([
28
25
  ManagedObjectObserver,
29
26
  hasher,
30
27
  includes,
31
- VariantUtil,
32
- VariantManagementState
28
+ VariantUtil
33
29
  ) {
34
30
  "use strict";
35
31
 
@@ -247,15 +243,11 @@ sap.ui.define([
247
243
  if (Array.isArray(mURLParameters[VariantUtil.VARIANT_TECHNICAL_PARAMETER])) {
248
244
  mURLParameters[VariantUtil.VARIANT_TECHNICAL_PARAMETER] = mURLParameters[VariantUtil.VARIANT_TECHNICAL_PARAMETER].map(decodeURIComponent);
249
245
  mURLParameters[VariantUtil.VARIANT_TECHNICAL_PARAMETER].some(function(sParamDecoded, iIndex) {
250
- var bVariantExistsForParameter = VariantManagementState.getVariant({
251
- vmReference: mPropertyBag.vmReference,
252
- vReference: sParamDecoded,
253
- reference: oModel.oChangePersistence.getComponentName()
254
- });
255
- if (bVariantExistsForParameter) {
246
+ if (oModel.getVariant(sParamDecoded, mPropertyBag.vmReference)) {
256
247
  mReturnObject.index = iIndex;
257
248
  return true;
258
249
  }
250
+ return false;
259
251
  });
260
252
  }
261
253
  }
@@ -34,7 +34,7 @@ function(
34
34
  * @class
35
35
  * @constructor
36
36
  * @author SAP SE
37
- * @version 1.114.0
37
+ * @version 1.115.1
38
38
  */
39
39
  var Processor;
40
40
 
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
19
19
  * @alias sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange
20
20
  * @since 1.105
21
- * @version 1.114.0
21
+ * @version 1.115.1
22
22
  * @private
23
23
  * @ui5-restricted
24
24
  */
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.fl.apply._internal.flexObjects.Variant
33
33
  * @alias sap.ui.fl.apply._internal.flexObjects.CompVariant
34
34
  * @since 1.103
35
- * @version 1.114.0
35
+ * @version 1.115.1
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.fl, sap.ui.comp
38
38
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
21
21
  * @alias sap.ui.fl.apply._internal.flexObjects.ControllerExtensionChange
22
22
  * @since 1.105
23
- * @version 1.114.0
23
+ * @version 1.115.1
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl
26
26
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.fl.apply._internal.flexObjects.Variant
25
25
  * @alias sap.ui.fl.apply._internal.flexObjects.FlVariant
26
26
  * @since 1.104
27
- * @version 1.114.0
27
+ * @version 1.115.1
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl
30
30
  */
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  * @extends sap.ui.base.ManagedObject
70
70
  * @alias sap.ui.fl.apply._internal.flexObjects.FlexObject
71
71
  * @since 1.100
72
- * @version 1.114.0
72
+ * @version 1.115.1
73
73
  * @private
74
74
  * @ui5-restricted sap.ui.fl
75
75
  */
@@ -92,7 +92,7 @@ sap.ui.define([
92
92
  *
93
93
  * @namespace sap.ui.fl.apply._internal.flexObjects.FlexObjectFactory
94
94
  * @since 1.100
95
- * @version 1.114.0
95
+ * @version 1.115.1
96
96
  * @private
97
97
  * @ui5-restricted sap.ui.fl
98
98
  */
@@ -127,7 +127,8 @@ sap.ui.define([
127
127
  }, {});
128
128
  var oFlexObject = new FlexObjectClass(mProperties);
129
129
  if (bPersisted) {
130
- oFlexObject.setState(States.LifecycleState.PERSISTED);
130
+ // Set the property directly for the initial state to avoid state change validation
131
+ oFlexObject.setProperty("state", States.LifecycleState.PERSISTED);
131
132
  }
132
133
  return oFlexObject;
133
134
  };
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
27
27
  * @alias sap.ui.fl.apply._internal.flexObjects.UIChange
28
28
  * @since 1.109
29
- * @version 1.114.0
29
+ * @version 1.115.1
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -71,6 +71,13 @@ sap.ui.define([
71
71
  type: "string"
72
72
  },
73
73
 
74
+ /**
75
+ * Indicates if the UIChange is saved to a variant
76
+ */
77
+ savedToVariant: {
78
+ type: "boolean"
79
+ },
80
+
74
81
  // TODO: consolidate with other revert data properties
75
82
  /**
76
83
  * Information with which the UIChange can be reverted
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
18
18
  * @alias sap.ui.fl.apply._internal.flexObjects.Variant
19
19
  * @since 1.103
20
- * @version 1.114.0
20
+ * @version 1.115.1
21
21
  * @private
22
22
  * @ui5-restricted sap.ui.fl
23
23
  */
@@ -10,7 +10,8 @@ sap.ui.define([
10
10
  ) {
11
11
  "use strict";
12
12
  /**
13
- * Base class for data selectors
13
+ * Base class for data selectors.
14
+ * The ID of the data selector should hint on the return type, i.e. plural for arrays and otherwise singular.
14
15
  *
15
16
  * @class Base class for data selectors
16
17
  * @extends sap.ui.base.ManagedObject
@@ -23,7 +24,7 @@ sap.ui.define([
23
24
  metadata: {
24
25
  properties: {
25
26
  /**
26
- * Parent selector for chaining execute functions
27
+ * Parent selector for chaining DataSelectors.
27
28
  * If a parent selector is provided, its <code>execute</code> function is
28
29
  * called first with the parameters that were specified by the consumer
29
30
  * The result is then passed to the <code>execute</code> function of the next
@@ -47,7 +48,7 @@ sap.ui.define([
47
48
  type: "string"
48
49
  },
49
50
  /**
50
- * Callback function which is executed once after the selector is created
51
+ * Callback function which is executed once for every parameter after the selector is created.
51
52
  */
52
53
  initFunction: {
53
54
  type: "function"
@@ -81,6 +82,7 @@ sap.ui.define([
81
82
  },
82
83
  constructor: function() {
83
84
  ManagedObject.apply(this, arguments);
85
+ this._mInitialized = {};
84
86
  if (this.getParameterKey()) {
85
87
  // If value is parameterized, create a map for easier access
86
88
  this.setCachedResult({});
@@ -94,17 +96,6 @@ sap.ui.define([
94
96
  }
95
97
  });
96
98
 
97
- DataSelector.prototype.setParentDataSelector = function(oParentDataSelector) {
98
- if (
99
- oParentDataSelector
100
- && this.getParameterKey()
101
- && this.getParameterKey() === oParentDataSelector.getParameterKey()
102
- ) {
103
- throw new Error('Parameter key names must be unique');
104
- }
105
- return this.setProperty("parentDataSelector", oParentDataSelector);
106
- };
107
-
108
99
  /**
109
100
  * Registers a callback listener to get notified about changes to the state
110
101
  * @param {function} fnListener - Callback function that is called in case of state updates
@@ -192,29 +183,36 @@ sap.ui.define([
192
183
  * @returns {any} Derived state object
193
184
  */
194
185
  DataSelector.prototype.get = function(mParameters) {
195
- if (!this._bInitialized && this.getInitFunction()) {
196
- this.getInitFunction()(mParameters);
197
- this._bInitialized = true;
198
- }
199
186
  var sParameterKey = this.getParameterKey();
200
187
  if (sParameterKey && !(mParameters || {})[sParameterKey]) {
201
188
  throw new Error("Parameter '" + sParameterKey + "' is missing");
202
189
  }
203
190
  var vResult = this._getParameterizedCachedResult(mParameters);
204
- // eslint-disable-next-line eqeqeq
205
- if (vResult != null) {
191
+ // Check for undefined or null as indicators for an empty cache
192
+ if (vResult !== null && vResult !== undefined) {
206
193
  return vResult;
207
194
  }
208
195
  var oParentDataSelector = this.getParentDataSelector();
209
- var oData = oParentDataSelector && oParentDataSelector.get(mParameters);
196
+ var oParentData = oParentDataSelector && oParentDataSelector.get(mParameters);
197
+
198
+ var vParameterValue = (mParameters || {})[sParameterKey];
199
+ if (!this._mInitialized[vParameterValue] && this.getInitFunction()) {
200
+ this.getInitFunction()(
201
+ oParentData,
202
+ vParameterValue
203
+ );
204
+ this._mInitialized[vParameterValue] = true;
205
+ }
206
+
210
207
  var vNewResult = this.getExecuteFunction()(
211
- oData,
212
- (mParameters || {})[sParameterKey]
208
+ oParentData,
209
+ vParameterValue
213
210
  );
214
211
  this._setParameterizedCachedResult(mParameters, vNewResult);
215
- this.getUpdateListeners().forEach(function(fnUpdateFunction) {
216
- fnUpdateFunction();
217
- });
212
+ // FIXME: Might lead to infinite loop if update always invalidates
213
+ // this.getUpdateListeners().forEach(function(fnUpdateFunction) {
214
+ // fnUpdateFunction();
215
+ // });
218
216
  return vNewResult;
219
217
  };
220
218
 
@@ -223,7 +221,7 @@ sap.ui.define([
223
221
  * @param {object} mParameters - Map of selector specific parameters
224
222
  */
225
223
  DataSelector.prototype.checkUpdate = function(mParameters) {
226
- if (this.getCheckInvalidation()(mParameters)) {
224
+ if (this.getCheckInvalidation()(mParameters) === true) {
227
225
  this._clearCache(mParameters);
228
226
  this.getUpdateListeners().forEach(function(fnUpdateFunction) {
229
227
  fnUpdateFunction();