@openui5/sap.ui.fl 1.95.0 → 1.96.3

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 (204) hide show
  1. package/.reuse/dep5 +10 -5
  2. package/THIRDPARTY.txt +17 -8
  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 +15 -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/changes/Applier.js +33 -11
  24. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +40 -29
  46. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +10 -8
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +14 -0
  49. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +133 -30
  50. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +8 -4
  51. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  56. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +5 -5
  57. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +18 -43
  59. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  60. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +25 -5
  61. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  65. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +6 -2
  77. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  78. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  79. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  80. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  81. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +12 -8
  82. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +10 -4
  83. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  89. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  90. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  91. package/src/sap/ui/fl/library.js +9 -9
  92. package/src/sap/ui/fl/library.support.js +56 -46
  93. package/src/sap/ui/fl/messagebundle.properties +30 -2
  94. package/src/sap/ui/fl/messagebundle_ar.properties +20 -3
  95. package/src/sap/ui/fl/messagebundle_bg.properties +20 -3
  96. package/src/sap/ui/fl/messagebundle_ca.properties +20 -3
  97. package/src/sap/ui/fl/messagebundle_cs.properties +20 -3
  98. package/src/sap/ui/fl/messagebundle_cy.properties +20 -3
  99. package/src/sap/ui/fl/messagebundle_da.properties +19 -2
  100. package/src/sap/ui/fl/messagebundle_de.properties +19 -2
  101. package/src/sap/ui/fl/messagebundle_el.properties +20 -3
  102. package/src/sap/ui/fl/messagebundle_en.properties +19 -2
  103. package/src/sap/ui/fl/messagebundle_en_GB.properties +19 -2
  104. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +2 -0
  105. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +35 -2
  106. package/src/sap/ui/fl/messagebundle_es.properties +20 -3
  107. package/src/sap/ui/fl/messagebundle_es_MX.properties +20 -3
  108. package/src/sap/ui/fl/messagebundle_et.properties +20 -3
  109. package/src/sap/ui/fl/messagebundle_fi.properties +20 -3
  110. package/src/sap/ui/fl/messagebundle_fr.properties +19 -2
  111. package/src/sap/ui/fl/messagebundle_fr_CA.properties +19 -2
  112. package/src/sap/ui/fl/messagebundle_hi.properties +20 -3
  113. package/src/sap/ui/fl/messagebundle_hr.properties +20 -3
  114. package/src/sap/ui/fl/messagebundle_hu.properties +20 -3
  115. package/src/sap/ui/fl/messagebundle_id.properties +20 -3
  116. package/src/sap/ui/fl/messagebundle_it.properties +21 -4
  117. package/src/sap/ui/fl/messagebundle_iw.properties +20 -3
  118. package/src/sap/ui/fl/messagebundle_ja.properties +20 -3
  119. package/src/sap/ui/fl/messagebundle_kk.properties +20 -3
  120. package/src/sap/ui/fl/messagebundle_ko.properties +20 -3
  121. package/src/sap/ui/fl/messagebundle_lt.properties +20 -3
  122. package/src/sap/ui/fl/messagebundle_lv.properties +20 -3
  123. package/src/sap/ui/fl/messagebundle_ms.properties +20 -3
  124. package/src/sap/ui/fl/messagebundle_nl.properties +19 -2
  125. package/src/sap/ui/fl/messagebundle_no.properties +20 -3
  126. package/src/sap/ui/fl/messagebundle_pl.properties +20 -3
  127. package/src/sap/ui/fl/messagebundle_pt.properties +20 -3
  128. package/src/sap/ui/fl/messagebundle_pt_PT.properties +20 -3
  129. package/src/sap/ui/fl/messagebundle_ro.properties +20 -3
  130. package/src/sap/ui/fl/messagebundle_ru.properties +20 -3
  131. package/src/sap/ui/fl/messagebundle_sh.properties +20 -3
  132. package/src/sap/ui/fl/messagebundle_sk.properties +20 -3
  133. package/src/sap/ui/fl/messagebundle_sl.properties +20 -3
  134. package/src/sap/ui/fl/messagebundle_sv.properties +19 -2
  135. package/src/sap/ui/fl/messagebundle_th.properties +18 -1
  136. package/src/sap/ui/fl/messagebundle_tr.properties +20 -3
  137. package/src/sap/ui/fl/messagebundle_uk.properties +20 -3
  138. package/src/sap/ui/fl/messagebundle_vi.properties +20 -3
  139. package/src/sap/ui/fl/messagebundle_zh_CN.properties +20 -3
  140. package/src/sap/ui/fl/messagebundle_zh_TW.properties +20 -3
  141. package/src/sap/ui/fl/registry/Settings.js +57 -23
  142. package/src/sap/ui/fl/support/Flexibility.js +1 -1
  143. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  144. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  145. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  146. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  147. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  148. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  149. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  150. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  151. package/src/sap/ui/fl/themes/base/VariantManagement.less +9 -37
  152. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  153. package/src/sap/ui/fl/util/IFrame.js +10 -3
  154. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  155. package/src/sap/ui/fl/util/getContainerUserInfo.js +32 -28
  156. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  157. package/src/sap/ui/fl/variants/VariantManagement.js +279 -30
  158. package/src/sap/ui/fl/variants/VariantModel.js +176 -71
  159. package/src/sap/ui/fl/write/_internal/Storage.js +6 -4
  160. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/Versions.js +61 -54
  162. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +23 -2
  167. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +2 -1
  171. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +3 -3
  172. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  173. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  174. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +5 -17
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +1 -0
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +26 -6
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +48 -10
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +1 -1
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +15 -22
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +20 -0
  195. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +1 -1
  196. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +10 -10
  197. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  198. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  199. package/src/sap/ui/fl/write/api/FieldExtensibility.js +22 -7
  200. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +20 -16
  201. package/ui5.yaml +4 -1
  202. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/annotationsEditor/AnnotationsEditor.js +0 -49
  203. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateEditor/DateEditor.js +0 -43
  204. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateTimeEditor/DateTimeEditor.js +0 -38
package/.reuse/dep5 CHANGED
@@ -400,6 +400,11 @@ Copyright: 2014 Vitaly Puzrin, Alex Kocharin
400
400
  License: MIT
401
401
  Comment: these files belong to: Markdown-it
402
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
+
403
408
 
404
409
  # Library: sap.ui.mdc:
405
410
 
@@ -447,11 +452,6 @@ Copyright: 2009-2014, Alexis Sellier <self@cloudhead.net>
447
452
  License: Apache-2.0
448
453
  Comment: these files belong to: LESS
449
454
 
450
- Files: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
451
- Copyright: 2015-2017 Evgeny Poberezkin
452
- License: MIT
453
- Comment: these files belong to: ajv
454
-
455
455
  Files: lib/jsdoc/ui5/plugin.js
456
456
  Copyright:
457
457
  2009-2021 SAP SE or an SAP affiliate company and OpenUI5 contributors
@@ -459,3 +459,8 @@ Copyright:
459
459
  License: Apache-2.0
460
460
  Comment: these files contain content from SAP and JSDoc 3: plugin.js is overall written by SAP, but contains code taken from JSDoc 3.6.7 (see the respective comments)
461
461
 
462
+ Files: src/sap.ui.core/src/sap/ui/core/themes/base/base.less src/themelib_sap_belize/src/sap/ui/core/themes/*/base.less src/themelib_sap_fiori_3/src/sap/ui/core/themes/*/base.less src/themelib_sap_horizon/src/sap/ui/core/themes/*/base.less
463
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
464
+ License: Apache-2.0
465
+ Comment: these files belong to: SAP Theming Base Content
466
+
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.12
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
@@ -197,7 +197,7 @@ License: BSD-3-Clause
197
197
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
198
198
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/sinon-qunit.js
199
199
 
200
- Component: URI.js, version: 1.19.6
200
+ Component: URI.js, version: 1.19.7
201
201
  Copyright: Rodney Rehm
202
202
  License: MIT
203
203
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
@@ -389,6 +389,12 @@ License: MIT
389
389
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
390
390
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/markdown-it.js
391
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
+
392
398
 
393
399
  Library: sap.ui.mdc:
394
400
 
@@ -444,18 +450,21 @@ License: Apache-2.0
444
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
445
451
  Contained in: src/testsuite-utils/src/main/resources/META-INF/less/less.js
446
452
 
447
- Component: ajv, version: 6.12.3
448
- Copyright: 2015-2017 Evgeny Poberezkin
449
- License: MIT
450
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
451
- Contained in: ../test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/ajv/ajv.min.js
452
-
453
453
  Component: JSDoc 3, version: 3.6.7
454
454
  Copyright: 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc
455
455
  License: Apache-2.0
456
456
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
457
457
  Contained in: lib/jsdoc/ui5/plugin.js
458
458
 
459
+ Component: SAP Theming Base Content, version: 11.1.34
460
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
461
+ License: Apache-2.0
462
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
463
+ Contained in: src/sap.ui.core/src/sap/ui/core/themes/base/base.less
464
+ src/themelib_sap_belize/src/sap/ui/core/themes/*/base.less
465
+ src/themelib_sap_fiori_3/src/sap/ui/core/themes/*/base.less
466
+ src/themelib_sap_horizon/src/sap/ui/core/themes/*/base.less
467
+
459
468
 
460
469
  ALL LICENSE TEXTS:
461
470
  ==================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.fl",
3
- "version": "1.95.0",
3
+ "version": "1.96.3",
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.95.0",
18
- "@openui5/sap.ui.core": "1.95.0"
17
+ "@openui5/sap.m": "1.96.3",
18
+ "@openui5/sap.ui.core": "1.96.3"
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.95.0</version>
9
+ <version>1.96.3</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.95.0
27
+ * @version 1.96.3
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
  *
@@ -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.95.0
31
+ * @version 1.96.3
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.95.0
46
+ * @version 1.96.3
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.95.0
17
+ * @version 1.96.3
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.95.0
23
+ * @version 1.96.3
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.95.0
23
+ * @version 1.96.3
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.95.0
19
+ * @version 1.96.3
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.95.0
84
+ * @version 1.96.3
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, []);
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @alias sap.ui.fl.FlexControllerFactory
33
33
  * @experimental Since 1.27.0
34
34
  * @author SAP SE
35
- * @version 1.95.0
35
+ * @version 1.96.3
36
36
  *
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.fl
@@ -184,12 +184,19 @@ sap.ui.define([
184
184
  // only manifest with type = "application" will fetch changes
185
185
  var oManifest = oAppComponent.getManifestObject();
186
186
  var oFlexController = FlexControllerFactory.createForControl(oAppComponent, oManifest);
187
+ var oVariantModel;
187
188
  return oFlexController._oChangePersistence.loadChangesMapForComponent(oAppComponent)
188
189
  .then(function (fnGetChangesMap) {
189
190
  var fnPropagationListener = Applier.applyAllChangesForControl.bind(Applier, fnGetChangesMap, oAppComponent, oFlexController);
190
191
  fnPropagationListener._bIsSapUiFlFlexControllerApplyChangesOnControl = true;
191
192
  oAppComponent.addPropagationListener(fnPropagationListener);
192
- var oVariantModel = new VariantModel({}, oFlexController, oAppComponent);
193
+ oVariantModel = new VariantModel({}, {
194
+ flexController: oFlexController,
195
+ appComponent: oAppComponent
196
+ });
197
+ return oVariantModel.initialize();
198
+ })
199
+ .then(function() {
193
200
  oAppComponent.setModel(oVariantModel, Utils.VARIANT_MODEL_NAME);
194
201
  Measurement.end("flexProcessing");
195
202
  return oVariantModel;