@openui5/sap.ui.fl 1.103.1 → 1.106.0

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 (265) hide show
  1. package/.reuse/dep5 +35 -15
  2. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  3. package/THIRDPARTY.txt +64 -21
  4. package/package.json +3 -3
  5. package/src/sap/ui/fl/.library +1 -1
  6. package/src/sap/ui/fl/Cache.js +10 -4
  7. package/src/sap/ui/fl/Change.js +144 -34
  8. package/src/sap/ui/fl/ChangePersistence.js +59 -31
  9. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  10. package/src/sap/ui/fl/FakeLrepConnector.js +6 -0
  11. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +9 -3
  12. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +9 -3
  13. package/src/sap/ui/fl/FakeLrepLocalStorage.js +9 -3
  14. package/src/sap/ui/fl/FlexController.js +6 -6
  15. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  16. package/src/sap/ui/fl/Layer.js +5 -2
  17. package/src/sap/ui/fl/LayerUtils.js +1 -1
  18. package/src/sap/ui/fl/Utils.js +88 -56
  19. package/src/sap/ui/fl/apply/_internal/ChangesController.js +2 -2
  20. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +2 -2
  22. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +9 -10
  23. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +2 -2
  25. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +4 -5
  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/ObjectStorageConnector.js +2 -2
  45. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +3 -3
  46. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +2 -2
  47. package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +8 -43
  48. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +73 -0
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +11 -20
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +81 -0
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +111 -0
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +51 -17
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +114 -34
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +4 -15
  56. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +23 -7
  57. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +3 -3
  58. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  59. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +3 -3
  60. package/src/sap/ui/fl/apply/_internal/flexState/appDescriptorChanges/prepareAppDescriptorMap.js +2 -2
  61. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +14 -10
  62. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +14 -17
  63. package/src/sap/ui/fl/apply/_internal/flexState/changes/prepareChangesMap.js +2 -2
  64. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +6 -6
  65. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +2 -2
  66. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +2 -2
  67. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +3 -3
  68. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +30 -38
  69. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +76 -111
  70. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  71. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  72. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  73. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  74. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +4 -4
  75. package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +2 -2
  76. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +2 -2
  77. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +2 -2
  78. package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +2 -2
  79. package/src/sap/ui/fl/changeHandler/AddIFrame.js +7 -7
  80. package/src/sap/ui/fl/changeHandler/AddXML.js +14 -16
  81. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +9 -6
  82. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  83. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +35 -37
  84. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +15 -16
  85. package/src/sap/ui/fl/changeHandler/BaseRename.js +9 -15
  86. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  87. package/src/sap/ui/fl/changeHandler/MoveControls.js +16 -10
  88. package/src/sap/ui/fl/changeHandler/MoveElements.js +3 -2
  89. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +13 -12
  90. package/src/sap/ui/fl/changeHandler/PropertyChange.js +23 -26
  91. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/UnstashControl.js +3 -5
  94. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +3 -5
  95. package/src/sap/ui/fl/changeHandler/common/ChangeCategories.js +16 -0
  96. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +2 -2
  97. package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +3 -3
  98. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +2 -2
  99. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  100. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +13 -22
  101. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  102. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  103. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +5 -2
  104. package/src/sap/ui/fl/initial/_internal/Storage.js +18 -5
  105. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +27 -3
  106. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +4 -4
  107. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +8 -0
  108. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +9 -1
  109. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -2
  110. package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +3 -3
  111. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +2 -2
  112. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +3 -4
  113. package/src/sap/ui/fl/initial/_internal/connectors/NeoLrepConnector.js +2 -3
  114. package/src/sap/ui/fl/initial/_internal/connectors/PersonalizationConnector.js +2 -2
  115. package/src/sap/ui/fl/initial/_internal/connectors/StaticFileConnector.js +2 -2
  116. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +19 -6
  117. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +3 -3
  118. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +9 -6
  119. package/src/sap/ui/fl/interfaces/Delegate.js +34 -18
  120. package/src/sap/ui/fl/library.js +351 -30
  121. package/src/sap/ui/fl/library.support.js +1 -1
  122. package/src/sap/ui/fl/messagebundle.properties +4 -1
  123. package/src/sap/ui/fl/messagebundle_ar.properties +2 -0
  124. package/src/sap/ui/fl/messagebundle_bg.properties +2 -0
  125. package/src/sap/ui/fl/messagebundle_ca.properties +2 -0
  126. package/src/sap/ui/fl/messagebundle_cs.properties +2 -0
  127. package/src/sap/ui/fl/messagebundle_cy.properties +2 -0
  128. package/src/sap/ui/fl/messagebundle_da.properties +2 -0
  129. package/src/sap/ui/fl/messagebundle_de.properties +2 -0
  130. package/src/sap/ui/fl/messagebundle_el.properties +2 -0
  131. package/src/sap/ui/fl/messagebundle_en.properties +2 -0
  132. package/src/sap/ui/fl/messagebundle_en_GB.properties +2 -0
  133. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +2 -0
  134. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +37 -2
  135. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +2 -0
  136. package/src/sap/ui/fl/messagebundle_es.properties +2 -0
  137. package/src/sap/ui/fl/messagebundle_es_MX.properties +2 -0
  138. package/src/sap/ui/fl/messagebundle_et.properties +2 -0
  139. package/src/sap/ui/fl/messagebundle_fi.properties +2 -0
  140. package/src/sap/ui/fl/messagebundle_fr.properties +2 -0
  141. package/src/sap/ui/fl/messagebundle_fr_CA.properties +2 -0
  142. package/src/sap/ui/fl/messagebundle_hi.properties +2 -0
  143. package/src/sap/ui/fl/messagebundle_hr.properties +2 -0
  144. package/src/sap/ui/fl/messagebundle_hu.properties +2 -0
  145. package/src/sap/ui/fl/messagebundle_id.properties +2 -0
  146. package/src/sap/ui/fl/messagebundle_it.properties +2 -0
  147. package/src/sap/ui/fl/messagebundle_iw.properties +2 -0
  148. package/src/sap/ui/fl/messagebundle_ja.properties +2 -0
  149. package/src/sap/ui/fl/messagebundle_kk.properties +2 -0
  150. package/src/sap/ui/fl/messagebundle_ko.properties +2 -0
  151. package/src/sap/ui/fl/messagebundle_lt.properties +2 -0
  152. package/src/sap/ui/fl/messagebundle_lv.properties +2 -0
  153. package/src/sap/ui/fl/messagebundle_ms.properties +2 -0
  154. package/src/sap/ui/fl/messagebundle_nl.properties +2 -0
  155. package/src/sap/ui/fl/messagebundle_no.properties +2 -0
  156. package/src/sap/ui/fl/messagebundle_pl.properties +2 -0
  157. package/src/sap/ui/fl/messagebundle_pt.properties +2 -0
  158. package/src/sap/ui/fl/messagebundle_pt_PT.properties +2 -0
  159. package/src/sap/ui/fl/messagebundle_ro.properties +2 -0
  160. package/src/sap/ui/fl/messagebundle_ru.properties +2 -0
  161. package/src/sap/ui/fl/messagebundle_sh.properties +2 -0
  162. package/src/sap/ui/fl/messagebundle_sk.properties +2 -0
  163. package/src/sap/ui/fl/messagebundle_sl.properties +2 -0
  164. package/src/sap/ui/fl/messagebundle_sv.properties +2 -0
  165. package/src/sap/ui/fl/messagebundle_th.properties +2 -0
  166. package/src/sap/ui/fl/messagebundle_tr.properties +2 -0
  167. package/src/sap/ui/fl/messagebundle_uk.properties +2 -0
  168. package/src/sap/ui/fl/messagebundle_vi.properties +2 -0
  169. package/src/sap/ui/fl/messagebundle_zh_CN.properties +2 -0
  170. package/src/sap/ui/fl/messagebundle_zh_TW.properties +2 -0
  171. package/src/sap/ui/fl/registry/Settings.js +17 -3
  172. package/src/sap/ui/fl/requireAsync.js +2 -2
  173. package/src/sap/ui/fl/support/{apps/uiFlexibilityDiagnostics/helper/Extractor.js → _internal/extractChangeDependencies.js} +55 -57
  174. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +6 -6
  175. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +14 -4
  176. package/src/sap/ui/fl/support/api/SupportAPI.js +3 -3
  177. package/src/sap/ui/fl/support/apps/contentbrowser/Component.js +10 -6
  178. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +26 -11
  179. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +27 -13
  180. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  181. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +5 -4
  182. package/src/sap/ui/fl/support/apps/contentbrowser/i18n/i18n.properties +4 -1
  183. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +11 -3
  184. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  185. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +5 -4
  186. package/src/sap/ui/fl/support/apps/contentbrowser/view/ContentDetails.view.xml +1 -0
  187. package/src/sap/ui/fl/support/apps/contentbrowser/view/ContentDetailsEdit.view.xml +1 -0
  188. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  189. package/src/sap/ui/fl/util/IFrame.js +27 -2
  190. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  191. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  192. package/src/sap/ui/fl/variants/VariantManagement.js +604 -2094
  193. package/src/sap/ui/fl/variants/VariantModel.js +96 -104
  194. package/src/sap/ui/fl/variants/context/Component.js +3 -0
  195. package/src/sap/ui/fl/write/_internal/FlexInfoSession.js +46 -0
  196. package/src/sap/ui/fl/write/_internal/SaveAs.js +8 -9
  197. package/src/sap/ui/fl/write/_internal/Storage.js +10 -10
  198. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +3 -3
  199. package/src/sap/ui/fl/write/_internal/Versions.js +13 -7
  200. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +8 -8
  201. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +6 -6
  202. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +8 -8
  203. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  204. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +3 -3
  205. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  206. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +3 -3
  207. package/src/sap/ui/fl/write/_internal/connectors/JsObjectConnector.js +2 -2
  208. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +26 -21
  209. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +2 -2
  210. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +15 -8
  211. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +3 -3
  212. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +3 -3
  213. package/src/sap/ui/fl/write/_internal/connectors/ObjectStorageConnector.js +2 -2
  214. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +3 -3
  215. package/src/sap/ui/fl/write/_internal/connectors/SessionStorageConnector.js +2 -2
  216. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +3 -3
  217. package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +4 -4
  218. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  219. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  220. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  221. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +4 -4
  222. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +3 -3
  223. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +3 -3
  224. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  225. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +4 -4
  226. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  227. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +68 -18
  228. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  229. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  230. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  231. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  232. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  233. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +47 -10
  234. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +18 -24
  235. package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +12 -7
  236. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +6 -7
  237. package/src/sap/ui/fl/write/_internal/transport/Transports.js +11 -4
  238. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +2 -2
  239. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +36 -19
  240. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +2 -2
  241. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +3 -3
  242. package/src/sap/ui/fl/write/api/ExtensionPointRegistryAPI.js +2 -2
  243. package/src/sap/ui/fl/write/api/FeaturesAPI.js +28 -8
  244. package/src/sap/ui/fl/write/api/FieldExtensibility.js +3 -3
  245. package/src/sap/ui/fl/write/api/LocalResetAPI.js +2 -2
  246. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +5 -46
  247. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +148 -110
  248. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +2 -2
  249. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +2 -2
  250. package/src/sap/ui/fl/write/api/TranslationAPI.js +2 -2
  251. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +2 -2
  252. package/src/sap/ui/fl/write/api/VersionsAPI.js +5 -3
  253. package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +4 -3
  254. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +4 -3
  255. package/src/sap/ui/fl/write/connectors/BaseConnector.js +4 -4
  256. package/src/sap/ui/fl/Variant.js +0 -511
  257. package/src/sap/ui/fl/support/Flexibility.js +0 -384
  258. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/Component.js +0 -18
  259. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/controller/Root.controller.js +0 -227
  260. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/index.html +0 -21
  261. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/manifest.json +0 -44
  262. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/view/Root.view.xml +0 -95
  263. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +0 -35
  264. package/src/sap/ui/fl/support/diagnostics/Flexibility.view.xml +0 -41
  265. package/src/sap/ui/fl/support/flexibility.css +0 -32
@@ -5,8 +5,9 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/thirdparty/jquery",
8
+ "sap/base/util/isPlainObject",
9
9
  "sap/ui/base/ManagedObject",
10
+ "sap/ui/core/Core",
10
11
  "sap/ui/fl/Layer",
11
12
  "sap/ui/fl/Utils",
12
13
  "sap/ui/fl/LayerUtils",
@@ -16,8 +17,9 @@ sap.ui.define([
16
17
  "sap/ui/fl/apply/_internal/flexObjects/States",
17
18
  "sap/base/util/includes"
18
19
  ], function (
19
- jQuery,
20
+ isPlainObject,
20
21
  ManagedObject,
22
+ Core,
21
23
  Layer,
22
24
  Utils,
23
25
  LayerUtils,
@@ -44,7 +46,7 @@ sap.ui.define([
44
46
  constructor: function(oFile) {
45
47
  ManagedObject.apply(this);
46
48
 
47
- if (!jQuery.isPlainObject(oFile)) {
49
+ if (!isPlainObject(oFile)) {
48
50
  Log.error("Constructor : sap.ui.fl.Change : oFile is not defined");
49
51
  }
50
52
 
@@ -149,7 +151,7 @@ sap.ui.define([
149
151
 
150
152
  Change.prototype.isValidForDependencyMap = function() {
151
153
  //Change without id in selector should be skipped from adding dependencies process
152
- return this._oDefinition.selector && this._oDefinition.selector.id;
154
+ return this.getSelector() && this.getSelector().id;
153
155
  };
154
156
 
155
157
  Change.prototype.startApplying = function() {
@@ -309,7 +311,7 @@ sap.ui.define([
309
311
  * @public
310
312
  */
311
313
  Change.prototype.isVariant = function () {
312
- return this._oDefinition.fileType === "variant";
314
+ return this.getFileType() === "variant";
313
315
  };
314
316
 
315
317
  /**
@@ -319,9 +321,7 @@ sap.ui.define([
319
321
  * @public
320
322
  */
321
323
  Change.prototype.getChangeType = function () {
322
- if (this._oDefinition) {
323
- return this._oDefinition.changeType;
324
- }
324
+ return this.getDefinition().changeType;
325
325
  };
326
326
 
327
327
  /**
@@ -331,9 +331,7 @@ sap.ui.define([
331
331
  * @public
332
332
  */
333
333
  Change.prototype.getFileName = function () {
334
- if (this._oDefinition) {
335
- return this._oDefinition.fileName;
336
- }
334
+ return this.getDefinition().fileName;
337
335
  };
338
336
 
339
337
  /**
@@ -343,7 +341,7 @@ sap.ui.define([
343
341
  * @public
344
342
  */
345
343
  Change.prototype.getFileType = function () {
346
- return this._oDefinition.fileType;
344
+ return this.getDefinition().fileType;
347
345
  };
348
346
 
349
347
  /**
@@ -353,7 +351,7 @@ sap.ui.define([
353
351
  * @public
354
352
  */
355
353
  Change.prototype.getPackage = function () {
356
- return this._oDefinition.packageName;
354
+ return this.getDefinition().packageName;
357
355
  };
358
356
 
359
357
  /**
@@ -378,7 +376,7 @@ sap.ui.define([
378
376
  * @public
379
377
  */
380
378
  Change.prototype.getNamespace = function () {
381
- return this._oDefinition.namespace;
379
+ return this.getDefinition().namespace;
382
380
  };
383
381
 
384
382
  /**
@@ -400,7 +398,7 @@ sap.ui.define([
400
398
  * @public
401
399
  */
402
400
  Change.prototype.getModuleName = function () {
403
- return this._oDefinition.moduleName;
401
+ return this.getDefinition().moduleName;
404
402
  };
405
403
 
406
404
  /**
@@ -422,7 +420,7 @@ sap.ui.define([
422
420
  * @public
423
421
  */
424
422
  Change.prototype.getProjectId = function () {
425
- return this._oDefinition.projectId;
423
+ return this.getDefinition().projectId;
426
424
  };
427
425
 
428
426
  /**
@@ -432,7 +430,7 @@ sap.ui.define([
432
430
  * @public
433
431
  */
434
432
  Change.prototype.getId = function () {
435
- return this._oDefinition.fileName;
433
+ return this.getDefinition().fileName;
436
434
  };
437
435
 
438
436
  /**
@@ -442,7 +440,7 @@ sap.ui.define([
442
440
  * @public
443
441
  */
444
442
  Change.prototype.getContent = function () {
445
- return this._oDefinition.content;
443
+ return this.getDefinition().content;
446
444
  };
447
445
 
448
446
  /**
@@ -464,7 +462,7 @@ sap.ui.define([
464
462
  * @public
465
463
  */
466
464
  Change.prototype.getVariantReference = function () {
467
- return this._oDefinition.variantReference || "";
465
+ return this.getDefinition().variantReference || "";
468
466
  };
469
467
 
470
468
  /**
@@ -486,7 +484,7 @@ sap.ui.define([
486
484
  * @public
487
485
  */
488
486
  Change.prototype.getSelector = function () {
489
- return this._oDefinition.selector;
487
+ return this.getDefinition().selector;
490
488
  };
491
489
 
492
490
  Change.prototype.setSelector = function (oSelector) {
@@ -505,9 +503,9 @@ sap.ui.define([
505
503
  if (typeof (sTextId) !== "string") {
506
504
  Log.error("sap.ui.fl.Change.getTexts : sTextId is not defined");
507
505
  }
508
- if (this._oDefinition.texts) {
509
- if (this._oDefinition.texts[sTextId]) {
510
- return this._oDefinition.texts[sTextId].value;
506
+ if (this.getDefinition().texts) {
507
+ if (this.getDefinition().texts[sTextId]) {
508
+ return this.getDefinition().texts[sTextId].value;
511
509
  }
512
510
  }
513
511
  return "";
@@ -521,30 +519,53 @@ sap.ui.define([
521
519
  * @function
522
520
  */
523
521
  Change.prototype.getTexts = function () {
524
- return this._oDefinition.texts;
522
+ if (isPlainObject(this.getDefinition().texts)) {
523
+ return Object.assign({}, this.getDefinition().texts);
524
+ }
525
+ return this.getDefinition().texts;
525
526
  };
526
527
 
527
528
  /**
528
- * Sets the new text for the given text ID.
529
+ * Sets the new text for the given text ID or creates new text with the given ID.
529
530
  *
530
531
  * @param {string} sTextId - Text ID which was used as part of the <code>oTexts</code> object
531
532
  * @param {string} sNewText - New text for the given text ID
533
+ * @param {string} sType - Translation text type
532
534
  *
533
535
  * @public
534
536
  */
535
- Change.prototype.setText = function (sTextId, sNewText) {
537
+ Change.prototype.setText = function (sTextId, sNewText, sType) {
536
538
  if (typeof (sTextId) !== "string") {
537
539
  Log.error("sap.ui.fl.Change.setTexts : sTextId is not defined");
538
540
  return;
539
541
  }
542
+ this._oDefinition.texts = this.getDefinition().texts || {};
540
543
  if (this._oDefinition.texts) {
541
544
  if (this._oDefinition.texts[sTextId]) {
542
545
  this._oDefinition.texts[sTextId].value = sNewText;
543
- this.setState(Change.states.DIRTY);
546
+ } else {
547
+ this._oDefinition.texts[sTextId] = {
548
+ value: sNewText,
549
+ type: sType
550
+ };
544
551
  }
552
+ this.setState(Change.states.DIRTY);
545
553
  }
546
554
  };
547
555
 
556
+ /**
557
+ * Returns the OData Information of the change.
558
+ * oDataInformation.propertyName - Name of the OData property
559
+ * oDataInformation.entityType - Name of the OData entity type that the property belongs to
560
+ * oDataInformation.oDataServiceUri - URI of the OData service
561
+ * @returns {object} OData Information of the change - propertyName, entityType and oDataServiceUri
562
+ *
563
+ * @function
564
+ */
565
+ Change.prototype.getODataInformation = function () {
566
+ return this.getDefinition().oDataInformation;
567
+ };
568
+
548
569
  /**
549
570
  * Checks if change is read only because of its source system.
550
571
  * @returns {boolean} <code>true</code> if the change is from another system
@@ -617,7 +638,7 @@ sap.ui.define([
617
638
  * @public
618
639
  */
619
640
  Change.prototype.getLayer = function () {
620
- return this._oDefinition.layer;
641
+ return this.getDefinition().layer;
621
642
  };
622
643
 
623
644
  /**
@@ -627,7 +648,7 @@ sap.ui.define([
627
648
  * @public
628
649
  */
629
650
  Change.prototype.getComponent = function () {
630
- return this._oDefinition.reference;
651
+ return this.getDefinition().reference;
631
652
  };
632
653
 
633
654
  /**
@@ -649,7 +670,18 @@ sap.ui.define([
649
670
  * @public
650
671
  */
651
672
  Change.prototype.getCreation = function () {
652
- return this._oDefinition.creation;
673
+ return this.getDefinition().creation;
674
+ };
675
+
676
+ /**
677
+ * Sets the creation timestamp.
678
+ *
679
+ * @param {string} sCreation creation timestamp
680
+ *
681
+ * @public
682
+ */
683
+ Change.prototype.setCreation = function (sCreation) {
684
+ this._oDefinition.creation = sCreation;
653
685
  };
654
686
 
655
687
  /**
@@ -672,6 +704,11 @@ sap.ui.define([
672
704
  return this._oDefinition;
673
705
  };
674
706
 
707
+ // temporary function
708
+ Change.prototype.convertToFileContent = function() {
709
+ return this.getDefinition();
710
+ };
711
+
675
712
  /**
676
713
  * Sets the response from the back end after the change is saved.
677
714
  * @param {object} oResponse - Content of the change file
@@ -785,6 +822,24 @@ sap.ui.define([
785
822
  return this.getDefinition().dependentSelector && this.getDefinition().dependentSelector.originalSelector;
786
823
  };
787
824
 
825
+ /**
826
+ * Gets the dependent selector.
827
+ *
828
+ * @returns {object|undefined} Dependent selector object if available
829
+ */
830
+ Change.prototype.getDependentSelector = function() {
831
+ return this.getDefinition().dependentSelector;
832
+ };
833
+
834
+ /**
835
+ * Sets the dependent selector.
836
+ *
837
+ * @param {object} oDependentSelector Dependent selector
838
+ */
839
+ Change.prototype.setDependentSelector = function(oDependentSelector) {
840
+ this._oDefinition.dependentSelector = oDependentSelector;
841
+ };
842
+
788
843
  /**
789
844
  * Returns all dependent selectors, including the selector from the selector of the change.
790
845
  *
@@ -796,8 +851,8 @@ sap.ui.define([
796
851
  var aDependentSelectors = [this.getSelector()];
797
852
 
798
853
  if (!this._aDependentSelectorList) {
799
- if (this._oDefinition.dependentSelector) {
800
- Object.keys(this._oDefinition.dependentSelector).some(function(sAlias) {
854
+ if (this.getDefinition().dependentSelector) {
855
+ Object.keys(this.getDefinition().dependentSelector).some(function(sAlias) {
801
856
  // if there is an 'originalSelector' as dependent the change is made inside a template; this means that the
802
857
  // dependent selectors point to the specific clones of the template; those clones don't go through the
803
858
  // propagation listener and will never be cleaned up from the dependencies, thus blocking the JS Change Applying
@@ -806,7 +861,7 @@ sap.ui.define([
806
861
  aDependentSelectors = [this.getSelector()];
807
862
  return true;
808
863
  }
809
- var aCurrentSelector = that._oDefinition.dependentSelector[sAlias];
864
+ var aCurrentSelector = that.getDefinition().dependentSelector[sAlias];
810
865
  if (!Array.isArray(aCurrentSelector)) {
811
866
  aCurrentSelector = [aCurrentSelector];
812
867
  }
@@ -851,6 +906,9 @@ sap.ui.define([
851
906
  * @public
852
907
  */
853
908
  Change.prototype.getRevertData = function() {
909
+ if (isPlainObject(this._vRevertData)) {
910
+ return Object.assign({}, this._vRevertData);
911
+ }
854
912
  return this._vRevertData;
855
913
  };
856
914
 
@@ -885,14 +943,66 @@ sap.ui.define([
885
943
  this.setRevertData(null);
886
944
  };
887
945
 
946
+
947
+ /**
948
+ * Gets the extension point information.
949
+ * @returns {*} Extension point information
950
+ */
888
951
  Change.prototype.getExtensionPointInfo = function() {
952
+ if (isPlainObject(this._oExtensionPointInfo)) {
953
+ return Object.assign({}, this._oExtensionPointInfo);
954
+ }
889
955
  return this._oExtensionPointInfo;
890
956
  };
891
957
 
958
+ /**
959
+ * Sets the extension point information.
960
+ * @param {*} oExtensionPointInfo Extension point information
961
+ */
892
962
  Change.prototype.setExtensionPointInfo = function(oExtensionPointInfo) {
893
963
  this._oExtensionPointInfo = oExtensionPointInfo;
894
964
  };
895
965
 
966
+ /**
967
+ * Gets the support information.
968
+ * @returns {object} Support information
969
+ */
970
+ Change.prototype.getSupportInformation = function() {
971
+ return Object.assign({}, this._oDefinition.support);
972
+ };
973
+
974
+ /**
975
+ * Sets the support information.
976
+ * @param {object} oChangeSupportInformation Support information
977
+ */
978
+ Change.prototype.setSupportInformation = function(oChangeSupportInformation) {
979
+ this._oDefinition.support = oChangeSupportInformation;
980
+ };
981
+
982
+ /**
983
+ * Gets the JSOnly property.
984
+ * @returns {boolean} True if the change is JSOnly
985
+ */
986
+ Change.prototype.getJsOnly = function() {
987
+ return this.getDefinition().jsOnly;
988
+ };
989
+
990
+ /**
991
+ * Sets the JSOnly property.
992
+ * @param {boolean} bJsOnly Value to be set
993
+ */
994
+ Change.prototype.setJsOnly = function(bJsOnly) {
995
+ this._oDefinition.jsOnly = bJsOnly;
996
+ };
997
+
998
+ /**
999
+ * Returns the appDescriptorChange flag.
1000
+ * @returns {boolean} True if the change is an appDescriptor change
1001
+ */
1002
+ Change.prototype.isAppDescriptorChange = function() {
1003
+ return this.getDefinition().appDescriptorChange;
1004
+ };
1005
+
896
1006
  /**
897
1007
  * Creates and returns an instance of a change instance.
898
1008
  *
@@ -958,7 +1068,7 @@ sap.ui.define([
958
1068
  generator: oPropertyBag.generator || "Change.createInitialFileContent",
959
1069
  service: oPropertyBag.service || "",
960
1070
  user: "",
961
- sapui5Version: sap.ui.version,
1071
+ sapui5Version: Core.getConfiguration().getVersion().toString(),
962
1072
  sourceChangeFileName: oPropertyBag.support && oPropertyBag.support.sourceChangeFileName || "",
963
1073
  compositeCommand: oPropertyBag.support && oPropertyBag.support.compositeCommand || "",
964
1074
  command: oPropertyBag.command || oPropertyBag.support && oPropertyBag.support.command || ""
@@ -14,6 +14,8 @@ sap.ui.define([
14
14
  "sap/ui/core/Component",
15
15
  "sap/ui/fl/apply/_internal/changes/Applier",
16
16
  "sap/ui/fl/apply/_internal/changes/Utils",
17
+ "sap/ui/fl/apply/_internal/flexObjects/FlexObject",
18
+ "sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory",
17
19
  "sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler",
18
20
  "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
19
21
  "sap/ui/fl/apply/_internal/flexState/FlexState",
@@ -27,7 +29,6 @@ sap.ui.define([
27
29
  "sap/ui/fl/LayerUtils",
28
30
  "sap/ui/fl/Layer",
29
31
  "sap/ui/fl/Utils",
30
- "sap/ui/fl/Variant",
31
32
  "sap/ui/model/json/JSONModel",
32
33
  "sap/ui/performance/Measurement"
33
34
  ], function(
@@ -40,6 +41,8 @@ sap.ui.define([
40
41
  Component,
41
42
  Applier,
42
43
  ChangesUtils,
44
+ FlexObject,
45
+ FlexObjectFactory,
43
46
  DependencyHandler,
44
47
  VariantManagementState,
45
48
  FlexState,
@@ -53,7 +56,6 @@ sap.ui.define([
53
56
  LayerUtils,
54
57
  Layer,
55
58
  Utils,
56
- Variant,
57
59
  JSONModel,
58
60
  Measurement
59
61
  ) {
@@ -64,7 +66,7 @@ sap.ui.define([
64
66
  *
65
67
  * @constructor
66
68
  * @author SAP SE
67
- * @version 1.103.1
69
+ * @version 1.106.0
68
70
  * @experimental Since 1.25.0
69
71
  * @param {object} mComponent - Component data to initiate <code>ChangePersistence</code> instance
70
72
  * @param {string} mComponent.name - Name of the component this instance is responsible for
@@ -92,12 +94,16 @@ sap.ui.define([
92
94
 
93
95
  function getChangeInstance(oFileContent, oChangeOrChangeContent) {
94
96
  var oChange;
95
- if (oChangeOrChangeContent instanceof Change) {
97
+ if (oChangeOrChangeContent instanceof Change || oChangeOrChangeContent instanceof FlexObject) {
96
98
  oChange = oChangeOrChangeContent; // can have other states
97
- this._mChangesEntries[oChange.getFileName()] = oChange;
99
+ this._mChangesEntries[oChange.getId()] = oChange;
98
100
  } else {
99
101
  if (!this._mChangesEntries[oChangeOrChangeContent.fileName]) {
100
- this._mChangesEntries[oChangeOrChangeContent.fileName] = new Change(oChangeOrChangeContent);
102
+ if (oChangeOrChangeContent.changeType === "codeExt") {
103
+ this._mChangesEntries[oChangeOrChangeContent.fileName] = FlexObjectFactory.createFromFileContent(oChangeOrChangeContent);
104
+ } else {
105
+ this._mChangesEntries[oChangeOrChangeContent.fileName] = new Change(oChangeOrChangeContent);
106
+ }
101
107
  }
102
108
  oChange = this._mChangesEntries[oChangeOrChangeContent.fileName];
103
109
  oChange.setState(Change.states.PERSISTED);
@@ -122,7 +128,7 @@ sap.ui.define([
122
128
  * @param {object} oAppComponent - Application component
123
129
  * @returns {Promise} Returns a promise with an ETag for caching
124
130
  * @private
125
- * @restricted sap.ui.fl
131
+ * @ui5-restricted sap.ui.fl
126
132
  */
127
133
  ChangePersistence.prototype.getCacheKey = function(oAppComponent) {
128
134
  return Cache.getCacheKey(this._mComponent, oAppComponent);
@@ -131,7 +137,7 @@ sap.ui.define([
131
137
  /**
132
138
  * Verifies whether a change fulfils the preconditions.
133
139
  *
134
- * All changes need to have a fileName;
140
+ * All changes need to have a fileType;
135
141
  * only changes whose <code>fileType</code> is 'change' and whose <code>changeType</code> is different from 'defaultVariant' are valid;
136
142
  *
137
143
  * @param {object} oChangeOrChangeContent Change instance or content of the change
@@ -139,14 +145,30 @@ sap.ui.define([
139
145
  * @returns {boolean} <code>true</code> if all the preconditions are fulfilled
140
146
  */
141
147
  function preconditionsFulfilled(oChangeOrChangeContent) {
142
- var oChangeContent = oChangeOrChangeContent instanceof Change ? oChangeOrChangeContent.getDefinition() : oChangeOrChangeContent;
148
+ var sFileType;
149
+ var sVariantManagementReference;
150
+ var sVariantReference;
151
+ var sSelectorId;
152
+
153
+ if (oChangeOrChangeContent instanceof Change) {
154
+ var oChange = oChangeOrChangeContent;
155
+ sFileType = oChange.getFileType();
156
+ sVariantReference = oChange.getVariantReference();
157
+ sSelectorId = oChange.getSelector() && oChange.getSelector().id;
158
+ } else {
159
+ var oChangeContent = oChangeOrChangeContent;
160
+ sFileType = oChangeContent.fileType;
161
+ sVariantManagementReference = oChangeContent.variantManagementReference;
162
+ sVariantReference = oChangeContent.variantReference;
163
+ sSelectorId = oChangeContent.selector && oChangeContent.selector.id;
164
+ }
143
165
 
144
166
  var bControlVariantChange = false;
145
- if ((oChangeContent.fileType === "ctrl_variant") || (oChangeContent.fileType === "ctrl_variant_change") || (oChangeContent.fileType === "ctrl_variant_management_change")) {
146
- bControlVariantChange = oChangeContent.variantManagementReference || oChangeContent.variantReference || (oChangeContent.selector && oChangeContent.selector.id);
167
+ if ((sFileType === "ctrl_variant") || (sFileType === "ctrl_variant_change") || (sFileType === "ctrl_variant_management_change")) {
168
+ bControlVariantChange = sVariantManagementReference || sVariantReference || sSelectorId;
147
169
  }
148
170
 
149
- return oChangeContent.fileType === "change" || bControlVariantChange;
171
+ return sFileType === "change" || bControlVariantChange;
150
172
  }
151
173
 
152
174
  /**
@@ -240,7 +262,10 @@ sap.ui.define([
240
262
 
241
263
  function getLayerFromChangeOrChangeContent(oChangeOrChangeContent) {
242
264
  var sChangeLayer;
243
- if (oChangeOrChangeContent instanceof Variant || oChangeOrChangeContent instanceof Change) {
265
+ if (
266
+ typeof oChangeOrChangeContent.isA === "function"
267
+ && (oChangeOrChangeContent.isA("sap.ui.fl.apply._internal.flexObjects.FlVariant") || oChangeOrChangeContent.isA("sap.ui.fl.Change"))
268
+ ) {
244
269
  sChangeLayer = oChangeOrChangeContent.getLayer();
245
270
  } else {
246
271
  sChangeLayer = oChangeOrChangeContent.layer;
@@ -289,15 +314,15 @@ sap.ui.define([
289
314
  };
290
315
 
291
316
  /**
292
- * Checks the current dependencies map for any unresolved dependencies belonging to the given control
293
- * Returns true as soon as the first dependency is found, otherwise false
317
+ * Checks the current dependencies map for any open (unresolved) dependencies belonging to the given control
318
+ * and returns the IDs of the open dependent changes.
294
319
  *
295
320
  * @param {object} oSelector selector of the control
296
321
  * @param {sap.ui.core.Component} oAppComponent - Application component instance that is currently loading
297
- * @returns {boolean} Returns true if there are open dependencies
322
+ * @returns {sap.ui.fl.Change[]} Array of all open dependent changes for the control
298
323
  */
299
- ChangePersistence.prototype.checkForOpenDependenciesForControl = function(oSelector, oAppComponent) {
300
- return DependencyHandler.checkForOpenDependenciesForControl(this._mChanges, JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent), oAppComponent);
324
+ ChangePersistence.prototype.getOpenDependentChangesForControl = function(oSelector, oAppComponent) {
325
+ return DependencyHandler.getOpenDependentChangesForControl(this._mChanges, JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent), oAppComponent);
301
326
  };
302
327
 
303
328
  function getInitalDependencyClone(oChange) {
@@ -487,7 +512,7 @@ sap.ui.define([
487
512
  ChangePersistence.prototype.addChange = function(vChange, oAppComponent) {
488
513
  var oChange = this.addDirtyChange(vChange);
489
514
  this._addRunTimeCreatedChangeAndUpdateDependencies(oAppComponent, oChange);
490
- this._mChangesEntries[oChange.getFileName()] = oChange;
515
+ this._mChangesEntries[oChange.getId()] = oChange;
491
516
  this._addPropagationListener(oAppComponent);
492
517
  return oChange;
493
518
  };
@@ -501,7 +526,10 @@ sap.ui.define([
501
526
  */
502
527
  ChangePersistence.prototype.addDirtyChange = function(vChange) {
503
528
  var oNewChange;
504
- if (vChange instanceof Change || vChange instanceof Variant) {
529
+ if (
530
+ typeof vChange.isA === "function"
531
+ && (vChange.isA("sap.ui.fl.Change") || vChange.isA("sap.ui.fl.apply._internal.flexObjects.FlexObject"))
532
+ ) {
505
533
  oNewChange = vChange;
506
534
  } else {
507
535
  oNewChange = new Change(vChange);
@@ -549,7 +577,7 @@ sap.ui.define([
549
577
  if (bAlreadyDeletedViaCondense) {
550
578
  this.removeChange(oChange);
551
579
  // Remove also from Cache if the persisted change is still there (e.g. navigate away and back to the app)
552
- Cache.deleteChange(this._mComponent, oChange.getDefinition());
580
+ Cache.deleteChange(this._mComponent, oChange.convertToFileContent());
553
581
  } else {
554
582
  this.deleteChange(oChange);
555
583
  }
@@ -608,7 +636,7 @@ sap.ui.define([
608
636
  var sLayer = aDirtyChanges[0].getLayer();
609
637
  var aPersistedAndSameLayerChanges = this._mChanges.aChanges.filter(function(oChange) {
610
638
  if (sLayer === Layer.CUSTOMER && aDraftFilenames) {
611
- return oChange.getState() === Change.states.PERSISTED && aDraftFilenames.includes(oChange.getFileName());
639
+ return oChange.getState() === Change.states.PERSISTED && aDraftFilenames.includes(oChange.getId());
612
640
  }
613
641
  return oChange.getState() === Change.states.PERSISTED && LayerUtils.compareAgainstCurrentLayer(oChange.getLayer(), sLayer) === 0;
614
642
  });
@@ -650,7 +678,7 @@ sap.ui.define([
650
678
  }
651
679
  return oCondensedChangesPromise.then(function(aCondensedChanges) {
652
680
  var sRequest = aRequests[0];
653
- var sLayer = aDirtyChanges[0].getDefinition().layer;
681
+ var sLayer = aDirtyChanges[0].getLayer();
654
682
  if (bIsCondensingEnabled) {
655
683
  return Storage.condense({
656
684
  allChanges: aAllChanges,
@@ -720,13 +748,13 @@ sap.ui.define([
720
748
  }
721
749
  return Storage.write({
722
750
  layer: oDirtyChange.getLayer(),
723
- flexObjects: [oDirtyChange.getDefinition()],
751
+ flexObjects: [oDirtyChange.convertToFileContent()],
724
752
  transport: oDirtyChange.getRequest(),
725
753
  parentVersion: sParentVersion
726
754
  });
727
755
  case Change.states.DELETED:
728
756
  return Storage.remove({
729
- flexObject: oDirtyChange.getDefinition(),
757
+ flexObject: oDirtyChange.convertToFileContent(),
730
758
  layer: oDirtyChange.getLayer(),
731
759
  transport: oDirtyChange.getRequest(),
732
760
  parentVersion: sParentVersion
@@ -756,14 +784,14 @@ sap.ui.define([
756
784
  switch (oDirtyChange.getState()) {
757
785
  case Change.states.NEW:
758
786
  oDirtyChange.setState(Change.states.PERSISTED);
759
- Cache.addChange(this._mComponent, oDirtyChange.getDefinition());
787
+ Cache.addChange(this._mComponent, oDirtyChange.convertToFileContent());
760
788
  break;
761
789
  case Change.states.DELETED:
762
- Cache.deleteChange(this._mComponent, oDirtyChange.getDefinition());
790
+ Cache.deleteChange(this._mComponent, oDirtyChange.convertToFileContent());
763
791
  break;
764
792
  case Change.states.DIRTY:
765
793
  oDirtyChange.setState(Change.states.PERSISTED);
766
- Cache.updateChange(this._mComponent, oDirtyChange.getDefinition());
794
+ Cache.updateChange(this._mComponent, oDirtyChange.convertToFileContent());
767
795
  break;
768
796
  }
769
797
  }
@@ -811,7 +839,7 @@ sap.ui.define([
811
839
  var aChanges = [];
812
840
 
813
841
  aDirtyChanges.forEach(function(oChange) {
814
- aChanges.push(oChange.getDefinition());
842
+ aChanges.push(oChange.convertToFileContent());
815
843
  });
816
844
 
817
845
  return aChanges;
@@ -929,7 +957,7 @@ sap.ui.define([
929
957
  */
930
958
  ChangePersistence.prototype._getChangesFromMapByNames = function(aNames) {
931
959
  return this._mChanges.aChanges.filter(function(oChange) {
932
- return aNames.indexOf(oChange.getFileName()) !== -1;
960
+ return aNames.indexOf(oChange.getId()) !== -1;
933
961
  });
934
962
  };
935
963
 
@@ -955,7 +983,7 @@ sap.ui.define([
955
983
  return false;
956
984
  }
957
985
 
958
- if (sGenerator && oChange.getDefinition().support.generator !== sGenerator) {
986
+ if (sGenerator && oChange.getSupportInformation().generator !== sGenerator) {
959
987
  return false;
960
988
  }
961
989
 
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @alias sap.ui.fl.ChangePersistenceFactory
31
31
  * @experimental Since 1.27.0
32
32
  * @author SAP SE
33
- * @version 1.103.1
33
+ * @version 1.106.0
34
34
  * @private
35
35
  * @ui5-restricted sap.ui.fl
36
36
  */
@@ -27,6 +27,12 @@ sap.ui.define([
27
27
  * Hooks into the {@link sap.ui.fl.LrepConnector.createConnector} factory function to enable the fake LRep connector.
28
28
  * After enabling fake LRep connector, function {@link sap.ui.fl.FakeLrepConnector.disableFakeConnector} must be called to restore the original connector.
29
29
  *
30
+ * @private
31
+ * @ui5-restricted
32
+ * @deprecated since 1.70. Configure the <code>sap.ui.core.Configuration.flexibilityServices</code> to use a test connector
33
+ * like <code>["LocalStorageConnector"]</code>, <code>["SessionStorageConnector"]</code> or <code>["JsObjectConnector"]</code>.
34
+ * @see {@link https://ui5.sap.com/#/topic/642dab291a7b47ec9d46c39b3c482aba|Boostrapping UI5 Flexibility}
35
+ *
30
36
  * @param {string} sInitialComponentJsonPath Relative path to a test-component-changes.json file
31
37
  */
32
38
  FakeLrepConnector.enableFakeConnector = function(sInitialComponentJsonPath) {