@openui5/sap.ui.core 1.120.9 → 1.120.11

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 (326) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/Event.js +1 -1
  8. package/src/sap/base/Eventing.js +1 -1
  9. package/src/sap/base/config.js +1 -1
  10. package/src/sap/base/i18n/LanguageTag.js +1 -1
  11. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  12. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  13. package/src/sap/base/util/restricted/_castArray.js +1 -1
  14. package/src/sap/base/util/restricted/_compact.js +1 -1
  15. package/src/sap/base/util/restricted/_curry.js +1 -1
  16. package/src/sap/base/util/restricted/_debounce.js +1 -1
  17. package/src/sap/base/util/restricted/_difference.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_flatten.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_intersection.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isNil.js +1 -1
  32. package/src/sap/base/util/restricted/_max.js +1 -1
  33. package/src/sap/base/util/restricted/_merge.js +1 -1
  34. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  35. package/src/sap/base/util/restricted/_min.js +1 -1
  36. package/src/sap/base/util/restricted/_omit.js +1 -1
  37. package/src/sap/base/util/restricted/_pick.js +1 -1
  38. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  39. package/src/sap/base/util/restricted/_throttle.js +1 -1
  40. package/src/sap/base/util/restricted/_toArray.js +1 -1
  41. package/src/sap/base/util/restricted/_union.js +1 -1
  42. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  43. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  44. package/src/sap/base/util/restricted/_uniq.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  47. package/src/sap/base/util/restricted/_without.js +1 -1
  48. package/src/sap/base/util/restricted/_xor.js +1 -1
  49. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  50. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  53. package/src/sap/ui/Device.js +3 -3
  54. package/src/sap/ui/Global.js +4 -4
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +11 -5
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +5 -3
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  60. package/src/sap/ui/base/Metadata.js +1 -1
  61. package/src/sap/ui/base/Object.js +1 -1
  62. package/src/sap/ui/base/ObjectPool.js +1 -1
  63. package/src/sap/ui/core/.library +1 -1
  64. package/src/sap/ui/core/BusyIndicator.js +1 -1
  65. package/src/sap/ui/core/Component.js +31 -3
  66. package/src/sap/ui/core/ComponentContainer.js +1 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +1 -1
  70. package/src/sap/ui/core/Control.js +19 -3
  71. package/src/sap/ui/core/Core.js +1 -1
  72. package/src/sap/ui/core/CustomData.js +1 -1
  73. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  74. package/src/sap/ui/core/Element.js +28 -3
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  77. package/src/sap/ui/core/EventBus.js +1 -1
  78. package/src/sap/ui/core/Fragment.js +1 -1
  79. package/src/sap/ui/core/HTML.js +1 -1
  80. package/src/sap/ui/core/History.js +1 -1
  81. package/src/sap/ui/core/Icon.js +1 -1
  82. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  83. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  84. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  85. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  86. package/src/sap/ui/core/InvisibleText.js +1 -1
  87. package/src/sap/ui/core/Item.js +1 -1
  88. package/src/sap/ui/core/LabelEnablement.js +1 -1
  89. package/src/sap/ui/core/LayoutData.js +1 -1
  90. package/src/sap/ui/core/ListItem.js +1 -1
  91. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  92. package/src/sap/ui/core/Locale.js +1 -1
  93. package/src/sap/ui/core/LocaleData.js +1 -1
  94. package/src/sap/ui/core/Manifest.js +1 -1
  95. package/src/sap/ui/core/Message.js +1 -1
  96. package/src/sap/ui/core/RenderManager.js +1 -1
  97. package/src/sap/ui/core/Renderer.js +1 -1
  98. package/src/sap/ui/core/ResizeHandler.js +1 -1
  99. package/src/sap/ui/core/ScrollBar.js +1 -1
  100. package/src/sap/ui/core/SeparatorItem.js +1 -1
  101. package/src/sap/ui/core/Title.js +1 -1
  102. package/src/sap/ui/core/TooltipBase.js +1 -1
  103. package/src/sap/ui/core/UIArea.js +1 -1
  104. package/src/sap/ui/core/UIComponent.js +1 -1
  105. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  106. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  107. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  108. package/src/sap/ui/core/XMLComposite.js +1 -1
  109. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  110. package/src/sap/ui/core/date/UI5Date.js +1 -1
  111. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  112. package/src/sap/ui/core/delegate/ScrollEnablement.js +4 -4
  113. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  115. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  117. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  118. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  119. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  120. package/src/sap/ui/core/library.js +3 -3
  121. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  122. package/src/sap/ui/core/message/Message.js +1 -1
  123. package/src/sap/ui/core/message/MessageManager.js +1 -1
  124. package/src/sap/ui/core/message/MessageParser.js +1 -1
  125. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  126. package/src/sap/ui/core/mvc/Controller.js +42 -7
  127. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  128. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSView.js +1 -1
  130. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  131. package/src/sap/ui/core/mvc/View.js +1 -1
  132. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  133. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  134. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  136. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  137. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  138. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  139. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  140. package/src/sap/ui/core/service/Service.js +1 -1
  141. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  142. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  143. package/src/sap/ui/core/support/Plugin.js +1 -1
  144. package/src/sap/ui/core/support/Support.js +1 -1
  145. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  146. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  147. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  148. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  149. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  150. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  151. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  152. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  153. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  154. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  155. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  156. package/src/sap/ui/core/tmpl/Template.js +1 -1
  157. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  158. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  159. package/src/sap/ui/core/util/Export.js +1 -1
  160. package/src/sap/ui/core/util/ExportCell.js +1 -1
  161. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  162. package/src/sap/ui/core/util/ExportRow.js +1 -1
  163. package/src/sap/ui/core/util/ExportType.js +1 -1
  164. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  165. package/src/sap/ui/core/util/File.js +1 -1
  166. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  167. package/src/sap/ui/core/util/MockServer.js +1 -1
  168. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  169. package/src/sap/ui/core/util/XMLPreprocessor.js +59 -65
  170. package/src/sap/ui/core/util/_LocalizationHelper.js +2 -1
  171. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  172. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  173. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  174. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  175. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  176. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  177. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  178. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  179. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  180. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  181. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  182. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  183. package/src/sap/ui/debug/ControlTree.js +1 -1
  184. package/src/sap/ui/debug/DebugEnv.js +1 -1
  185. package/src/sap/ui/debug/PropertyList.js +1 -1
  186. package/src/sap/ui/model/ClientModel.js +1 -1
  187. package/src/sap/ui/model/CompositeDataState.js +1 -1
  188. package/src/sap/ui/model/CompositeType.js +1 -1
  189. package/src/sap/ui/model/DataState.js +1 -1
  190. package/src/sap/ui/model/MetaModel.js +1 -1
  191. package/src/sap/ui/model/Model.js +1 -1
  192. package/src/sap/ui/model/SelectionModel.js +1 -1
  193. package/src/sap/ui/model/SimpleType.js +1 -1
  194. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  195. package/src/sap/ui/model/Type.js +1 -1
  196. package/src/sap/ui/model/json/JSONModel.js +1 -1
  197. package/src/sap/ui/model/message/MessageModel.js +1 -1
  198. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  199. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  200. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  201. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  202. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  203. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  204. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  205. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  206. package/src/sap/ui/model/odata/type/Date.js +1 -1
  207. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  208. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  209. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  210. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  211. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  212. package/src/sap/ui/model/odata/type/Double.js +1 -1
  213. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  214. package/src/sap/ui/model/odata/type/Int.js +1 -1
  215. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  216. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  217. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  218. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  219. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  220. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  221. package/src/sap/ui/model/odata/type/Single.js +1 -1
  222. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  223. package/src/sap/ui/model/odata/type/String.js +1 -1
  224. package/src/sap/ui/model/odata/type/Time.js +1 -1
  225. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  226. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  227. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  228. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  229. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  230. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  231. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  232. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  233. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  234. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
  235. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  236. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  237. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +36 -24
  238. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  239. package/src/sap/ui/model/type/Boolean.js +1 -1
  240. package/src/sap/ui/model/type/Currency.js +1 -1
  241. package/src/sap/ui/model/type/Date.js +1 -1
  242. package/src/sap/ui/model/type/DateInterval.js +1 -1
  243. package/src/sap/ui/model/type/DateTime.js +1 -1
  244. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  245. package/src/sap/ui/model/type/FileSize.js +1 -1
  246. package/src/sap/ui/model/type/Float.js +1 -1
  247. package/src/sap/ui/model/type/Integer.js +1 -1
  248. package/src/sap/ui/model/type/String.js +1 -1
  249. package/src/sap/ui/model/type/Time.js +1 -1
  250. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  251. package/src/sap/ui/model/type/Unit.js +1 -1
  252. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  253. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  254. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  255. package/src/sap/ui/test/generic/TestBase.js +1 -1
  256. package/src/sap/ui/util/Storage.js +1 -1
  257. package/src/sap/ui/util/_enforceNoReturnValue.js +27 -0
  258. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  259. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  260. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  261. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  262. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  263. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  264. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  265. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  266. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  267. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  268. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  269. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  270. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  271. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  272. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  273. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  274. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  275. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  276. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  277. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  278. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  279. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  280. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  281. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  282. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  283. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  284. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  285. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  287. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  288. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  289. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  291. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  292. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  293. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  295. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  301. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  303. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  304. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  305. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  306. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  307. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  308. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  309. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  310. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  311. package/test/sap/ui/core/qunit/EventProvider.qunit.js +30 -2
  312. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +45 -3
  313. package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +8 -4
  314. package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -4
  315. package/test/sap/ui/core/qunit/app/fixture/designmode/test01.controller.js +4 -4
  316. package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +33 -2
  317. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/App.view.xml +3 -0
  318. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Component.js +20 -0
  319. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Home.view.xml +5 -0
  320. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Other.view.xml +5 -0
  321. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/manifest.json +54 -0
  322. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +104 -49
  323. package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +7 -0
  324. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +34 -19
  325. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +137 -26
  326. package/test/sap/ui/core/relnotes/changes-1.120.json +27 -0
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.9" #MainVersion#
7
+ version: "1.120.11" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.9" #MainVersion#
7
+ version: "1.120.11" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.9" #MainVersion#
7
+ version: "1.120.11" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.9" #MainVersion#
7
+ version: "1.120.11" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.9" #MainVersion#
7
+ version: "1.120.11" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -1,7 +1,8 @@
1
- /*global QUnit */
1
+ /*global QUnit sinon */
2
2
  sap.ui.define([
3
+ "sap/base/Log",
3
4
  "sap/ui/base/EventProvider"
4
- ], function(EventProvider) {
5
+ ], function(Log, EventProvider) {
5
6
  "use strict";
6
7
 
7
8
  QUnit.test("InitialObject", function(assert) {
@@ -381,4 +382,31 @@ sap.ui.define([
381
382
  assert.equal(iCount, 3, "Handler is called three times");
382
383
  });
383
384
 
385
+ QUnit.test("FireEvent with Async Listener", async (assert) => {
386
+ const oEventProvider = new EventProvider();
387
+ const aPromises = [];
388
+
389
+ const myPromiseFunction = () => {
390
+ const oPromise = Promise.reject(new Error("Function failed."));
391
+ aPromises.push(oPromise);
392
+ return oPromise;
393
+ };
394
+ const myAsyncFunction = async () => {
395
+ const oPromise = Promise.reject(new Error("Async function failed."));
396
+ aPromises.push(oPromise);
397
+ await oPromise;
398
+ };
399
+
400
+ const myLogSpy = sinon.spy(Log, "error");
401
+ oEventProvider.attachEvent("MyEvent1", myPromiseFunction);
402
+ oEventProvider.attachEvent("MyEvent2", myAsyncFunction);
403
+ oEventProvider.fireEvent("MyEvent1");
404
+ oEventProvider.fireEvent("MyEvent2");
405
+
406
+ await Promise.allSettled(aPromises).then(() => {
407
+ assert.equal(myLogSpy.callCount, 2, "Error log should be displayed");
408
+ assert.ok(myLogSpy.getCall(0).calledWith("EventProvider.fireEvent: Event Listener for event 'MyEvent1' failed during execution."), "Correct Error Log displayed.");
409
+ assert.ok(myLogSpy.getCall(1).calledWith("EventProvider.fireEvent: Event Listener for event 'MyEvent2' failed during execution."), "Correct Error Log displayed.");
410
+ });
411
+ });
384
412
  });
@@ -16,8 +16,9 @@ sap.ui.define([
16
16
  "sap/ui/base/ManagedObjectMetadata",
17
17
  "sap/base/strings/escapeRegExp",
18
18
  "sap/base/util/isEmptyObject",
19
- "sap/base/util/ObjectPath"
20
- ], function(BindingInfo, BindingParser, DataType, ManagedObject, Element, JSONModel, Context, ManagedObjectModel, StringType, Control, Component, UIComponent, Sorter, ManagedObjectMetadata, escapeRegExp, isEmptyObject, ObjectPath) {
19
+ "sap/base/util/ObjectPath",
20
+ "sap/base/Log"
21
+ ], function(BindingInfo, BindingParser, DataType, ManagedObject, Element, JSONModel, Context, ManagedObjectModel, StringType, Control, Component, UIComponent, Sorter, ManagedObjectMetadata, escapeRegExp, isEmptyObject, ObjectPath, Log) {
21
22
  "use strict";
22
23
  var mObjects = {};
23
24
 
@@ -3260,4 +3261,45 @@ sap.ui.define([
3260
3261
  done();
3261
3262
  });
3262
3263
  });
3263
- });
3264
+
3265
+ QUnit.module("init/exit");
3266
+
3267
+ QUnit.test("Ensure that hooks do not return a value", async function (assert) {
3268
+ const oErrorLogSpy = sinon.spy(Log, "error");
3269
+ const aPromises = [];
3270
+
3271
+ const MySampleManagedObject = ManagedObject.extend("sap.ui.core.MySampleManagedObject", {
3272
+ metadata: {
3273
+ properties: {
3274
+ name: { type: "string", defaultValue: "hello" }
3275
+ }
3276
+ },
3277
+ init: function () {
3278
+ return "init() shouldn't return a value.";
3279
+ },
3280
+ exit: async function () {
3281
+ const oPromise = Promise.reject(new Error("exit() failed."));
3282
+ aPromises.push(oPromise);
3283
+ await oPromise;
3284
+ }
3285
+ });
3286
+
3287
+ // init
3288
+ const oMySample = new MySampleManagedObject();
3289
+ assert.ok(oErrorLogSpy.getCall(0).calledWith("[FUTURE FATAL] The registered Event Listener 'init' must not have a return value."), "init() should be logged correctly.");
3290
+
3291
+ // exit
3292
+ oMySample.destroy();
3293
+
3294
+ await Promise.allSettled(aPromises);
3295
+ assert.ok(oErrorLogSpy.getCall(1).calledWith("[FUTURE FATAL] The registered Event Listener 'exit' must not have a return value."), "exit() should be logged correctly.");
3296
+
3297
+ /**
3298
+ * @deprecated
3299
+ */
3300
+ await Promise.resolve(() => {
3301
+ assert.ok(oErrorLogSpy.getCall(2).calledWith("The registered Event Listener 'exit' of '__object0' failed."), "Promise rejection caught successfully.");
3302
+ });
3303
+ oErrorLogSpy.restore();
3304
+ });
3305
+ });
@@ -23,10 +23,14 @@ sap.ui.define([
23
23
  var oController = oView.getController();
24
24
 
25
25
  //check lifecycle hooks
26
- assert.equal(oController.onInit(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
27
- assert.equal(oController.onExit(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
28
- assert.equal(oController.onBeforeRendering(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
29
- assert.equal(oController.onAfterRendering(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
26
+ oController.onInit();
27
+ assert.equal(oController._onInitCalled, true, "Controller method implementation was not replaced");
28
+ oController.onExit();
29
+ assert.equal(oController._onExitCalled, true, "Controller method implementation was not replaced");
30
+ oController.onBeforeRendering();
31
+ assert.equal(oController._onBeforeRenderingCalled, true, "Controller method implementation was not replaced");
32
+ oController.onAfterRendering();
33
+ assert.equal(oController._onAfterRenderingCalled, true, "Controller method implementation was not replaced");
30
34
 
31
35
  //other methods
32
36
  assert.equal(oController.method1(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
@@ -78,10 +78,14 @@ sap.ui.define([
78
78
  var oController = oView.getController();
79
79
 
80
80
  //check lifecycle hooks
81
- assert.equal(oController.onInit(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
82
- assert.equal(oController.onExit(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
83
- assert.equal(oController.onBeforeRendering(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
84
- assert.equal(oController.onAfterRendering(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
81
+ oController.onInit();
82
+ assert.equal(oController._onInitCalled, true, "Controller method implementation was not replaced");
83
+ oController.onExit();
84
+ assert.equal(oController._onExitCalled, true, "Controller method implementation was not replaced");
85
+ oController.onBeforeRendering();
86
+ assert.equal(oController._onBeforeRenderingCalled, true, "Controller method implementation was not replaced");
87
+ oController.onAfterRendering();
88
+ assert.equal(oController._onAfterRenderingCalled, true, "Controller method implementation was not replaced");
85
89
 
86
90
  //other methods
87
91
  assert.equal(oController.method1(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
@@ -6,19 +6,19 @@ sap.ui.define([
6
6
 
7
7
  // lifecycle hooks
8
8
  onInit : function() {
9
- return "aString";
9
+ this._onInitCalled = true;
10
10
  },
11
11
 
12
12
  onExit : function(){
13
- return "aString";
13
+ this._onExitCalled = true;
14
14
  },
15
15
 
16
16
  onBeforeRendering : function(){
17
- return "aString";
17
+ this._onBeforeRenderingCalled = true;
18
18
  },
19
19
 
20
20
  onAfterRendering : function(){
21
- return "aString";
21
+ this._onAfterRenderingCalled = true;
22
22
  },
23
23
 
24
24
  //other methods
@@ -1,6 +1,7 @@
1
1
  sap.ui.define([
2
+ "sap/base/Log",
2
3
  "sap/ui/core/Component"
3
- ], function (Component) {
4
+ ], function (Log, Component) {
4
5
  "use strict";
5
6
  /*global QUnit, sinon*/
6
7
 
@@ -600,4 +601,34 @@ sap.ui.define([
600
601
  });
601
602
  });
602
603
  });
603
- });
604
+
605
+ QUnit.test("'onActivate/onDeactivate' should not return a value", async function(assert) {
606
+ window.aPromises = []; // see testdata.keepAlive.child3.Component.js
607
+ const oComponent = await Component.create({
608
+ id: "component",
609
+ name: "testdata.keepAlive.child3"
610
+ });
611
+
612
+ await fnWaitUntilHomeRouteMatched(oComponent);
613
+ assert.ok(oComponent.isActive(), "Component: Initially, the component is active");
614
+
615
+ const oErrorLogSpy = sinon.spy(Log, "error");
616
+ oComponent.deactivate();
617
+ await Promise.allSettled(window.aPromises);
618
+ assert.notOk(oComponent.isActive(), "Component: The component is not active after deactivate()");
619
+ assert.ok(oErrorLogSpy.getCall(0).calledWith("[FUTURE FATAL] The registered Event Listener 'onDeactivate' must not have a return value."), "The 'onDeactivate' should not return a value.");
620
+ assert.ok(oErrorLogSpy.getCall(1).calledWith("The registered Event Listener 'onDeactivate' of 'component' failed."), "The rejected Promise is caught successfully");
621
+
622
+ oComponent.activate();
623
+ assert.ok(oComponent.isActive(), "Component: The component is active after activate()");
624
+ assert.ok(oErrorLogSpy.getCall(2).calledWith("[FUTURE FATAL] The registered Event Listener 'onActivate' must not have a return value."), "The 'onActivate' should not return a value.");
625
+
626
+ /**
627
+ * @deprecated
628
+ */
629
+ await Promise.resolve(() => {
630
+ assert.ok(oErrorLogSpy.getCall(3).calledWith("The registered Event Listener 'onDeactivate' of 'component' failed."), "The rejected Promise is caught successfully");
631
+ });
632
+ oErrorLogSpy.restore();
633
+ });
634
+ });
@@ -0,0 +1,3 @@
1
+ <mvc:XMLView xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
2
+ <App id="app"></App>
3
+ </mvc:XMLView>
@@ -0,0 +1,20 @@
1
+ sap.ui.define(["sap/ui/core/UIComponent"], function (UIComponent) {
2
+ "use strict";
3
+ return UIComponent.extend("testdata.keepAlive.child3.Component", {
4
+ metadata: {
5
+ manifest: "json"
6
+ },
7
+ init: function(){
8
+ UIComponent.prototype.init.apply(this, arguments);
9
+ this.getRouter().initialize();
10
+ },
11
+ onActivate: function() {
12
+ return "'onActivate' should not return a value.";
13
+ },
14
+ onDeactivate: async function() {
15
+ const oPromise = Promise.reject(new Error("'onDeactivate' failed."));
16
+ window.aPromises?.push(oPromise);
17
+ await oPromise;
18
+ }
19
+ });
20
+ });
@@ -0,0 +1,5 @@
1
+ <mvc:XMLView xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
2
+ <Page>
3
+ <Text text="Home" />
4
+ </Page>
5
+ </mvc:XMLView>
@@ -0,0 +1,5 @@
1
+ <mvc:XMLView xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
2
+ <Page>
3
+ <Text text="Other" />
4
+ </Page>
5
+ </mvc:XMLView>
@@ -0,0 +1,54 @@
1
+ {
2
+ "sap.app": {
3
+ "id": "testdata.keepAlive.child3"
4
+ },
5
+ "sap.ui5": {
6
+ "keepAlive": {
7
+ "supported": true
8
+ },
9
+ "dependencies": {
10
+ "libs": {}
11
+ },
12
+ "rootView": {
13
+ "viewName": "testdata.keepAlive.child3.App",
14
+ "type": "XML",
15
+ "async": true,
16
+ "id": "appView"
17
+ },
18
+ "routing": {
19
+ "config": {
20
+ "routerClass": "sap.m.routing.Router",
21
+ "viewType": "XML",
22
+ "path": "testdata.keepAlive.child3",
23
+ "controlId": "app",
24
+ "controlAggregation": "pages",
25
+ "transition": "slide",
26
+ "async": true
27
+ },
28
+ "routes": [
29
+ {
30
+ "name": "home",
31
+ "pattern": "",
32
+ "target": "homeTarget"
33
+ },
34
+ {
35
+ "name": "other",
36
+ "pattern": "other",
37
+ "target": "otherTarget"
38
+ }
39
+ ],
40
+ "targets": {
41
+ "homeTarget": {
42
+ "type": "View",
43
+ "id": "homeView",
44
+ "name": "Home"
45
+ },
46
+ "otherTarget": {
47
+ "type": "View",
48
+ "id": "otherView",
49
+ "name": "Other"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }