@openui5/sap.ui.core 1.124.4 → 1.124.5

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 (311) 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 +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +13 -50
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -6
  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 +1 -1
  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/FormatUtils.js +1 -1
  118. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  119. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  120. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  121. package/src/sap/ui/core/library.js +4 -4
  122. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  123. package/src/sap/ui/core/message/Message.js +1 -1
  124. package/src/sap/ui/core/message/MessageManager.js +1 -1
  125. package/src/sap/ui/core/message/MessageParser.js +1 -1
  126. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  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 +4 -3
  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/serializer/HTMLViewSerializer.js +1 -1
  170. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  171. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  172. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  173. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  174. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  175. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  176. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  177. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  178. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  179. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  180. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  181. package/src/sap/ui/debug/ControlTree.js +1 -1
  182. package/src/sap/ui/debug/DebugEnv.js +1 -1
  183. package/src/sap/ui/debug/PropertyList.js +1 -1
  184. package/src/sap/ui/model/ClientModel.js +1 -1
  185. package/src/sap/ui/model/CompositeDataState.js +1 -1
  186. package/src/sap/ui/model/CompositeType.js +1 -1
  187. package/src/sap/ui/model/DataState.js +1 -1
  188. package/src/sap/ui/model/MetaModel.js +1 -1
  189. package/src/sap/ui/model/Model.js +1 -1
  190. package/src/sap/ui/model/SelectionModel.js +1 -1
  191. package/src/sap/ui/model/SimpleType.js +1 -1
  192. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  193. package/src/sap/ui/model/Type.js +1 -1
  194. package/src/sap/ui/model/json/JSONModel.js +1 -1
  195. package/src/sap/ui/model/message/MessageModel.js +1 -1
  196. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  197. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  198. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  199. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  200. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  201. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  202. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  203. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  204. package/src/sap/ui/model/odata/type/Date.js +1 -1
  205. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  206. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  207. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  208. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  209. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  210. package/src/sap/ui/model/odata/type/Double.js +1 -1
  211. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  212. package/src/sap/ui/model/odata/type/Int.js +1 -1
  213. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  214. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  215. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  216. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  217. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  218. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  219. package/src/sap/ui/model/odata/type/Single.js +1 -1
  220. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  221. package/src/sap/ui/model/odata/type/String.js +1 -1
  222. package/src/sap/ui/model/odata/type/Time.js +1 -1
  223. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  224. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  225. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  226. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  227. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  228. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  229. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  230. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  231. package/src/sap/ui/model/odata/v4/ODataListBinding.js +3 -1
  232. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  233. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  234. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  235. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  236. package/src/sap/ui/model/type/Boolean.js +1 -1
  237. package/src/sap/ui/model/type/Currency.js +1 -1
  238. package/src/sap/ui/model/type/Date.js +1 -1
  239. package/src/sap/ui/model/type/DateInterval.js +1 -1
  240. package/src/sap/ui/model/type/DateTime.js +1 -1
  241. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  242. package/src/sap/ui/model/type/FileSize.js +1 -1
  243. package/src/sap/ui/model/type/Float.js +1 -1
  244. package/src/sap/ui/model/type/Integer.js +1 -1
  245. package/src/sap/ui/model/type/String.js +1 -1
  246. package/src/sap/ui/model/type/Time.js +1 -1
  247. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  248. package/src/sap/ui/model/type/Unit.js +1 -1
  249. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  250. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  251. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  252. package/src/sap/ui/test/generic/TestBase.js +1 -1
  253. package/src/sap/ui/util/Storage.js +1 -1
  254. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  255. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  256. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  257. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  258. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  259. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  260. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  261. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  262. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  263. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  264. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  265. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  266. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  267. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  268. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  269. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  270. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  271. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  272. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  273. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  274. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  275. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  276. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  277. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  278. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  279. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  280. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  281. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  282. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  283. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  284. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  285. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  287. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  288. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  289. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  291. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  292. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  293. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  295. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  301. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  303. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  304. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  305. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  306. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  307. package/test/sap/ui/core/qunit/Element_focus.qunit.js +2 -42
  308. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +36 -13
  309. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +184 -9
  310. package/test/sap/ui/core/relnotes/changes-1.124.json +15 -0
  311. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.124.4" #MainVersion#
7
+ version: "1.124.5" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.124.4" #MainVersion#
7
+ version: "1.124.5" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #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.124.4" #MainVersion#
7
+ version: "1.124.5" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -1,15 +1,13 @@
1
1
  /*global QUnit */
2
2
  sap.ui.define([
3
3
  "sap/ui/core/BusyIndicator",
4
- "sap/ui/core/Element",
5
4
  "sap/m/Button",
6
5
  "sap/m/Dialog",
7
6
  "sap/ui/qunit/utils/createAndAppendDiv",
8
7
  "sap/ui/qunit/utils/nextUIUpdate",
9
8
  "sap/m/Input",
10
- "sap/m/Panel",
11
- "sap/m/Text"
12
- ], function(BusyIndicator, Element, Button, Dialog, createAndAppendDiv, nextUIUpdate, Input, Panel, Text) {
9
+ "sap/m/Panel"
10
+ ], function(BusyIndicator, Button, Dialog, createAndAppendDiv, nextUIUpdate, Input, Panel) {
13
11
  "use strict";
14
12
 
15
13
  QUnit.module("Focus Issue");
@@ -291,42 +289,4 @@ sap.ui.define([
291
289
 
292
290
  oDialog.open();
293
291
  });
294
-
295
- QUnit.test("Event 'FocusFail' shouldn't be fired when the control isn't focusable but the current focus is within the control", async function (assert) {
296
- const oUIArea = createAndAppendDiv("uiarea_focus");
297
-
298
- const oPanel = new Panel({
299
- expandable: true,
300
- headerText: "Panel with a header text",
301
- width: "auto",
302
- content: new Text({
303
- text: "Lorem ipsum dolor st amet"
304
- })
305
- });
306
-
307
- oPanel.placeAt("uiarea_focus");
308
- await nextUIUpdate();
309
-
310
- const oDomRef = oPanel.getDomRef();
311
- const oFocusableDom = oDomRef.querySelector("[tabindex='0']");
312
- oFocusableDom.focus();
313
-
314
- const oSpy = this.spy(Element, "fireFocusFail");
315
-
316
- oPanel.invalidate();
317
- await nextUIUpdate();
318
-
319
- assert.equal(oSpy.callCount, 0, "fireFocusFail isn't called");
320
-
321
- return new Promise((resolve, reject) => {
322
- setTimeout(() => {
323
- assert.ok(oDomRef.contains(document.activeElement), "Panel still has the focus");
324
-
325
- oPanel.destroy();
326
- oUIArea.remove();
327
-
328
- resolve();
329
- }, 0);
330
- });
331
- });
332
292
  });
@@ -229,6 +229,7 @@ sap.ui.define([
229
229
  oBinding.sChangeReason = sChangeReason;
230
230
  this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
231
231
  this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(true);
232
+ this.mock(oBinding).expects("checkDataState").never();
232
233
  this.mock(oBinding).expects("_fireChange").never();
233
234
  this.mock(oBinding).expects("_fireRefresh").never();
234
235
 
@@ -248,6 +249,7 @@ sap.ui.define([
248
249
  oBinding.sChangeReason = undefined;
249
250
  this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
250
251
  this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(false);
252
+ this.mock(oBinding).expects("checkDataState").never();
251
253
  this.mock(oBinding).expects("_fireRefresh")
252
254
  .withExactArgs({reason : ChangeReason.Refresh});
253
255
 
@@ -264,7 +266,9 @@ sap.ui.define([
264
266
  oBinding.sChangeReason = "AddVirtualContext";
265
267
  this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
266
268
  this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(false);
267
- this.mock(oBinding).expects("_fireChange").withExactArgs({
269
+ const oCheckDataStateExpectation = this.mock(oBinding).expects("checkDataState")
270
+ .withExactArgs();
271
+ const oFireChangeExpectation = this.mock(oBinding).expects("_fireChange").withExactArgs({
268
272
  detailedReason : "AddVirtualContext",
269
273
  reason : ChangeReason.Change
270
274
  });
@@ -273,6 +277,7 @@ sap.ui.define([
273
277
  oBinding.initialize();
274
278
 
275
279
  assert.strictEqual(oBinding.sChangeReason, "AddVirtualContext");
280
+ assert.ok(oFireChangeExpectation.calledAfter(oCheckDataStateExpectation));
276
281
  });
277
282
 
278
283
  //*********************************************************************************************
@@ -282,6 +287,7 @@ sap.ui.define([
282
287
 
283
288
  oBinding.sChangeReason = sChangeReason;
284
289
  this.mock(oBinding).expects("isResolved").withExactArgs().returns(false);
290
+ this.mock(oBinding).expects("checkDataState").never();
285
291
  this.mock(oBinding).expects("_fireRefresh").never();
286
292
 
287
293
  // code under test
@@ -7950,15 +7956,15 @@ sap.ui.define([
7950
7956
  oBindingMock = this.mock(oBinding),
7951
7957
  oDependent0 = {
7952
7958
  oContext : {
7953
- isEffectivelyKeptAlive : function () {}
7959
+ isEffectivelyKeptAlive : mustBeMocked
7954
7960
  },
7955
- resumeInternal : function () {}
7961
+ resumeInternal : mustBeMocked
7956
7962
  },
7957
7963
  oDependent1 = {
7958
7964
  oContext : {
7959
- isEffectivelyKeptAlive : function () {}
7965
+ isEffectivelyKeptAlive : mustBeMocked
7960
7966
  },
7961
- resumeInternal : function () {}
7967
+ resumeInternal : mustBeMocked
7962
7968
  },
7963
7969
  oFetchCacheExpectation,
7964
7970
  oFireExpectation,
@@ -7969,7 +7975,10 @@ sap.ui.define([
7969
7975
  oBinding.bSharedRequest = true; // this must not have an influence
7970
7976
  oBinding.sChangeReason = bInitial ? "AddVirtualContext" : undefined;
7971
7977
  oBinding.sResumeChangeReason = sChangeReason;
7972
- oBindingMock.expects("removeCachesAndMessages").withExactArgs("");
7978
+ const oCheckDataStateExpectation = oBindingMock
7979
+ .expects("checkDataState").withExactArgs();
7980
+ const oRemoveCachesAndMessagesExpectation = oBindingMock
7981
+ .expects("removeCachesAndMessages").withExactArgs("");
7973
7982
  oResetExpectation = oBindingMock.expects("reset").withExactArgs();
7974
7983
  oFetchCacheExpectation = oBindingMock.expects("fetchCache")
7975
7984
  .withExactArgs(sinon.match.same(oContext), true);
@@ -8000,6 +8009,7 @@ sap.ui.define([
8000
8009
  oBinding.resumeInternal(true/*ignored*/);
8001
8010
 
8002
8011
  assert.strictEqual(oBinding.sResumeChangeReason, undefined);
8012
+ assert.ok(oRemoveCachesAndMessagesExpectation.calledAfter(oCheckDataStateExpectation));
8003
8013
  assert.ok(oFetchCacheExpectation.calledAfter(oResetExpectation));
8004
8014
  assert.ok(oGetDependentBindingsExpectation.calledAfter(oFetchCacheExpectation));
8005
8015
  assert.ok(oFireExpectation.calledAfter(oGetDependentBindingsExpectation));
@@ -8022,6 +8032,7 @@ sap.ui.define([
8022
8032
  var oBinding = this.bindList("/EMPLOYEES"),
8023
8033
  oBindingMock = this.mock(oBinding);
8024
8034
 
8035
+ oBindingMock.expects("checkDataState").withExactArgs();
8025
8036
  oBinding.sResumeChangeReason = "~sResumeChangeReason~";
8026
8037
  if (bAutoExpandSelect) {
8027
8038
  oBinding.sChangeReason = "AddVirtualContext";
@@ -8041,19 +8052,21 @@ sap.ui.define([
8041
8052
  });
8042
8053
 
8043
8054
  //*********************************************************************************************
8044
- QUnit.test("resumeInternal: no sResumeChangeReason", function () {
8055
+ QUnit.test("resumeInternal: no sResumeChangeReason", function (assert) {
8045
8056
  var oBinding = this.bindList("/EMPLOYEES"),
8046
- oDependent0 = {resumeInternal : function () {}},
8047
- oDependent1 = {resumeInternal : function () {}};
8057
+ oDependent0 = {resumeInternal : mustBeMocked},
8058
+ oDependent1 = {resumeInternal : mustBeMocked};
8048
8059
 
8049
8060
  oBinding.sResumeChangeReason = undefined;
8050
8061
 
8062
+ const oCheckDataStateExpectation = this.mock(oBinding).expects("checkDataState")
8063
+ .withExactArgs();
8051
8064
  this.mock(oBinding).expects("removeCachesAndMessages").never();
8052
8065
  this.mock(oBinding).expects("reset").never();
8053
8066
  this.mock(oBinding).expects("fetchCache").never();
8054
8067
  this.mock(oBinding).expects("refreshKeptElements").never();
8055
- this.mock(oBinding).expects("getDependentBindings").withExactArgs()
8056
- .returns([oDependent0, oDependent1]);
8068
+ const oGetDependentBindingsExpectation = this.mock(oBinding).expects("getDependentBindings")
8069
+ .withExactArgs().returns([oDependent0, oDependent1]);
8057
8070
  this.mock(oDependent0).expects("resumeInternal").withExactArgs(true, false);
8058
8071
  this.mock(oDependent1).expects("resumeInternal").withExactArgs(true, false);
8059
8072
  this.mock(oBinding).expects("_fireRefresh").never();
@@ -8061,6 +8074,8 @@ sap.ui.define([
8061
8074
 
8062
8075
  // code under test
8063
8076
  oBinding.resumeInternal(true/*ignored*/);
8077
+
8078
+ assert.ok(oCheckDataStateExpectation.calledBefore(oGetDependentBindingsExpectation));
8064
8079
  });
8065
8080
 
8066
8081
  //*********************************************************************************************
@@ -8074,6 +8089,7 @@ sap.ui.define([
8074
8089
 
8075
8090
  oBinding.sResumeChangeReason = undefined;
8076
8091
  oBinding.bRefreshKeptElements = bRefreshKeptElements;
8092
+ this.mock(oBinding).expects("checkDataState").withExactArgs();
8077
8093
  this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
8078
8094
  this.mock(oBinding).expects("reset").withExactArgs();
8079
8095
  this.mock(oBinding).expects("getGroupId").exactly(bRefreshKeptElements ? 1 : 0)
@@ -8098,6 +8114,7 @@ sap.ui.define([
8098
8114
  var oBinding = this.bindList("/EMPLOYEES");
8099
8115
 
8100
8116
  oBinding.sResumeChangeReason = ChangeReason.Filter;
8117
+ this.mock(oBinding).expects("checkDataState").withExactArgs();
8101
8118
  this.mock(oBinding).expects("_fireRefresh").withExactArgs({reason : ChangeReason.Filter})
8102
8119
  .callsFake(function () {
8103
8120
  // simulate a suspend and a sort
@@ -8115,6 +8132,7 @@ sap.ui.define([
8115
8132
  var oBinding = this.bindList("/EMPLOYEES", null, null, null, {$$sharedRequest : true});
8116
8133
 
8117
8134
  oBinding.sResumeAction = "resetCache";
8135
+ this.mock(oBinding).expects("checkDataState").withExactArgs();
8118
8136
  this.mock(oBinding).expects("getDependentBindings").never();
8119
8137
  this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
8120
8138
  this.mock(oBinding.oCache).expects("reset").withExactArgs([]);
@@ -8133,6 +8151,7 @@ sap.ui.define([
8133
8151
  var oBinding = this.bindList("/EMPLOYEES", null, null, null, {$$sharedRequest : true});
8134
8152
 
8135
8153
  oBinding.sResumeAction = "onChange";
8154
+ this.mock(oBinding).expects("checkDataState").withExactArgs();
8136
8155
  this.mock(oBinding).expects("getDependentBindings").never();
8137
8156
  this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
8138
8157
  this.mock(oBinding.oCache).expects("reset").never();
@@ -8148,22 +8167,26 @@ sap.ui.define([
8148
8167
 
8149
8168
  //*********************************************************************************************
8150
8169
  QUnit.test("resumeInternal: reset selection", function (assert) {
8151
- var oBinding = this.bindList("/EMPLOYEES");
8170
+ const oBinding = this.bindList("/EMPLOYEES");
8171
+ const oBindingMock = this.mock(oBinding);
8152
8172
 
8153
8173
  oBinding.sResumeChangeReason = ChangeReason.Filter;
8154
8174
  oBinding.mParameters = {$$clearSelectionOnFilter : true};
8155
8175
 
8176
+ const oCheckDataStateExpectation = oBindingMock.expects("checkDataState").withExactArgs();
8156
8177
  const oSetSelectedExpectation = this.mock(oBinding.oHeaderContext).expects("setSelected")
8157
8178
  .withExactArgs(false);
8158
- const oRemoveCacheExpectation = this.mock(oBinding).expects("removeCachesAndMessages")
8179
+ const oRemoveCacheExpectation = oBindingMock.expects("removeCachesAndMessages")
8159
8180
  .withExactArgs("");
8160
8181
 
8161
8182
  // code under test
8162
8183
  oBinding.resumeInternal();
8163
8184
 
8185
+ assert.ok(oCheckDataStateExpectation.calledBefore(oSetSelectedExpectation));
8164
8186
  assert.ok(oSetSelectedExpectation.calledBefore(oRemoveCacheExpectation));
8165
8187
 
8166
8188
  oBinding.mParameters = {};
8189
+ oBindingMock.expects("checkDataState").withExactArgs();
8167
8190
 
8168
8191
  // code under test - no reset
8169
8192
  oBinding.resumeInternal();
@@ -883,12 +883,14 @@ sap.ui.define([
883
883
  * @param {object} oTable The table control
884
884
  * @param {string} sPropertyPath The property path to bind the text property
885
885
  * @param {object} assert The QUnit assert object
886
+ * @param {object} [bSuspended] Whether the rebound table is initially suspended
886
887
  * @returns {string} The ID of the text control which can be used for {@link #expectChange}
887
888
  */
888
- addToTable : function (oTable, sPropertyPath, assert) {
889
+ addToTable : function (oTable, sPropertyPath, assert, bSuspended) {
889
890
  var sId = "id" + sPropertyPath.replace("/", "_"),
890
891
  bRelative = oTable.getBinding("items").isRelative(),
891
- oTemplate = oTable.getBindingInfo("items").template,
892
+ oBindingInfo = oTable.getBindingInfo("items"),
893
+ oTemplate = oBindingInfo.template,
892
894
  oText = new Text({
893
895
  id : this.oView.createId(sId),
894
896
  text : "{" + sPropertyPath + "}"
@@ -898,11 +900,15 @@ sap.ui.define([
898
900
  this.setFormatter(assert, oText, sId, true);
899
901
  oTemplate.addCell(oText);
900
902
  // ensure template control is not destroyed on re-creation of the "items" aggregation
901
- delete oTable.getBindingInfo("items").template;
903
+ delete oBindingInfo.template;
902
904
  // It is not possible to modify the aggregation's template on an existing binding.
903
905
  // Hence, we have to re-create.
904
- oTable.bindItems(Object.assign({}, oTable.getBindingInfo("items"),
905
- {suspended : !bRelative, template : oTemplate}));
906
+ oTable.bindItems({
907
+ path : oBindingInfo.path,
908
+ parameters : oBindingInfo.parameters,
909
+ suspended : bSuspended ?? !bRelative,
910
+ template : oTemplate
911
+ });
906
912
 
907
913
  return sId;
908
914
  },
@@ -2368,13 +2374,18 @@ sap.ui.define([
2368
2374
  */
2369
2375
  removeFromTable : function (oTable, sControlId) {
2370
2376
  var bRelative = oTable.getBinding("items").isRelative(),
2371
- oTemplate = oTable.getBindingInfo("items").template;
2377
+ oBindingInfo = oTable.getBindingInfo("items"),
2378
+ oTemplate = oBindingInfo.template;
2372
2379
 
2373
2380
  oTemplate.removeCell(this.oView.byId(sControlId));
2374
2381
  // ensure template control is not destroyed on re-creation of the "items" aggregation
2375
- delete oTable.getBindingInfo("items").template;
2376
- oTable.bindItems(Object.assign({}, oTable.getBindingInfo("items"),
2377
- {suspended : !bRelative, template : oTemplate}));
2382
+ delete oBindingInfo.template;
2383
+ oTable.bindItems({
2384
+ path : oBindingInfo.path,
2385
+ parameters : oBindingInfo.parameters,
2386
+ suspended : !bRelative,
2387
+ template : oTemplate
2388
+ });
2378
2389
  },
2379
2390
 
2380
2391
  /**
@@ -59857,6 +59868,170 @@ make root = ${bMakeRoot}`;
59857
59868
  });
59858
59869
  });
59859
59870
 
59871
+ //*********************************************************************************************
59872
+ // Scenario: Removing a message from the model causes it to disappear from DataStateIndicator's
59873
+ // message strip after a table rebind. The table has an absolute binding.
59874
+ // SNOW: DINC0147646
59875
+ [false, true].forEach(function (bSuspended) {
59876
+ const sTitle = "DINC0147646: DataStateIndicator, rebind and messages, absolute binding"
59877
+ + ", suspended: " + bSuspended;
59878
+
59879
+ QUnit.test(sTitle, async function (assert) {
59880
+ const oModel = this.createTeaBusiModel({autoExpandSelect : true});
59881
+ const sView = `
59882
+ <Table id="table" items="{/TEAMS}">
59883
+ <dependents><plugins:DataStateIndicator/></dependents>
59884
+ <Input id="id" value="{Team_Id}"/>
59885
+ </Table>`;
59886
+
59887
+ this.expectRequest("TEAMS?$select=Team_Id&$skip=0&$top=100", {
59888
+ value : [
59889
+ {Team_Id : "1"}
59890
+ ]
59891
+ })
59892
+ .expectChange("id", ["1"]);
59893
+
59894
+ await this.createView(assert, sView, oModel);
59895
+
59896
+ const oTable = this.oView.byId("table");
59897
+
59898
+ this.expectMessages([{
59899
+ message : "Some message",
59900
+ type : "Error",
59901
+ targets : ["/TEAMS"]
59902
+ }]);
59903
+ const oMessage = new Message({
59904
+ message : "Some message",
59905
+ processor : oModel,
59906
+ target : "/TEAMS",
59907
+ type : "Error"
59908
+ });
59909
+ Messaging.addMessages(oMessage);
59910
+
59911
+ await Promise.all([
59912
+ this.waitForChanges(assert, "add message"),
59913
+ resolveLater(undefined, 0) // table update takes a moment
59914
+ ]);
59915
+
59916
+ const oMessageStrip = oTable.getAggregation("_messageStrip");
59917
+ assert.strictEqual(oMessageStrip.getText(), "Some message");
59918
+ assert.strictEqual(oMessageStrip.getVisible(), true);
59919
+
59920
+ if (bSuspended) {
59921
+ this.expectCanceledError("Cache discarded as a new cache has been created");
59922
+ }
59923
+ const sId0 = this.addToTable(oTable, "Name", assert, bSuspended); // Note: causes a "rebind"
59924
+
59925
+ this.expectRequest("TEAMS?$select=Name,Team_Id&$skip=0&$top=100", {
59926
+ value : [
59927
+ {Name : "Team #01", Team_Id : "1"}
59928
+ ]
59929
+ })
59930
+ .expectChange("id", ["1"])
59931
+ .expectChange(sId0, ["Team #01"]);
59932
+
59933
+ if (bSuspended) {
59934
+ oTable.getBinding("items").resume();
59935
+ }
59936
+
59937
+ await this.waitForChanges(assert, "table rebind");
59938
+
59939
+ assert.strictEqual(oMessageStrip.getText(), "Some message");
59940
+ assert.strictEqual(oMessageStrip.getVisible(), true);
59941
+
59942
+ this.expectMessages([]);
59943
+
59944
+ // code under test
59945
+ Messaging.removeMessages(oMessage);
59946
+
59947
+ await Promise.all([
59948
+ this.waitForChanges(assert, "message is removed and no longer visible"),
59949
+ resolveLater(undefined, 0) // table update takes a moment
59950
+ ]);
59951
+
59952
+ assert.strictEqual(oMessageStrip.getText(), "");
59953
+ assert.strictEqual(oMessageStrip.getVisible(), false);
59954
+ });
59955
+ });
59956
+
59957
+ //*********************************************************************************************
59958
+ // Scenario: Removing a message from the model causes it to disappear from DataStateIndicator's
59959
+ // message strip after a table rebind. The table has a relative binding.
59960
+ // SNOW: DINC0147646
59961
+ QUnit.test("DINC0147646: DataStateIndicator, rebind and messages, relative binding",
59962
+ async function (assert) {
59963
+ const oModel = this.createTeaBusiModel({autoExpandSelect : true});
59964
+ const sView = `
59965
+ <FlexBox id="root" binding="{/TEAMS('0')}">
59966
+ <Table id="table" items="{path : 'TEAM_2_EMPLOYEES', parameters : {$$ownRequest : true}}">
59967
+ <dependents><plugins:DataStateIndicator/></dependents>
59968
+ <Text id="id" text="{ID}"/>
59969
+ </Table>
59970
+ </FlexBox>`;
59971
+
59972
+ this.expectRequest("TEAMS('0')/TEAM_2_EMPLOYEES?$select=ID&$skip=0&$top=100", {
59973
+ value : [
59974
+ {ID : "10"}
59975
+ ]
59976
+ })
59977
+ .expectChange("id", ["10"])
59978
+ .expectChange("idName", []);
59979
+
59980
+ await this.createView(assert, sView, oModel);
59981
+
59982
+ const oTable = this.oView.byId("table");
59983
+
59984
+ this.expectMessages([{
59985
+ message : "Some message",
59986
+ type : "Error",
59987
+ targets : ["/TEAMS('0')/TEAM_2_EMPLOYEES"]
59988
+ }]);
59989
+ const oMessage = new Message({
59990
+ message : "Some message",
59991
+ processor : oModel,
59992
+ target : "/TEAMS('0')/TEAM_2_EMPLOYEES",
59993
+ type : "Error"
59994
+ });
59995
+ Messaging.addMessages(oMessage);
59996
+
59997
+ await Promise.all([
59998
+ this.waitForChanges(assert, "add message"),
59999
+ resolveLater(undefined, 0) // table update takes a moment
60000
+ ]);
60001
+
60002
+ const oMessageStrip = oTable.getAggregation("_messageStrip");
60003
+ assert.strictEqual(oMessageStrip.getText(), "Some message");
60004
+ assert.strictEqual(oMessageStrip.getVisible(), true);
60005
+
60006
+ this.expectRequest("TEAMS('0')/TEAM_2_EMPLOYEES?$select=ID,Name&$skip=0&$top=100", {
60007
+ value : [
60008
+ {ID : "10", Name : "John Doe"}
60009
+ ]
60010
+ })
60011
+ .expectChange("id", ["10"])
60012
+ .expectChange("idName", ["John Doe"]);
60013
+
60014
+ this.addToTable(oTable, "Name", assert); // Note: causes a "rebind"
60015
+
60016
+ await this.waitForChanges(assert, "table rebind");
60017
+
60018
+ assert.strictEqual(oMessageStrip.getText(), "Some message");
60019
+ assert.strictEqual(oMessageStrip.getVisible(), true);
60020
+
60021
+ this.expectMessages([]);
60022
+
60023
+ // code under test
60024
+ Messaging.removeMessages(oMessage);
60025
+
60026
+ await Promise.all([
60027
+ this.waitForChanges(assert, "message is removed and no longer visible"),
60028
+ resolveLater(undefined, 0) // table update takes a moment
60029
+ ]);
60030
+
60031
+ assert.strictEqual(oMessageStrip.getText(), "");
60032
+ assert.strictEqual(oMessageStrip.getVisible(), false);
60033
+ });
60034
+
59860
60035
  //*********************************************************************************************
59861
60036
  // Scenario: A list binding with $$sharedRequest (e.g. from a value list) is refreshed. Other
59862
60037
  // bindings share that cache and must follow, one binding while resumed and one binding while
@@ -114,5 +114,20 @@
114
114
  ]
115
115
  }
116
116
  ]
117
+ },
118
+ "1.124.5": {
119
+ "date": "September 2024",
120
+ "notes": [
121
+ {
122
+ "id": "34f90d9aa18b4d44f8a6c24711191ace603da9f3",
123
+ "type": "FIX",
124
+ "text": " Adjust link in sap.ui.core.MessageType documentation"
125
+ },
126
+ {
127
+ "id": "0b566e713277a5402712fc5f8d59852415e6f19a",
128
+ "type": "FIX",
129
+ "text": " sap/ui/core: handle focus properly when disabling"
130
+ }
131
+ ]
117
132
  }
118
133
  }
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.124.4" #MainVersion#
7
+ version: "1.124.5" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core