@openui5/sap.ui.fl 1.93.3 → 1.96.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 (207) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +1 -1
  5. package/src/sap/ui/fl/Cache.js +1 -1
  6. package/src/sap/ui/fl/Change.js +18 -14
  7. package/src/sap/ui/fl/ChangePersistence.js +92 -82
  8. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  9. package/src/sap/ui/fl/ControlPersonalizationAPI.js +3 -1
  10. package/src/sap/ui/fl/EventHistory.js +1 -1
  11. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  12. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  13. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  14. package/src/sap/ui/fl/FlexController.js +28 -22
  15. package/src/sap/ui/fl/FlexControllerFactory.js +9 -2
  16. package/src/sap/ui/fl/LayerUtils.js +34 -22
  17. package/src/sap/ui/fl/PreprocessorImpl.js +1 -1
  18. package/src/sap/ui/fl/RegistrationDelegator.js +1 -1
  19. package/src/sap/ui/fl/Utils.js +54 -34
  20. package/src/sap/ui/fl/Variant.js +2 -11
  21. package/src/sap/ui/fl/XmlPreprocessorImpl.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +2 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +39 -34
  25. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -29
  26. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +3 -2
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +52 -0
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +40 -29
  47. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +10 -8
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +14 -0
  50. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +102 -30
  51. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +52 -4
  52. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +5 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  57. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +5 -5
  58. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  59. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +13 -28
  60. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  61. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +25 -5
  62. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  65. package/src/sap/ui/fl/changeHandler/Base.js +10 -8
  66. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/BaseRename.js +6 -3
  69. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +8 -5
  78. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  79. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  80. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +18 -1
  81. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  82. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +12 -8
  83. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +10 -4
  84. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  90. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  91. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  92. package/src/sap/ui/fl/library.js +9 -9
  93. package/src/sap/ui/fl/library.support.js +56 -46
  94. package/src/sap/ui/fl/messagebundle.properties +39 -2
  95. package/src/sap/ui/fl/messagebundle_ar.properties +12 -4
  96. package/src/sap/ui/fl/messagebundle_bg.properties +12 -4
  97. package/src/sap/ui/fl/messagebundle_ca.properties +13 -5
  98. package/src/sap/ui/fl/messagebundle_cs.properties +12 -4
  99. package/src/sap/ui/fl/messagebundle_cy.properties +12 -4
  100. package/src/sap/ui/fl/messagebundle_da.properties +12 -4
  101. package/src/sap/ui/fl/messagebundle_de.properties +12 -4
  102. package/src/sap/ui/fl/messagebundle_el.properties +12 -4
  103. package/src/sap/ui/fl/messagebundle_en.properties +10 -2
  104. package/src/sap/ui/fl/messagebundle_en_GB.properties +9 -1
  105. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +8 -0
  106. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +35 -2
  107. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +8 -0
  108. package/src/sap/ui/fl/messagebundle_es.properties +13 -5
  109. package/src/sap/ui/fl/messagebundle_es_MX.properties +12 -4
  110. package/src/sap/ui/fl/messagebundle_et.properties +12 -4
  111. package/src/sap/ui/fl/messagebundle_fi.properties +12 -4
  112. package/src/sap/ui/fl/messagebundle_fr.properties +12 -4
  113. package/src/sap/ui/fl/messagebundle_fr_CA.properties +12 -4
  114. package/src/sap/ui/fl/messagebundle_hi.properties +12 -4
  115. package/src/sap/ui/fl/messagebundle_hr.properties +12 -4
  116. package/src/sap/ui/fl/messagebundle_hu.properties +12 -4
  117. package/src/sap/ui/fl/messagebundle_id.properties +12 -4
  118. package/src/sap/ui/fl/messagebundle_it.properties +13 -5
  119. package/src/sap/ui/fl/messagebundle_iw.properties +12 -4
  120. package/src/sap/ui/fl/messagebundle_ja.properties +12 -4
  121. package/src/sap/ui/fl/messagebundle_kk.properties +12 -4
  122. package/src/sap/ui/fl/messagebundle_ko.properties +13 -5
  123. package/src/sap/ui/fl/messagebundle_lt.properties +12 -4
  124. package/src/sap/ui/fl/messagebundle_lv.properties +12 -4
  125. package/src/sap/ui/fl/messagebundle_ms.properties +12 -4
  126. package/src/sap/ui/fl/messagebundle_nl.properties +12 -4
  127. package/src/sap/ui/fl/messagebundle_no.properties +12 -4
  128. package/src/sap/ui/fl/messagebundle_pl.properties +12 -4
  129. package/src/sap/ui/fl/messagebundle_pt.properties +12 -4
  130. package/src/sap/ui/fl/messagebundle_pt_PT.properties +12 -4
  131. package/src/sap/ui/fl/messagebundle_ro.properties +12 -4
  132. package/src/sap/ui/fl/messagebundle_ru.properties +12 -4
  133. package/src/sap/ui/fl/messagebundle_sh.properties +14 -6
  134. package/src/sap/ui/fl/messagebundle_sk.properties +12 -4
  135. package/src/sap/ui/fl/messagebundle_sl.properties +12 -4
  136. package/src/sap/ui/fl/messagebundle_sv.properties +12 -4
  137. package/src/sap/ui/fl/messagebundle_th.properties +12 -4
  138. package/src/sap/ui/fl/messagebundle_tr.properties +12 -4
  139. package/src/sap/ui/fl/messagebundle_uk.properties +14 -6
  140. package/src/sap/ui/fl/messagebundle_vi.properties +12 -4
  141. package/src/sap/ui/fl/messagebundle_zh_CN.properties +12 -4
  142. package/src/sap/ui/fl/messagebundle_zh_TW.properties +12 -4
  143. package/src/sap/ui/fl/registry/Settings.js +57 -23
  144. package/src/sap/ui/fl/support/Flexibility.js +1 -1
  145. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  146. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  147. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  148. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  149. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  150. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  151. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  152. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  153. package/src/sap/ui/fl/themes/base/VariantManagement.less +4 -0
  154. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  155. package/src/sap/ui/fl/util/IFrame.js +10 -3
  156. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  157. package/src/sap/ui/fl/util/getContainerUserInfo.js +32 -28
  158. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  159. package/src/sap/ui/fl/variants/VariantManagement.js +326 -37
  160. package/src/sap/ui/fl/variants/VariantModel.js +191 -75
  161. package/src/sap/ui/fl/write/_internal/Storage.js +6 -4
  162. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/Versions.js +61 -54
  164. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +20 -1
  168. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +35 -4
  169. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +7 -1
  171. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  172. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  173. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +3 -3
  174. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +5 -17
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +1 -0
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +47 -18
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +60 -22
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +1 -1
  195. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +15 -22
  196. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +20 -0
  197. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +1 -1
  198. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +10 -10
  199. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  200. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  201. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -2
  202. package/src/sap/ui/fl/write/api/FieldExtensibility.js +22 -7
  203. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +20 -16
  204. package/ui5.yaml +4 -1
  205. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/annotationsEditor/AnnotationsEditor.js +0 -49
  206. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateEditor/DateEditor.js +0 -43
  207. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateTimeEditor/DateTimeEditor.js +0 -38
@@ -5,17 +5,65 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/util/deepClone",
8
9
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
9
10
  "sap/ui/fl/initial/_internal/Storage",
10
11
  "sap/ui/fl/Utils"
11
12
  ], function(
13
+ deepClone,
12
14
  ManifestUtils,
13
15
  ApplyStorage,
14
16
  Utils
15
17
  ) {
16
18
  "use strict";
17
19
 
18
- function _formatFlexData(mFlexData) {
20
+ function getIdIsLocalTrueObject(vSelector) {
21
+ if (typeof vSelector === "string") {
22
+ vSelector = {id: vSelector};
23
+ }
24
+ vSelector.idIsLocal = true;
25
+
26
+ return vSelector;
27
+ }
28
+
29
+ function migrateSelectorFlags(bMigrationNeeded, mFlexData) {
30
+ if (bMigrationNeeded) {
31
+ [
32
+ mFlexData.changes,
33
+ mFlexData.variantChanges,
34
+ mFlexData.variantDependentControlChanges,
35
+ mFlexData.variantManagementChanges
36
+ ].forEach(function (aFlexItems) {
37
+ // a for is used due to the alteration of the array and its length
38
+ for (var i = aFlexItems.length - 1; i >= 0; i--) {
39
+ var oFlexItem = aFlexItems[i];
40
+ if (!oFlexItem.selector.idIsLocal) {
41
+ // ensure the UID stays the same to send the correct ID on a condensing request (delete section)
42
+ var oFlexItemCopy = deepClone(oFlexItem);
43
+ oFlexItem.cloned = true;
44
+ oFlexItemCopy.selector = getIdIsLocalTrueObject(oFlexItemCopy.selector);
45
+
46
+ // do the same for dependentSelectors
47
+ if (oFlexItemCopy.dependentSelector) {
48
+ Object.keys(oFlexItemCopy.dependentSelector).forEach(function (oFlexItemCopy, sCategory) {
49
+ oFlexItemCopy.dependentSelector[sCategory] = oFlexItemCopy.dependentSelector[sCategory].map(getIdIsLocalTrueObject);
50
+ }.bind(undefined, oFlexItemCopy));
51
+ }
52
+
53
+ aFlexItems.splice(i, 0, oFlexItemCopy);
54
+ }
55
+ }
56
+ });
57
+ }
58
+
59
+ return mFlexData;
60
+ }
61
+
62
+ function isMigrationNeeded(oManifest) {
63
+ return oManifest && !!ManifestUtils.getOvpEntry(oManifest);
64
+ }
65
+
66
+ function formatFlexData(mFlexData) {
19
67
  // TODO: rename "changes" everywhere to avoid oResponse.changes.changes calls
20
68
  return {
21
69
  changes: mFlexData,
@@ -29,7 +77,7 @@ sap.ui.define([
29
77
  * @namespace sap.ui.fl.apply._internal.flexState.Loader
30
78
  * @experimental
31
79
  * @since 1.74
32
- * @version 1.93.3
80
+ * @version 1.96.1
33
81
  * @private
34
82
  * @ui5-restricted sap.ui.fl.apply._internal.flexState
35
83
  */
@@ -60,7 +108,7 @@ sap.ui.define([
60
108
  reference: mPropertyBag.reference,
61
109
  componentName: sComponentName,
62
110
  partialFlexData: mPropertyBag.partialFlexData
63
- }).then(_formatFlexData);
111
+ }).then(formatFlexData);
64
112
  }
65
113
 
66
114
  // the cache key cannot be used in case of a reinitialization
@@ -74,7 +122,7 @@ sap.ui.define([
74
122
  appDescriptor: mPropertyBag.manifest.getRawJson ? mPropertyBag.manifest.getRawJson() : mPropertyBag.manifest,
75
123
  version: mPropertyBag.version,
76
124
  allContexts: mPropertyBag.allContexts
77
- }).then(_formatFlexData);
125
+ }).then(migrateSelectorFlags.bind(undefined, isMigrationNeeded(mPropertyBag.manifest))).then(formatFlexData);
78
126
  }
79
127
  };
80
128
  });
@@ -37,7 +37,7 @@ function(
37
37
  * @namespace sap.ui.fl.apply._internal.flexState.ManifestUtils
38
38
  * @experimental
39
39
  * @since 1.74
40
- * @version 1.93.3
40
+ * @version 1.96.1
41
41
  * @private
42
42
  */
43
43
  var ManifestUtils = {
@@ -80,6 +80,10 @@ function(
80
80
  return appendComponentToReference(Utils.getAppIdFromManifest(oManifest));
81
81
  },
82
82
 
83
+ getOvpEntry: function (oManifest) {
84
+ return oManifest.getEntry ? oManifest.getEntry("sap.ovp") : oManifest["sap.ovp"];
85
+ },
86
+
83
87
  getCacheKeyFromAsyncHints: function(sReference, oAsyncHints) {
84
88
  if (oAsyncHints && oAsyncHints.requests && Array.isArray(oAsyncHints.requests)) {
85
89
  var oFlAsyncHint = getFlAsyncHint(oAsyncHints);
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.apply._internal.flexState.UI2Personalization.UI2PersonalizationState
20
20
  * @experimental Since 1.75
21
21
  * @since 1.75
22
- * @version 1.93.3
22
+ * @version 1.96.1
23
23
  * @private
24
24
  * @ui5-restricted
25
25
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @namespace sap.ui.fl.apply._internal.flexState.changes.DependencyHandler
24
24
  * @experimental
25
25
  * @since 1.74
26
- * @version 1.93.3
26
+ * @version 1.96.1
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl
29
29
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
27
27
  * @experimental Since 1.79
28
28
  * @since 1.79
29
- * @version 1.93.3
29
+ * @version 1.96.1
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -114,7 +114,7 @@ sap.ui.define([
114
114
  *
115
115
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
116
116
  * @since 1.86
117
- * @version 1.93.3
117
+ * @version 1.96.1
118
118
  * @private
119
119
  * @ui5-restricted sap.ui.fl
120
120
  */
@@ -179,7 +179,7 @@ sap.ui.define([
179
179
  *
180
180
  * @function
181
181
  * @since 1.89
182
- * @version 1.93.3
182
+ * @version 1.96.1
183
183
  * @private
184
184
  * @ui5-restricted sap.ui.fl
185
185
  *
@@ -5,14 +5,14 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/fl/Change",
9
- "sap/ui/fl/apply/_internal/flexObjects/UpdatableChange",
10
8
  "sap/ui/fl/apply/_internal/flexObjects/CompVariant",
9
+ "sap/ui/fl/apply/_internal/flexObjects/States",
10
+ "sap/ui/fl/apply/_internal/flexObjects/UpdatableChange",
11
11
  "sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger"
12
12
  ], function(
13
- Change,
14
- UpdatableChange,
15
13
  CompVariant,
14
+ States,
15
+ UpdatableChange,
16
16
  CompVariantMerger
17
17
  ) {
18
18
  "use strict";
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  var oClass = sSubSection === "variants" ? CompVariant : UpdatableChange;
58
58
  var aFlexObjects = mCompSection[sSubSection].map(function (oCompVariantChangeDefinition) {
59
59
  var oFlexObject = new oClass(oCompVariantChangeDefinition);
60
- oFlexObject.setState(Change.states.PERSISTED); // prevent persisting these anew
60
+ oFlexObject.setState(States.PERSISTED); // prevent persisting these anew
61
61
  return oFlexObject;
62
62
  });
63
63
 
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.Switcher
96
96
  * @experimental Since 1.74
97
97
  * @since 1.74
98
- * @version 1.93.3
98
+ * @version 1.96.1
99
99
  * @private
100
100
  * @ui5-restricted
101
101
  */
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  "sap/base/Log",
16
16
  "sap/ui/core/util/reflection/JsControlTreeModifier",
17
17
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
18
+ "sap/ui/fl/apply/_internal/flexObjects/States",
18
19
  "sap/ui/fl/apply/_internal/flexState/FlexState",
19
20
  "sap/ui/fl/Change",
20
21
  "sap/ui/fl/LayerUtils",
@@ -31,6 +32,7 @@ sap.ui.define([
31
32
  Log,
32
33
  JsControlTreeModifier,
33
34
  VariantsApplyUtil,
35
+ States,
34
36
  FlexState,
35
37
  Change,
36
38
  LayerUtils,
@@ -45,14 +47,12 @@ sap.ui.define([
45
47
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
46
48
  * @experimental Since 1.74
47
49
  * @since 1.74
48
- * @version 1.93.3
50
+ * @version 1.96.1
49
51
  * @private
50
52
  * @ui5-restricted
51
53
  */
52
54
  var VariantManagementState = {};
53
55
 
54
- var _mFakedStandardVariants = {};
55
-
56
56
  function getReferencedChanges(mPropertyBag) {
57
57
  var aReferencedVariantChanges = [];
58
58
  if (mPropertyBag.variantData.content.variantReference) {
@@ -131,35 +131,20 @@ sap.ui.define([
131
131
  * Returns variant management state for the passed component reference.
132
132
  *
133
133
  * @param {string} sReference - Component reference
134
- *
135
134
  * @returns {object} Variant management state
136
135
  * @private
137
136
  * @ui5-restricted
138
137
  */
139
138
  VariantManagementState.getContent = function(sReference) {
140
- var oVariantsState = FlexState.getVariantsState(sReference);
141
- each(_mFakedStandardVariants[sReference], function(sVariantManagementReference, oContent) {
142
- if (!oVariantsState[sVariantManagementReference]) {
143
- oVariantsState[sVariantManagementReference] = oContent;
144
- }
145
- });
146
- return oVariantsState;
139
+ return FlexState.getVariantsState(sReference);
147
140
  };
148
141
 
149
- VariantManagementState.addFakeStandardVariant = function(sReference, oStandardVariant) {
150
- var oVariantsMap = VariantManagementState.getContent(sReference);
151
- if (!oVariantsMap[Object.keys(oStandardVariant)[0]]) {
152
- merge(oVariantsMap, oStandardVariant);
153
-
154
- _mFakedStandardVariants[sReference] = _mFakedStandardVariants[sReference] || {};
155
- merge(_mFakedStandardVariants[sReference], oStandardVariant);
156
- } else {
157
- Log.error("Error in VariantManagementState.addFakeStandardVariant: Variant already in map");
158
- }
142
+ VariantManagementState.addFakeStandardVariant = function(sReference, sComponentId, oStandardVariant) {
143
+ FlexState.setFakeStandardVariant(sReference, sComponentId, oStandardVariant);
159
144
  };
160
145
 
161
- VariantManagementState.clearFakedStandardVariants = function(sReference) {
162
- delete _mFakedStandardVariants[sReference];
146
+ VariantManagementState.clearFakedStandardVariants = function(sReference, sComponentId) {
147
+ FlexState.resetFakedStandardVariants(sReference, sComponentId);
163
148
  };
164
149
 
165
150
  /**
@@ -170,10 +155,10 @@ sap.ui.define([
170
155
  * @private
171
156
  * @ui5-restricted
172
157
  */
173
- VariantManagementState.resetContent = function(sReference) {
158
+ VariantManagementState.resetContent = function(sReference, sComponentId) {
174
159
  // reset on component destroy() should be handled more centrally
175
160
  // once all maps are prepared in flex state
176
- FlexState.clearFilteredResponse(sReference);
161
+ FlexState.clearFilteredResponse(sReference, sComponentId);
177
162
  };
178
163
 
179
164
  /**
@@ -572,11 +557,11 @@ sap.ui.define([
572
557
  var oFlexObjects = FlexState.getFlexObjectsFromStorageResponse(mPropertyBag.reference);
573
558
 
574
559
  if (mPropertyBag.changeToBeAddedOrDeleted) {
575
- switch (mPropertyBag.changeToBeAddedOrDeleted.getPendingAction()) {
576
- case "NEW":
560
+ switch (mPropertyBag.changeToBeAddedOrDeleted.getState()) {
561
+ case States.NEW:
577
562
  addChange(mPropertyBag.changeToBeAddedOrDeleted.getDefinition(), oFlexObjects);
578
563
  break;
579
- case "DELETE":
564
+ case States.DELETE:
580
565
  deleteChange(mPropertyBag.changeToBeAddedOrDeleted.getDefinition(), oFlexObjects);
581
566
  break;
582
567
  default:
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply.api.ControlVariantApplyAPI
22
22
  * @experimental Since 1.67
23
23
  * @since 1.67
24
- * @version 1.93.3
24
+ * @version 1.96.1
25
25
  * @public
26
26
  */
27
27
  var ControlVariantApplyAPI = /** @lends sap.ui.fl.apply.api.ControlVariantApplyAPI */{
@@ -44,20 +44,40 @@ sap.ui.define([
44
44
 
45
45
  /**
46
46
  * Resolves with a promise after all the changes for all controls that are passed have been processed.
47
- * You can either pass a single control or multiple, don't mix selectors and element parameters.
47
+ * You can either pass a single control, multiple controls or an array with objects that may contain additional configuration.
48
+ * Only use one of the possible parameters.
48
49
  *
49
50
  * @param {object} mPropertyBag - Object with parameters as properties
50
51
  * @param {sap.ui.fl.Selector} mPropertyBag.element - Control whose changes are being waited for, the control has to exist
51
52
  * @param {sap.ui.fl.Selector[]} mPropertyBag.selectors - An array of {@link sap.ui.fl.Selector}s, whose changes are being waited for, the controls have to exist
52
- * @returns {Promise} Promise that resolves when all changes on the control are processed
53
+ * @param {object[]} mPropertyBag.complexSelectors - An array containing an object with {@link sap.ui.fl.Selector} and further configuration
54
+ * @param {sap.ui.fl.Selector} mPropertyBag.complexSelectors.selector - A {@link sap.ui.fl.Selector}
55
+ * @param {string[]} [mPropertyBag.complexSelectors.changeTypes] - An array containing the change types that will be considered. If empty no filtering will be done
56
+ * @returns {Promise} Resolves when all changes on the control(s) are processed
53
57
  *
54
58
  * @private
55
59
  * @ui5-restricted
56
60
  */
57
61
  waitForChanges: function(mPropertyBag) {
58
- var oFirstElement = mPropertyBag.element || mPropertyBag.selectors[0];
59
- var vWaitForSelector = mPropertyBag.element || mPropertyBag.selectors;
60
- return ChangesController.getFlexControllerInstance(oFirstElement).waitForChangesToBeApplied(vWaitForSelector);
62
+ var aComplexSelectors;
63
+ var oFirstElement;
64
+ if (mPropertyBag.element) {
65
+ aComplexSelectors = [{
66
+ selector: mPropertyBag.element
67
+ }];
68
+ oFirstElement = mPropertyBag.element;
69
+ } else if (mPropertyBag.selectors) {
70
+ aComplexSelectors = mPropertyBag.selectors.map(function(oSelector) {
71
+ return {
72
+ selector: oSelector
73
+ };
74
+ });
75
+ oFirstElement = mPropertyBag.selectors[0];
76
+ } else if (mPropertyBag.complexSelectors) {
77
+ aComplexSelectors = mPropertyBag.complexSelectors;
78
+ oFirstElement = mPropertyBag.complexSelectors[0].selector;
79
+ }
80
+ return ChangesController.getFlexControllerInstance(oFirstElement).waitForChangesToBeApplied(aComplexSelectors);
61
81
  },
62
82
 
63
83
  /**
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.ui.fl.changeHandler.AddIFrame
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  * @since 1.72
25
25
  * @private
26
26
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.AddXML
18
18
  * @author SAP SE
19
- * @version 1.93.3
19
+ * @version 1.96.1
20
20
  * @since 1.54
21
21
  * @private
22
22
  * @experimental Since 1.54. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.AddXMLAtExtensionPoint
18
18
  * @author SAP SE
19
- * @version 1.93.3
19
+ * @version 1.96.1
20
20
  * @since 1.75
21
21
  * @private
22
22
  * @experimental Since 1.75. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  /**
15
15
  * Base functionality for all change handlers, which provides some reuse methods
16
16
  * @namespace sap.ui.fl.changeHandler.Base
17
- * @version 1.93.3
17
+ * @version 1.96.1
18
18
  * @private
19
19
  * @ui5-restricted change handlers
20
20
  */
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  instantiateFragment: function(oChange, mPropertyBag) {
55
55
  var sModuleName = oChange.getModuleName();
56
56
  if (!sModuleName) {
57
- throw new Error("The module name of the fragment is not set. This should happen in the backend");
57
+ return Promise.reject(new Error("The module name of the fragment is not set. This should happen in the backend"));
58
58
  }
59
59
  var sViewId = mPropertyBag.viewId ? mPropertyBag.viewId + "--" : "";
60
60
  var sProjectId = oChange.getProjectId() || "";
@@ -68,12 +68,14 @@ sap.ui.define([
68
68
 
69
69
  var oModifier = mPropertyBag.modifier;
70
70
  var oView = mPropertyBag.view;
71
- var sFragment = LoaderExtensions.loadResource(sModuleName, {dataType: "text"});
72
- try {
73
- return oModifier.instantiateFragment(sFragment, sIdPrefix, oView);
74
- } catch (oError) {
75
- throw new Error("The following XML Fragment could not be instantiated: " + sFragment + " Reason: " + oError.message);
76
- }
71
+ return Promise.resolve()
72
+ .then(function () {
73
+ var sFragment = LoaderExtensions.loadResource(sModuleName, {dataType: "text"});
74
+ return oModifier.instantiateFragment(sFragment, sIdPrefix, oView)
75
+ .catch(function (oError) {
76
+ throw new Error("The following XML Fragment could not be instantiated: " + sFragment + " Reason: " + oError.message);
77
+ });
78
+ });
77
79
  },
78
80
 
79
81
  /**
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @constructor
38
38
  * @alias sap.ui.fl.changeHandler.BaseAddViaDelegate
39
39
  * @author SAP SE
40
- * @version 1.93.3
40
+ * @version 1.96.1
41
41
  * @public
42
42
  * @experimental Since 1.81
43
43
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @alias sap.ui.fl.changeHandler.BaseAddXml
24
24
  * @author SAP SE
25
- * @version 1.93.3
25
+ * @version 1.96.1
26
26
  * @since 1.75
27
27
  * @private
28
28
  * @experimental Since 1.75. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @constructor
20
20
  * @alias sap.ui.fl.changeHandler.BaseRename
21
21
  * @author SAP SE
22
- * @version 1.93.3
22
+ * @version 1.96.1
23
23
  * @experimental Since 1.46
24
24
  */
25
25
  var BaseRename = {
@@ -55,8 +55,11 @@ sap.ui.define([
55
55
  return Promise.resolve()
56
56
  .then(function() {
57
57
  if (oChangeDefinition.texts && sText && typeof (sValue) === "string") {
58
- oChange.setRevertData(oModifier.getPropertyBindingOrProperty(oControl, sPropertyName));
59
- return oModifier.setPropertyBindingOrProperty(oControl, sPropertyName, sValue);
58
+ return oModifier.getPropertyBindingOrProperty(oControl, sPropertyName)
59
+ .then(function (vPropertyValue) {
60
+ oChange.setRevertData(vPropertyValue);
61
+ return oModifier.setPropertyBindingOrProperty(oControl, sPropertyName, sValue);
62
+ });
60
63
  }
61
64
  Log.error("Change does not contain sufficient information to be applied: [" + oChangeDefinition.layer + "]" + oChangeDefinition.namespace + "/" + oChangeDefinition.fileName + "." + oChangeDefinition.fileType);
62
65
  //however subsequent changes should be applied
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Change handler for hiding of a control.
20
20
  * @alias sap.ui.fl.changeHandler.HideControl
21
21
  * @author SAP SE
22
- * @version 1.93.3
22
+ * @version 1.96.1
23
23
  * @experimental Since 1.27.0
24
24
  */
25
25
  var HideControl = {};
@@ -19,7 +19,7 @@ function(
19
19
  *
20
20
  * @alias sap.ui.fl.changeHandler.MoveControls
21
21
  * @author SAP SE
22
- * @version 1.93.3
22
+ * @version 1.96.1
23
23
  * @experimental Since 1.46
24
24
  */
25
25
  var MoveControls = { };
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  *
19
19
  * @alias sap.ui.fl.changeHandler.MoveElements
20
20
  * @author SAP SE
21
- * @version 1.93.3
21
+ * @version 1.96.1
22
22
  * @experimental Since 1.34.0
23
23
  */
24
24
  var MoveElements = { };
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.PropertyBindingChange
18
18
  * @author SAP SE
19
- * @version 1.93.3
19
+ * @version 1.96.1
20
20
  * @since 1.38
21
21
  * @private
22
22
  * @experimental Since 1.38. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.ui.fl.changeHandler.PropertyChange
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  * @since 1.36
25
25
  * @private
26
26
  * @experimental Since 1.36. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * Change handler for stashing of a control.
16
16
  * @alias sap.ui.fl.changeHandler.StashControl
17
17
  * @author SAP SE
18
- * @version 1.93.3
18
+ * @version 1.96.1
19
19
  * @experimental Since 1.27.0
20
20
  */
21
21
  var StashControl = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * Change handler for unhiding of a control.
18
18
  * @alias sap.ui.fl.changeHandler.UnhideControl
19
19
  * @author SAP SE
20
- * @version 1.93.3
20
+ * @version 1.96.1
21
21
  * @experimental Since 1.27.0
22
22
  */
23
23
  var UnhideControl = {};
@@ -11,7 +11,7 @@ sap.ui.define([], function() {
11
11
  * Change handler for unstashing of a control.
12
12
  * @alias sap.ui.fl.changeHandler.UnstashControl
13
13
  * @author SAP SE
14
- * @version 1.93.3
14
+ * @version 1.96.1
15
15
  * @experimental Since 1.27.0
16
16
  */
17
17
  var UnstashControl = {};
@@ -16,13 +16,13 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.UpdateIFrame
18
18
  * @author SAP SE
19
- * @version 1.93.3
19
+ * @version 1.96.1
20
20
  * @since 1.72
21
21
  * @private
22
22
  */
23
23
  var UpdateIFrame = {};
24
24
 
25
- var aUpdatableProperties = ["width", "height", "url"];
25
+ var aUpdatableProperties = ["width", "height", "url", "_settings"];
26
26
 
27
27
  /**
28
28
  * Extract an IFrame control settings.
@@ -79,10 +79,9 @@ sap.ui.define([
79
79
  UpdateIFrame.applyChange = function(oChange, oControl, mPropertyBag) {
80
80
  var oModifier = mPropertyBag.modifier;
81
81
  var oChangeDefinition = oChange.getDefinition();
82
- var oControlMetadata = oModifier.getControlMetadata(oControl);
83
82
 
84
- return Promise.resolve()
85
- .then(function() {
83
+ return oModifier.getControlMetadata(oControl)
84
+ .then(function (oControlMetadata) {
86
85
  if (oControlMetadata.getName() !== "sap.ui.fl.util.IFrame") {
87
86
  return Promise.reject(new Error("UpdateIFrame only for sap.ui.fl.util.IFrame"));
88
87
  }
@@ -112,6 +111,10 @@ sap.ui.define([
112
111
  return Promise.resolve()
113
112
  .then(function() {
114
113
  if (mRevertData) {
114
+ // If available, the URL is reverted to before parsing the parameters (saved in "_settings")
115
+ if (mRevertData.originalSettings._settings && mRevertData.originalSettings._settings.url) {
116
+ mRevertData.originalSettings.url = mRevertData.originalSettings._settings.url;
117
+ }
115
118
  return applySettings(mPropertyBag.modifier, oControl, mRevertData.originalSettings);
116
119
  }
117
120
  return Promise.reject(new Error("Attempt to revert an unapplied change."));
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.codeExt.CodeExtManager
21
21
  * @since 1.40.0
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  */
25
25
  var CodeExtManager;
26
26
 
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace
22
22
  * @name sap.ui.fl.descriptorRelated
23
23
  * @author SAP SE
24
- * @version 1.93.3
24
+ * @version 1.96.1
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.rta, smart business
27
27
  */
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @namespace
32
32
  * @name sap.ui.fl.descriptorRelated.api
33
33
  * @author SAP SE
34
- * @version 1.93.3
34
+ * @version 1.96.1
35
35
  * @private
36
36
  * @ui5-restricted sap.ui.rta, smart business
37
37
  */
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @constructor
46
46
  * @alias sap.ui.fl.descriptorRelated.api.DescriptorChange
47
47
  * @author SAP SE
48
- * @version 1.93.3
48
+ * @version 1.96.1
49
49
  * @private
50
50
  * @ui5-restricted sap.ui.rta, smart business
51
51
  */
@@ -128,7 +128,7 @@ sap.ui.define([
128
128
  * @constructor
129
129
  * @alias sap.ui.fl.descriptorRelated.api.DescriptorChangeFactory
130
130
  * @author SAP SE
131
- * @version 1.93.3
131
+ * @version 1.96.1
132
132
  * @private
133
133
  * @ui5-restricted sap.ui.rta, smart business
134
134
  */