@openui5/sap.ui.fl 1.121.1 → 1.122.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 (203) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/fl/.library +1 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +1 -49
  5. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  6. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  7. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  8. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  9. package/src/sap/ui/fl/FlexController.js +23 -21
  10. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  11. package/src/sap/ui/fl/LayerUtils.js +1 -1
  12. package/src/sap/ui/fl/Utils.js +2 -2
  13. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +224 -204
  15. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +2 -2
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +16 -17
  39. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +61 -48
  50. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  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 +2 -2
  55. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +35 -5
  56. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  57. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +11 -30
  59. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +6 -4
  60. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -8
  62. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +38 -7
  63. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  64. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +0 -1
  65. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  81. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  82. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  83. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  90. package/src/sap/ui/fl/initial/_internal/connectors/BtpServiceConnector.js +2 -2
  91. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +2 -2
  92. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +18 -5
  93. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  94. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  95. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  96. package/src/sap/ui/fl/library.js +43 -43
  97. package/src/sap/ui/fl/messagebundle_ar.properties +2 -0
  98. package/src/sap/ui/fl/messagebundle_bg.properties +2 -0
  99. package/src/sap/ui/fl/messagebundle_ca.properties +2 -0
  100. package/src/sap/ui/fl/messagebundle_cnr.properties +2 -0
  101. package/src/sap/ui/fl/messagebundle_cs.properties +2 -0
  102. package/src/sap/ui/fl/messagebundle_cy.properties +2 -0
  103. package/src/sap/ui/fl/messagebundle_da.properties +2 -0
  104. package/src/sap/ui/fl/messagebundle_de.properties +2 -0
  105. package/src/sap/ui/fl/messagebundle_el.properties +2 -0
  106. package/src/sap/ui/fl/messagebundle_en.properties +2 -0
  107. package/src/sap/ui/fl/messagebundle_en_GB.properties +2 -0
  108. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +2 -0
  109. package/src/sap/ui/fl/messagebundle_es.properties +2 -0
  110. package/src/sap/ui/fl/messagebundle_es_MX.properties +2 -0
  111. package/src/sap/ui/fl/messagebundle_et.properties +2 -0
  112. package/src/sap/ui/fl/messagebundle_fi.properties +2 -0
  113. package/src/sap/ui/fl/messagebundle_fr.properties +2 -0
  114. package/src/sap/ui/fl/messagebundle_fr_CA.properties +2 -0
  115. package/src/sap/ui/fl/messagebundle_hi.properties +2 -0
  116. package/src/sap/ui/fl/messagebundle_hr.properties +2 -0
  117. package/src/sap/ui/fl/messagebundle_hu.properties +2 -0
  118. package/src/sap/ui/fl/messagebundle_id.properties +2 -0
  119. package/src/sap/ui/fl/messagebundle_it.properties +2 -0
  120. package/src/sap/ui/fl/messagebundle_iw.properties +2 -0
  121. package/src/sap/ui/fl/messagebundle_ja.properties +2 -0
  122. package/src/sap/ui/fl/messagebundle_kk.properties +3 -1
  123. package/src/sap/ui/fl/messagebundle_ko.properties +2 -0
  124. package/src/sap/ui/fl/messagebundle_lt.properties +2 -0
  125. package/src/sap/ui/fl/messagebundle_lv.properties +2 -0
  126. package/src/sap/ui/fl/messagebundle_mk.properties +3 -1
  127. package/src/sap/ui/fl/messagebundle_ms.properties +2 -0
  128. package/src/sap/ui/fl/messagebundle_nl.properties +2 -0
  129. package/src/sap/ui/fl/messagebundle_no.properties +2 -0
  130. package/src/sap/ui/fl/messagebundle_pl.properties +2 -0
  131. package/src/sap/ui/fl/messagebundle_pt.properties +2 -0
  132. package/src/sap/ui/fl/messagebundle_pt_PT.properties +2 -0
  133. package/src/sap/ui/fl/messagebundle_ro.properties +2 -0
  134. package/src/sap/ui/fl/messagebundle_ru.properties +2 -0
  135. package/src/sap/ui/fl/messagebundle_sh.properties +2 -0
  136. package/src/sap/ui/fl/messagebundle_sk.properties +2 -0
  137. package/src/sap/ui/fl/messagebundle_sl.properties +2 -0
  138. package/src/sap/ui/fl/messagebundle_sr.properties +2 -0
  139. package/src/sap/ui/fl/messagebundle_sv.properties +2 -0
  140. package/src/sap/ui/fl/messagebundle_th.properties +2 -0
  141. package/src/sap/ui/fl/messagebundle_tr.properties +2 -0
  142. package/src/sap/ui/fl/messagebundle_uk.properties +3 -1
  143. package/src/sap/ui/fl/messagebundle_vi.properties +2 -0
  144. package/src/sap/ui/fl/messagebundle_zh_CN.properties +2 -0
  145. package/src/sap/ui/fl/messagebundle_zh_TW.properties +2 -0
  146. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
  147. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  148. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  149. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  150. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  151. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  152. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  153. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  154. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  155. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  156. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  157. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  158. package/src/sap/ui/fl/util/IFrame.js +1 -1
  159. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  160. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  161. package/src/sap/ui/fl/variants/VariantModel.js +1 -1
  162. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +3 -2
  163. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  171. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  172. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +9 -9
  173. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +19 -20
  174. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  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.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +5 -18
  194. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  195. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +5 -1
  196. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  197. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  198. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +6 -4
  199. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +8 -13
  200. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  201. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +0 -6
  202. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +17 -2
  203. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +0 -91
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  *
41
41
  * @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
42
42
  * @since 1.70
43
- * @version 1.121.1
43
+ * @version 1.122.0
44
44
  * @private
45
45
  * @ui5-restricted sap.ui.fl.write._internal.Storage
46
46
  */
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  var aParameters = ["type", "$skip", "$filter"];
73
73
  var mParameters = _pick(mPropertyBag, aParameters);
74
74
 
75
- var sContextsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.CONTEXTS, mPropertyBag, mParameters);
75
+ var sContextsUrl = InitialUtils.getUrl(this.ROUTES.CONTEXTS, mPropertyBag, mParameters);
76
76
  return InitialUtils.sendRequest(sContextsUrl, "GET", {initialConnector: InitialConnector}).then(function(oResult) {
77
77
  return oResult.response;
78
78
  });
@@ -81,8 +81,8 @@ sap.ui.define([
81
81
  loadContextDescriptions(mPropertyBag) {
82
82
  var mParameters = {};
83
83
  InitialUtils.addLanguageInfo(mParameters);
84
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
85
- var sContextsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.CONTEXTS, mPropertyBag, mParameters);
84
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
85
+ var sContextsUrl = InitialUtils.getUrl(this.ROUTES.CONTEXTS, mPropertyBag, mParameters);
86
86
  mPropertyBag.payload = JSON.stringify(mPropertyBag.flexObjects);
87
87
  mPropertyBag.dataType = "json";
88
88
  mPropertyBag.contentType = "application/json; charset=utf-8";
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
 
109
109
  function _enhancePropertyBagWithTokenInfo(mPropertyBag) {
110
110
  mPropertyBag.initialConnector = InitialConnector;
111
- mPropertyBag.tokenUrl = KeyUserConnector.ROUTES.TOKEN;
111
+ mPropertyBag.tokenUrl = this.ROUTES.TOKEN;
112
112
  }
113
113
 
114
114
  function _enhancePropertyBagForDraftActivation(mPropertyBag) {
@@ -128,11 +128,11 @@ sap.ui.define([
128
128
 
129
129
  KeyUserConnector.versions = {
130
130
  load(mPropertyBag) {
131
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
131
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
132
132
  var mParameters = {};
133
133
  InitialUtils.addLanguageInfo(mParameters);
134
134
  mParameters.limit = mPropertyBag.limit;
135
- var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.GET, mPropertyBag, mParameters);
135
+ var sVersionsUrl = InitialUtils.getUrl(this.ROUTES.VERSIONS.GET, mPropertyBag, mParameters);
136
136
  return InitialUtils.sendRequest(sVersionsUrl, "GET", mPropertyBag).then(function(oResult) {
137
137
  return oResult.response.versions.map(function(oVersion) {
138
138
  return renameVersionNumberProperty(oVersion);
@@ -140,19 +140,19 @@ sap.ui.define([
140
140
  });
141
141
  },
142
142
  activate(mPropertyBag) {
143
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
143
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
144
144
  _enhancePropertyBagForDraftActivation(mPropertyBag);
145
145
  var mParameters = {version: mPropertyBag.version};
146
146
  InitialUtils.addLanguageInfo(mParameters);
147
- var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.ACTIVATE, mPropertyBag, mParameters);
147
+ var sVersionsUrl = InitialUtils.getUrl(this.ROUTES.VERSIONS.ACTIVATE, mPropertyBag, mParameters);
148
148
  return WriteUtils.sendRequest(sVersionsUrl, "POST", mPropertyBag).then(function(oResult) {
149
149
  var oVersion = oResult.response;
150
150
  return renameVersionNumberProperty(oVersion);
151
151
  });
152
152
  },
153
153
  discardDraft(mPropertyBag) {
154
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
155
- var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.DISCARD, mPropertyBag);
154
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
155
+ var sVersionsUrl = InitialUtils.getUrl(this.ROUTES.VERSIONS.DISCARD, mPropertyBag);
156
156
  return WriteUtils.sendRequest(sVersionsUrl, "DELETE", mPropertyBag);
157
157
  },
158
158
  publish(mPropertyBag) {
@@ -169,10 +169,9 @@ sap.ui.define([
169
169
  });
170
170
  return "Error";
171
171
  };
172
-
173
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
172
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
174
173
  var mParameters = {version: mPropertyBag.version};
175
- var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.PUBLISH, mPropertyBag, mParameters);
174
+ var sVersionsUrl = InitialUtils.getUrl(this.ROUTES.VERSIONS.PUBLISH, mPropertyBag, mParameters);
176
175
  return WriteUtils.sendRequest(sVersionsUrl, "POST", mPropertyBag).then(function() {
177
176
  BusyIndicator.hide();
178
177
  return oResourceBundle.getText("MSG_CF_PUBLISH_SUCCESS");
@@ -182,26 +181,26 @@ sap.ui.define([
182
181
 
183
182
  KeyUserConnector.translation = {
184
183
  getTexts(mPropertyBag) {
185
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
184
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
186
185
  var mParameters = _pick(mPropertyBag, ["sourceLanguage", "targetLanguage"]);
187
- var sTranslationUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.TRANSLATION.DOWNLOAD, mPropertyBag, mParameters);
186
+ var sTranslationUrl = InitialUtils.getUrl(this.ROUTES.TRANSLATION.DOWNLOAD, mPropertyBag, mParameters);
188
187
  return InitialUtils.sendRequest(sTranslationUrl, "GET", mPropertyBag).then(function(oResult) {
189
188
  return oResult.response;
190
189
  });
191
190
  },
192
191
 
193
192
  getSourceLanguages(mPropertyBag) {
194
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
193
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
195
194
  var mParameters = {};
196
- var sTranslationUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.TRANSLATION.GET_SOURCELANGUAGE, mPropertyBag, mParameters);
195
+ var sTranslationUrl = InitialUtils.getUrl(this.ROUTES.TRANSLATION.GET_SOURCELANGUAGE, mPropertyBag, mParameters);
197
196
  return InitialUtils.sendRequest(sTranslationUrl, "GET", mPropertyBag).then(function(oResult) {
198
197
  return oResult && oResult.response && oResult.response.sourceLanguages ? oResult.response.sourceLanguages : [];
199
198
  });
200
199
  },
201
200
 
202
201
  postTranslationTexts(mPropertyBag) {
203
- _enhancePropertyBagWithTokenInfo(mPropertyBag);
204
- var sTranslationUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.TRANSLATION.UPLOAD, mPropertyBag, {});
202
+ _enhancePropertyBagWithTokenInfo.call(this, mPropertyBag);
203
+ var sTranslationUrl = InitialUtils.getUrl(this.ROUTES.TRANSLATION.UPLOAD, mPropertyBag, {});
205
204
  return InitialUtils.sendRequest(sTranslationUrl, "POST", mPropertyBag);
206
205
  }
207
206
  };
@@ -167,7 +167,7 @@ sap.ui.define([
167
167
  *
168
168
  * @namespace sap.ui.fl.write._internal.connectors.LrepConnector
169
169
  * @since 1.67
170
- * @version 1.121.1
170
+ * @version 1.122.0
171
171
  * @private
172
172
  * @ui5-restricted sap.ui.fl.write._internal.Storage
173
173
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.write._internal.connectors.NeoLrepConnector
22
22
  * @since 1.81
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.write._internal.Storage
26
26
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.connectors.ObjectPathConnector
26
26
  * @since 1.73
27
- * @version 1.121.1
27
+ * @version 1.122.0
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.write._internal.Storage
30
30
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @namespace sap.ui.fl.write._internal.connectors.PersonalizationConnector
25
25
  * @since 1.70
26
- * @version 1.121.1
26
+ * @version 1.122.0
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl.write._internal.Storage
29
29
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.write._internal.connectors.Utils
18
18
  * @since 1.70
19
- * @version 1.121.1
19
+ * @version 1.122.0
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.connectors, sap.ui.fl.write._internal.transport
22
22
  */
@@ -35,7 +35,7 @@ function(
35
35
  * @class
36
36
  * @constructor
37
37
  * @author SAP SE
38
- * @version 1.121.1
38
+ * @version 1.122.0
39
39
  */
40
40
  var Processor = {
41
41
  applyExtensionPoint(oExtensionPoint) {
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPAccess
41
41
  * @since 1.87.0
42
42
  * @author SAP SE
43
- * @version 1.121.1
43
+ * @version 1.122.0
44
44
  * @private
45
45
  */
46
46
  var ABAPAccess = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @class
18
18
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariant
19
19
  * @since 1.87
20
- * @version 1.121.1
20
+ * @version 1.122.0
21
21
  * @public
22
22
  * @param {sap.ui.base.ManagedObject} oControl - Control to add extensions
23
23
  */
@@ -115,7 +115,7 @@ sap.ui.define([
115
115
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariantFactory
116
116
  * @since 1.87.0
117
117
  * @author SAP SE
118
- * @version 1.121.1
118
+ * @version 1.122.0
119
119
  * @private
120
120
  */
121
121
  var ABAPExtensibilityVariantFactory = {};
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.MultiTenantABAPExtensibilityVariant
26
26
  * @since 1.87
27
- * @version 1.121.1
27
+ * @version 1.122.0
28
28
  * @public
29
29
  */
30
30
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ServiceValidation
20
20
  * @since 1.87.0
21
21
  * @author SAP SE
22
- * @version 1.121.1
22
+ * @version 1.122.0
23
23
  * @private
24
24
  */
25
25
  var ServiceValidation = {};
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.SingleTenantABAPExtensibilityVariant
45
45
  * @since 1.87
46
- * @version 1.121.1
46
+ * @version 1.122.0
47
47
  * @public
48
48
  */
49
49
 
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.UriParser
135
135
  * @since 1.87.0
136
136
  * @author SAP SE
137
- * @version 1.121.1
137
+ * @version 1.122.0
138
138
  * @private
139
139
  */
140
140
  var UriParser = {};
@@ -245,7 +245,7 @@ sap.ui.define([
245
245
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.Utils
246
246
  * @since 1.87.0
247
247
  * @author SAP SE
248
- * @version 1.121.1
248
+ * @version 1.122.0
249
249
  * @private
250
250
  */
251
251
  var Utils = {};
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @since 1.93
25
25
  * @private
26
26
  * @author SAP SE
27
- * @version 1.121.1
27
+ * @version 1.122.0
28
28
  */
29
29
  var CAPAccess = {};
30
30
 
@@ -82,7 +82,7 @@ sap.ui.define([
82
82
  * @extends sap.ui.base.ManagedObject
83
83
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.dialog.CustomFieldCAPDialog
84
84
  * @author SAP SE
85
- * @version 1.121.1
85
+ * @version 1.122.0
86
86
  * @since 1.93
87
87
  * @private
88
88
  * @ui5-restricted
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.booleanEditor.BooleanEditor
19
19
  * @author SAP SE
20
20
  * @since 1.93
21
- * @version 1.121.1
21
+ * @version 1.122.0
22
22
  *
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.rangeEditor.RangeEditor
21
21
  * @author SAP SE
22
22
  * @since 1.93
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  *
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.timeEditor.TimeEditor
23
23
  * @author SAP SE
24
24
  * @since 1.93
25
- * @version 1.121.1
25
+ * @version 1.122.0
26
26
  *
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl
@@ -39,22 +39,12 @@ sap.ui.define([
39
39
  * @namespace
40
40
  * @alias sap.ui.fl.write._internal.flexState.FlexObjectState
41
41
  * @since 1.83
42
- * @version 1.121.1
42
+ * @version 1.122.0
43
43
  * @private
44
44
  * @ui5-restricted sap.ui.fl
45
45
  */
46
46
  var FlexObjectState = {};
47
47
 
48
- function initFlexStateAndSetReference(mPropertyBag) {
49
- mPropertyBag.reference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.selector);
50
- return FlexState.initialize({
51
- componentId: mPropertyBag.componentId || Utils.getAppComponentForControl(mPropertyBag.selector).getId(),
52
- reference: mPropertyBag.reference,
53
- componentData: {},
54
- manifest: {}
55
- });
56
- }
57
-
58
48
  function getCompVariantEntities(mPropertyBag) {
59
49
  var mCompEntities = FlexState.getCompVariantsMap(mPropertyBag.reference);
60
50
  var aEntities = [];
@@ -195,13 +185,10 @@ sap.ui.define([
195
185
  * @param {boolean} [mPropertyBag.version] - The version for which the objects are retrieved
196
186
  * @returns {Promise<sap.ui.fl.apply._internal.flexObjects.FlexObject[]>} Flex objects, containing changes, compVariants & changes as well as ctrl_variant and changes
197
187
  */
198
- FlexObjectState.getFlexObjects = function(mPropertyBag) {
199
- return initFlexStateAndSetReference(mPropertyBag)
200
- .then(function() {
201
- return getChangePersistenceEntities(mPropertyBag);
202
- }).then(function(aChangePersistenceEntities) {
203
- return getCompVariantEntities(mPropertyBag).concat(aChangePersistenceEntities);
204
- });
188
+ FlexObjectState.getFlexObjects = async function(mPropertyBag) {
189
+ mPropertyBag.reference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.selector);
190
+ const aChangePersistenceEntities = await getChangePersistenceEntities(mPropertyBag);
191
+ return getCompVariantEntities(mPropertyBag).concat(aChangePersistenceEntities);
205
192
  };
206
193
 
207
194
  /**
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.write._internal.flexState.UI2Personalization.UI2PersonalizationState
22
22
  * @since 1.120
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  * @private
25
25
  * @ui5-restricted
26
26
  */
@@ -291,7 +291,7 @@ sap.ui.define([
291
291
  *
292
292
  * @namespace sap.ui.fl.write._internal.flexState.compVariants.CompVariantState
293
293
  * @since 1.83
294
- * @version 1.121.1
294
+ * @version 1.122.0
295
295
  * @private
296
296
  * @ui5-restricted sap.ui.fl
297
297
  */
@@ -349,6 +349,7 @@ sap.ui.define([
349
349
  oChange.addRevertInfo(new RevertData({
350
350
  type: CompVariantState.operationType.NewChange
351
351
  }));
352
+ FlexState.addDirtyFlexObject(mPropertyBag.reference, oChange);
352
353
  } else {
353
354
  oChange.addRevertInfo(new RevertData({
354
355
  type: CompVariantState.operationType.ContentUpdate,
@@ -425,6 +426,7 @@ sap.ui.define([
425
426
  var oMapOfPersistencyKey = mCompVariantsMap._getOrCreate(mPropertyBag.persistencyKey);
426
427
  oMapOfPersistencyKey.variants.push(oFlexObject);
427
428
  oMapOfPersistencyKey.byId[oFlexObject.getId()] = oFlexObject;
429
+ FlexState.addDirtyFlexObject(mPropertyBag.reference, oFlexObject);
428
430
  return oFlexObject;
429
431
  };
430
432
 
@@ -559,6 +561,7 @@ sap.ui.define([
559
561
  var sPersistencyKey = oChange.getSelector().persistencyKey;
560
562
  mCompVariantsMap[sPersistencyKey].changes.push(oChange);
561
563
  mCompVariantsMap[sPersistencyKey].byId[oChange.getId()] = oChange;
564
+ FlexState.addDirtyFlexObject(mPropertyBag.reference, oChange);
562
565
  }
563
566
 
564
567
  var oContent = {};
@@ -738,6 +741,7 @@ sap.ui.define([
738
741
  mCompVariantsMap[sPersistencyKey].changes = mCompVariantsMap[sPersistencyKey].changes.filter(function(oChangeInMap) {
739
742
  return oChangeInMap !== oChange;
740
743
  });
744
+ FlexState.removeDirtyFlexObject(mPropertyBag.reference, oChange);
741
745
  }
742
746
 
743
747
  var oVariant = getVariantById(mPropertyBag);
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @private
27
27
  * @alias sap.ui.fl.write._internal.transport.TransportSelection
28
28
  * @author SAP SE
29
- * @version 1.121.1
29
+ * @version 1.122.0
30
30
  * @since 1.74.0
31
31
  * Helper object to select an ABAP transport for an LREP object. This is not a generic utility to select a transport request, but part
32
32
  * of the SmartVariant control.
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * Entity that handles ABAP transport related information.
28
28
  * @alias sap.ui.fl.write._internal.transport.Transports
29
29
  * @author SAP SE
30
- * @version 1.121.1
30
+ * @version 1.122.0
31
31
  * @since 1.74.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.fl.write._internal.transport
@@ -16,12 +16,12 @@ sap.ui.define([
16
16
  "sap/ui/fl/apply/_internal/changes/Reverter",
17
17
  "sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory",
18
18
  "sap/ui/fl/apply/_internal/flexObjects/States",
19
+ "sap/ui/fl/apply/_internal/flexState/changes/UIChangesState",
19
20
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
20
21
  "sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory",
21
22
  "sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage",
22
23
  "sap/ui/fl/write/api/ContextBasedAdaptationsAPI",
23
24
  "sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory",
24
- "sap/ui/fl/ChangePersistenceFactory",
25
25
  "sap/ui/fl/Utils"
26
26
  ], function(
27
27
  _omit,
@@ -35,12 +35,12 @@ sap.ui.define([
35
35
  Reverter,
36
36
  FlexObjectFactory,
37
37
  States,
38
+ UIChangesState,
38
39
  ManifestUtils,
39
40
  DescriptorChangeFactory,
40
41
  ChangeHandlerStorage,
41
42
  ContextBasedAdaptationsAPI,
42
43
  AppVariantInlineChangeFactory,
43
- ChangePersistenceFactory,
44
44
  Utils
45
45
  ) {
46
46
  "use strict";
@@ -189,8 +189,10 @@ sap.ui.define([
189
189
  // TODO: Descriptor apply function
190
190
  return Applier.applyChangeOnControl(mPropertyBag.change, mPropertyBag.element, _omit(mPropertyBag, ["element", "change"]))
191
191
  .then(function(oResult) {
192
- var oChangePersistence = ChangePersistenceFactory.getChangePersistenceForControl(mPropertyBag.element);
193
- var aDependentChanges = oChangePersistence.getOpenDependentChangesForControl(mPropertyBag.change.getSelector(), mPropertyBag.appComponent);
192
+ var aDependentChanges = UIChangesState.getOpenDependentChangesForControl(
193
+ JsControlTreeModifier.getControlIdBySelector(mPropertyBag.change.getSelector(), mPropertyBag.appComponent),
194
+ mPropertyBag.appComponent
195
+ );
194
196
  if (aDependentChanges.length > 0) {
195
197
  return ChangesWriteAPI.revert({
196
198
  change: mPropertyBag.change,
@@ -107,7 +107,7 @@ sap.ui.define([
107
107
  * @private
108
108
  * @ui5-restricted
109
109
  */
110
- add(mPropertyBag) {
110
+ async add(mPropertyBag) {
111
111
  if (!mPropertyBag.changes.length) {
112
112
  return Promise.resolve([]);
113
113
  }
@@ -210,19 +210,14 @@ sap.ui.define([
210
210
  // Make sure to first create and add all changes so that change handlers
211
211
  // that rely on change batching in the applier can wait for them, e.g.
212
212
  // when adding multiple columns at once to a MDC table
213
- return FlexState.initialize({
214
- componentId: oAppComponent.getId()
215
- }).then(function() {
216
- return createChanges()
217
- .then(applyChanges)
218
- .then(function() {
219
- (mChangeCreationListeners[sFlexReference] || [])
220
- .forEach(function(fnCallback) {
221
- fnCallback(aSuccessfulChanges);
222
- });
223
- return aSuccessfulChanges;
224
- });
213
+ const aChanges = await createChanges();
214
+ await applyChanges(aChanges);
215
+
216
+ (mChangeCreationListeners[sFlexReference] || [])
217
+ .forEach(function(fnCallback) {
218
+ fnCallback(aSuccessfulChanges);
225
219
  });
220
+ return aSuccessfulChanges;
226
221
  },
227
222
 
228
223
  /**
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.write.api.FieldExtensibility
24
24
  * @since 1.87
25
- * @version 1.121.1
25
+ * @version 1.122.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl, sap.ui.rta, sap.ui.mdc
28
28
  */
@@ -55,9 +55,6 @@ sap.ui.define([
55
55
  throw new Error("not all mandatory properties were provided for the storage of the personalization");
56
56
  }
57
57
 
58
- await FlexState.initialize({
59
- componentId: mPropertyBag.selector.getId()
60
- });
61
58
  await UI2PersonalizationState.setPersonalization(_omit(mPropertyBag, ["selector"]));
62
59
  },
63
60
 
@@ -85,9 +82,6 @@ sap.ui.define([
85
82
  throw new Error("not all mandatory properties were provided for the deletion of the personalization");
86
83
  }
87
84
 
88
- await FlexState.initialize({
89
- componentId: mPropertyBag.selector.getId()
90
- });
91
85
  await UI2PersonalizationState.deletePersonalization(
92
86
  mPropertyBag.reference,
93
87
  mPropertyBag.containerKey,
@@ -390,6 +390,22 @@ sap.ui.define([
390
390
  var vFlexObject = this.storage._itemsStoredAsObjects ? oFileContent : JSON.stringify(oFileContent);
391
391
  aPromises.push(this.storage.setItem(oItemToSet.key, vFlexObject));
392
392
  }.bind(this));
393
+ // discard draft when last draft change is delete
394
+ if (mFeatures.isVersioningEnabled && mPropertyBag.layer === Layer.CUSTOMER
395
+ && oCondenseInformation.delete && Object.keys(oCondenseInformation.delete).length !== 0) {
396
+ const aVersions = await this.versions.load.call(this, mPropertyBag);
397
+ if (aVersions.length) {
398
+ const oDraftVersion = aVersions.find((oVersion) => oVersion.isDraft);
399
+ Object.values(oCondenseInformation.delete).forEach(function(aChangeIds) {
400
+ aChangeIds.forEach(function(sChangeId) {
401
+ oDraftVersion.filenames = oDraftVersion.filenames.filter(function(filename) { return filename !== sChangeId; });
402
+ });
403
+ });
404
+ if (!oDraftVersion.filenames.length) {
405
+ await this.versions.discardDraft.call(this, mPropertyBag);
406
+ }
407
+ }
408
+ }
393
409
  return Promise.all(aPromises).then(function() {
394
410
  return Promise.resolve({response: aResponse});
395
411
  });
@@ -455,8 +471,7 @@ sap.ui.define([
455
471
  const aVersions = await this.versions.load.call(this, mPropertyBag);
456
472
  // default is always the latest non-draft
457
473
  sVersionId ||= aVersions.find((oVersion) => !oVersion.isDraft)?.id;
458
-
459
- while (sVersionId) {
474
+ while (sVersionId && sVersionId !== Version.Number.Original) {
460
475
  const oVersion = aVersions.find(findVersion.bind(undefined, sVersionId));
461
476
  aVersionChain.push(oVersion.id);
462
477
  sVersionId = oVersion.parentVersion;
@@ -1,91 +0,0 @@
1
- /*!
2
- * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
-
7
- sap.ui.define(["sap/ui/core/EventBus"], function(EventBus) {
8
- "use strict";
9
-
10
- /**
11
- * Provides a history of events. This is needed to show/hide the personalization icon
12
- *
13
- * @namespace
14
- * @alias sap.ui.fl.apply._internal.preprocessors.EventHistory
15
- * @since 1.47.0
16
- * @author SAP SE
17
- * @version 1.121.1
18
- *
19
- * @private
20
- * @ui5-restricted sap.ui.fl.apply._internal.preprocessors.RegistrationDelegator
21
- */
22
- var EventHistory = function() {
23
- };
24
-
25
- EventHistory._aEventIds = [
26
- "ControlForPersonalizationRendered"
27
- ];
28
-
29
- EventHistory._aUnsubscribedEventIds = [];
30
-
31
- EventHistory._oHistory = {};
32
-
33
- /**
34
- * Starts listening to the events
35
- */
36
- EventHistory.start = function() {
37
- EventHistory._aEventIds.forEach(function(sEventId) {
38
- if (EventHistory._aUnsubscribedEventIds.indexOf(sEventId) === -1) {
39
- EventBus.getInstance().subscribe("sap.ui", sEventId, EventHistory.saveEvent);
40
- EventHistory._oHistory[sEventId] = [];
41
- }
42
- });
43
- };
44
-
45
- /**
46
- * Saves an event when fired
47
- *
48
- * @param {string} sChannelId The channel of the event
49
- * @param {string} sEventId The identifier of the event
50
- * @param {map} mParameters The parameter map carried by the event
51
- */
52
- EventHistory.saveEvent = function(sChannelId, sEventId, mParameters) {
53
- var oEvent = {
54
- channelId: sChannelId,
55
- eventId: sEventId,
56
- parameters: mParameters.getId() // we only need the id. In unified.shell Element.getElementById(vControl); will be used.
57
- };
58
-
59
- if (EventHistory._oHistory[sEventId]) {
60
- var bExists = EventHistory._oHistory[sEventId].some(function(oObject) {
61
- return (oObject.channelId === oEvent.channelId &&
62
- oObject.eventId === oEvent.eventId &&
63
- oObject.parameters === oEvent.parameters);
64
- });
65
- if (!bExists) {
66
- EventHistory._oHistory[sEventId].push(oEvent);
67
- }
68
- }
69
- };
70
-
71
- /**
72
- * Returns the history of the event and stops listening
73
- *
74
- * @param {string} sEventId The identifier of the event
75
- *
76
- * @return {array} List of events
77
- */
78
- EventHistory.getHistoryAndStop = function(sEventId) {
79
- EventBus.getInstance().unsubscribe("sap.ui", sEventId, EventHistory.saveEvent);
80
- EventHistory._addUnsubscribedEvent(sEventId);
81
- return EventHistory._oHistory[sEventId] || [];
82
- };
83
-
84
- EventHistory._addUnsubscribedEvent = function(sEventId) {
85
- if (EventHistory._aUnsubscribedEventIds.indexOf(sEventId) === -1) {
86
- EventHistory._aUnsubscribedEventIds.push(sEventId);
87
- }
88
- };
89
-
90
- return EventHistory;
91
- });