@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
package/.reuse/dep5 CHANGED
@@ -309,7 +309,7 @@ License: MIT
309
309
  Comment: these files belong to: lodash
310
310
 
311
311
  Files: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
312
- Copyright: 2018 Mathias Nater
312
+ Copyright: 2021 Mathias Nater
313
313
  License: MIT
314
314
  Comment: these files belong to: Hyphenopoly
315
315
 
@@ -347,11 +347,6 @@ Copyright: 2013 Ariya Hidayat and other contributors
347
347
  License: BSD-2-Clause
348
348
  Comment: these files belong to: Esprima
349
349
 
350
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
351
- Copyright: 2006 Google Inc.
352
- License: Apache-2.0
353
- Comment: these files belong to: google-code-prettify
354
-
355
350
  Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/highlight.js/*
356
351
  Copyright: 2006-2020, Ivan Sagalaev
357
352
  License: BSD-3-Clause
@@ -405,6 +400,11 @@ Copyright: 2014 Vitaly Puzrin, Alex Kocharin
405
400
  License: MIT
406
401
  Comment: these files belong to: Markdown-it
407
402
 
403
+ Files: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
404
+ Copyright: 2015-2017 Evgeny Poberezkin
405
+ License: MIT
406
+ Comment: these files belong to: ajv
407
+
408
408
 
409
409
  # Library: sap.ui.mdc:
410
410
 
@@ -452,11 +452,6 @@ Copyright: 2009-2014, Alexis Sellier <self@cloudhead.net>
452
452
  License: Apache-2.0
453
453
  Comment: these files belong to: LESS
454
454
 
455
- Files: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
456
- Copyright: 2015-2017 Evgeny Poberezkin
457
- License: MIT
458
- Comment: these files belong to: ajv
459
-
460
455
  Files: lib/jsdoc/ui5/plugin.js
461
456
  Copyright:
462
457
  2009-2021 SAP SE or an SAP affiliate company and OpenUI5 contributors
package/THIRDPARTY.txt CHANGED
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
6
6
 
7
7
  Library: sap.ui.codeeditor:
8
8
 
9
- Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.4
9
+ Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.13
10
10
  Copyright: 2010, Ajax.org B.V.
11
11
  License: BSD-3-Clause
12
12
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -279,8 +279,8 @@ License: MIT
279
279
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
280
280
  Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
281
281
 
282
- Component: Hyphenopoly, version: 2.4.0
283
- Copyright: 2018 Mathias Nater
282
+ Component: Hyphenopoly, version: 3.4.0
283
+ Copyright: 2021 Mathias Nater
284
284
  License: MIT
285
285
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
286
286
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
@@ -324,12 +324,6 @@ License: BSD-2-Clause
324
324
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-2-Clause.txt
325
325
  Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/esprima.js
326
326
 
327
- Component: google-code-prettify, version: 20130304
328
- Copyright: 2006 Google Inc.
329
- License: Apache-2.0
330
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
331
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
332
-
333
327
  Component: highlight.js, version: 10.4.1
334
328
  Copyright: 2006-2020, Ivan Sagalaev
335
329
  License: BSD-3-Clause
@@ -376,7 +370,7 @@ License: Unicode-DFS-2015
376
370
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Unicode-DFS-2015.txt
377
371
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/webcomponents/Unicode-Data-Files-LICENSE.txt
378
372
 
379
- Component: Adaptive Cards, version: 1.2.3
373
+ Component: Adaptive Cards, version: 2.9.0
380
374
  Copyright: 2017 Microsoft
381
375
  License: MIT
382
376
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -395,6 +389,12 @@ License: MIT
395
389
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
390
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/markdown-it.js
397
391
 
392
+ Component: ajv, version: 6.12.3
393
+ Copyright: 2015-2017 Evgeny Poberezkin
394
+ License: MIT
395
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
396
+ Contained in: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
397
+
398
398
 
399
399
  Library: sap.ui.mdc:
400
400
 
@@ -450,12 +450,6 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: src/testsuite-utils/src/main/resources/META-INF/less/less.js
452
452
 
453
- Component: ajv, version: 6.12.3
454
- Copyright: 2015-2017 Evgeny Poberezkin
455
- License: MIT
456
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
457
- Contained in: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
458
-
459
453
  Component: JSDoc 3, version: 3.6.7
460
454
  Copyright: 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc
461
455
  License: Apache-2.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.fl",
3
- "version": "1.93.3",
3
+ "version": "1.96.1",
4
4
  "description": "OpenUI5 UI Library sap.ui.fl",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.93.3",
18
- "@openui5/sap.ui.core": "1.93.3"
17
+ "@openui5/sap.m": "1.96.1",
18
+ "@openui5/sap.ui.core": "1.96.1"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.93.3</version>
9
+ <version>1.96.1</version>
10
10
 
11
11
  <documentation>SAPUI5 library with sap.ui.fl controls.</documentation>
12
12
 
@@ -24,7 +24,7 @@ function(
24
24
  * @alias sap.ui.fl.Cache
25
25
  * @experimental Since 1.25.0
26
26
  * @author SAP SE
27
- * @version 1.93.3
27
+ * @version 1.96.1
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl
@@ -13,6 +13,7 @@ sap.ui.define([
13
13
  "sap/ui/fl/registry/Settings",
14
14
  "sap/base/Log",
15
15
  "sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes",
16
+ "sap/ui/fl/apply/_internal/flexObjects/States",
16
17
  "sap/base/util/includes"
17
18
  ], function (
18
19
  jQuery,
@@ -23,6 +24,7 @@ sap.ui.define([
23
24
  Settings,
24
25
  Log,
25
26
  DescriptorChangeTypes,
27
+ States,
26
28
  includes
27
29
  ) {
28
30
  "use strict";
@@ -76,10 +78,10 @@ sap.ui.define([
76
78
  });
77
79
 
78
80
  Change.states = {
79
- NEW: "NEW",
80
- PERSISTED: "NONE",
81
- DELETED: "DELETE",
82
- DIRTY: "UPDATE"
81
+ NEW: States.NEW,
82
+ PERSISTED: States.PERSISTED,
83
+ DELETED: States.DELETED,
84
+ DIRTY: States.DIRTY
83
85
  };
84
86
 
85
87
  Change.applyState = {
@@ -815,16 +817,6 @@ sap.ui.define([
815
817
  return (this._bUserDependent);
816
818
  };
817
819
 
818
- /**
819
- * Returns the pending action on the change item.
820
- * @returns {string} One of the following values: DELETE/NEW/UPDATE/NONE
821
- *
822
- * @public
823
- */
824
- Change.prototype.getPendingAction = function () {
825
- return this.getState();
826
- };
827
-
828
820
  /**
829
821
  * Gets the JSON definition of the change.
830
822
  * @returns {object} Content of the change file
@@ -948,6 +940,15 @@ sap.ui.define([
948
940
  return oModifier.bySelector(oDependentSelector, oAppComponent, mPropertyBag.view);
949
941
  };
950
942
 
943
+ /**
944
+ * Returns the 'originalSelector' from the dependent selectors. This is only set in case of changes on a template.
945
+ *
946
+ * @returns {sap.ui.fl.selector} the original selector if available
947
+ */
948
+ Change.prototype.getOriginalSelector = function() {
949
+ return this.getDefinition().dependentSelector && this.getDefinition().dependentSelector.originalSelector;
950
+ };
951
+
951
952
  /**
952
953
  * Returns all dependent selectors, including the selector from the selector of the change.
953
954
  *
@@ -1034,6 +1035,9 @@ sap.ui.define([
1034
1035
  * @public
1035
1036
  */
1036
1037
  Change.prototype.setRevertData = function(vData) {
1038
+ if (vData === undefined) {
1039
+ throw new Error("Change cannot be applied in XML as revert data is not available yet. Retrying in JS.");
1040
+ }
1037
1041
  this._vRevertData = vData;
1038
1042
  };
1039
1043
 
@@ -164,55 +164,60 @@ sap.ui.define([
164
164
  * @public
165
165
  */
166
166
  ChangePersistence.prototype.getChangesForComponent = function(mPropertyBag, bInvalidateCache) {
167
- return Cache.getChangesFillingCache(this._mComponent, mPropertyBag, bInvalidateCache).then(function(mPropertyBag, oWrappedChangeFileContent) {
168
- var oChangeFileContent = merge({}, oWrappedChangeFileContent);
169
- var oAppComponent = mPropertyBag && mPropertyBag.component && Utils.getAppComponentForControl(mPropertyBag.component);
170
-
171
- var bHasFlexObjects = StorageUtils.isStorageResponseFilled(oChangeFileContent.changes);
172
-
173
- if (!bHasFlexObjects) {
174
- return [];
175
- }
167
+ return Utils.getUShellService("URLParsing")
168
+ .then(function(oURLParsingService) {
169
+ this._oUShellURLParsingService = oURLParsingService;
170
+ return Cache.getChangesFillingCache(this._mComponent, mPropertyBag, bInvalidateCache);
171
+ }.bind(this))
172
+ .then(function(mPropertyBag, oWrappedChangeFileContent) {
173
+ var oChangeFileContent = merge({}, oWrappedChangeFileContent);
174
+ var oAppComponent = mPropertyBag && mPropertyBag.component && Utils.getAppComponentForControl(mPropertyBag.component);
175
+
176
+ var bHasFlexObjects = StorageUtils.isStorageResponseFilled(oChangeFileContent.changes);
177
+
178
+ if (!bHasFlexObjects) {
179
+ return [];
180
+ }
176
181
 
177
- var aChanges = oChangeFileContent.changes.changes;
178
-
179
- //Binds a json model of message bundle to the component the first time a change within the vendor layer was detected
180
- //It enables the translation of changes
181
- if (!this._oMessagebundle && oChangeFileContent.messagebundle && oAppComponent) {
182
- if (!oAppComponent.getModel("i18nFlexVendor")) {
183
- if (aChanges.some(function(oChange) {
184
- return oChange.layer === Layer.VENDOR;
185
- })) {
186
- this._oMessagebundle = oChangeFileContent.messagebundle;
187
- var oModel = new JSONModel(this._oMessagebundle);
188
- oAppComponent.setModel(oModel, "i18nFlexVendor");
182
+ var aChanges = oChangeFileContent.changes.changes;
183
+
184
+ //Binds a json model of message bundle to the component the first time a change within the vendor layer was detected
185
+ //It enables the translation of changes
186
+ if (!this._oMessagebundle && oChangeFileContent.messagebundle && oAppComponent) {
187
+ if (!oAppComponent.getModel("i18nFlexVendor")) {
188
+ if (aChanges.some(function(oChange) {
189
+ return oChange.layer === Layer.VENDOR;
190
+ })) {
191
+ this._oMessagebundle = oChangeFileContent.messagebundle;
192
+ var oModel = new JSONModel(this._oMessagebundle);
193
+ oAppComponent.setModel(oModel, "i18nFlexVendor");
194
+ }
189
195
  }
190
196
  }
191
- }
192
197
 
193
- var sCurrentLayer = mPropertyBag && mPropertyBag.currentLayer;
194
- var bFilterMaxLayer = !(mPropertyBag && mPropertyBag.ignoreMaxLayerParameter);
195
- var fnFilter = function() { return true; };
196
- if (sCurrentLayer) {
197
- aChanges = LayerUtils.filterChangeOrChangeDefinitionsByCurrentLayer(aChanges, sCurrentLayer);
198
- } else if (LayerUtils.isLayerFilteringRequired() && bFilterMaxLayer) {
199
- fnFilter = this._filterChangeForMaxLayer.bind(this);
200
- //If layer filtering required, excludes changes in higher layer than the max layer
201
- aChanges = aChanges.filter(fnFilter);
202
- } else if (this._bHasChangesOverMaxLayer && !bFilterMaxLayer) {
203
- // ignoreMaxLayerParameter = true is set from flexController.hasHigherLayerChanges(),
204
- // triggered by rta.stop(), to check if reload needs to be performed
205
- // as ctrl variant changes are already gone and to improve performance, just return the constant
206
- this._bHasChangesOverMaxLayer = false;
207
- return this.HIGHER_LAYER_CHANGES_EXIST;
208
- }
198
+ var sCurrentLayer = mPropertyBag && mPropertyBag.currentLayer;
199
+ var bFilterMaxLayer = !(mPropertyBag && mPropertyBag.ignoreMaxLayerParameter);
200
+ var fnFilter = function() { return true; };
201
+ if (sCurrentLayer) {
202
+ aChanges = LayerUtils.filterChangeOrChangeDefinitionsByCurrentLayer(aChanges, sCurrentLayer);
203
+ } else if (LayerUtils.isLayerFilteringRequired(this._oUShellURLParsingService) && bFilterMaxLayer) {
204
+ fnFilter = this._filterChangeForMaxLayer.bind(this);
205
+ //If layer filtering required, excludes changes in higher layer than the max layer
206
+ aChanges = aChanges.filter(fnFilter);
207
+ } else if (this._bHasChangesOverMaxLayer && !bFilterMaxLayer) {
208
+ // ignoreMaxLayerParameter = true is set from flexController.hasHigherLayerChanges(),
209
+ // triggered by rta.stop(), to check if reload needs to be performed
210
+ // as ctrl variant changes are already gone and to improve performance, just return the constant
211
+ this._bHasChangesOverMaxLayer = false;
212
+ return this.HIGHER_LAYER_CHANGES_EXIST;
213
+ }
209
214
 
210
- var bIncludeControlVariants = oChangeFileContent.changes && mPropertyBag && mPropertyBag.includeCtrlVariants;
211
- var aFilteredVariantChanges = this._getAllCtrlVariantChanges(oChangeFileContent, bIncludeControlVariants, fnFilter);
212
- aChanges = aChanges.concat(aFilteredVariantChanges);
215
+ var bIncludeControlVariants = oChangeFileContent.changes && mPropertyBag && mPropertyBag.includeCtrlVariants;
216
+ var aFilteredVariantChanges = this._getAllCtrlVariantChanges(oChangeFileContent, bIncludeControlVariants, fnFilter);
217
+ aChanges = aChanges.concat(aFilteredVariantChanges);
213
218
 
214
- return this._checkAndGetChangeInstances(aChanges, oChangeFileContent);
215
- }.bind(this, mPropertyBag));
219
+ return this._checkAndGetChangeInstances(aChanges, oChangeFileContent);
220
+ }.bind(this, mPropertyBag));
216
221
  };
217
222
 
218
223
  ChangePersistence.prototype._checkAndGetChangeInstances = function(aChanges, oChangeFileContent) {
@@ -222,7 +227,7 @@ sap.ui.define([
222
227
  };
223
228
 
224
229
  ChangePersistence.prototype._filterChangeForMaxLayer = function(oChangeOrChangeContent) {
225
- if (LayerUtils.isOverMaxLayer(this._getLayerFromChangeOrChangeContent(oChangeOrChangeContent))) {
230
+ if (LayerUtils.isOverMaxLayer(this._getLayerFromChangeOrChangeContent(oChangeOrChangeContent), this._oUShellURLParsingService)) {
226
231
  if (!this._bHasChangesOverMaxLayer) {
227
232
  this._bHasChangesOverMaxLayer = true;
228
233
  }
@@ -667,9 +672,9 @@ sap.ui.define([
667
672
  var aChangesClone = aAllChanges.slice(0);
668
673
  var aDirtyChangesClone = aDirtyChanges.slice(0);
669
674
  var aRequests = this._getRequests(aDirtyChanges);
670
- var aPendingActions = this._getPendingActions(aDirtyChanges);
675
+ var aStates = this._getStates(aDirtyChanges);
671
676
 
672
- if (aPendingActions.length === 1 && aRequests.length === 1 && aPendingActions[0] === Change.states.NEW) {
677
+ if (aStates.length === 1 && aRequests.length === 1 && aStates[0] === Change.states.NEW) {
673
678
  var oCondensedChangesPromise = Promise.resolve(aChangesClone);
674
679
  if (shouldCondensingBeEnabled(oAppComponent, aChangesClone)) {
675
680
  oCondensedChangesPromise = Condenser.condense(oAppComponent, aChangesClone);
@@ -726,7 +731,7 @@ sap.ui.define([
726
731
  // in case of changes saved for a draft only the first writing operation must have the parentVersion targeting the basis
727
732
  // followup changes must point the the existing draft created with the first request
728
733
  var aNewChanges = aDirtyChanges.filter(function (oChange) {
729
- return oChange.getPendingAction() === "NEW";
734
+ return oChange.getState() === Change.states.NEW;
730
735
  });
731
736
  oFirstNewChange = [].concat(aNewChanges).shift();
732
737
  }
@@ -740,24 +745,23 @@ sap.ui.define([
740
745
 
741
746
  ChangePersistence.prototype._performSingleSaveAction = function(oDirtyChange, oFirstChange, nParentVersion) {
742
747
  return function() {
743
- if (oDirtyChange.getPendingAction() === "NEW") {
744
- if (nParentVersion !== undefined) {
745
- nParentVersion = oDirtyChange === oFirstChange ? nParentVersion : sap.ui.fl.Versions.Draft;
746
- }
747
- return Storage.write({
748
- layer: oDirtyChange.getLayer(),
749
- flexObjects: [oDirtyChange.getDefinition()],
750
- transport: oDirtyChange.getRequest(),
751
- parentVersion: nParentVersion
752
- });
753
- }
754
-
755
- if (oDirtyChange.getPendingAction() === "DELETE") {
756
- return Storage.remove({
757
- flexObject: oDirtyChange.getDefinition(),
758
- layer: oDirtyChange.getLayer(),
759
- transport: oDirtyChange.getRequest()
760
- });
748
+ switch (oDirtyChange.getState()) {
749
+ case Change.states.NEW:
750
+ if (nParentVersion !== undefined) {
751
+ nParentVersion = oDirtyChange === oFirstChange ? nParentVersion : sap.ui.fl.Versions.Draft;
752
+ }
753
+ return Storage.write({
754
+ layer: oDirtyChange.getLayer(),
755
+ flexObjects: [oDirtyChange.getDefinition()],
756
+ transport: oDirtyChange.getRequest(),
757
+ parentVersion: nParentVersion
758
+ });
759
+ case Change.states.DELETED:
760
+ return Storage.remove({
761
+ flexObject: oDirtyChange.getDefinition(),
762
+ layer: oDirtyChange.getLayer(),
763
+ transport: oDirtyChange.getRequest()
764
+ });
761
765
  }
762
766
  };
763
767
  };
@@ -775,14 +779,20 @@ sap.ui.define([
775
779
  reference: this._mComponent.name,
776
780
  changeToBeAddedOrDeleted: oDirtyChange
777
781
  });
778
- } else if (oDirtyChange.getPendingAction() === Change.states.NEW) {
779
- oDirtyChange.setState(Change.states.PERSISTED);
780
- Cache.addChange(this._mComponent, oDirtyChange.getDefinition());
781
- } else if (oDirtyChange.getPendingAction() === Change.states.DELETED) {
782
- Cache.deleteChange(this._mComponent, oDirtyChange.getDefinition());
783
- } else if (oDirtyChange.getPendingAction() === Change.states.DIRTY) {
784
- oDirtyChange.setState(Change.states.PERSISTED);
785
- Cache.updateChange(this._mComponent, oDirtyChange.getDefinition());
782
+ } else {
783
+ switch (oDirtyChange.getState()) {
784
+ case Change.states.NEW:
785
+ oDirtyChange.setState(Change.states.PERSISTED);
786
+ Cache.addChange(this._mComponent, oDirtyChange.getDefinition());
787
+ break;
788
+ case Change.states.DELETED:
789
+ Cache.deleteChange(this._mComponent, oDirtyChange.getDefinition());
790
+ break;
791
+ case Change.states.DIRTY:
792
+ oDirtyChange.setState(Change.states.PERSISTED);
793
+ Cache.updateChange(this._mComponent, oDirtyChange.getDefinition());
794
+ break;
795
+ }
786
796
  }
787
797
  }
788
798
 
@@ -814,17 +824,17 @@ sap.ui.define([
814
824
  return aRequests;
815
825
  };
816
826
 
817
- ChangePersistence.prototype._getPendingActions = function(aDirtyChanges) {
818
- var aPendingActions = [];
827
+ ChangePersistence.prototype._getStates = function(aDirtyChanges) {
828
+ var aStates = [];
819
829
 
820
830
  aDirtyChanges.forEach(function(oChange) {
821
- var sPendingAction = oChange.getPendingAction();
822
- if (aPendingActions.indexOf(sPendingAction) === -1) {
823
- aPendingActions.push(sPendingAction);
831
+ var sState = oChange.getState();
832
+ if (aStates.indexOf(sState) === -1) {
833
+ aStates.push(sState);
824
834
  }
825
835
  });
826
836
 
827
- return aPendingActions;
837
+ return aStates;
828
838
  };
829
839
 
830
840
  ChangePersistence.prototype._prepareDirtyChanges = function(aDirtyChanges) {
@@ -846,7 +856,7 @@ sap.ui.define([
846
856
  * @see {ChangePersistence#saveDirtyChanges};
847
857
  *
848
858
  * If the given change is already in the dirty changes and
849
- * has pending action 'NEW' it will be removed, assuming,
859
+ * has the 'NEW' state it will be removed, assuming,
850
860
  * it has just been created in the current session;
851
861
  *
852
862
  * Otherwise it will be marked for deletion.
@@ -858,7 +868,7 @@ sap.ui.define([
858
868
  var nIndexInDirtyChanges = this._aDirtyChanges.indexOf(oChange);
859
869
 
860
870
  if (nIndexInDirtyChanges > -1) {
861
- if (oChange.getPendingAction() === "DELETE") {
871
+ if (oChange.getState() === Change.states.DELETED) {
862
872
  return;
863
873
  }
864
874
  this._aDirtyChanges.splice(nIndexInDirtyChanges, 1);
@@ -1066,4 +1076,4 @@ sap.ui.define([
1066
1076
  };
1067
1077
 
1068
1078
  return ChangePersistence;
1069
- }, true);
1079
+ });
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @alias sap.ui.fl.ChangePersistenceFactory
29
29
  * @experimental Since 1.27.0
30
30
  * @author SAP SE
31
- * @version 1.93.3
31
+ * @version 1.96.1
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.fl
34
34
  */
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @author SAP SE
44
44
  * @experimental Since 1.56
45
45
  * @since 1.56
46
- * @version 1.93.3
46
+ * @version 1.96.1
47
47
  * @private
48
48
  * @ui5-restricted
49
49
  */
@@ -145,6 +145,8 @@ sap.ui.define([
145
145
  if (!oVariantModel) {
146
146
  //technical parameters are not updated, only URL hash is updated
147
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;
148
150
  }
149
151
 
150
152
  //check if variant for the passed variant management control is present
@@ -14,7 +14,7 @@ sap.ui.define(function () {
14
14
  * @alias sap.ui.fl.EventHistory
15
15
  * @experimental Since 1.47.0
16
16
  * @author SAP SE
17
- * @version 1.93.3
17
+ * @version 1.96.1
18
18
  *
19
19
  * @private
20
20
  * @ui5-restricted sap.ui.fl.RegistrationDelegator
@@ -20,7 +20,7 @@ function(
20
20
  * @class
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  *
25
25
  * @private
26
26
  * @static
@@ -20,7 +20,7 @@ function(
20
20
  * @class
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  *
25
25
  * @private
26
26
  * @static
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @class
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.93.3
19
+ * @version 1.96.1
20
20
  *
21
21
  * @private
22
22
  * @static
@@ -81,7 +81,7 @@ sap.ui.define([
81
81
  * @alias sap.ui.fl.FlexController
82
82
  * @experimental Since 1.27.0
83
83
  * @author SAP SE
84
- * @version 1.93.3
84
+ * @version 1.96.1
85
85
  */
86
86
  var FlexController = function(sComponentName) {
87
87
  this._oChangePersistence = undefined;
@@ -303,7 +303,7 @@ sap.ui.define([
303
303
  * @see {ChangePersistence#saveDirtyChanges};
304
304
  *
305
305
  * If the given change is already in the dirty changes and
306
- * has pending action 'NEW' it will be removed, assuming,
306
+ * has the 'NEW' state it will be removed, assuming,
307
307
  * it has just been created in the current session;
308
308
  *
309
309
  * Otherwise it will be marked for deletion.
@@ -377,18 +377,14 @@ sap.ui.define([
377
377
  /**
378
378
  * Resolves with a promise after all the changes for all controls that are passed have been processed.
379
379
  *
380
- * @param {sap.ui.fl.Selector[]} vSelectors The control or an array of controls whose changes are being waited for
381
- * @returns {Promise} Returns a promise when all changes on the controls have been processed
380
+ * @param {object[]} aSelectors - An array containing an object with {@link sap.ui.fl.Selector} and further configuration
381
+ * @param {sap.ui.fl.Selector} aSelectors.selector - A {@link sap.ui.fl.Selector}
382
+ * @param {string[]} [aSelectors.changeTypes] - An array containing the change types that will be considered. If empty no filtering will be done
383
+ * @returns {Promise} Resolves when all changes on the controls have been processed
382
384
  */
383
- FlexController.prototype.waitForChangesToBeApplied = function(vSelectors) {
384
- var aSelectors;
385
- if (Array.isArray(vSelectors)) {
386
- aSelectors = vSelectors;
387
- } else {
388
- aSelectors = [vSelectors];
389
- }
390
- var aPromises = aSelectors.map(function(vSelector) {
391
- return this._waitForChangesToBeApplied(vSelector);
385
+ FlexController.prototype.waitForChangesToBeApplied = function(aSelectors) {
386
+ var aPromises = aSelectors.map(function(mSelector) {
387
+ return this._waitForChangesToBeApplied(mSelector);
392
388
  }.bind(this));
393
389
  return Promise.all(aPromises)
394
390
  .then(function() {
@@ -396,23 +392,33 @@ sap.ui.define([
396
392
  return undefined;
397
393
  });
398
394
  };
395
+
399
396
  /**
400
- * Resolves with a Promise after all the changes for this control have been processed.
397
+ * Resolves with a Promise after all relevant changes for this control have been processed.
401
398
  *
402
- * @param {sap.ui.fl.Selector} vSelector The control whose changes are being waited for
403
- * @returns {Promise} Returns a promise when all changes on the control have been processed
399
+ * @param {object} mPropertyBag - Object with control and list of change types
400
+ * @param {sap.ui.fl.Selector} mPropertyBag.selector - A {@link sap.ui.fl.Selector}
401
+ * @param {string[]} mPropertyBag.changeTypes - An array containing the change types that should be considered
402
+ * @returns {Promise} Resolves when all changes on the control have been processed
404
403
  */
405
- FlexController.prototype._waitForChangesToBeApplied = function(vSelector) {
406
- var oControl = vSelector.id && sap.ui.getCore().byId(vSelector.id) || vSelector;
404
+ FlexController.prototype._waitForChangesToBeApplied = function(mPropertyBag) {
405
+ function filterChanges(oChange) {
406
+ return !oChange.isCurrentProcessFinished()
407
+ && (mPropertyBag.changeTypes.length === 0 || mPropertyBag.changeTypes.includes(oChange.getChangeType()));
408
+ }
409
+
410
+ mPropertyBag.changeTypes = mPropertyBag.changeTypes || [];
411
+ var oControl = mPropertyBag.selector.id && sap.ui.getCore().byId(mPropertyBag.selector.id) || mPropertyBag.selector;
407
412
  var mChangesMap = this._oChangePersistence.getChangesMapForComponent();
408
413
  var aPromises = [];
409
414
  var mDependencies = Object.assign({}, mChangesMap.mDependencies);
410
415
  var mChanges = mChangesMap.mChanges;
411
416
  var aChangesForControl = mChanges[oControl.getId()] || [];
412
- var aNotYetProcessedChanges = aChangesForControl.filter(function(oChange) {
413
- return !oChange.isCurrentProcessFinished();
414
- }, this);
415
- var oAppComponent = vSelector.appComponent || Utils.getAppComponentForControl(oControl);
417
+
418
+ // filter out already applied changes and, if given, filter by change type
419
+ var aNotYetProcessedChanges = aChangesForControl.filter(filterChanges);
420
+
421
+ var oAppComponent = mPropertyBag.selector.appComponent || Utils.getAppComponentForControl(oControl);
416
422
  var aRelevantChanges = [];
417
423
  aNotYetProcessedChanges.forEach(function(oChange) {
418
424
  var aChanges = checkDependencies(oChange, mDependencies, mChangesMap.mChanges, oAppComponent, []);