@openui5/sap.ui.core 1.117.1 → 1.118.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 (831) 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/Localization.js +42 -39
  12. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  13. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  14. package/src/sap/base/util/restricted/_castArray.js +1 -1
  15. package/src/sap/base/util/restricted/_compact.js +1 -1
  16. package/src/sap/base/util/restricted/_curry.js +1 -1
  17. package/src/sap/base/util/restricted/_debounce.js +1 -1
  18. package/src/sap/base/util/restricted/_difference.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_flatten.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_intersection.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isNil.js +1 -1
  33. package/src/sap/base/util/restricted/_max.js +1 -1
  34. package/src/sap/base/util/restricted/_merge.js +1 -1
  35. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  36. package/src/sap/base/util/restricted/_min.js +1 -1
  37. package/src/sap/base/util/restricted/_omit.js +1 -1
  38. package/src/sap/base/util/restricted/_pick.js +1 -1
  39. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  40. package/src/sap/base/util/restricted/_throttle.js +1 -1
  41. package/src/sap/base/util/restricted/_toArray.js +1 -1
  42. package/src/sap/base/util/restricted/_union.js +1 -1
  43. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  44. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  45. package/src/sap/base/util/restricted/_uniq.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  48. package/src/sap/base/util/restricted/_without.js +1 -1
  49. package/src/sap/base/util/restricted/_xor.js +1 -1
  50. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  51. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  54. package/src/sap/ui/Device.js +3 -3
  55. package/src/sap/ui/Global.js +4 -4
  56. package/src/sap/ui/base/BindingParser.js +2 -1
  57. package/src/sap/ui/base/Event.js +1 -1
  58. package/src/sap/ui/base/EventProvider.js +1 -1
  59. package/src/sap/ui/base/Interface.js +1 -1
  60. package/src/sap/ui/base/ManagedObject.js +7 -3
  61. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  62. package/src/sap/ui/base/Metadata.js +1 -1
  63. package/src/sap/ui/base/Object.js +1 -1
  64. package/src/sap/ui/base/ObjectPool.js +1 -1
  65. package/src/sap/ui/core/.library +9 -1
  66. package/src/sap/ui/core/AnimationMode.js +1 -1
  67. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  68. package/src/sap/ui/core/BusyIndicator.js +2 -2
  69. package/src/sap/ui/core/Component.js +22 -15
  70. package/src/sap/ui/core/ComponentContainer.js +2 -2
  71. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +1 -13
  74. package/src/sap/ui/core/Control.js +21 -1
  75. package/src/sap/ui/core/Core.js +67 -41
  76. package/src/sap/ui/core/CustomData.js +1 -1
  77. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  78. package/src/sap/ui/core/Element.js +1 -1
  79. package/src/sap/ui/core/ElementMetadata.js +1 -1
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +1 -1
  82. package/src/sap/ui/core/Fragment.js +1 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/History.js +1 -1
  85. package/src/sap/ui/core/Icon.js +2 -2
  86. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  87. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  88. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  89. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  90. package/src/sap/ui/core/InvisibleText.js +3 -6
  91. package/src/sap/ui/core/Item.js +1 -1
  92. package/src/sap/ui/core/LabelEnablement.js +1 -1
  93. package/src/sap/ui/core/LayoutData.js +1 -1
  94. package/src/sap/ui/core/Lib.js +9 -13
  95. package/src/sap/ui/core/ListItem.js +1 -1
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +2 -2
  99. package/src/sap/ui/core/Manifest.js +1 -1
  100. package/src/sap/ui/core/Message.js +1 -1
  101. package/src/sap/ui/core/Messaging.js +472 -0
  102. package/src/sap/ui/core/RenderManager.js +1 -1
  103. package/src/sap/ui/core/Renderer.js +1 -1
  104. package/src/sap/ui/core/Rendering.js +3 -2
  105. package/src/sap/ui/core/ResizeHandler.js +1 -4
  106. package/src/sap/ui/core/ScrollBar.js +1 -1
  107. package/src/sap/ui/core/SeparatorItem.js +1 -1
  108. package/src/sap/ui/core/ShortcutHint.js +1 -1
  109. package/src/sap/ui/core/Theming.js +28 -31
  110. package/src/sap/ui/core/Title.js +1 -1
  111. package/src/sap/ui/core/TooltipBase.js +1 -1
  112. package/src/sap/ui/core/UIArea.js +85 -17
  113. package/src/sap/ui/core/UIComponent.js +1 -1
  114. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  115. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  116. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  117. package/src/sap/ui/core/XMLComposite.js +1 -1
  118. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  119. package/src/sap/ui/core/_IconRegistry.js +1 -1
  120. package/src/sap/ui/core/boot.js +9 -0
  121. package/src/sap/ui/core/date/UI5Date.js +1 -1
  122. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  123. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  124. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  125. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  126. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  127. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  128. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  129. package/src/sap/ui/core/format/DateFormat.js +4 -0
  130. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  131. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  132. package/src/sap/ui/core/library.js +18 -47
  133. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  134. package/src/sap/ui/core/message/Message.js +1 -1
  135. package/src/sap/ui/core/message/MessageManager.js +37 -459
  136. package/src/sap/ui/core/message/MessageMixin.js +3 -3
  137. package/src/sap/ui/core/message/MessageParser.js +1 -1
  138. package/src/sap/ui/core/message/MessageProcessor.js +9 -9
  139. package/src/sap/ui/core/message/MessageType.js +53 -0
  140. package/src/sap/ui/core/messagebundle.properties +3 -0
  141. package/src/sap/ui/core/messagebundle_ar.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_bg.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_ca.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_cs.properties +1 -1
  145. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  146. package/src/sap/ui/core/messagebundle_da.properties +1 -1
  147. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  148. package/src/sap/ui/core/messagebundle_el.properties +1 -1
  149. package/src/sap/ui/core/messagebundle_es.properties +1 -1
  150. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_et.properties +1 -1
  152. package/src/sap/ui/core/messagebundle_fi.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  154. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
  155. package/src/sap/ui/core/messagebundle_hi.properties +1 -1
  156. package/src/sap/ui/core/messagebundle_hr.properties +1 -1
  157. package/src/sap/ui/core/messagebundle_hu.properties +1 -1
  158. package/src/sap/ui/core/messagebundle_id.properties +1 -1
  159. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  160. package/src/sap/ui/core/messagebundle_iw.properties +1 -1
  161. package/src/sap/ui/core/messagebundle_ja.properties +1 -1
  162. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  163. package/src/sap/ui/core/messagebundle_ko.properties +1 -1
  164. package/src/sap/ui/core/messagebundle_lt.properties +1 -1
  165. package/src/sap/ui/core/messagebundle_lv.properties +1 -1
  166. package/src/sap/ui/core/messagebundle_ms.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_nl.properties +1 -1
  168. package/src/sap/ui/core/messagebundle_no.properties +1 -1
  169. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  170. package/src/sap/ui/core/messagebundle_pt.properties +1 -1
  171. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
  172. package/src/sap/ui/core/messagebundle_ro.properties +1 -1
  173. package/src/sap/ui/core/messagebundle_ru.properties +1 -1
  174. package/src/sap/ui/core/messagebundle_sh.properties +1 -1
  175. package/src/sap/ui/core/messagebundle_sk.properties +1 -1
  176. package/src/sap/ui/core/messagebundle_sl.properties +1 -1
  177. package/src/sap/ui/core/messagebundle_sv.properties +9 -9
  178. package/src/sap/ui/core/messagebundle_th.properties +1 -1
  179. package/src/sap/ui/core/messagebundle_tr.properties +1 -1
  180. package/src/sap/ui/core/messagebundle_uk.properties +1 -1
  181. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  182. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -1
  183. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -1
  184. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  185. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  186. package/src/sap/ui/core/mvc/JSView.js +1 -1
  187. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  188. package/src/sap/ui/core/mvc/View.js +1 -1
  189. package/src/sap/ui/core/mvc/XMLView.js +9 -2
  190. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  191. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  192. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  193. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  194. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  195. package/src/sap/ui/core/routing/Router.js +7 -1
  196. package/src/sap/ui/core/routing/async/Route.js +1 -0
  197. package/src/sap/ui/core/routing/sync/Route.js +1 -0
  198. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  199. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  200. package/src/sap/ui/core/service/Service.js +1 -1
  201. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  202. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  203. package/src/sap/ui/core/support/Plugin.js +25 -5
  204. package/src/sap/ui/core/support/Support.js +34 -4
  205. package/src/sap/ui/core/support/ToolsAPI.js +6 -16
  206. package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
  207. package/src/sap/ui/core/support/plugins/Breakpoint.js +0 -2
  208. package/src/sap/ui/core/support/plugins/ControlTree.js +10 -12
  209. package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
  210. package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
  211. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
  212. package/src/sap/ui/core/support/plugins/Performance.js +1 -3
  213. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  214. package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
  215. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  216. package/src/sap/ui/core/support/plugins/ViewInfo.js +27 -13
  217. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
  218. package/src/sap/ui/core/theming/ThemeHelper.js +100 -0
  219. package/src/sap/ui/core/theming/ThemeManager.js +18 -18
  220. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  221. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  222. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  223. package/src/sap/ui/core/tmpl/Template.js +1 -1
  224. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  225. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  226. package/src/sap/ui/core/util/Export.js +1 -1
  227. package/src/sap/ui/core/util/ExportCell.js +1 -1
  228. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  229. package/src/sap/ui/core/util/ExportRow.js +1 -1
  230. package/src/sap/ui/core/util/ExportType.js +1 -1
  231. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  232. package/src/sap/ui/core/util/File.js +1 -1
  233. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  234. package/src/sap/ui/core/util/MockServer.js +1 -1
  235. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  236. package/src/sap/ui/core/util/XMLPreprocessor.js +53 -29
  237. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  238. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  239. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  240. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  241. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  242. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  243. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  244. package/src/sap/ui/core/webc/WebComponent.js +659 -0
  245. package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
  246. package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
  247. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  248. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  249. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  250. package/src/sap/ui/debug/ControlTree.js +4 -3
  251. package/src/sap/ui/debug/DebugEnv.js +4 -4
  252. package/src/sap/ui/debug/PropertyList.js +1 -1
  253. package/src/sap/ui/model/Binding.js +6 -6
  254. package/src/sap/ui/model/ClientModel.js +1 -1
  255. package/src/sap/ui/model/ClientPropertyBinding.js +3 -3
  256. package/src/sap/ui/model/CompositeDataState.js +1 -1
  257. package/src/sap/ui/model/CompositeType.js +1 -1
  258. package/src/sap/ui/model/Context.js +1 -1
  259. package/src/sap/ui/model/DataState.js +1 -1
  260. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
  261. package/src/sap/ui/model/MetaModel.js +1 -1
  262. package/src/sap/ui/model/Model.js +4 -4
  263. package/src/sap/ui/model/SelectionModel.js +1 -1
  264. package/src/sap/ui/model/SimpleType.js +1 -1
  265. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  266. package/src/sap/ui/model/Type.js +1 -1
  267. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +27 -13
  268. package/src/sap/ui/model/json/JSONModel.js +1 -1
  269. package/src/sap/ui/model/message/MessageModel.js +1 -1
  270. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  271. package/src/sap/ui/model/odata/ODataListBinding.js +24 -0
  272. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
  273. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  274. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  275. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  276. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +6 -0
  277. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  278. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  279. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  280. package/src/sap/ui/model/odata/type/Date.js +1 -1
  281. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  282. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  283. package/src/sap/ui/model/odata/type/DateTimeOffset.js +7 -2
  284. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  285. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  286. package/src/sap/ui/model/odata/type/Double.js +1 -1
  287. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  288. package/src/sap/ui/model/odata/type/Int.js +1 -1
  289. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  290. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  291. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  292. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  293. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  294. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  295. package/src/sap/ui/model/odata/type/Single.js +1 -1
  296. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  297. package/src/sap/ui/model/odata/type/String.js +1 -1
  298. package/src/sap/ui/model/odata/type/Time.js +1 -1
  299. package/src/sap/ui/model/odata/type/TimeOfDay.js +6 -2
  300. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  301. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  302. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  303. package/src/sap/ui/model/odata/v2/ODataListBinding.js +23 -3
  304. package/src/sap/ui/model/odata/v2/ODataModel.js +6 -6
  305. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
  306. package/src/sap/ui/model/odata/v4/Context.js +26 -16
  307. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -2
  308. package/src/sap/ui/model/odata/v4/ODataListBinding.js +62 -29
  309. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  310. package/src/sap/ui/model/odata/v4/ODataModel.js +17 -10
  311. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -1
  312. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +129 -6
  313. package/src/sap/ui/model/odata/v4/lib/_Cache.js +102 -57
  314. package/src/sap/ui/model/odata/v4/lib/_Helper.js +30 -4
  315. package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
  316. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +14 -4
  317. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
  318. package/src/sap/ui/model/odata/v4/ts.js +44 -0
  319. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  320. package/src/sap/ui/model/type/Boolean.js +1 -1
  321. package/src/sap/ui/model/type/Currency.js +1 -1
  322. package/src/sap/ui/model/type/Date.js +1 -1
  323. package/src/sap/ui/model/type/DateInterval.js +5 -4
  324. package/src/sap/ui/model/type/DateTime.js +1 -1
  325. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  326. package/src/sap/ui/model/type/FileSize.js +1 -1
  327. package/src/sap/ui/model/type/Float.js +1 -1
  328. package/src/sap/ui/model/type/Integer.js +1 -1
  329. package/src/sap/ui/model/type/String.js +1 -1
  330. package/src/sap/ui/model/type/Time.js +1 -1
  331. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  332. package/src/sap/ui/model/type/Unit.js +1 -1
  333. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  334. package/src/sap/ui/performance/trace/Interaction.js +11 -2
  335. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  336. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +10 -11
  337. package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
  338. package/src/sap/ui/test/ModuleTracking.js +326 -0
  339. package/src/sap/ui/test/TestUtils.js +7 -6
  340. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
  341. package/src/sap/ui/test/generic/TestBase.js +1 -1
  342. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +2 -0
  343. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
  344. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
  345. package/src/sap/ui/util/Storage.js +1 -1
  346. package/src/ui5loader-autoconfig.js +14 -10
  347. package/test/sap/ui/core/ComponentCleanup.html +228 -225
  348. package/test/sap/ui/core/ComponentConfig.html +1 -1
  349. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
  350. package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
  351. package/test/sap/ui/core/ComponentSimple.html +1 -1
  352. package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
  353. package/test/sap/ui/core/ComponentSupport.html +1 -1
  354. package/test/sap/ui/core/DateFormat.js +3 -3
  355. package/test/sap/ui/core/EventBroadcaster.html +62 -62
  356. package/test/sap/ui/core/Formats.html +4 -2
  357. package/test/sap/ui/core/GenericEventBinding.html +53 -52
  358. package/test/sap/ui/core/ListFormat.js +3 -3
  359. package/test/sap/ui/core/NumberFormat.js +3 -3
  360. package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
  361. package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
  362. package/test/sap/ui/core/ODataV2Messages.html +4 -3
  363. package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
  364. package/test/sap/ui/core/Strings.js +3 -3
  365. package/test/sap/ui/core/ValidateURL.html +143 -143
  366. package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
  367. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
  368. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
  369. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
  370. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
  371. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
  372. package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
  373. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
  374. package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
  375. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
  376. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
  377. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
  378. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
  379. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
  380. package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
  381. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
  382. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
  383. package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
  384. package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
  385. package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
  386. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
  387. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
  388. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
  389. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +12 -10
  390. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
  391. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +10 -9
  392. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
  393. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
  394. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
  395. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +10 -9
  396. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
  397. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
  398. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +85 -0
  399. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
  400. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
  401. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
  402. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
  403. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
  404. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +9 -8
  405. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
  406. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
  407. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
  408. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +12 -11
  409. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
  410. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +11 -10
  411. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
  412. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
  413. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -14
  414. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
  415. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -287
  416. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
  417. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +23 -22
  419. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
  420. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
  421. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
  422. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
  423. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
  424. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
  425. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
  426. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
  427. package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
  428. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
  429. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
  430. package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
  431. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
  432. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
  433. package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
  434. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
  435. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
  436. package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
  437. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
  438. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
  439. package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
  440. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
  441. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
  442. package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
  443. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
  444. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
  445. package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
  446. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
  447. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
  448. package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
  449. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
  450. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
  451. package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
  452. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
  453. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
  454. package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
  455. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
  456. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
  457. package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
  458. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
  459. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
  460. package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
  461. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
  462. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
  463. package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
  464. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
  465. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
  466. package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
  467. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
  468. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
  469. package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
  470. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
  471. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
  472. package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
  473. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
  474. package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
  475. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
  476. package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
  477. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
  478. package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
  479. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
  480. package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
  481. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
  482. package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
  484. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
  485. package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
  487. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
  488. package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
  489. package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
  490. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
  491. package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
  492. package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
  493. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
  494. package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
  495. package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
  496. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
  497. package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
  498. package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
  499. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
  500. package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
  501. package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
  502. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
  503. package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
  504. package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
  505. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
  506. package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
  507. package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
  508. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
  509. package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
  510. package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
  511. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
  512. package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
  513. package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
  514. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
  515. package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
  516. package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
  517. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
  518. package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
  519. package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
  520. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
  521. package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
  522. package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
  523. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
  524. package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
  525. package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
  526. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
  527. package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
  528. package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
  529. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
  530. package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
  531. package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
  532. package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
  533. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
  534. package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
  535. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
  536. package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
  537. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
  538. package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
  539. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
  540. package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
  541. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
  564. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
  565. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
  566. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
  567. package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
  568. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
  569. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
  570. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
  571. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
  572. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
  573. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
  574. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
  575. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
  576. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
  577. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
  578. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +3 -3
  579. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
  580. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
  581. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
  582. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
  583. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
  584. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
  585. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
  586. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
  587. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
  588. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
  589. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
  590. package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
  591. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +11 -10
  592. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
  593. package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
  594. package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
  595. package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
  596. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
  597. package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
  598. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
  599. package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
  600. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
  601. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
  602. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
  603. package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
  604. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
  605. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
  606. package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
  607. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
  608. package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
  609. package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
  610. package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
  611. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
  612. package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
  613. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
  614. package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
  615. package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
  616. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
  617. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
  618. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +6 -5
  619. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
  620. package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
  621. package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
  622. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +4 -3
  623. package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
  624. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
  625. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
  626. package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
  627. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
  628. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
  629. package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
  630. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
  631. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
  632. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
  633. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
  634. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
  635. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
  636. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +12 -14
  637. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  638. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
  639. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
  640. package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
  641. package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
  642. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
  643. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
  644. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
  645. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
  646. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
  647. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
  648. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
  649. package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
  650. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +19 -19
  651. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
  652. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
  653. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
  654. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
  655. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
  656. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
  657. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
  658. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
  659. package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
  660. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
  661. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
  662. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
  663. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
  664. package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
  665. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
  666. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
  667. package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
  668. package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
  669. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
  670. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +16 -16
  671. package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
  672. package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
  673. package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
  674. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +36 -46
  675. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
  676. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
  677. package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
  678. package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
  679. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
  680. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
  681. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
  682. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
  683. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +45 -40
  684. package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
  685. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
  686. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
  687. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
  688. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
  689. package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
  690. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
  691. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +40 -47
  692. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
  693. package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
  694. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
  695. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +8 -8
  696. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -29
  697. package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
  698. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
  699. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
  700. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +33 -12
  701. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
  702. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
  703. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +63 -13
  704. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
  705. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
  706. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
  707. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
  708. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
  709. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
  710. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
  711. package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
  712. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
  713. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
  714. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
  715. package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
  716. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +50 -27
  717. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
  718. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
  719. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
  720. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
  721. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
  722. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
  723. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
  724. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
  725. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
  726. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
  727. package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
  728. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +29 -42
  729. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
  730. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
  731. package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
  732. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
  733. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
  734. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
  735. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
  736. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
  737. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
  738. package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
  739. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
  740. package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
  741. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
  742. package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
  743. package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
  744. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
  745. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
  746. package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
  747. package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
  748. package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
  749. package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
  750. package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
  751. package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
  752. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
  753. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
  754. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
  755. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
  756. package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
  757. package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
  758. package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
  759. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +7 -10
  760. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
  761. package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
  762. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
  763. package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
  764. package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
  765. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
  766. package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
  767. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
  768. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
  769. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
  770. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
  771. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
  772. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
  773. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +24 -17
  774. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
  775. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
  776. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
  777. package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
  778. package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
  779. package/test/sap/ui/core/qunit/test/starter/find/main.js +3 -2
  780. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
  781. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  782. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +10 -6
  783. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
  784. package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
  785. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
  786. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  787. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
  788. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  789. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
  790. package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
  791. package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
  792. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +37 -6
  793. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
  794. package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
  795. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +8 -8
  796. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
  797. package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
  798. package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
  799. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
  800. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
  801. package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
  802. package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
  803. package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
  804. package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
  805. package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
  806. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
  807. package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
  808. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
  809. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
  810. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
  811. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
  812. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
  813. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
  814. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
  815. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
  816. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
  817. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
  818. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
  819. package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
  820. package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
  821. package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
  822. package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
  823. package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
  824. package/test/testsuite/testframe.html +4 -4
  825. package/src/ui5-boot.js +0 -50
  826. package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
  827. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
  828. /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
  829. /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
  830. /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
  831. /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
@@ -12,6 +12,7 @@ sap.ui.define([
12
12
  "sap/ui/core/Configuration",
13
13
  "sap/ui/core/Core",
14
14
  "sap/ui/core/library",
15
+ "sap/ui/core/Messaging",
15
16
  "sap/ui/core/date/UI5Date",
16
17
  "sap/ui/core/message/Message",
17
18
  "sap/ui/core/mvc/Controller",
@@ -36,8 +37,8 @@ sap.ui.define([
36
37
  // load Table resources upfront to avoid loading times > 1 second for the first test using Table
37
38
  // "sap/ui/table/Table"
38
39
  ], function (Log, merge, uid, Input, Device, ManagedObjectObserver, SyncPromise, Configuration,
39
- Core, coreLibrary, UI5Date, Message, Controller, View, Rendering, BindingMode, Filter, FilterOperator,
40
- FilterType, Model, Sorter, JSONModel, MessageModel, CountMode, MessageScope, Context,
40
+ Core, coreLibrary, Messaging, UI5Date, Message, Controller, View, Rendering, BindingMode, Filter,
41
+ FilterOperator, FilterType, Model, Sorter, JSONModel, MessageModel, CountMode, MessageScope, Context,
41
42
  ODataModel, XMLModel, TestUtils, datajs, XMLHelper) {
42
43
  /*global QUnit, sinon*/
43
44
  /*eslint max-nested-callbacks: 0, no-warning-comments: 0, quote-props: 0*/
@@ -576,8 +577,9 @@ sap.ui.define([
576
577
  }
577
578
  delete this.mListChanges[sControlId];
578
579
  }
579
- if (Core.getUIDirty()
580
- || Core.getMessageManager().getMessageModel().getObject("/").length < this.aMessages.length) {
580
+
581
+ if (Rendering.isPending()
582
+ || Messaging.getMessageModel().getObject("/").length < this.aMessages.length) {
581
583
  setTimeout(this.checkFinish.bind(this, assert), 10);
582
584
 
583
585
  return;
@@ -595,7 +597,7 @@ sap.ui.define([
595
597
  * @param {object} assert The QUnit assert object
596
598
  */
597
599
  checkMessages : function (assert) {
598
- var aCurrentMessages = Core.getMessageManager().getMessageModel()
600
+ var aCurrentMessages = Messaging.getMessageModel()
599
601
  .getObject("/").sort(compareMessages),
600
602
  aExpectedMessages = this.aMessages.slice().sort(compareMessages);
601
603
 
@@ -1088,7 +1090,7 @@ sap.ui.define([
1088
1090
  that.oView.setModel(mNamedModels[sModelName], sModelName);
1089
1091
  }
1090
1092
  // enable parse error messages in the message manager
1091
- Core.getMessageManager().registerObject(that.oView, true);
1093
+ Messaging.registerObject(that.oView, true);
1092
1094
  // Place the view in the page so that it is actually rendered. In some situations,
1093
1095
  // esp. for the table.Table this is essential.
1094
1096
  that.oView.placeAt("qunit-fixture");
@@ -1665,12 +1667,11 @@ sap.ui.define([
1665
1667
  * Removes all persistent and technical message from the message model.
1666
1668
  */
1667
1669
  removePersistentAndTechnicalMessages : function () {
1668
- var oMessageManager = Core.getMessageManager(),
1669
- aMessages = oMessageManager.getMessageModel().getObject("/").filter(function (oMessage) {
1670
+ var aMessages = Messaging.getMessageModel().getObject("/").filter(function (oMessage) {
1670
1671
  return oMessage.getPersistent() || oMessage.getTechnical();
1671
1672
  });
1672
1673
 
1673
- oMessageManager.removeMessages(aMessages);
1674
+ Messaging.removeMessages(aMessages);
1674
1675
  },
1675
1676
 
1676
1677
  /**
@@ -4714,7 +4715,7 @@ usePreliminaryContext : false}}">\
4714
4715
  oModel.setMessageScope(MessageScope.BusinessObject);
4715
4716
 
4716
4717
  return this.createView(assert, sView, oModel).then(function () {
4717
- oMessage = Core.getMessageManager().getMessageModel().getObject("/")[0];
4718
+ oMessage = Messaging.getMessageModel().getObject("/")[0];
4718
4719
  oObjectPage = that.oView.byId("objectPage");
4719
4720
 
4720
4721
  assert.deepEqual(oMessage.getControlIds(), []);
@@ -9278,10 +9279,18 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
9278
9279
  const oModel = createModel("/sap/opu/odata/sap/FAR_CUSTOMER_LINE_ITEMS");
9279
9280
  const sView = '\
9280
9281
  <t:AnalyticalTable id="table" threshold="10" visibleRowCount="4">\
9281
- <t:AnalyticalColumn grouped="true" leadingProperty="CompanyCode" template="CompanyCode"/>\
9282
- <t:AnalyticalColumn grouped="false" leadingProperty="Customer" template="Customer"/>\
9283
- <t:AnalyticalColumn leadingProperty="AmountInCompanyCodeCurrency" summed="true"\
9284
- template="AmountInCompanyCodeCurrency"/>\
9282
+ <t:AnalyticalColumn grouped="true" leadingProperty="CompanyCode">\
9283
+ <Label text="CompanyCode"/>\
9284
+ <t:template><Text wrapping="false" text="{CompanyCode}"/></t:template>\
9285
+ </t:AnalyticalColumn>\
9286
+ <t:AnalyticalColumn grouped="false" leadingProperty="Customer">\
9287
+ <Label text="Customer"/>\
9288
+ <t:template><Text wrapping="false" text="{Customer}"/></t:template>\
9289
+ </t:AnalyticalColumn>\
9290
+ <t:AnalyticalColumn summed="true" leadingProperty="AmountInCompanyCodeCurrency">\
9291
+ <Label text="AmountInCompanyCodeCurrency"/>\
9292
+ <t:template><Text wrapping="false" text="{AmountInCompanyCodeCurrency}"/></t:template>\
9293
+ </t:AnalyticalColumn>\
9285
9294
  </t:AnalyticalTable>';
9286
9295
 
9287
9296
  return this.createView(assert, sView, oModel).then(() => {
@@ -9340,10 +9349,18 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
9340
9349
  const oModel = createModel("/sap/opu/odata/sap/FAR_CUSTOMER_LINE_ITEMS");
9341
9350
  const sView = '\
9342
9351
  <t:AnalyticalTable id="table" threshold="10" visibleRowCount="4">\
9343
- <t:AnalyticalColumn grouped="true" leadingProperty="CompanyCode" template="CompanyCode"/>\
9344
- <t:AnalyticalColumn grouped="false" leadingProperty="Customer" template="Customer"/>\
9345
- <t:AnalyticalColumn leadingProperty="AmountInCompanyCodeCurrency" summed="true"\
9346
- template="AmountInCompanyCodeCurrency"/>\
9352
+ <t:AnalyticalColumn grouped="true" leadingProperty="CompanyCode">\
9353
+ <Label text="CompanyCode"/>\
9354
+ <t:template><Text wrapping="false" text="{CompanyCode}"/></t:template>\
9355
+ </t:AnalyticalColumn>\
9356
+ <t:AnalyticalColumn grouped="false" leadingProperty="Customer">\
9357
+ <Label text="Customer"/>\
9358
+ <t:template><Text wrapping="false" text="{Customer}"/></t:template>\
9359
+ </t:AnalyticalColumn>\
9360
+ <t:AnalyticalColumn summed="true" leadingProperty="AmountInCompanyCodeCurrency">\
9361
+ <Label text="AmountInCompanyCodeCurrency"/>\
9362
+ <t:template><Text wrapping="false" text="{AmountInCompanyCodeCurrency}"/></t:template>\
9363
+ </t:AnalyticalColumn>\
9347
9364
  </t:AnalyticalTable>';
9348
9365
 
9349
9366
  return this.createView(assert, sView, oModel).then(() => {
@@ -10480,7 +10497,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
10480
10497
  }])
10481
10498
  .expectValueState("note", "Error", "Some message");
10482
10499
 
10483
- Core.getMessageManager().addMessages(new Message({
10500
+ Messaging.addMessages(new Message({
10484
10501
  message : "Some message",
10485
10502
  processor : oModel,
10486
10503
  target : "/Note",
@@ -10518,7 +10535,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
10518
10535
  }])
10519
10536
  .expectValueState("note", "Error", "Some message");
10520
10537
 
10521
- Core.getMessageManager().addMessages(new Message({
10538
+ Messaging.addMessages(new Message({
10522
10539
  message : "Some message",
10523
10540
  processor : oModel,
10524
10541
  target : "/Note",
@@ -10756,6 +10773,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
10756
10773
  });
10757
10774
  });
10758
10775
 
10776
+ /** @deprecated As of version 1.102.0, reason OperationMode.Auto */
10759
10777
  //*********************************************************************************************
10760
10778
  // Scenario: If operation mode auto and a threshold is set as binding parameter and a count
10761
10779
  // request returns a count smaller than the threshold then this count is used as the $top
@@ -11566,7 +11584,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
11566
11584
  }])
11567
11585
  .expectValueState("quantity", "Error", "Some message");
11568
11586
 
11569
- Core.getMessageManager().addMessages(new Message({
11587
+ Messaging.addMessages(new Message({
11570
11588
  message : "Some message",
11571
11589
  processor : oModel,
11572
11590
  target : "/RequestedQuantity",
@@ -14254,6 +14272,57 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
14254
14272
  });
14255
14273
  });
14256
14274
 
14275
+ //*********************************************************************************************
14276
+ // Scenario: If a list binding contains created entries at the start of the list and the
14277
+ // binding's length is final, ensure that all data is requested if the user scrolls to the end
14278
+ // of the list.
14279
+ // BCP: 002075129400006921272023
14280
+ QUnit.test("Created entries at start: scrolling to the end reads all data", function (assert) {
14281
+ var oTable,
14282
+ oModel = createSalesOrdersModel({defaultCountMode : CountMode.Inline}),
14283
+ sView = '\
14284
+ <Table growing="true" growingThreshold="3" id="table" items="{/SalesOrderSet}">\
14285
+ <Input id="note" value="{Note}"/>\
14286
+ </Table>',
14287
+ that = this;
14288
+
14289
+ this.expectHeadRequest()
14290
+ .expectRequest("SalesOrderSet?$skip=0&$top=3&$inlinecount=allpages", {
14291
+ __count : "5",
14292
+ results : [
14293
+ {__metadata : {uri : "SalesOrderSet('1')"}, Note : "SO1", SalesOrderID : "1"},
14294
+ {__metadata : {uri : "SalesOrderSet('2')"}, Note : "SO2", SalesOrderID : "2"},
14295
+ {__metadata : {uri : "SalesOrderSet('3')"}, Note : "SO3", SalesOrderID : "3"}
14296
+ ]
14297
+ })
14298
+ .expectValue("note", ["SO1", "SO2", "SO3"]);
14299
+
14300
+ return this.createView(assert, sView, oModel).then(function () {
14301
+ oTable = that.oView.byId("table");
14302
+
14303
+ that.expectValue("note", ["SONew", "SO1", "SO2", "SO3"]);
14304
+
14305
+ // code under test - create an item at the start of the list
14306
+ oTable.getBinding("items").create({Note : "SONew"});
14307
+
14308
+ return that.waitForChanges(assert);
14309
+ }).then(function () {
14310
+ that.expectRequest("SalesOrderSet?$skip=3&$top=2", {
14311
+ results : [
14312
+ {__metadata : {uri : "SalesOrderSet('4')"}, Note : "SO4", SalesOrderID : "4"},
14313
+ {__metadata : {uri : "SalesOrderSet('5')"}, Note : "SO5", SalesOrderID : "5"}
14314
+ ]
14315
+ });
14316
+
14317
+ that.expectValue("note", ["SO3", "SO4", "SO5"], 3);
14318
+
14319
+ // code under test - scroll down to get all data from server
14320
+ oTable.requestItems();
14321
+
14322
+ return that.waitForChanges(assert);
14323
+ });
14324
+ });
14325
+
14257
14326
  //*********************************************************************************************
14258
14327
  // Scenario: If the table displays only transient entities (no threshold is set) and a new
14259
14328
  // control filter is set on the table the number of available entities is properly displayed.
@@ -14329,8 +14398,11 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
14329
14398
  // Scenario: Simple test for creation at the end of the list; more complex cases are tested in
14330
14399
  // all pairs tests for multi create.
14331
14400
  // JIRA: CPOUI5MODELS-617
14401
+ // Scenario 2: Contexts can be retrieved using getContextByIndex
14402
+ // BCP: 002075129400004574672023
14332
14403
  QUnit.test("Creation at the end of a list", function (assert) {
14333
- var oModel = createSalesOrdersModel(),
14404
+ var oRowsBinding,
14405
+ oModel = createSalesOrdersModel(),
14334
14406
  sView = '\
14335
14407
  <t:Table id="table" rows="{/SalesOrderSet}" visibleRowCount="2">\
14336
14408
  <Text id="id" text="{SalesOrderID}"/>\
@@ -14338,6 +14410,17 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
14338
14410
  </t:Table>',
14339
14411
  that = this;
14340
14412
 
14413
+ function checkContextByIndex(bCreated) {
14414
+ assert.strictEqual(oRowsBinding.getContextByIndex(-1), undefined);
14415
+ assert.strictEqual(oRowsBinding.getContextByIndex(0).getPath(), "/SalesOrderSet('42')");
14416
+ if (bCreated) {
14417
+ assert.strictEqual(oRowsBinding.getContextByIndex(1).isTransient(), true);
14418
+ } else {
14419
+ assert.strictEqual(oRowsBinding.getContextByIndex(1), undefined);
14420
+ }
14421
+ assert.strictEqual(oRowsBinding.getContextByIndex(2), undefined);
14422
+ }
14423
+
14341
14424
  this.expectHeadRequest()
14342
14425
  .expectRequest("SalesOrderSet?$skip=0&$top=102", {
14343
14426
  results : [{
@@ -14350,11 +14433,15 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
14350
14433
  .expectValue("note", ["First SalesOrder", ""]);
14351
14434
 
14352
14435
  return this.createView(assert, sView, oModel).then(function () {
14436
+ oRowsBinding = that.oView.byId("table").getBinding("rows");
14437
+
14353
14438
  that.expectValue("note", "New 1", 1);
14439
+ checkContextByIndex(false);
14354
14440
 
14355
14441
  // code under test
14356
- that.oView.byId("table").getBinding("rows").create({Note : "New 1"}, /*bAtEnd*/true);
14442
+ oRowsBinding.create({Note : "New 1"}, /*bAtEnd*/true);
14357
14443
 
14444
+ checkContextByIndex(true);
14358
14445
  return that.waitForChanges(assert);
14359
14446
  });
14360
14447
  });
@@ -17698,9 +17785,8 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
17698
17785
  // restores the tree state for property and hierarchy changes, regardless of whether
17699
17786
  // refreshAfterChange is true or false.
17700
17787
  // JIRA: CPOUI5MODELS-958
17701
- // Scenario: To perform hierarchy changes both ODataModel#submitChanges and
17702
- // ODataTreeBinding#submitChanges can be used and both behave the same. For simple property
17703
- // changes via ODataModel#submitChanges a refresh/restoreTreeState is not needed.
17788
+ // Scenario: To perform hierarchy changes ODataModel#submitChanges can be used. For simple property
17789
+ // changes a refresh/restoreTreeState is not needed.
17704
17790
  // JIRA: CPOUI5MODELS-745
17705
17791
  [false, true].forEach(function (bRefreshAfterChange) {
17706
17792
  var sTitle = "ODataTreeBindingFlat: ODataModel#submitChanges for refreshAfterChange="
@@ -17843,15 +17929,15 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
17843
17929
  });
17844
17930
  });
17845
17931
  });
17932
+
17846
17933
  /** @deprecated As of version 1.104.0 */
17847
17934
  //*********************************************************************************************
17848
17935
  // Scenario: A table using ODataTreeBindingFlat with restoreTreeStateAfterChange=true correctly
17849
17936
  // restores the tree state for property and hierarchy changes, regardless of whether
17850
17937
  // refreshAfterChange is true or false.
17851
17938
  // JIRA: CPOUI5MODELS-958
17852
- // Scenario: To perform hierarchy changes both ODataModel#submitChanges and
17853
- // ODataTreeBinding#submitChanges can be used and both behave the same. For simple property
17854
- // changes via ODataModel#submitChanges a refresh/restoreTreeState is not needed.
17939
+ // Scenario: To perform hierarchy changes ODataTreeBinding#submitChanges can be used. For simple property
17940
+ // changes a refresh/restoreTreeState is needed.
17855
17941
  // JIRA: CPOUI5MODELS-745
17856
17942
  [false, true].forEach(function (bRefreshAfterChange) {
17857
17943
  var sTitle = "ODataTreeBindingFlat: ODataTreeBindingFlat#submitChanges for refreshAfterChange="
@@ -18017,15 +18103,11 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18017
18103
  // restoreTreeStateAfterChange=false. After property / hierarchy changes have been submitted the
18018
18104
  // binding gets refreshed.
18019
18105
  // JIRA: CPOUI5MODELS-959
18020
- // Scenario: To perform hierarchy changes both ODataModel#submitChanges and
18021
- // ODataTreeBinding#submitChanges can be used and both behave the same. For simple property
18022
- // changes via ODataModel#submitChanges a refresh/restoreTreeState is not needed.
18106
+ // Scenario: To perform hierarchy changes ODataModel#submitChanges can be used. For simple property
18107
+ // changes a refresh/restoreTreeState is not needed.
18023
18108
  // JIRA: CPOUI5MODELS-745
18024
- [false, true].forEach(function (bSubmitOnModel) {
18025
- var sTitle = "ODataTreeBindingFlat: " + (bSubmitOnModel ? "ODataModel" : "ODataTreeBindingFlat")
18026
- + "#submitChanges for refreshAfterChange=false and restoreTreeStateAfterChange=false";
18027
-
18028
- QUnit.test(sTitle, function (assert) {
18109
+ QUnit.test("ODataTreeBindingFlat: ODataModel#submitChanges for refreshAfterChange=false and "
18110
+ + "restoreTreeStateAfterChange=false", function (assert) {
18029
18111
  var oBinding, oTable,
18030
18112
  oModel = createHierarchyMaintenanceModel({refreshAfterChange : false}),
18031
18113
  oNode100 = {
@@ -18082,9 +18164,161 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18082
18164
  </t:TreeTable>',
18083
18165
  that = this;
18084
18166
 
18085
- function fnSubmitChanges() {
18086
- (bSubmitOnModel ? oModel : oBinding).submitChanges();
18087
- }
18167
+ this.expectHeadRequest()
18168
+ .expectRequest({
18169
+ batchNo : 1,
18170
+ requestUri : "ErhaOrder('1')/to_Item?$skip=0&$top=103&$inlinecount=allpages"
18171
+ + "&$filter=HierarchyDistanceFromRoot le 0"
18172
+ }, {
18173
+ __count : "1",
18174
+ results : [oNode100]
18175
+ })
18176
+ .expectValue("itemName", ["foo", "", ""]);
18177
+
18178
+ return this.createView(assert, sView, oModel).then(function () {
18179
+ oTable = that.oView.byId("table");
18180
+
18181
+ that.expectRequest({
18182
+ batchNo : 2,
18183
+ requestUri : "ErhaOrder('1')/to_Item?$skip=0&$top=103&$inlinecount=allpages"
18184
+ + "&$filter=HierarchyParentNode eq '100'"
18185
+ }, {
18186
+ __count : "2",
18187
+ results : [oNode200, oNode300]
18188
+ })
18189
+ .expectValue("itemName", ["bar", "baz"], 1);
18190
+
18191
+ oTable.expand(0);
18192
+
18193
+ return that.waitForChanges(assert);
18194
+ }).then(function () {
18195
+ oBinding = oTable.getBinding("rows");
18196
+
18197
+ that.expectRequest({
18198
+ batchNo : 3,
18199
+ method : "DELETE",
18200
+ requestUri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='300')"
18201
+ }, NO_CONTENT)
18202
+ .expectValue("itemName", "", 2)
18203
+ .expectRequest({
18204
+ batchNo : 4,
18205
+ requestUri : "ErhaOrder('1')/to_Item?$skip=0&$top=103&$inlinecount=allpages"
18206
+ + "&$filter=HierarchyDistanceFromRoot le 0"
18207
+ }, {
18208
+ __count : "1",
18209
+ results : [oNode100]
18210
+ })
18211
+ .expectValue("itemName", "", 1); // binding gets refreshed, no restore tree state
18212
+
18213
+ // code under test: hierarchy change
18214
+ oBinding.removeContext(oTable.getContextByIndex(2));
18215
+ oModel.submitChanges();
18216
+
18217
+ return that.waitForChanges(assert);
18218
+ }).then(function () {
18219
+ oTable = that.oView.byId("table");
18220
+
18221
+ that.expectRequest({
18222
+ batchNo : 5,
18223
+ requestUri : "ErhaOrder('1')/to_Item?$skip=0&$top=103&$inlinecount=allpages"
18224
+ + "&$filter=HierarchyParentNode eq '100'"
18225
+ }, {
18226
+ __count : "1",
18227
+ results : [oNode200]
18228
+ })
18229
+ .expectValue("itemName", "bar", 1);
18230
+
18231
+ // manually expand the node again
18232
+ oTable.expand(0);
18233
+
18234
+ return that.waitForChanges(assert);
18235
+ }).then(function () {
18236
+ that.expectValue("itemName", "bar: renamed", 1)
18237
+ .expectRequest({
18238
+ batchNo : 6,
18239
+ data : {
18240
+ __metadata : {uri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='200')"},
18241
+ ErhaOrderItemName : "bar: renamed"
18242
+ },
18243
+ key : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='200')",
18244
+ method : "MERGE",
18245
+ requestUri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='200')"
18246
+ }, NO_CONTENT);
18247
+
18248
+ // code under test: property change
18249
+ oModel.setProperty("ErhaOrderItemName", "bar: renamed", oTable.getContextByIndex(1));
18250
+ oModel.submitChanges();
18251
+
18252
+ return that.waitForChanges(assert);
18253
+ });
18254
+ });
18255
+
18256
+ /** @deprecated As of version 1.104.0 */
18257
+ //*********************************************************************************************
18258
+ // Scenario: A table using ODataTreeBindingFlat with refreshAfterChange=false and
18259
+ // restoreTreeStateAfterChange=false. After property / hierarchy changes have been submitted the
18260
+ // binding gets refreshed.
18261
+ // JIRA: CPOUI5MODELS-959
18262
+ // Scenario: To perform hierarchy changes ODataTreeBinding#submitChanges can be used. For simple property
18263
+ // changes a refresh/restoreTreeState is needed.
18264
+ // JIRA: CPOUI5MODELS-745
18265
+ QUnit.test("ODataTreeBindingFlat: ODataTreeBindingFlat#submitChanges for refreshAfterChange=false and "
18266
+ + "restoreTreeStateAfterChange=false", function (assert) {
18267
+ var oBinding, oTable,
18268
+ oModel = createHierarchyMaintenanceModel({refreshAfterChange : false}),
18269
+ oNode100 = {
18270
+ __metadata : {uri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='100')"},
18271
+ ErhaOrder : "1",
18272
+ ErhaOrderItem : "100",
18273
+ ErhaOrderItemName : "foo",
18274
+ HierarchyNode : "100",
18275
+ HierarchyParentNode : "",
18276
+ HierarchyDescendantCount : 0,
18277
+ HierarchyDistanceFromRoot : 0,
18278
+ HierarchyDrillState : "collapsed",
18279
+ HierarchyPreorderRank : 0,
18280
+ HierarchySiblingRank : 0
18281
+ },
18282
+ oNode200 = {
18283
+ __metadata : {uri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='200')"},
18284
+ ErhaOrder : "1",
18285
+ ErhaOrderItem : "200",
18286
+ ErhaOrderItemName : "bar",
18287
+ HierarchyNode : "200",
18288
+ HierarchyParentNode : "100",
18289
+ HierarchyDescendantCount : 0,
18290
+ HierarchyDistanceFromRoot : 1,
18291
+ HierarchyDrillState : "leaf",
18292
+ HierarchyPreorderRank : 0,
18293
+ HierarchySiblingRank : 0
18294
+ },
18295
+ oNode300 = {
18296
+ __metadata : {uri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='300')"},
18297
+ ErhaOrder : "1",
18298
+ ErhaOrderItem : "300",
18299
+ ErhaOrderItemName : "baz",
18300
+ HierarchyNode : "300",
18301
+ HierarchyParentNode : "100",
18302
+ HierarchyDescendantCount : 0,
18303
+ HierarchyDistanceFromRoot : 1,
18304
+ HierarchyDrillState : "leaf",
18305
+ HierarchyPreorderRank : 1,
18306
+ HierarchySiblingRank : 1
18307
+ },
18308
+ sView = '\
18309
+ <t:TreeTable id="table"\
18310
+ rows="{\
18311
+ parameters : {\
18312
+ countMode : \'Inline\',\
18313
+ numberOfExpandedLevels : 0\
18314
+ },\
18315
+ path : \'/ErhaOrder(\\\'1\\\')/to_Item\'\
18316
+ }"\
18317
+ visibleRowCount="3"\
18318
+ visibleRowCountMode="Fixed">\
18319
+ <Text id="itemName" text="{ErhaOrderItemName}" />\
18320
+ </t:TreeTable>',
18321
+ that = this;
18088
18322
 
18089
18323
  this.expectHeadRequest()
18090
18324
  .expectRequest({
@@ -18134,7 +18368,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18134
18368
 
18135
18369
  // code under test: hierarchy change
18136
18370
  oBinding.removeContext(oTable.getContextByIndex(2));
18137
- fnSubmitChanges();
18371
+ oBinding.submitChanges();
18138
18372
 
18139
18373
  return that.waitForChanges(assert);
18140
18374
  }).then(function () {
@@ -18167,7 +18401,6 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18167
18401
  requestUri : "ErhaOrderItem(ErhaOrder='1',ErhaOrderItem='200')"
18168
18402
  }, NO_CONTENT);
18169
18403
 
18170
- if (!bSubmitOnModel) {
18171
18404
  that.expectRequest({
18172
18405
  batchNo : 7,
18173
18406
  requestUri : "ErhaOrder('1')/to_Item?$skip=0&$top=103&$inlinecount=allpages"
@@ -18178,28 +18411,22 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18178
18411
  })
18179
18412
  // binding gets refreshed, no restore tree state
18180
18413
  .expectValue("itemName", "", 1);
18181
- }
18182
18414
 
18183
18415
  // code under test: property change
18184
18416
  oModel.setProperty("ErhaOrderItemName", "bar: renamed", oTable.getContextByIndex(1));
18185
- fnSubmitChanges();
18417
+ oBinding.submitChanges();
18186
18418
 
18187
18419
  return that.waitForChanges(assert);
18188
18420
  });
18189
18421
  });
18190
- });
18191
18422
 
18192
18423
  //*********************************************************************************************
18193
18424
  // Scenario: A table using ODataTreeBindingFlat with refreshAfterChange=true and
18194
18425
  // restoreTreeStateAfterChange=false. After property / hierarchy changes have been submitted
18195
- // either via ODataModel#submitChanges or via ODataTreeBindingFlat#submitChanges the binding
18196
- // gets refreshed only once via <code>refreshAfterChange</code>.
18426
+ // via ODataModel#submitChanges the binding gets refreshed only once via <code>refreshAfterChange</code>.
18197
18427
  // JIRA: CPOUI5MODELS-970
18198
- [false, true].forEach(function (bSubmitOnModel) {
18199
- var sTitle = "ODataTreeBindingFlat: " + (bSubmitOnModel ? "ODataModel" : "ODataTreeBindingFlat")
18200
- + "#submitChanges for refreshAfterChange=true and restoreTreeStateAfterChange=false";
18201
-
18202
- QUnit.test(sTitle, function (assert) {
18428
+ QUnit.test("ODataTreeBindingFlat: ODataModel#submitChanges for refreshAfterChange=true and "
18429
+ + "restoreTreeStateAfterChange=false", function (assert) {
18203
18430
  var oBinding, oTable,
18204
18431
  oModel = createHierarchyMaintenanceModel({refreshAfterChange : true}),
18205
18432
  oNode100 = {
@@ -18256,10 +18483,6 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18256
18483
  </t:TreeTable>',
18257
18484
  that = this;
18258
18485
 
18259
- function fnSubmitChanges() {
18260
- (bSubmitOnModel ? oModel : oBinding).submitChanges();
18261
- }
18262
-
18263
18486
  this.expectHeadRequest()
18264
18487
  .expectRequest({
18265
18488
  batchNo : 1,
@@ -18333,7 +18556,7 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18333
18556
  // code under test: hierarchy change
18334
18557
  oBinding.removeContext(oMoveContext);
18335
18558
  oBinding.addContexts(oParentContext, [oMoveContext]);
18336
- fnSubmitChanges();
18559
+ oModel.submitChanges();
18337
18560
 
18338
18561
  return that.waitForChanges(assert);
18339
18562
  }).then(function () {
@@ -18378,12 +18601,11 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
18378
18601
 
18379
18602
  // code under test: property change
18380
18603
  oModel.setProperty("ErhaOrderItemName", "bar: renamed", oTable.getContextByIndex(1));
18381
- fnSubmitChanges();
18604
+ oModel.submitChanges();
18382
18605
 
18383
18606
  return that.waitForChanges(assert);
18384
18607
  });
18385
18608
  });
18386
- });
18387
18609
 
18388
18610
  //*********************************************************************************************
18389
18611
  // Scenario: It has to be possible to change a property with Edm.Time type to a different value
@@ -5,6 +5,7 @@ sap.ui.define([
5
5
  "sap/base/Log",
6
6
  "sap/ui/base/SyncPromise",
7
7
  "sap/ui/core/Configuration",
8
+ "sap/ui/core/Messaging",
8
9
  "sap/ui/core/date/UI5Date",
9
10
  "sap/ui/core/message/Message",
10
11
  "sap/ui/model/_Helper",
@@ -25,7 +26,7 @@ sap.ui.define([
25
26
  "sap/ui/model/odata/v2/ODataListBinding",
26
27
  "sap/ui/model/odata/v2/ODataModel",
27
28
  "sap/ui/model/odata/v2/ODataTreeBinding"
28
- ], function (Log, SyncPromise, Configuration, UI5Date, Message, _Helper, BaseContext,
29
+ ], function (Log, SyncPromise, Configuration, Messaging, UI5Date, Message, _Helper, BaseContext,
29
30
  FilterProcessor, Model, _ODataMetaModelUtils, CountMode, MessageScope, ODataMessageParser,
30
31
  ODataMetaModel, ODataPropertyBinding, ODataUtils, _CreatedContextsCache, Context,
31
32
  ODataAnnotations, ODataContextBinding, ODataListBinding, ODataModel, ODataTreeBinding
@@ -6656,7 +6657,7 @@ sap.ui.define([
6656
6657
  QUnit.test(sTitle, function (assert) {
6657
6658
  var oFindAndRemoveContext, oRemoveEntity, fnResolve,
6658
6659
  oContext = {removeFromTransientParent : function () {}},
6659
- oMessageManagerMock = this.mock(sap.ui.getCore().getMessageManager()),
6660
+ oMessagingMock = this.mock(Messaging),
6660
6661
  oMetadata = {
6661
6662
  loaded : function () {}
6662
6663
  },
@@ -6711,7 +6712,7 @@ sap.ui.define([
6711
6712
  oModelMock.expects("getMessagesByEntity")
6712
6713
  .withExactArgs("~sKey", !bDeleteEntity)
6713
6714
  .returns("~aMessages");
6714
- oMessageManagerMock.expects("removeMessages").withExactArgs("~aMessages");
6715
+ oMessagingMock.expects("removeMessages").withExactArgs("~aMessages");
6715
6716
 
6716
6717
  // code under test
6717
6718
  assert.strictEqual(
@@ -6768,7 +6769,7 @@ sap.ui.define([
6768
6769
  this.mock(oModel).expects("getMessagesByEntity")
6769
6770
  .withExactArgs("~sKey", false)
6770
6771
  .returns("~aMessages");
6771
- this.mock(sap.ui.getCore().getMessageManager()).expects("removeMessages")
6772
+ this.mock(Messaging).expects("removeMessages")
6772
6773
  .withExactArgs("~aMessages");
6773
6774
 
6774
6775
  // code under test
@@ -8707,4 +8708,27 @@ sap.ui.define([
8707
8708
  ODataModel.prototype._isReloadNeeded.call(oModel, "~path", oFixture.parameters);
8708
8709
  });
8709
8710
  });
8711
+
8712
+ /** @deprecated As of version 1.32.0 */
8713
+ //*********************************************************************************************
8714
+ QUnit.test("setDeferredBatchGroups", function (assert) {
8715
+ const oModel = {setDeferredGroups() {}};
8716
+
8717
+ this.mock(oModel).expects("setDeferredGroups").withExactArgs("~mParameters");
8718
+
8719
+ // code under test
8720
+ ODataModel.prototype.setDeferredBatchGroups.call(oModel, "~mParameters");
8721
+ });
8722
+
8723
+ /** @deprecated As of version 1.32.0 */
8724
+ //*********************************************************************************************
8725
+ QUnit.test("setChangeBatchGroups", function (assert) {
8726
+ const oModel = {setChangeGroups() {}};
8727
+
8728
+ this.mock(oModel).expects("setChangeGroups")
8729
+ .withExactArgs({"*" : {batchGroupId : "~groupId", groupId: "~groupId"}});
8730
+
8731
+ // code under test
8732
+ ODataModel.prototype.setChangeBatchGroups.call(oModel, {"*" : {batchGroupId : "~groupId"}});
8733
+ });
8710
8734
  });
@@ -208,6 +208,27 @@ sap.ui.define([
208
208
  // code under test - parameters are not relevant for this test
209
209
  assert.strictEqual(ODataTreeBindingFlat.prototype.createEntry.call(oBinding), undefined);
210
210
  });
211
+
212
+ //*********************************************************************************************
213
+ [{
214
+ parameters: {expand : "~expand"},
215
+ error: new Error("Parameter 'expand' is not supported")
216
+ }, {
217
+ parameters: {inactive : "~inactive"},
218
+ error: new Error("Parameter 'inactive' is not supported")
219
+ }].forEach((oFixture) => {
220
+ QUnit.test("createEntry: unsupported parameter", function (assert) {
221
+ const oBinding = {
222
+ getResolvedPath() {}
223
+ };
224
+ this.mock(oBinding).expects("getResolvedPath").withExactArgs().returns("~sPath");
225
+
226
+ assert.throws(() => {
227
+ // code under test
228
+ ODataTreeBindingFlat.prototype.createEntry.call(oBinding, oFixture.parameters);
229
+ }, oFixture.error );
230
+ });
231
+ });
211
232
  /**
212
233
  * @deprecated As of version 1.104.0
213
234
  */
@@ -882,8 +882,7 @@ sap.ui.define([
882
882
  "~ilength", "~iThreshold"),
883
883
  "~V2Context[]");
884
884
  });
885
-
886
- //*********************************************************************************************
885
+ /** @deprecated As of version 1.102.0, reason OperationMode.Auto */
887
886
  QUnit.test("_getContextsForNodeId: with operation mode 'Auto' and without"
888
887
  + " iTotalCollectionCount", function (assert) {
889
888
  var oBinding = {