@openui5/sap.ui.fl 1.92.0 → 1.93.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 (213) hide show
  1. package/{.eslintrc → .eslintrc.json} +0 -0
  2. package/.reuse/dep5 +5 -0
  3. package/THIRDPARTY.txt +10 -1
  4. package/package.json +3 -3
  5. package/src/sap/ui/fl/.library +1 -1
  6. package/src/sap/ui/fl/Cache.js +1 -1
  7. package/src/sap/ui/fl/Change.js +41 -27
  8. package/src/sap/ui/fl/ChangePersistence.js +63 -22
  9. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  10. package/src/sap/ui/fl/ControlPersonalizationAPI.js +1 -1
  11. package/src/sap/ui/fl/EventHistory.js +1 -1
  12. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  13. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  14. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  15. package/src/sap/ui/fl/FlexController.js +1 -1
  16. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  17. package/src/sap/ui/fl/LayerUtils.js +1 -1
  18. package/src/sap/ui/fl/PreprocessorImpl.js +1 -1
  19. package/src/sap/ui/fl/RegistrationDelegator.js +1 -1
  20. package/src/sap/ui/fl/Utils.js +50 -2
  21. package/src/sap/ui/fl/Variant.js +20 -20
  22. package/src/sap/ui/fl/XmlPreprocessorImpl.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +2 -2
  24. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +85 -40
  25. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +196 -38
  26. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +91 -85
  27. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +19 -8
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  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/extensionPoint/Processor.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +13 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  54. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +1 -1
  56. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  57. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +2 -0
  58. package/src/sap/ui/fl/changeHandler/AddIFrame.js +23 -9
  59. package/src/sap/ui/fl/changeHandler/AddXML.js +2 -3
  60. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +40 -29
  61. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +43 -30
  63. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +65 -26
  64. package/src/sap/ui/fl/changeHandler/BaseRename.js +26 -18
  65. package/src/sap/ui/fl/changeHandler/HideControl.js +21 -18
  66. package/src/sap/ui/fl/changeHandler/MoveControls.js +250 -172
  67. package/src/sap/ui/fl/changeHandler/MoveElements.js +90 -61
  68. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +12 -12
  69. package/src/sap/ui/fl/changeHandler/PropertyChange.js +27 -23
  70. package/src/sap/ui/fl/changeHandler/StashControl.js +51 -23
  71. package/src/sap/ui/fl/changeHandler/UnhideControl.js +13 -14
  72. package/src/sap/ui/fl/changeHandler/UnstashControl.js +23 -16
  73. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +45 -21
  74. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +6 -2
  75. package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +8 -4
  76. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +17 -7
  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/descriptorRelated/internal/Utils.js +1 -0
  82. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +3 -0
  83. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +5 -0
  86. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +2 -2
  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/messagebundle.properties +15 -0
  93. package/src/sap/ui/fl/messagebundle_ar.properties +9 -1
  94. package/src/sap/ui/fl/messagebundle_bg.properties +9 -1
  95. package/src/sap/ui/fl/messagebundle_ca.properties +9 -1
  96. package/src/sap/ui/fl/messagebundle_cs.properties +9 -1
  97. package/src/sap/ui/fl/messagebundle_cy.properties +9 -1
  98. package/src/sap/ui/fl/messagebundle_da.properties +9 -1
  99. package/src/sap/ui/fl/messagebundle_de.properties +9 -1
  100. package/src/sap/ui/fl/messagebundle_el.properties +9 -1
  101. package/src/sap/ui/fl/messagebundle_en.properties +8 -0
  102. package/src/sap/ui/fl/messagebundle_en_GB.properties +8 -0
  103. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +10 -0
  104. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +8 -0
  105. package/src/sap/ui/fl/messagebundle_es.properties +9 -1
  106. package/src/sap/ui/fl/messagebundle_es_MX.properties +9 -1
  107. package/src/sap/ui/fl/messagebundle_et.properties +9 -1
  108. package/src/sap/ui/fl/messagebundle_fi.properties +9 -1
  109. package/src/sap/ui/fl/messagebundle_fr.properties +8 -0
  110. package/src/sap/ui/fl/messagebundle_fr_CA.properties +8 -0
  111. package/src/sap/ui/fl/messagebundle_hi.properties +9 -1
  112. package/src/sap/ui/fl/messagebundle_hr.properties +9 -1
  113. package/src/sap/ui/fl/messagebundle_hu.properties +9 -1
  114. package/src/sap/ui/fl/messagebundle_id.properties +9 -1
  115. package/src/sap/ui/fl/messagebundle_it.properties +9 -1
  116. package/src/sap/ui/fl/messagebundle_iw.properties +9 -1
  117. package/src/sap/ui/fl/messagebundle_ja.properties +9 -1
  118. package/src/sap/ui/fl/messagebundle_kk.properties +9 -1
  119. package/src/sap/ui/fl/messagebundle_ko.properties +9 -1
  120. package/src/sap/ui/fl/messagebundle_lt.properties +9 -1
  121. package/src/sap/ui/fl/messagebundle_lv.properties +9 -1
  122. package/src/sap/ui/fl/messagebundle_ms.properties +9 -1
  123. package/src/sap/ui/fl/messagebundle_nl.properties +9 -1
  124. package/src/sap/ui/fl/messagebundle_no.properties +9 -1
  125. package/src/sap/ui/fl/messagebundle_pl.properties +9 -1
  126. package/src/sap/ui/fl/messagebundle_pt.properties +9 -1
  127. package/src/sap/ui/fl/messagebundle_pt_PT.properties +9 -1
  128. package/src/sap/ui/fl/messagebundle_ro.properties +8 -0
  129. package/src/sap/ui/fl/messagebundle_ru.properties +9 -1
  130. package/src/sap/ui/fl/messagebundle_sh.properties +9 -1
  131. package/src/sap/ui/fl/messagebundle_sk.properties +9 -1
  132. package/src/sap/ui/fl/messagebundle_sl.properties +9 -1
  133. package/src/sap/ui/fl/messagebundle_sv.properties +9 -1
  134. package/src/sap/ui/fl/messagebundle_th.properties +9 -1
  135. package/src/sap/ui/fl/messagebundle_tr.properties +9 -1
  136. package/src/sap/ui/fl/messagebundle_uk.properties +9 -1
  137. package/src/sap/ui/fl/messagebundle_vi.properties +9 -1
  138. package/src/sap/ui/fl/messagebundle_zh_CN.properties +9 -1
  139. package/src/sap/ui/fl/messagebundle_zh_TW.properties +9 -1
  140. package/src/sap/ui/fl/registry/Settings.js +27 -23
  141. package/src/sap/ui/fl/support/Flexibility.js +1 -1
  142. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  143. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  144. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  145. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  146. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +7 -7
  147. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +2 -2
  148. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  149. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  150. package/src/sap/ui/fl/themes/base/VariantManagement.less +11 -38
  151. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  152. package/src/sap/ui/fl/util/IFrame.flexibility.js +2 -1
  153. package/src/sap/ui/fl/util/IFrame.js +29 -2
  154. package/src/sap/ui/fl/util/IFrameRenderer.js +1 -1
  155. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  156. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  157. package/src/sap/ui/fl/variants/VariantManagement.js +86 -29
  158. package/src/sap/ui/fl/variants/VariantModel.js +41 -18
  159. package/src/sap/ui/fl/write/_internal/Storage.js +2 -2
  160. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +4 -1
  161. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  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 +11 -10
  167. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +2 -24
  168. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +8 -5
  169. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +10 -8
  170. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +14 -11
  171. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +31 -20
  172. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  173. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  174. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +3 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +7 -5
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +2 -2
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +129 -0
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +33 -0
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +163 -0
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +209 -0
  195. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/annotationsEditor/AnnotationsEditor.js +49 -0
  196. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.fragment.xml +6 -0
  197. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +41 -0
  198. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateEditor/DateEditor.js +43 -0
  199. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateTimeEditor/DateTimeEditor.js +38 -0
  200. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.fragment.xml +22 -0
  201. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +84 -0
  202. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +10 -0
  203. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +70 -0
  204. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +16 -10
  205. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +11 -4
  206. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  207. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  208. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -0
  209. package/src/sap/ui/fl/write/api/FeaturesAPI.js +1 -0
  210. package/src/sap/ui/fl/write/api/FieldExtensibility.js +24 -9
  211. package/src/sap/ui/fl/write/api/LocalResetAPI.js +9 -8
  212. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +32 -26
  213. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +1 -0
File without changes
package/.reuse/dep5 CHANGED
@@ -464,3 +464,8 @@ Copyright:
464
464
  License: Apache-2.0
465
465
  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)
466
466
 
467
+ 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
468
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
469
+ License: Apache-2.0
470
+ Comment: these files belong to: SAP Theming Base Content
471
+
package/THIRDPARTY.txt CHANGED
@@ -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
@@ -462,6 +462,15 @@ License: Apache-2.0
462
462
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
463
463
  Contained in: lib/jsdoc/ui5/plugin.js
464
464
 
465
+ Component: SAP Theming Base Content, version: 11.1.34
466
+ Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
467
+ License: Apache-2.0
468
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
469
+ Contained in: src/sap.ui.core/src/sap/ui/core/themes/base/base.less
470
+ src/themelib_sap_belize/src/sap/ui/core/themes/*/base.less
471
+ src/themelib_sap_fiori_3/src/sap/ui/core/themes/*/base.less
472
+ src/themelib_sap_horizon/src/sap/ui/core/themes/*/base.less
473
+
465
474
 
466
475
  ALL LICENSE TEXTS:
467
476
  ==================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.fl",
3
- "version": "1.92.0",
3
+ "version": "1.93.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.92.0",
18
- "@openui5/sap.ui.core": "1.92.0"
17
+ "@openui5/sap.m": "1.93.3",
18
+ "@openui5/sap.ui.core": "1.93.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.92.0</version>
9
+ <version>1.93.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.92.0
27
+ * @version 1.93.3
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl
@@ -379,6 +379,20 @@ sap.ui.define([
379
379
  return this._oDefinition.packageName;
380
380
  };
381
381
 
382
+ /**
383
+ * Sets the ABAP package name.
384
+ *
385
+ * @param {string} sPackage - Package name
386
+ *
387
+ * @public
388
+ */
389
+ Change.prototype.setPackage = function (sPackage) {
390
+ if (typeof (sPackage) !== "string") {
391
+ Log.error("sap.ui.fl.Change.setPackage : sPackage is not defined");
392
+ }
393
+ this._oDefinition.packageName = sPackage;
394
+ };
395
+
382
396
  /**
383
397
  * Returns the namespace. The namespace of the change is also the namespace of the change file in the repository.
384
398
  *
@@ -1070,33 +1084,33 @@ sap.ui.define([
1070
1084
  /**
1071
1085
  * Creates and returns an instance of a change instance.
1072
1086
  *
1073
- * @param {Object} [oPropertyBag] - Property bag
1074
- * @param {String} [oPropertyBag.service] - Name of the OData service
1075
- * @param {String} [oPropertyBag.changeType] - Type of the change
1076
- * @param {Object} [oPropertyBag.texts] - Map object with all referenced texts within the file; these texts will be connected to the translation process
1077
- * @param {Object} [oPropertyBag.content] - Content of the new change
1078
- * @param {Boolean} [oPropertyBag.isVariant] - Indicates whether the change is a variant
1079
- * @param {String} [oPropertyBag.packageName] - ABAP package name
1080
- * @param {Object} [oPropertyBag.selector] - Name-value pair of the attribute and value
1081
- * @param {String} [oPropertyBag.id] - Name/ID of the file; if it's not set, it's created implicitly
1082
- * @param {Boolean} [oPropertyBag.isVariant] - Name of the component
1083
- * @param {Boolean} [oPropertyBag.isUserDependent] - <code>true</code> in case of end user changes
1084
- * @param {Object} [oPropertyBag.dependentSelector] - List of selectors saved under an alias for creating the dependencies between changes
1085
- * @param {String} [oPropertyBag.reference] - Application component name
1086
- * @param {String} [oPropertyBag.namespace] - Namespace of the change file
1087
- * @param {String} [oPropertyBag.projectId] - Project ID of the change file
1088
- * @param {String} [oPropertyBag.moduleName] - Name of the module which this changes refers to (XML or JS)
1089
- * @param {String} [oPropertyBag.generator] - Tool that is used to generate the change file
1090
- * @param {Boolean} [oPropertyBag.jsOnly] - Indicates that the change can only be applied with the JS modifier
1091
- * @param {Object} [oPropertyBag.oDataInformation] - Object with information about the oData service
1092
- * @param {String} [oPropertyBag.oDataInformation.propertyName] - Name of the OData property
1093
- * @param {String} [oPropertyBag.oDataInformation.entityType] - Name of the OData entity type that the property belongs to
1094
- * @param {String} [oPropertyBag.oDataInformation.oDataServiceUri] - URI of the OData service
1095
- * @param {String} [oPropertyBag.variantReference] - Variant reference of a change belonging to a variant
1096
- * @param {String} [oPropertyBag.support.sourceChangeFileName] - File name of the source change in case of a copied change
1097
- * @param {String} [oPropertyBag.support.compositeCommand] - Unique ID that defines which changes belong together in a composite command
1098
- *
1099
- * @returns {Object} Content of the change file
1087
+ * @param {object} [oPropertyBag] - Property bag
1088
+ * @param {string} [oPropertyBag.service] - Name of the OData service
1089
+ * @param {string} [oPropertyBag.changeType] - Type of the change
1090
+ * @param {object} [oPropertyBag.texts] - Map object with all referenced texts within the file; these texts will be connected to the translation process
1091
+ * @param {object} [oPropertyBag.content] - Content of the new change
1092
+ * @param {boolean} [oPropertyBag.isVariant] - Indicates whether the change is a variant
1093
+ * @param {string} [oPropertyBag.packageName] - ABAP package name
1094
+ * @param {object} [oPropertyBag.selector] - Name-value pair of the attribute and value
1095
+ * @param {string} [oPropertyBag.id] - Name/ID of the file; if it's not set, it's created implicitly
1096
+ * @param {boolean} [oPropertyBag.isVariant] - Name of the component
1097
+ * @param {boolean} [oPropertyBag.isUserDependent] - <code>true</code> in case of end user changes
1098
+ * @param {object} [oPropertyBag.dependentSelector] - List of selectors saved under an alias for creating the dependencies between changes
1099
+ * @param {string} [oPropertyBag.reference] - Application component name
1100
+ * @param {string} [oPropertyBag.namespace] - Namespace of the change file
1101
+ * @param {string} [oPropertyBag.projectId] - Project ID of the change file
1102
+ * @param {string} [oPropertyBag.moduleName] - Name of the module which this changes refers to (XML or JS)
1103
+ * @param {string} [oPropertyBag.generator] - Tool that is used to generate the change file
1104
+ * @param {boolean} [oPropertyBag.jsOnly] - Indicates that the change can only be applied with the JS modifier
1105
+ * @param {object} [oPropertyBag.oDataInformation] - Object with information about the oData service
1106
+ * @param {string} [oPropertyBag.oDataInformation.propertyName] - Name of the OData property
1107
+ * @param {string} [oPropertyBag.oDataInformation.entityType] - Name of the OData entity type that the property belongs to
1108
+ * @param {string} [oPropertyBag.oDataInformation.oDataServiceUri] - URI of the OData service
1109
+ * @param {string} [oPropertyBag.variantReference] - Variant reference of a change belonging to a variant
1110
+ * @param {string} [oPropertyBag.support.sourceChangeFileName] - File name of the source change in case of a copied change
1111
+ * @param {string} [oPropertyBag.support.compositeCommand] - Unique ID that defines which changes belong together in a composite command
1112
+ *
1113
+ * @returns {object} Content of the change file
1100
1114
  *
1101
1115
  * @public
1102
1116
  */
@@ -293,6 +293,33 @@ sap.ui.define([
293
293
  return DependencyHandler.checkForOpenDependenciesForControl(this._mChanges, JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent), oAppComponent);
294
294
  };
295
295
 
296
+ function getInitalDependencyClone(oChange) {
297
+ var mInitialDependencies = merge({}, this._mChangesInitial.mDependencies);
298
+ return mInitialDependencies[oChange.getId()];
299
+ }
300
+
301
+ function copyDependencies(oInitialDependency, aNewValidDependencies, oAppComponent, oChange) {
302
+ var sControlId;
303
+ var aNewValidControlDependencies = [];
304
+ oInitialDependency.controlsDependencies.forEach(function(oDependentControlSelector) {
305
+ // if the control is already available we don't need to add a dependency to it
306
+ if (!JsControlTreeModifier.bySelector(oDependentControlSelector, oAppComponent)) {
307
+ sControlId = JsControlTreeModifier.getControlIdBySelector(oDependentControlSelector, oAppComponent);
308
+ aNewValidControlDependencies.push(oDependentControlSelector);
309
+ this._mChanges.mControlsWithDependencies[sControlId] = this._mChanges.mControlsWithDependencies[sControlId] || [];
310
+ if (!includes(this._mChanges.mControlsWithDependencies[sControlId], oChange.getId())) {
311
+ this._mChanges.mControlsWithDependencies[sControlId].push(oChange.getId());
312
+ }
313
+ }
314
+ }.bind(this));
315
+
316
+ oInitialDependency.dependencies = aNewValidDependencies;
317
+ oInitialDependency.controlsDependencies = aNewValidControlDependencies;
318
+ if (aNewValidDependencies.length || aNewValidControlDependencies.length) {
319
+ this._mChanges.mDependencies[oChange.getId()] = oInitialDependency;
320
+ }
321
+ }
322
+
296
323
  /**
297
324
  * This function copies the initial dependencies (before any changes got applied and dependencies got deleted) for the given change to the mChanges map
298
325
  * Also checks if the dependency is still valid in a callback
@@ -303,10 +330,8 @@ sap.ui.define([
303
330
  * @param {sap.ui.core.Component} oAppComponent Application component instance that is currently loading
304
331
  * @returns {object} Returns the mChanges object with the updated dependencies
305
332
  */
306
- ChangePersistence.prototype.copyDependenciesFromInitialChangesMap = function(oChange, fnDependencyValidation, oAppComponent) {
307
- var mInitialDependencies = merge({}, this._mChangesInitial.mDependencies);
308
- var oInitialDependency = mInitialDependencies[oChange.getId()];
309
-
333
+ ChangePersistence.prototype.copyDependenciesFromInitialChangesMapSync = function(oChange, fnDependencyValidation, oAppComponent) {
334
+ var oInitialDependency = getInitalDependencyClone.call(this, oChange);
310
335
  if (oInitialDependency) {
311
336
  var aNewValidDependencies = [];
312
337
  oInitialDependency.dependencies.forEach(function(sChangeId) {
@@ -316,28 +341,42 @@ sap.ui.define([
316
341
  aNewValidDependencies.push(sChangeId);
317
342
  }
318
343
  }.bind(this));
344
+ copyDependencies.call(this, oInitialDependency, aNewValidDependencies, oAppComponent, oChange);
345
+ }
346
+ return this._mChanges;
347
+ };
319
348
 
320
- var sControlId;
321
- var aNewValidControlDependencies = [];
322
- oInitialDependency.controlsDependencies.forEach(function(oDependentControlSelector) {
323
- // if the control is already available we don't need to add a dependency to it
324
- if (!JsControlTreeModifier.bySelector(oDependentControlSelector, oAppComponent)) {
325
- sControlId = JsControlTreeModifier.getControlIdBySelector(oDependentControlSelector, oAppComponent);
326
- aNewValidControlDependencies.push(oDependentControlSelector);
327
- this._mChanges.mControlsWithDependencies[sControlId] = this._mChanges.mControlsWithDependencies[sControlId] || [];
328
- if (!includes(this._mChanges.mControlsWithDependencies[sControlId], oChange.getId())) {
329
- this._mChanges.mControlsWithDependencies[sControlId].push(oChange.getId());
349
+ /**
350
+ * This function copies the initial dependencies (before any changes got applied and dependencies got deleted) for the given change to the mChanges map
351
+ * Also checks if the dependency is still valid in a callback
352
+ * This function is used in the case that controls got destroyed and recreated
353
+ *
354
+ * @param {sap.ui.fl.Change} oChange The change whose dependencies should be copied
355
+ * @param {function} fnDependencyValidation this function is called to check if the dependency is still valid
356
+ * @param {sap.ui.core.Component} oAppComponent Application component instance that is currently loading
357
+ * @returns {Promise} Resolves the mChanges object with the updated dependencies
358
+ */
359
+ ChangePersistence.prototype.copyDependenciesFromInitialChangesMap = function(oChange, fnDependencyValidation, oAppComponent) {
360
+ var oInitialDependency = getInitalDependencyClone.call(this, oChange);
361
+ if (oInitialDependency) {
362
+ var aNewValidDependencies = [];
363
+ return oInitialDependency.dependencies.reduce(function (oPreviousPromise, sChangeId) {
364
+ return oPreviousPromise.then(function () {
365
+ return fnDependencyValidation(sChangeId);
366
+ }).then(function (bDependencyIsStillValid) {
367
+ if (bDependencyIsStillValid) {
368
+ this._mChanges.mDependentChangesOnMe[sChangeId] = this._mChanges.mDependentChangesOnMe[sChangeId] || [];
369
+ this._mChanges.mDependentChangesOnMe[sChangeId].push(oChange.getId());
370
+ aNewValidDependencies.push(sChangeId);
330
371
  }
331
- }
372
+ }.bind(this));
373
+ }.bind(this), Promise.resolve())
374
+ .then(function () {
375
+ copyDependencies.call(this, oInitialDependency, aNewValidDependencies, oAppComponent, oChange);
376
+ return this._mChanges;
332
377
  }.bind(this));
333
-
334
- oInitialDependency.dependencies = aNewValidDependencies;
335
- oInitialDependency.controlsDependencies = aNewValidControlDependencies;
336
- if (aNewValidDependencies.length || aNewValidControlDependencies.length) {
337
- this._mChanges.mDependencies[oChange.getId()] = oInitialDependency;
338
- }
339
378
  }
340
- return this._mChanges;
379
+ return Promise.resolve(this._mChanges);
341
380
  };
342
381
 
343
382
  /**
@@ -536,6 +575,8 @@ sap.ui.define([
536
575
  }).forEach(function(oChange) {
537
576
  if (bAlreadyDeletedViaCondense) {
538
577
  this.removeChange(oChange);
578
+ // Remove also from Cache if the persisted change is still there (e.g. navigate away and back to the app)
579
+ Cache.deleteChange(this._mComponent, oChange.getDefinition());
539
580
  } else {
540
581
  this.deleteChange(oChange);
541
582
  }
@@ -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.92.0
31
+ * @version 1.93.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.92.0
46
+ * @version 1.93.3
47
47
  * @private
48
48
  * @ui5-restricted
49
49
  */
@@ -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.92.0
17
+ * @version 1.93.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.92.0
23
+ * @version 1.93.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.92.0
23
+ * @version 1.93.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.92.0
19
+ * @version 1.93.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.92.0
84
+ * @version 1.93.3
85
85
  */
86
86
  var FlexController = function(sComponentName) {
87
87
  this._oChangePersistence = undefined;
@@ -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.92.0
35
+ * @version 1.93.3
36
36
  *
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.fl
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @namespace sap.ui.fl.LayerUtils
45
45
  * @author SAP SE
46
- * @version 1.92.0
46
+ * @version 1.93.3
47
47
  */
48
48
  var LayerUtils = {
49
49
  _mLayersIndex: mLayersIndex,
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class
34
34
  * @constructor
35
35
  * @author SAP SE
36
- * @version 1.92.0
36
+ * @version 1.93.3
37
37
  * @experimental Since 1.27.0
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.fl, sap.ui.core
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @class
45
45
  * @constructor
46
46
  * @author SAP SE
47
- * @version 1.92.0
47
+ * @version 1.93.3
48
48
  * @experimental Since 1.43.0
49
49
  */
50
50
  var RegistrationDelegator = {
@@ -47,7 +47,7 @@ function(
47
47
  * @namespace
48
48
  * @alias sap.ui.fl.Utils
49
49
  * @author SAP SE
50
- * @version 1.92.0
50
+ * @version 1.93.3
51
51
  * @experimental Since 1.25.0
52
52
  */
53
53
  var Utils = {
@@ -538,7 +538,7 @@ function(
538
538
  * Checks whether the provided control is a view
539
539
  *
540
540
  * @param {sap.ui.core.Control} oControl - SAPUI5 control
541
- * @returns {Boolean} Flag
541
+ * @returns {boolean} Flag
542
542
  * @see sap.ui.core.Component.getOwnerIdFor
543
543
  * @private
544
544
  */
@@ -1244,6 +1244,54 @@ function(
1244
1244
  return false;
1245
1245
  }
1246
1246
  return oUriParams.get(sParameterName);
1247
+ },
1248
+
1249
+ /**
1250
+ * Searches in the control metadata for the aggregation defintion
1251
+ * @param {sap.ui.base.ManagedObject|Element} oControl - Control which has the aggregation
1252
+ * @param {string} sAggregationName - Aggregation name
1253
+ * @returns {object} Aggregation metadata
1254
+ */
1255
+ findAggregation: function(oControl, sAggregationName) {
1256
+ if (oControl) {
1257
+ if (oControl.getMetadata) {
1258
+ var oMetadata = oControl.getMetadata();
1259
+ var oAggregations = oMetadata.getAllAggregations();
1260
+ if (oAggregations) {
1261
+ return oAggregations[sAggregationName];
1262
+ }
1263
+ }
1264
+ }
1265
+ return undefined;
1266
+ },
1267
+
1268
+ /**
1269
+ * Returns aggregation content for the given aggregation name.
1270
+ * @param {sap.ui.base.ManagedObject|Element} oParent - Control which has the aggregation
1271
+ * @param {string} sAggregationName - Aggregation name
1272
+ * @returns {sap.ui.base.ManagedObject[]|Element[]} Aggregation content
1273
+ */
1274
+ getAggregation: function (oParent, sAggregationName) {
1275
+ var oAggregation = Utils.findAggregation(oParent, sAggregationName);
1276
+ if (oAggregation) {
1277
+ return oParent[oAggregation._sGetter]();
1278
+ }
1279
+ return undefined;
1280
+ },
1281
+
1282
+ /**
1283
+ * Returns property value.
1284
+ * @param {sap.ui.base.ManagedObject|Element} oControl - Control representation
1285
+ * @param {string} sPropertyName - Property name
1286
+ * @returns {any} Value of the property
1287
+ */
1288
+ getProperty: function (oControl, sPropertyName) {
1289
+ var oMetadata = oControl.getMetadata().getPropertyLikeSetting(sPropertyName);
1290
+ if (oMetadata) {
1291
+ var sPropertyGetter = oMetadata._sGetter;
1292
+ return oControl[sPropertyGetter]();
1293
+ }
1294
+ return undefined;
1247
1295
  }
1248
1296
  };
1249
1297
  return Utils;
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class Variant class.
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  * @author SAP SE
36
- * @version 1.92.0
36
+ * @version 1.93.3
37
37
  * @alias sap.ui.fl.Variant
38
38
  * @experimental Since 1.52.0
39
39
  */
@@ -570,26 +570,26 @@ sap.ui.define([
570
570
  /**
571
571
  * Creates and returns an instance of change instance
572
572
  *
573
- * @param {Object} [oPropertyBag] property bag
574
- * @param {Object} [oPropertyBag.content] content of the new change
575
- * @param {String} [oPropertyBag.content.fileName] name/id of the file. if not set implicitly created
576
- * @param {String} [oPropertyBag.content.content.title] title of the variant
577
- * @param {String} [oPropertyBag.content.fileType] file type of a variant
578
- * @param {String} [oPropertyBag.content.variantManagementReference] Reference to the variant management control
579
- * @param {String} [oPropertyBag.content.variantReference] Reference to another variant
580
- * @param {String} [oPropertyBag.content.reference] Application component name
581
- * @param {String} [oPropertyBag.content.packageName] Package name for transport
582
- * @param {String} [oPropertyBag.content.layer] Layer of the variant
583
- * @param {Object} [oPropertyBag.content.texts] map object with all referenced texts within the file
573
+ * @param {object} [oPropertyBag] property bag
574
+ * @param {object} [oPropertyBag.content] content of the new change
575
+ * @param {string} [oPropertyBag.content.fileName] name/id of the file. if not set implicitly created
576
+ * @param {string} [oPropertyBag.content.content.title] title of the variant
577
+ * @param {string} [oPropertyBag.content.fileType] file type of a variant
578
+ * @param {string} [oPropertyBag.content.variantManagementReference] Reference to the variant management control
579
+ * @param {string} [oPropertyBag.content.variantReference] Reference to another variant
580
+ * @param {string} [oPropertyBag.content.reference] Application component name
581
+ * @param {string} [oPropertyBag.content.packageName] Package name for transport
582
+ * @param {string} [oPropertyBag.content.layer] Layer of the variant
583
+ * @param {object} [oPropertyBag.content.texts] map object with all referenced texts within the file
584
584
  * these texts will be connected to the translation process
585
- * @param {String} [oPropertyBag.content.namespace] The namespace of the change file
586
- * @param {String} [oPropertyBag.service] name of the OData service
587
- * @param {Boolean} [oPropertyBag.isVariant] ctrl_variant?
588
- * @param {Boolean} [oPropertyBag.isUserDependent] true for enduser changes
589
- * @param {String} !!!![oPropertyBag.context] ID of the context
590
- * @param {String} [oPropertyBag.generator] Tool which is used to generate the variant change file
591
- *
592
- * @returns {Object} The content of the change file
585
+ * @param {string} [oPropertyBag.content.namespace] The namespace of the change file
586
+ * @param {string} [oPropertyBag.service] name of the OData service
587
+ * @param {boolean} [oPropertyBag.isVariant] ctrl_variant?
588
+ * @param {boolean} [oPropertyBag.isUserDependent] true for enduser changes
589
+ * @param {string} !!!![oPropertyBag.context] ID of the context
590
+ * @param {string} [oPropertyBag.generator] Tool which is used to generate the variant change file
591
+ *
592
+ * @returns {object} The content of the change file
593
593
  *
594
594
  * @public
595
595
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @class
27
27
  * @constructor
28
28
  * @author SAP SE
29
- * @version 1.92.0
29
+ * @version 1.93.3
30
30
  * @experimental Since 1.27.0
31
31
  */
32
32
  var XmlPreprocessorImpl = function() {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @private
27
27
  * @author SAP SE
28
- * @version 1.92.0
28
+ * @version 1.93.3
29
29
  *
30
30
  * @experimental Since 1.80 This class is experimental and provides only limited functionality. Also the API might be
31
31
  * changed in future.
@@ -189,7 +189,7 @@ sap.ui.define([
189
189
  ) {
190
190
  reject(new Error("The input control should be a managed object"));
191
191
  }
192
- return resolve();
192
+ resolve();
193
193
  });
194
194
  }
195
195