@openui5/sap.ui.core 1.117.1 → 1.119.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 (1096) hide show
  1. package/.eslintrc.json +9 -0
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/Localization.js +58 -40
  14. package/src/sap/base/i18n/ResourceBundle.js +5 -0
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/UriParameters.js +26 -19
  17. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  18. package/src/sap/base/util/restricted/_castArray.js +1 -1
  19. package/src/sap/base/util/restricted/_compact.js +1 -1
  20. package/src/sap/base/util/restricted/_curry.js +1 -1
  21. package/src/sap/base/util/restricted/_debounce.js +1 -1
  22. package/src/sap/base/util/restricted/_difference.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_flatten.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_intersection.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isNil.js +1 -1
  37. package/src/sap/base/util/restricted/_max.js +1 -1
  38. package/src/sap/base/util/restricted/_merge.js +1 -1
  39. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  40. package/src/sap/base/util/restricted/_min.js +1 -1
  41. package/src/sap/base/util/restricted/_omit.js +1 -1
  42. package/src/sap/base/util/restricted/_pick.js +1 -1
  43. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  44. package/src/sap/base/util/restricted/_throttle.js +1 -1
  45. package/src/sap/base/util/restricted/_toArray.js +1 -1
  46. package/src/sap/base/util/restricted/_union.js +1 -1
  47. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  48. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  49. package/src/sap/base/util/restricted/_uniq.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  52. package/src/sap/base/util/restricted/_without.js +1 -1
  53. package/src/sap/base/util/restricted/_xor.js +1 -1
  54. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  55. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  58. package/src/sap/ui/Device.js +3 -3
  59. package/src/sap/ui/Global.js +4 -4
  60. package/src/sap/ui/base/BindingInfo.js +25 -3
  61. package/src/sap/ui/base/BindingParser.js +2 -1
  62. package/src/sap/ui/base/Event.js +1 -1
  63. package/src/sap/ui/base/EventProvider.js +1 -1
  64. package/src/sap/ui/base/Interface.js +1 -1
  65. package/src/sap/ui/base/ManagedObject.js +8 -4
  66. package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
  67. package/src/sap/ui/base/Metadata.js +3 -3
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +9 -1
  71. package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
  72. package/src/sap/ui/core/AnimationMode.js +1 -1
  73. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  74. package/src/sap/ui/core/BusyIndicator.js +2 -2
  75. package/src/sap/ui/core/Component.js +85 -61
  76. package/src/sap/ui/core/ComponentContainer.js +2 -2
  77. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  78. package/src/sap/ui/core/ComponentSupport.js +1 -1
  79. package/src/sap/ui/core/Configuration.js +15 -179
  80. package/src/sap/ui/core/Control.js +22 -2
  81. package/src/sap/ui/core/Core.js +223 -128
  82. package/src/sap/ui/core/CustomData.js +1 -1
  83. package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
  84. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  85. package/src/sap/ui/core/Element.js +40 -4
  86. package/src/sap/ui/core/ElementMetadata.js +1 -1
  87. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  88. package/src/sap/ui/core/EventBus.js +19 -2
  89. package/src/sap/ui/core/FocusHandler.js +3 -24
  90. package/src/sap/ui/core/Fragment.js +2 -2
  91. package/src/sap/ui/core/HTML.js +1 -1
  92. package/src/sap/ui/core/History.js +1 -1
  93. package/src/sap/ui/core/Icon.js +2 -2
  94. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  95. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  96. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  97. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  98. package/src/sap/ui/core/InvisibleText.js +4 -7
  99. package/src/sap/ui/core/Item.js +1 -1
  100. package/src/sap/ui/core/LabelEnablement.js +11 -4
  101. package/src/sap/ui/core/LayoutData.js +1 -1
  102. package/src/sap/ui/core/Lib.js +51 -55
  103. package/src/sap/ui/core/ListItem.js +1 -1
  104. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  105. package/src/sap/ui/core/Locale.js +1 -1
  106. package/src/sap/ui/core/LocaleData.js +2 -2
  107. package/src/sap/ui/core/Manifest.js +1 -1
  108. package/src/sap/ui/core/Message.js +4 -4
  109. package/src/sap/ui/core/Messaging.js +471 -0
  110. package/src/sap/ui/core/Popup.js +3 -3
  111. package/src/sap/ui/core/RenderManager.js +15 -10
  112. package/src/sap/ui/core/Renderer.js +1 -1
  113. package/src/sap/ui/core/Rendering.js +4 -2
  114. package/src/sap/ui/core/ResizeHandler.js +15 -23
  115. package/src/sap/ui/core/ScrollBar.js +1 -1
  116. package/src/sap/ui/core/SeparatorItem.js +1 -1
  117. package/src/sap/ui/core/ShortcutHint.js +1 -1
  118. package/src/sap/ui/core/ShortcutHintsMixin.js +5 -5
  119. package/src/sap/ui/core/StashedControlSupport.js +4 -4
  120. package/src/sap/ui/core/StaticArea.js +66 -74
  121. package/src/sap/ui/core/Theming.js +99 -39
  122. package/src/sap/ui/core/Title.js +1 -1
  123. package/src/sap/ui/core/TooltipBase.js +1 -1
  124. package/src/sap/ui/core/UIArea.js +93 -24
  125. package/src/sap/ui/core/UIComponent.js +2 -2
  126. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  127. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  128. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  129. package/src/sap/ui/core/XMLComposite.js +4 -2
  130. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  131. package/src/sap/ui/core/_IconRegistry.js +3 -1
  132. package/src/sap/ui/core/boot.js +9 -0
  133. package/src/sap/ui/core/cache/CacheManager.js +22 -16
  134. package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
  135. package/src/sap/ui/core/date/UI5Date.js +1 -1
  136. package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
  137. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  138. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  139. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  140. package/src/sap/ui/core/dnd/DragDropInfo.js +6 -6
  141. package/src/sap/ui/core/dnd/DragInfo.js +4 -4
  142. package/src/sap/ui/core/dnd/DropInfo.js +6 -6
  143. package/src/sap/ui/core/format/DateFormat.js +4 -0
  144. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  145. package/src/sap/ui/core/getCompatibilityVersion.js +64 -0
  146. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  147. package/src/sap/ui/core/library.js +26 -50
  148. package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
  149. package/src/sap/ui/core/message/Message.js +14 -13
  150. package/src/sap/ui/core/message/MessageManager.js +36 -459
  151. package/src/sap/ui/core/message/MessageMixin.js +5 -5
  152. package/src/sap/ui/core/message/MessageParser.js +1 -1
  153. package/src/sap/ui/core/message/MessageProcessor.js +9 -9
  154. package/src/sap/ui/core/message/MessageType.js +53 -0
  155. package/src/sap/ui/core/messagebundle.properties +3 -0
  156. package/src/sap/ui/core/messagebundle_ar.properties +3 -3
  157. package/src/sap/ui/core/messagebundle_bg.properties +4 -4
  158. package/src/sap/ui/core/messagebundle_ca.properties +2 -2
  159. package/src/sap/ui/core/messagebundle_cs.properties +5 -5
  160. package/src/sap/ui/core/messagebundle_cy.properties +2 -2
  161. package/src/sap/ui/core/messagebundle_da.properties +4 -4
  162. package/src/sap/ui/core/messagebundle_de.properties +3 -3
  163. package/src/sap/ui/core/messagebundle_el.properties +11 -11
  164. package/src/sap/ui/core/messagebundle_en.properties +4 -4
  165. package/src/sap/ui/core/messagebundle_es.properties +18 -18
  166. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_et.properties +1 -1
  168. package/src/sap/ui/core/messagebundle_fi.properties +2 -2
  169. package/src/sap/ui/core/messagebundle_fr.properties +22 -22
  170. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
  171. package/src/sap/ui/core/messagebundle_hi.properties +3 -3
  172. package/src/sap/ui/core/messagebundle_hr.properties +7 -7
  173. package/src/sap/ui/core/messagebundle_hu.properties +11 -11
  174. package/src/sap/ui/core/messagebundle_id.properties +6 -6
  175. package/src/sap/ui/core/messagebundle_it.properties +58 -58
  176. package/src/sap/ui/core/messagebundle_iw.properties +6 -6
  177. package/src/sap/ui/core/messagebundle_ja.properties +1 -1
  178. package/src/sap/ui/core/messagebundle_kk.properties +2 -2
  179. package/src/sap/ui/core/messagebundle_ko.properties +7 -7
  180. package/src/sap/ui/core/messagebundle_lt.properties +1 -1
  181. package/src/sap/ui/core/messagebundle_lv.properties +6 -6
  182. package/src/sap/ui/core/messagebundle_ms.properties +6 -6
  183. package/src/sap/ui/core/messagebundle_nl.properties +13 -13
  184. package/src/sap/ui/core/messagebundle_no.properties +9 -9
  185. package/src/sap/ui/core/messagebundle_pl.properties +3 -3
  186. package/src/sap/ui/core/messagebundle_pt.properties +9 -9
  187. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
  188. package/src/sap/ui/core/messagebundle_ro.properties +3 -3
  189. package/src/sap/ui/core/messagebundle_ru.properties +8 -8
  190. package/src/sap/ui/core/messagebundle_sh.properties +1 -1
  191. package/src/sap/ui/core/messagebundle_sk.properties +3 -3
  192. package/src/sap/ui/core/messagebundle_sl.properties +10 -10
  193. package/src/sap/ui/core/messagebundle_sv.properties +1 -1
  194. package/src/sap/ui/core/messagebundle_th.properties +19 -19
  195. package/src/sap/ui/core/messagebundle_tr.properties +6 -6
  196. package/src/sap/ui/core/messagebundle_uk.properties +9 -9
  197. package/src/sap/ui/core/messagebundle_vi.properties +2 -2
  198. package/src/sap/ui/core/messagebundle_zh_CN.properties +3 -3
  199. package/src/sap/ui/core/messagebundle_zh_TW.properties +25 -25
  200. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  201. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  202. package/src/sap/ui/core/mvc/JSView.js +1 -1
  203. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  204. package/src/sap/ui/core/mvc/View.js +3 -3
  205. package/src/sap/ui/core/mvc/XMLView.js +9 -2
  206. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  207. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  208. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  209. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  210. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  211. package/src/sap/ui/core/routing/Router.js +7 -1
  212. package/src/sap/ui/core/routing/async/Route.js +1 -0
  213. package/src/sap/ui/core/routing/async/Target.js +5 -4
  214. package/src/sap/ui/core/routing/sync/Route.js +1 -0
  215. package/src/sap/ui/core/routing/sync/Target.js +3 -3
  216. package/src/sap/ui/core/rules/App.support.js +30 -1
  217. package/src/sap/ui/core/rules/Config.support.js +4 -0
  218. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  219. package/src/sap/ui/core/rules/Theming.support.js +4 -0
  220. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  221. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  222. package/src/sap/ui/core/service/Service.js +1 -1
  223. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  224. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  225. package/src/sap/ui/core/support/Plugin.js +25 -5
  226. package/src/sap/ui/core/support/Support.js +38 -6
  227. package/src/sap/ui/core/support/ToolsAPI.js +14 -20
  228. package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
  229. package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -6
  230. package/src/sap/ui/core/support/plugins/ControlTree.js +40 -24
  231. package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
  232. package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
  233. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
  234. package/src/sap/ui/core/support/plugins/Performance.js +1 -3
  235. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  236. package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
  237. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  238. package/src/sap/ui/core/support/plugins/ViewInfo.js +32 -16
  239. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +8 -6
  240. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  241. package/src/sap/ui/core/themes/base/base.less +275 -269
  242. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  243. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  244. package/src/sap/ui/core/themes/base/global.less +8 -8
  245. package/src/sap/ui/core/theming/Parameters.js +4 -5
  246. package/src/sap/ui/core/theming/ThemeHelper.js +100 -1
  247. package/src/sap/ui/core/theming/ThemeManager.js +32 -31
  248. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  249. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  250. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  251. package/src/sap/ui/core/tmpl/Template.js +1 -1
  252. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -2
  253. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  254. package/src/sap/ui/core/util/Export.js +1 -1
  255. package/src/sap/ui/core/util/ExportCell.js +1 -1
  256. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  257. package/src/sap/ui/core/util/ExportRow.js +1 -1
  258. package/src/sap/ui/core/util/ExportType.js +1 -1
  259. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  260. package/src/sap/ui/core/util/File.js +1 -1
  261. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  262. package/src/sap/ui/core/util/MockServer.js +1 -1
  263. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  264. package/src/sap/ui/core/util/XMLPreprocessor.js +53 -29
  265. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +27 -4
  266. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
  267. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
  268. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  269. package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
  270. package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
  271. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  272. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  273. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  274. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  275. package/src/sap/ui/core/webc/WebComponent.js +659 -0
  276. package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
  277. package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
  278. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  279. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  280. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  281. package/src/sap/ui/debug/ControlTree.js +8 -7
  282. package/src/sap/ui/debug/DebugEnv.js +18 -9
  283. package/src/sap/ui/debug/PropertyList.js +3 -3
  284. package/src/sap/ui/dom/jquery/control.js +3 -4
  285. package/src/sap/ui/events/F6Navigation.js +2 -1
  286. package/src/sap/ui/model/Binding.js +6 -6
  287. package/src/sap/ui/model/ClientModel.js +33 -1
  288. package/src/sap/ui/model/ClientPropertyBinding.js +20 -4
  289. package/src/sap/ui/model/CompositeDataState.js +1 -1
  290. package/src/sap/ui/model/CompositeType.js +1 -1
  291. package/src/sap/ui/model/Context.js +1 -1
  292. package/src/sap/ui/model/DataState.js +1 -1
  293. package/src/sap/ui/model/Filter.js +1 -1
  294. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
  295. package/src/sap/ui/model/MetaModel.js +1 -1
  296. package/src/sap/ui/model/Model.js +4 -4
  297. package/src/sap/ui/model/SelectionModel.js +1 -1
  298. package/src/sap/ui/model/SimpleType.js +1 -1
  299. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  300. package/src/sap/ui/model/Type.js +1 -1
  301. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +27 -13
  302. package/src/sap/ui/model/json/JSONModel.js +2 -3
  303. package/src/sap/ui/model/message/MessageModel.js +3 -7
  304. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  305. package/src/sap/ui/model/odata/ODataListBinding.js +24 -0
  306. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
  307. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  308. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  309. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  310. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +6 -0
  311. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  312. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  313. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  314. package/src/sap/ui/model/odata/type/Date.js +1 -1
  315. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  316. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  317. package/src/sap/ui/model/odata/type/DateTimeOffset.js +7 -2
  318. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  319. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  320. package/src/sap/ui/model/odata/type/Double.js +1 -1
  321. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  322. package/src/sap/ui/model/odata/type/Int.js +1 -1
  323. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  324. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  325. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  326. package/src/sap/ui/model/odata/type/ODataType.js +2 -3
  327. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  328. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  329. package/src/sap/ui/model/odata/type/Single.js +1 -1
  330. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  331. package/src/sap/ui/model/odata/type/String.js +1 -1
  332. package/src/sap/ui/model/odata/type/Time.js +1 -1
  333. package/src/sap/ui/model/odata/type/TimeOfDay.js +6 -2
  334. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  335. package/src/sap/ui/model/odata/v2/Context.js +13 -5
  336. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  337. package/src/sap/ui/model/odata/v2/ODataListBinding.js +108 -59
  338. package/src/sap/ui/model/odata/v2/ODataModel.js +25 -20
  339. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
  340. package/src/sap/ui/model/odata/v4/Context.js +83 -23
  341. package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
  342. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +162 -33
  343. package/src/sap/ui/model/odata/v4/ODataListBinding.js +151 -48
  344. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  345. package/src/sap/ui/model/odata/v4/ODataModel.js +21 -14
  346. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
  347. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +12 -11
  348. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +234 -31
  349. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
  350. package/src/sap/ui/model/odata/v4/lib/_Cache.js +180 -76
  351. package/src/sap/ui/model/odata/v4/lib/_Helper.js +36 -24
  352. package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
  353. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +17 -7
  354. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  355. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
  356. package/src/sap/ui/model/odata/v4/ts.js +44 -0
  357. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  358. package/src/sap/ui/model/type/Boolean.js +1 -1
  359. package/src/sap/ui/model/type/Currency.js +1 -1
  360. package/src/sap/ui/model/type/Date.js +1 -2
  361. package/src/sap/ui/model/type/DateInterval.js +5 -5
  362. package/src/sap/ui/model/type/DateTime.js +1 -1
  363. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  364. package/src/sap/ui/model/type/FileSize.js +1 -1
  365. package/src/sap/ui/model/type/Float.js +1 -1
  366. package/src/sap/ui/model/type/Integer.js +1 -1
  367. package/src/sap/ui/model/type/String.js +1 -1
  368. package/src/sap/ui/model/type/Time.js +1 -1
  369. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  370. package/src/sap/ui/model/type/Unit.js +1 -1
  371. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  372. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
  373. package/src/sap/ui/performance/BeaconRequest.js +8 -10
  374. package/src/sap/ui/performance/trace/Interaction.js +11 -2
  375. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
  376. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  377. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +10 -11
  378. package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
  379. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +16 -14
  380. package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
  381. package/src/sap/ui/test/ModuleTracking.js +326 -0
  382. package/src/sap/ui/test/OpaPlugin.js +3 -3
  383. package/src/sap/ui/test/TestUtils.js +8 -7
  384. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
  385. package/src/sap/ui/test/generic/TestBase.js +1 -1
  386. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  387. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  388. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +2 -0
  389. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
  390. package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
  391. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
  392. package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
  393. package/src/sap/ui/util/Storage.js +1 -1
  394. package/src/ui5loader-autoconfig.js +14 -10
  395. package/test/sap/ui/core/ComponentCleanup.html +228 -225
  396. package/test/sap/ui/core/ComponentConfig.html +1 -1
  397. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
  398. package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
  399. package/test/sap/ui/core/ComponentSimple.html +1 -1
  400. package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
  401. package/test/sap/ui/core/ComponentSupport.html +1 -1
  402. package/test/sap/ui/core/DateFormat.js +3 -3
  403. package/test/sap/ui/core/EventBroadcaster.html +62 -62
  404. package/test/sap/ui/core/Formats.html +4 -2
  405. package/test/sap/ui/core/GenericEventBinding.html +53 -52
  406. package/test/sap/ui/core/HTMLControl.html +94 -93
  407. package/test/sap/ui/core/HyphenationPlayground.html +10 -9
  408. package/test/sap/ui/core/ListFormat.js +3 -3
  409. package/test/sap/ui/core/NumberFormat.js +3 -3
  410. package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
  411. package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
  412. package/test/sap/ui/core/ODataV2Messages.html +4 -3
  413. package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
  414. package/test/sap/ui/core/Strings.js +3 -3
  415. package/test/sap/ui/core/Strings.view.xml +5 -1
  416. package/test/sap/ui/core/ThemeParameters.html +31 -30
  417. package/test/sap/ui/core/ValidateURL.html +143 -143
  418. package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
  419. package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
  420. package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
  421. package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
  422. package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
  423. package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
  424. package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
  425. package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
  426. package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
  427. package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
  428. package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
  429. package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
  430. package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
  431. package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -1
  432. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
  433. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
  434. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
  435. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
  436. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
  437. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
  438. package/test/sap/ui/core/demokit/sample/OpaAction/manifest.json +1 -0
  439. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
  440. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
  441. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
  442. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
  443. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
  444. package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
  445. package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
  446. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
  447. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
  448. package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
  449. package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
  450. package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
  451. package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
  452. package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
  453. package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
  454. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
  455. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
  456. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
  457. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
  458. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
  459. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
  460. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
  461. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
  462. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
  463. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
  464. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
  465. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
  466. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
  467. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
  468. package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
  469. package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
  470. package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
  471. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
  472. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
  473. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
  474. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
  475. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
  476. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
  477. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
  478. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
  479. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -1
  480. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
  481. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
  482. package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
  483. package/test/sap/ui/core/demokit/sample/TargetsStandalone/manifest.json +2 -1
  484. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
  485. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
  486. package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
  487. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
  488. package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
  489. package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
  490. package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
  491. package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
  492. package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
  493. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
  494. package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
  495. package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
  496. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
  497. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
  498. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
  499. package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
  500. package/test/sap/ui/core/demokit/sample/common/Controller.js +8 -8
  501. package/test/sap/ui/core/demokit/sample/common/Helper.js +19 -2
  502. package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
  503. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
  504. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
  505. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
  506. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
  507. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
  508. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
  509. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
  510. package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
  511. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
  512. package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
  513. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
  514. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
  515. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
  516. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
  517. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
  518. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
  519. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
  520. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
  521. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
  522. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
  523. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
  524. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
  525. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
  526. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +13 -11
  527. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
  528. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +13 -14
  529. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +14 -11
  530. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
  531. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
  532. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
  533. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
  534. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +19 -25
  535. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
  536. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
  537. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
  538. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +89 -0
  539. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
  540. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
  541. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
  542. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
  543. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
  544. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +10 -9
  545. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +11 -10
  546. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
  547. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
  548. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +5 -2
  549. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +16 -13
  550. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
  551. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +12 -11
  552. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
  553. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
  554. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +78 -13
  555. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +48 -9
  556. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +379 -287
  557. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
  558. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
  559. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +24 -23
  560. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +11 -10
  561. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +10 -9
  562. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
  563. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
  564. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +9 -8
  565. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
  566. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
  567. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
  568. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
  569. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
  570. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
  571. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
  572. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
  573. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
  574. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
  575. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +10 -9
  576. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
  577. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
  578. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
  579. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +11 -10
  580. package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
  581. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
  582. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
  583. package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
  584. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
  585. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
  586. package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
  587. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
  588. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
  589. package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
  590. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
  591. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
  592. package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
  593. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
  594. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
  595. package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
  596. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
  597. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
  598. package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
  599. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
  600. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
  601. package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
  602. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
  603. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
  604. package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
  605. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
  606. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
  607. package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
  608. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
  609. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
  610. package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
  611. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
  612. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
  613. package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
  614. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
  615. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
  616. package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
  617. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
  618. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
  619. package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
  620. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
  621. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
  622. package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
  623. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
  624. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
  625. package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
  626. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
  627. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
  628. package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
  629. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
  630. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
  631. package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
  632. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
  633. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
  634. package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
  635. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
  636. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
  637. package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
  638. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
  639. package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
  640. package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
  641. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
  642. package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
  643. package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
  644. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
  645. package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
  646. package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
  647. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
  648. package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
  649. package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
  650. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
  651. package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
  652. package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
  653. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
  654. package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
  655. package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
  656. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
  657. package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
  658. package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
  659. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
  660. package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
  661. package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
  662. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
  663. package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
  664. package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
  665. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
  666. package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
  667. package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
  668. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
  669. package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
  670. package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
  671. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
  672. package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
  673. package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
  674. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
  675. package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
  676. package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
  677. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
  678. package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
  679. package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
  680. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
  681. package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
  682. package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
  683. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
  684. package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
  685. package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
  686. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
  687. package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
  688. package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
  689. package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
  690. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
  691. package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
  692. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
  693. package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
  694. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
  695. package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
  696. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
  697. package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
  698. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
  699. package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
  700. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
  701. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
  702. package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
  703. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
  704. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
  705. package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
  706. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
  707. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
  708. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
  709. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
  710. package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
  711. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
  712. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
  713. package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
  714. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
  715. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
  716. package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
  717. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
  718. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
  719. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
  720. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
  721. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
  722. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
  723. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
  724. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
  725. package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
  726. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
  727. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
  728. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
  729. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
  730. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
  731. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
  732. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
  733. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
  734. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
  735. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
  736. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
  737. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +4 -4
  738. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
  739. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
  740. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
  741. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
  742. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
  743. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
  744. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
  745. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
  746. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
  747. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
  748. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
  749. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
  750. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
  751. package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
  752. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +49 -28
  753. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
  754. package/test/sap/ui/core/qunit/Core.qunit.js +39 -34
  755. package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
  756. package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
  757. package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
  758. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +122 -119
  759. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
  760. package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
  761. package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
  762. package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
  763. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
  764. package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
  765. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
  766. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
  767. package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
  768. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
  769. package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
  770. package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
  771. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +17 -13
  772. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +11 -9
  773. package/test/sap/ui/core/qunit/Fragment.qunit.js +47 -46
  774. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +63 -61
  775. package/test/sap/ui/core/qunit/HTML.qunit.js +67 -67
  776. package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
  777. package/test/sap/ui/core/qunit/IconPool.qunit.js +5 -4
  778. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +17 -15
  779. package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
  780. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
  781. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +3 -3
  782. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
  783. package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
  784. package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
  785. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
  786. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
  787. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +15 -14
  788. package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
  789. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
  790. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +44 -375
  791. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
  792. package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
  793. package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
  794. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +6 -4
  795. package/test/sap/ui/core/qunit/UIArea.qunit.js +258 -28
  796. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
  797. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
  798. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
  799. package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
  800. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
  801. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
  802. package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
  803. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
  804. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +4 -3
  805. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
  806. package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
  807. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  808. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
  809. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
  810. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
  811. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
  812. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
  813. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
  814. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
  815. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +27 -14
  816. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +4 -2
  817. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
  818. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
  819. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +5 -4
  820. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
  821. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
  822. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
  823. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +18 -6
  824. package/test/sap/ui/core/qunit/component/Component.qunit.js +26 -15
  825. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
  826. package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
  827. package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
  828. package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
  829. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +11 -11
  830. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
  831. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +9 -10
  832. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +10 -11
  833. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +9 -11
  834. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +9 -11
  835. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
  836. package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
  837. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +3 -3
  838. package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
  839. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +38 -22
  840. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +23 -22
  841. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
  842. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
  843. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
  844. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
  845. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
  846. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
  847. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
  848. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
  849. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
  850. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +48 -48
  851. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
  852. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
  853. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
  854. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
  855. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
  856. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
  857. package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
  858. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
  859. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
  860. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
  861. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
  862. package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
  863. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +4 -5
  864. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  865. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
  866. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
  867. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
  868. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
  869. package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
  870. package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
  871. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
  872. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +2 -4
  873. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +20 -19
  874. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
  875. package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +137 -0
  876. package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
  877. package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
  878. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +42 -46
  879. package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
  880. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +29 -39
  881. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +9 -2
  882. package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
  883. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
  884. package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
  885. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
  886. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
  887. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -3
  888. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
  889. package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
  890. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
  891. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
  892. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +50 -44
  893. package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
  894. package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
  895. package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
  896. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +18 -22
  897. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +23 -27
  898. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
  899. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
  900. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
  901. package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
  902. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
  903. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +45 -51
  904. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
  905. package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
  906. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
  907. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +19 -15
  908. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +101 -29
  909. package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
  910. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
  911. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
  912. package/test/sap/ui/core/qunit/odata/_AnnotationHelperBasics.qunit.js +10 -4
  913. package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
  914. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +38 -12
  915. package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
  916. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
  917. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
  918. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
  919. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +485 -22
  920. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +762 -90
  921. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +149 -6
  922. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
  923. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
  924. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
  925. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
  926. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
  927. package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
  928. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
  929. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
  930. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
  931. package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
  932. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +145 -35
  933. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +64 -13
  934. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +359 -78
  935. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +255 -33
  936. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2267 -148
  937. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
  938. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
  939. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
  940. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
  941. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
  942. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +444 -53
  943. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
  944. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +295 -161
  945. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +12 -22
  946. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
  947. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
  948. package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
  949. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +35 -46
  950. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
  951. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
  952. package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
  953. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
  954. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
  955. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
  956. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
  957. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
  958. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
  959. package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
  960. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
  961. package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
  962. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
  963. package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
  964. package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
  965. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
  966. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
  967. package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
  968. package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
  969. package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
  970. package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
  971. package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
  972. package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
  973. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
  974. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
  975. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
  976. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
  977. package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
  978. package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
  979. package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
  980. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +9 -11
  981. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +8 -9
  982. package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
  983. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
  984. package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
  985. package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
  986. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
  987. package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
  988. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
  989. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
  990. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
  991. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
  992. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
  993. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
  994. package/test/sap/ui/core/qunit/rule/app/deprecatedJSViewUsage.qunit.js +4 -0
  995. package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
  996. package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
  997. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +28 -17
  998. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +7 -3
  999. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +7 -3
  1000. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
  1001. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +13 -19
  1002. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
  1003. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
  1004. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
  1005. package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
  1006. package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
  1007. package/test/sap/ui/core/qunit/test/starter/find/main.js +13 -9
  1008. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
  1009. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  1010. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +16 -6
  1011. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
  1012. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +48 -6
  1013. package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
  1014. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
  1015. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  1016. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
  1017. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  1018. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
  1019. package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
  1020. package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
  1021. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +60 -7
  1022. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
  1023. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
  1024. package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
  1025. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +38 -21
  1026. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +64 -40
  1027. package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
  1028. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
  1029. package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
  1030. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
  1031. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
  1032. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
  1033. package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
  1034. package/test/sap/ui/core/relnotes/changes-1.118.json +110 -0
  1035. package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
  1036. package/test/sap/ui/core/resources/fastnav.js +3 -2
  1037. package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
  1038. package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
  1039. package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
  1040. package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
  1041. package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
  1042. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
  1043. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +7 -9
  1044. package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
  1045. package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
  1046. package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
  1047. package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
  1048. package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
  1049. package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
  1050. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
  1051. package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
  1052. package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
  1053. package/test/sap/ui/core/terminologies/App.controller.js +3 -2
  1054. package/test/sap/ui/core/terminologies/App.view.xml +64 -64
  1055. package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
  1056. package/test/sap/ui/core/util/PasteHelper.html +5 -4
  1057. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  1058. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  1059. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  1060. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  1061. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  1062. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  1063. package/test/testsuite/testframe.html +4 -4
  1064. package/src/ui5-boot.js +0 -50
  1065. package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
  1066. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
  1067. package/test/sap/ui/core/qunit/messages/MessageManager.qunit.js +0 -135
  1068. package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -133
  1069. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -227
  1070. package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
  1071. package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
  1072. package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -288
  1073. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -288
  1074. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -278
  1075. package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
  1076. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -152
  1077. package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
  1078. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -101
  1079. package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
  1080. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
  1081. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
  1082. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -139
  1083. package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
  1084. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -156
  1085. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -140
  1086. package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
  1087. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -194
  1088. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -147
  1089. package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
  1090. package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
  1091. package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
  1092. package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
  1093. /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
  1094. /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
  1095. /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
  1096. /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @mixes sap.ui.model.odata.v4.ODataParentBinding
58
58
  * @public
59
59
  * @since 1.37.0
60
- * @version 1.117.1
60
+ * @version 1.119.0
61
61
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
62
62
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
63
63
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  // #destroyPreviousContexts after the next call to #createContexts.
146
146
  // A kept-alive context may be parked here for a longer time, with undefined index.
147
147
  this.mPreviousContextsByPath = {};
148
- this.aPreviousData = [];
148
+ this.aPreviousData = null; // no previous data for E.C.D. known yet
149
149
  this.bRefreshKeptElements = false; // refresh kept elements when resuming?
150
150
  this.sResumeAction = undefined; // a special resume action for $$sharedRequest
151
151
  this.bSharedRequest = "$$sharedRequest" in mParameters
@@ -281,7 +281,7 @@ sap.ui.define([
281
281
  * @param {string} sNewPath - The path with the transient predicate replaced
282
282
  */
283
283
  function adjustPreviousData(sOldPath, sNewPath) {
284
- var iIndex = that.aPreviousData.indexOf(sOldPath);
284
+ var iIndex = that.aPreviousData?.indexOf(sOldPath);
285
285
 
286
286
  if (iIndex >= 0) {
287
287
  that.aPreviousData[iIndex] = sNewPath;
@@ -376,7 +376,9 @@ sap.ui.define([
376
376
  * detailed reason as parameters.
377
377
  *
378
378
  * @param {sap.ui.base.Event} oEvent
379
- * @param {object} oEvent.getParameters
379
+ * The event object
380
+ * @param {function():Object<any>} oEvent.getParameters
381
+ * Function which returns an object containing all event parameters
380
382
  * @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
381
383
  * The reason for the 'change' event is
382
384
  * <ul>
@@ -408,6 +410,8 @@ sap.ui.define([
408
410
  *
409
411
  * @param {sap.ui.base.Event} oEvent The event object
410
412
  * @param {sap.ui.model.odata.v4.ODataListBinding} oEvent.getSource() This binding
413
+ * @param {function():Object<any>} oEvent.getParameters
414
+ * Function which returns an object containing all event parameters
411
415
  * @param {sap.ui.model.odata.v4.Context} oEvent.getParameters.context The affected context
412
416
  *
413
417
  * @event sap.ui.model.odata.v4.ODataListBinding#createActivate
@@ -423,7 +427,8 @@ sap.ui.define([
423
427
  *
424
428
  * @param {sap.ui.base.Event} oEvent The event object
425
429
  * @param {sap.ui.model.odata.v4.ODataListBinding} oEvent.getSource() This binding
426
- * @param {object} oEvent.getParameters Object containing all event parameters
430
+ * @param {function():Object<any>} oEvent.getParameters
431
+ * Function which returns an object containing all event parameters
427
432
  * @param {sap.ui.model.odata.v4.Context} oEvent.getParameters.context
428
433
  * The context for the created entity
429
434
  * @param {boolean} oEvent.getParameters.success
@@ -442,7 +447,8 @@ sap.ui.define([
442
447
  *
443
448
  * @param {sap.ui.base.Event} oEvent The event object
444
449
  * @param {sap.ui.model.odata.v4.ODataListBinding} oEvent.getSource() This binding
445
- * @param {object} oEvent.getParameters Object containing all event parameters
450
+ * @param {function():Object<any>} oEvent.getParameters
451
+ * Function which returns an object containing all event parameters
446
452
  * @param {sap.ui.model.odata.v4.Context} oEvent.getParameters.context
447
453
  * The context for the created entity
448
454
  *
@@ -472,9 +478,11 @@ sap.ui.define([
472
478
  * {@link sap.ui.base.Event#cancelBubble oEvent.cancelBubble()}.
473
479
  *
474
480
  * @param {sap.ui.base.Event} oEvent
481
+ * The event object
475
482
  * @param {function} oEvent.cancelBubble
476
483
  * A callback function to prevent that the event is bubbled up to the model
477
- * @param {object} oEvent.getParameters
484
+ * @param {function():Object<any>} oEvent.getParameters
485
+ * Function which returns an object containing all event parameters
478
486
  * @param {object} [oEvent.getParameters.data]
479
487
  * An empty data object if a back-end request succeeds
480
488
  * @param {Error} [oEvent.getParameters.error] The error object if a back-end request failed.
@@ -513,7 +521,8 @@ sap.ui.define([
513
521
  *
514
522
  * @param {sap.ui.base.Event} oEvent The event object
515
523
  * @param {sap.ui.model.odata.v4.ODataListBinding} oEvent.getSource() This binding
516
- * @param {object} oEvent.getParameters Object containing all event parameters
524
+ * @param {function():Object<any>} oEvent.getParameters
525
+ * Function which returns an object containing all event parameters
517
526
  * @param {boolean} oEvent.getParameters.success
518
527
  * Whether all PATCHes are successfully processed
519
528
  *
@@ -544,7 +553,9 @@ sap.ui.define([
544
553
  * binding. Registered event handlers are called with the change reason as parameter.
545
554
  *
546
555
  * @param {sap.ui.base.Event} oEvent
547
- * @param {object} oEvent.getParameters
556
+ * The event object
557
+ * @param {function():Object<any>} oEvent.getParameters
558
+ * Function which returns an object containing all event parameters
548
559
  * @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
549
560
  * The reason for the 'refresh' event could be
550
561
  * <ul>
@@ -654,13 +665,15 @@ sap.ui.define([
654
665
  *
655
666
  * @param {sap.ui.model.odata.v4.Context} oContext
656
667
  * The context corresponding to the group node
668
+ * @param {boolean} [bSilent]
669
+ * Whether no ("change") events should be fired
657
670
  * @throws {Error}
658
671
  * If the binding's root binding is suspended
659
672
  *
660
673
  * @private
661
674
  * @see #expand
662
675
  */
663
- ODataListBinding.prototype.collapse = function (oContext) {
676
+ ODataListBinding.prototype.collapse = function (oContext, bSilent) {
664
677
  var aContexts = this.aContexts,
665
678
  iCount = this.oCache.collapse(
666
679
  _Helper.getRelativePath(oContext.getPath(), this.oHeaderContext.getPath())),
@@ -678,7 +691,9 @@ sap.ui.define([
678
691
  }
679
692
  }
680
693
  this.iMaxLength -= iCount;
681
- this._fireChange({reason : ChangeReason.Change});
694
+ if (!bSilent) {
695
+ this._fireChange({reason : ChangeReason.Change});
696
+ }
682
697
  } // else: collapse before expand has finished
683
698
  };
684
699
 
@@ -740,13 +755,11 @@ sap.ui.define([
740
755
  * of <code>Error</code>, even if the deep create succeeds. This error always has the property
741
756
  * <code>canceled</code> with the value <code>true</code>.
742
757
  *
743
- * Since 1.117.0 deep create also supports single-valued navigation properties; no API call is
758
+ * Since 1.118.0 deep create also supports single-valued navigation properties; no API call is
744
759
  * required in this case. Simply bind properties of the related entity relative to a transient
745
760
  * context. An update to the property adds it to the POST request of the parent entity, and by
746
761
  * this the create becomes deep.
747
762
  *
748
- * <b>Note</b>: Deep create for single-valued navigation properties is <b>experimental</b>.
749
- *
750
763
  * Deep create requires the <code>autoExpandSelect</code> parameter at the
751
764
  * {@link sap.ui.model.odata.v4.ODataModel#constructor model}. The refresh after a deep create
752
765
  * is optimized. Only the (navigation) properties missing from the POST response are actually
@@ -763,11 +776,11 @@ sap.ui.define([
763
776
  * {@link sap.ui.model.odata.v4.Context} instance given as
764
777
  * <code>oInitialData["@$ui5.node.parent"]</code>. <code>oAggregation.expandTo</code> (see
765
778
  * {@link #setAggregation}) must be one, <code>bSkipRefresh</code> must be set, but both
766
- * <code>bAtEnd</code> and <code>bInactive</code> must not be set. No other creation must be
767
- * pending, and no other modification (including collapse of some ancestor node) must happen
768
- * while this creation is pending!
779
+ * <code>bAtEnd</code> and <code>bInactive</code> must not be set. No other creation or
780
+ * {@link sap.ui.model.odata.v4.Context#move move} must be pending, and no other modification
781
+ * (including collapse of some ancestor node) must happen while this creation is pending!
769
782
  *
770
- * @param {object} [oInitialData={}]
783
+ * @param {Object<any>} [oInitialData={}]
771
784
  * The initial data for the created entity
772
785
  * @param {boolean} [bSkipRefresh]
773
786
  * Whether an automatic refresh of the created entity will be skipped.
@@ -1096,21 +1109,36 @@ sap.ui.define([
1096
1109
  */
1097
1110
  ODataListBinding.prototype.delete = function (oGroupLock, sEditUrl, oContext, oETagEntity,
1098
1111
  bDoNotRequestCount, fnUndelete) {
1099
- // When deleting a context with negative index, iCreatedContexts et al. must be adjusted.
1100
- // However, when re-inserting, the context has lost its index. Beware: Do NOT use the
1101
- // created() promise, because doReplaceWith places a context w/o the promise here.
1102
- var bCreated = oContext.iIndex < 0,
1103
- sPath = oContext.iIndex === undefined
1104
- // context is not in aContexts -> use the predicate
1105
- ? _Helper.getRelativePath(oContext.getPath(), this.oHeaderContext.getPath())
1106
- : String(oContext.iIndex),
1107
- bReset = false,
1112
+ var bReset = false,
1108
1113
  that = this;
1109
1114
 
1115
+ const oAggregation = this.mParameters.$$aggregation;
1116
+ if (oAggregation) {
1117
+ if (oAggregation.expandTo > 1) {
1118
+ throw new Error("Unsupported $$aggregation.expandTo: " + oAggregation.expandTo);
1119
+ }
1120
+ if (oContext.iIndex === undefined) {
1121
+ throw new Error("Unsupported kept-alive context: " + oContext);
1122
+ }
1123
+ }
1110
1124
  if (oContext.isDeleted()) {
1111
1125
  return oContext.oDeletePromise; // do not delete twice
1112
1126
  }
1113
1127
 
1128
+ const bExpanded = oContext.isExpanded();
1129
+ if (bExpanded) {
1130
+ this.collapse(oContext);
1131
+ }
1132
+
1133
+ // When deleting a context with negative index, iCreatedContexts et al. must be adjusted.
1134
+ // However, when re-inserting, the context has lost its index. Beware: Do NOT use the
1135
+ // created() promise, because doReplaceWith places a context w/o the promise here.
1136
+ const bCreated = oContext.iIndex < 0;
1137
+ const sPath = oContext.iIndex === undefined
1138
+ // context is not in aContexts -> use the predicate
1139
+ ? _Helper.getRelativePath(oContext.getPath(), this.oHeaderContext.getPath())
1140
+ : String(oContext.getModelIndex());
1141
+
1114
1142
  this.iDeletedContexts += 1;
1115
1143
 
1116
1144
  return oContext.doDelete(oGroupLock, sEditUrl, sPath, oETagEntity, this,
@@ -1181,6 +1209,9 @@ sap.ui.define([
1181
1209
  that.oCache.reset(that.getKeepAlivePredicates());
1182
1210
  that.reset(ChangeReason.Change);
1183
1211
  } else {
1212
+ if (bExpanded) {
1213
+ that.expand(oContext); // runs synchronously because it was expanded before
1214
+ }
1184
1215
  that._fireChange({reason : ChangeReason.Add});
1185
1216
  }
1186
1217
  throw oError;
@@ -1593,7 +1624,7 @@ sap.ui.define([
1593
1624
 
1594
1625
  if (oCache) {
1595
1626
  if (!oCache.hasSentRequest() && ODataListBinding.isBelowCreated(oContext)) {
1596
- aElements = oContext.getAndRemoveValue(that.sPath);
1627
+ aElements = oContext.getAndRemoveCollection(that.sPath);
1597
1628
  if (aElements) { // there is a collection from a finished deep create
1598
1629
  // copy the created elements into the newly created cache
1599
1630
  oCache.setPersistedCollection(aElements);
@@ -2035,6 +2066,9 @@ sap.ui.define([
2035
2066
  * <li> "$DistanceFromRootProperty" holds the path to the property which provides the raw
2036
2067
  * value for "@$ui5.node.level" (minus one) and should be used only to interpret the
2037
2068
  * response retrieved via {@link #getDownloadUrl}.
2069
+ * <li> "$DrillStateProperty" holds the path to the property which provides the raw value
2070
+ * for "@$ui5.node.isExpanded" and should be used only to interpret the response retrieved
2071
+ * via {@link #getDownloadUrl}.
2038
2072
  * <li> "$NodeProperty" holds the path to the property which provides the hierarchy node
2039
2073
  * value. That property is always $select'ed automatically and can be accessed as usual.
2040
2074
  * </ul>
@@ -2048,7 +2082,8 @@ sap.ui.define([
2048
2082
  ODataListBinding.prototype.getAggregation = function (bVerbose) {
2049
2083
  return _Helper.clone(this.mParameters.$$aggregation, function (sKey, vValue) {
2050
2084
  return sKey[0] === "$"
2051
- && !(bVerbose && ["$DistanceFromRootProperty", "$NodeProperty"].includes(sKey))
2085
+ && !(bVerbose && ["$DistanceFromRootProperty", "$DrillStateProperty",
2086
+ "$NodeProperty"].includes(sKey))
2052
2087
  ? undefined
2053
2088
  : vValue;
2054
2089
  });
@@ -2071,13 +2106,13 @@ sap.ui.define([
2071
2106
  * @since 1.98.0
2072
2107
  */
2073
2108
  ODataListBinding.prototype.getAllCurrentContexts = function () {
2074
- var aElements = [];
2109
+ var aElements;
2075
2110
 
2076
2111
  this.withCache(function (oCache, sPath) {
2077
2112
  aElements = oCache.getAllElements(sPath);
2078
2113
  }, "", /*bSync*/true);
2079
2114
 
2080
- if (this.createContexts(0, aElements)) {
2115
+ if (aElements && this.createContexts(0, aElements)) {
2081
2116
  // In the case that a control has requested new data and the data request is already
2082
2117
  // completed, but the new contexts are not yet created, we have to ensure that a change
2083
2118
  // event is fired to inform the control about these new contexts.
@@ -2225,7 +2260,7 @@ sap.ui.define([
2225
2260
  }
2226
2261
 
2227
2262
  if (!this.isResolved()) { // unresolved relative binding
2228
- this.aPreviousData = []; // compute diff from scratch when binding is resolved again
2263
+ this.aPreviousData = null; // compute diff from scratch when binding is resolved again
2229
2264
  return [];
2230
2265
  }
2231
2266
 
@@ -2293,7 +2328,7 @@ sap.ui.define([
2293
2328
  };
2294
2329
  }
2295
2330
  if (bFireChange) {
2296
- if (bChanged || (that.oDiff && that.oDiff.aDiff.length)) {
2331
+ if (bChanged || (that.oDiff && that.oDiff.aDiff?.length)) {
2297
2332
  that._fireChange({reason : sChangeReason});
2298
2333
  } else { // we cannot keep a diff if we do not tell the control to fetch it!
2299
2334
  that.oDiff = undefined;
@@ -2467,7 +2502,7 @@ sap.ui.define([
2467
2502
  * The length of the range requested in getContexts
2468
2503
  * @returns {object}
2469
2504
  * The array of differences which is the comparison of current versus previous data as given
2470
- * by {@link #getContextData}.
2505
+ * by {@link #getContextData}, or <code>null</code> in case no previous data is known.
2471
2506
  *
2472
2507
  * @private
2473
2508
  */
@@ -2479,7 +2514,7 @@ sap.ui.define([
2479
2514
  return that.getContextData(oContext);
2480
2515
  });
2481
2516
 
2482
- return this.diffData(aPreviousData, this.aPreviousData);
2517
+ return aPreviousData ? this.diffData(aPreviousData, this.aPreviousData) : null;
2483
2518
  };
2484
2519
 
2485
2520
  /**
@@ -2806,7 +2841,7 @@ sap.ui.define([
2806
2841
  * @param {boolean} [bWithSystemQueryOptions]
2807
2842
  * Whether system query options should be returned as well. The parameter value
2808
2843
  * <code>true</code> is not supported.
2809
- * @returns {object} mQueryOptions
2844
+ * @returns {Object<any>} mQueryOptions
2810
2845
  * The object with the query options. Query options can be provided with
2811
2846
  * {@link sap.ui.model.odata.v4.ODataModel#bindList},
2812
2847
  * {@link sap.ui.model.odata.v4.ODataModel#bindContext},
@@ -3038,6 +3073,64 @@ sap.ui.define([
3038
3073
  return aContexts;
3039
3074
  };
3040
3075
 
3076
+ /**
3077
+ * Moves the given (child) node to the given parent.
3078
+ *
3079
+ * @param {sap.ui.model.odata.v4.Context} oChildContext - The (child) node to be moved
3080
+ * @param {sap.ui.model.odata.v4.Context} oParentContext - The new parent's context
3081
+ * @returns {sap.ui.base.SyncPromise<void>}
3082
+ * A promise which is resolved without a defined result when the move is finished, or
3083
+ * rejected in case of an error
3084
+ *
3085
+ * @private
3086
+ */
3087
+ ODataListBinding.prototype.move = function (oChildContext, oParentContext) {
3088
+ /*
3089
+ * Sets the <code>iIndex</code> of every context instance inside the given range.
3090
+ *
3091
+ * @param {number} iFrom - Start index
3092
+ * @param {number} iToInclusive - Inclusive end index
3093
+ */
3094
+ const setIndices = (iFrom, iToInclusive) => {
3095
+ for (let i = iFrom; i <= iToInclusive; i += 1) {
3096
+ if (this.aContexts[i]) {
3097
+ this.aContexts[i].iIndex = i;
3098
+ }
3099
+ }
3100
+ };
3101
+
3102
+ const bExpanded = oChildContext.isExpanded();
3103
+ if (bExpanded) {
3104
+ this.collapse(oChildContext, /*bSilent*/true);
3105
+ }
3106
+
3107
+ const sChildPath = oChildContext.getCanonicalPath().slice(1);
3108
+ const sParentPath = oParentContext.getCanonicalPath().slice(1); // before #lockGroup!
3109
+ const oGroupLock = this.lockGroup(this.getUpdateGroupId(), true, true);
3110
+
3111
+ return this.oCache.move(oGroupLock, sChildPath, sParentPath).then(() => {
3112
+ const iChildIndex = this.aContexts.indexOf(oChildContext);
3113
+ const iParentIndex = this.aContexts.indexOf(oParentContext); // Note: !== iChildIndex
3114
+ if (iChildIndex < iParentIndex) {
3115
+ this.aContexts.splice(iParentIndex + 1, 0, oChildContext);
3116
+ this.aContexts.splice(iChildIndex, 1); // parent moves to lower index!
3117
+ setIndices(iChildIndex, iParentIndex);
3118
+ } else if (iChildIndex > iParentIndex + 1) {
3119
+ this.aContexts.splice(iChildIndex, 1); // parent unaffected!
3120
+ this.aContexts.splice(iParentIndex + 1, 0, oChildContext);
3121
+ setIndices(iParentIndex + 1, iChildIndex);
3122
+ } // else: iChildIndex === iParentIndex + 1 => nothing to do
3123
+ if (!oChildContext.created()) {
3124
+ oChildContext.setCreatedPersisted();
3125
+ }
3126
+ if (bExpanded) {
3127
+ this.expand(oChildContext); // guaranteed to by sync! incl. _fireChange
3128
+ } else {
3129
+ this._fireChange({reason : ChangeReason.Change});
3130
+ }
3131
+ });
3132
+ };
3133
+
3041
3134
  /**
3042
3135
  * Notification from the cache that the collection has changed. Currently, only bindings with
3043
3136
  * bSharedRequest register at the cache and are notified when the cache has been reset.
@@ -3464,18 +3557,28 @@ sap.ui.define([
3464
3557
  * @private
3465
3558
  */
3466
3559
  ODataListBinding.prototype.removeCreated = function (oContext) {
3467
- var iIndex = oContext.getModelIndex(), // Note: MUST not be undefined, or we fail utterly!
3468
- i;
3560
+ var iIndex, i;
3469
3561
 
3470
- this.iCreatedContexts -= 1;
3471
- if (!oContext.isInactive()) {
3472
- this.iActiveContexts -= 1;
3473
- }
3474
- for (i = 0; i < iIndex; i += 1) {
3475
- this.aContexts[i].iIndex += 1;
3476
- }
3477
- if (!this.iCreatedContexts) {
3478
- this.bFirstCreateAtEnd = undefined;
3562
+ if (this.mParameters.$$aggregation) {
3563
+ this.iMaxLength -= 1;
3564
+ iIndex = this.aContexts.indexOf(oContext);
3565
+ for (i = this.aContexts.length - 1; i > iIndex; i -= 1) {
3566
+ if (this.aContexts[i]) {
3567
+ this.aContexts[i].iIndex -= 1;
3568
+ }
3569
+ }
3570
+ } else {
3571
+ iIndex = oContext.getModelIndex(); // Note: MUST not be undefined, or we fail utterly!
3572
+ this.iCreatedContexts -= 1; // Note: affects #getModelIndex!
3573
+ if (!this.iCreatedContexts) {
3574
+ this.bFirstCreateAtEnd = undefined;
3575
+ }
3576
+ if (!oContext.isInactive()) {
3577
+ this.iActiveContexts -= 1;
3578
+ }
3579
+ for (i = 0; i < iIndex; i += 1) {
3580
+ this.aContexts[i].iIndex += 1;
3581
+ }
3479
3582
  }
3480
3583
  this.aContexts.splice(iIndex, 1);
3481
3584
  if (!oContext.isEffectivelyKeptAlive()) {
@@ -4279,7 +4382,7 @@ sap.ui.define([
4279
4382
  * @param {string} [aAggregation[].as]
4280
4383
  * Measures only: The alias, that is the name of the dynamic property used for aggregation of
4281
4384
  * this measure; see "3.1.1 Keyword as" (since 1.55.0)
4282
- * @returns {object|undefined}
4385
+ * @returns {{measureRangePromise: Promise<Object<{min:number,max:number}>>}|undefined}
4283
4386
  * The return object contains a property <code>measureRangePromise</code> if and only if at
4284
4387
  * least one measure has requested a minimum or maximum value; its value is a
4285
4388
  * promise which resolves with the measure range map as soon as data has been received; the
@@ -156,7 +156,7 @@ sap.ui.define([
156
156
  * @hideconstructor
157
157
  * @public
158
158
  * @since 1.37.0
159
- * @version 1.117.1
159
+ * @version 1.119.0
160
160
  */
161
161
  ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
162
162
  constructor : constructor
@@ -35,11 +35,12 @@ sap.ui.define([
35
35
  "sap/base/assert",
36
36
  "sap/base/Log",
37
37
  "sap/ui/base/SyncPromise",
38
- "sap/ui/core/cache/CacheManager",
39
38
  "sap/ui/core/Configuration",
40
39
  "sap/ui/core/library",
40
+ "sap/ui/core/Messaging",
41
+ "sap/ui/core/Rendering",
42
+ "sap/ui/core/cache/CacheManager",
41
43
  "sap/ui/core/message/Message",
42
- "sap/ui/core/message/MessageManager",
43
44
  "sap/ui/model/BindingMode",
44
45
  "sap/ui/model/Context",
45
46
  "sap/ui/model/Model",
@@ -47,8 +48,8 @@ sap.ui.define([
47
48
  "sap/ui/thirdparty/URI"
48
49
  ], function (ODataContextBinding, ODataListBinding, ODataMetaModel, ODataPropertyBinding,
49
50
  SubmitMode, _GroupLock, _Helper, _MetadataRequestor, _Parser, _Requestor, assert, Log,
50
- SyncPromise, CacheManager, Configuration, coreLibrary, Message, MessageManager, BindingMode,
51
- BaseContext, Model, OperationMode, URI) {
51
+ SyncPromise, Configuration, coreLibrary, Messaging, Rendering, CacheManager, Message,
52
+ BindingMode, BaseContext, Model, OperationMode, URI) {
52
53
  "use strict";
53
54
 
54
55
  var sClassName = "sap.ui.model.odata.v4.ODataModel",
@@ -233,7 +234,7 @@ sap.ui.define([
233
234
  * @extends sap.ui.model.Model
234
235
  * @public
235
236
  * @since 1.37.0
236
- * @version 1.117.1
237
+ * @version 1.119.0
237
238
  */
238
239
  ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
239
240
  /** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
@@ -379,7 +380,7 @@ sap.ui.define([
379
380
  reportStateMessages : this.reportStateMessages.bind(this),
380
381
  reportTransitionMessages : this.reportTransitionMessages.bind(this),
381
382
  updateMessages : function (aOldMessages, aNewMessages) {
382
- MessageManager.updateMessages(aOldMessages, aNewMessages);
383
+ Messaging.updateMessages(aOldMessages, aNewMessages);
383
384
  }
384
385
  };
385
386
  this.oRequestor = _Requestor.create(this.sServiceUrl, this.oInterface, this.mHeaders,
@@ -463,7 +464,9 @@ sap.ui.define([
463
464
  * the entity is also available.
464
465
  *
465
466
  * @param {sap.ui.base.Event} oEvent
466
- * @param {object} oEvent.getParameters
467
+ * The event object
468
+ * @param {function():Object<any>} oEvent.getParameters
469
+ * Function which returns an object containing all event parameters
467
470
  * @param {object} [oEvent.getParameters.data]
468
471
  * An empty data object if a back-end request succeeds
469
472
  * @param {Error} [oEvent.getParameters.error]
@@ -505,7 +508,9 @@ sap.ui.define([
505
508
  * </ul>
506
509
  *
507
510
  * @param {sap.ui.base.Event} oEvent
508
- * @param {object} oEvent.getParameters
511
+ * The event object
512
+ * @param {function():Object<any>} oEvent.getParameters
513
+ * Function which returns an object containing all event parameters
509
514
  * @param {string} [oEvent.getParameters.path]
510
515
  * The absolute path to the entity which caused the event. The path is only provided for
511
516
  * additional property requests; for other requests it is <code>undefined</code>.
@@ -534,7 +539,9 @@ sap.ui.define([
534
539
  * not user input.
535
540
  *
536
541
  * @param {sap.ui.base.Event} oEvent
537
- * @param {object} oEvent.getParameters
542
+ * The event object
543
+ * @param {function():Object<any>} oEvent.getParameters
544
+ * Function which returns an object containing all event parameters
538
545
  * @param {sap.ui.model.Context} [oEvent.getParameters.context]
539
546
  * The property binding's {@link sap.ui.model.Binding#getContext context}, if available
540
547
  * @param {string} oEvent.getParameters.path
@@ -618,7 +625,7 @@ sap.ui.define([
618
625
  if (!this.aPrerenderingTasks) {
619
626
  this.aPrerenderingTasks = [];
620
627
  fnRunTasks = runTasks.bind(null, this.aPrerenderingTasks);
621
- sap.ui.getCore().addPrerenderingTask(fnRunTasks);
628
+ Rendering.addPrerenderingTask(fnRunTasks);
622
629
  // Add a watchdog to run the tasks in case there is no rendering. Ensure that the task
623
630
  // runs after all setTimeout(0) tasks scheduled from within the current task, even those
624
631
  // that were scheduled afterwards. A simple setTimeout(n) with n > 0 is not sufficient
@@ -1210,7 +1217,7 @@ sap.ui.define([
1210
1217
  * <li> It must not contain control characters.
1211
1218
  * </ul>
1212
1219
  *
1213
- * @param {object} [mHeaders]
1220
+ * @param {Object<string|undefined>} [mHeaders]
1214
1221
  * Map of HTTP header names to their values
1215
1222
  * @throws {Error}
1216
1223
  * If <code>mHeaders</code> contains unsupported headers, the same header occurs more than
@@ -1813,7 +1820,7 @@ sap.ui.define([
1813
1820
  *
1814
1821
  * @param {boolean} [bIncludeContextId]
1815
1822
  * Whether to include the "SAP-ContextId" header (@since 1.86.0)
1816
- * @returns {object}
1823
+ * @returns {Object<string>}
1817
1824
  * The map of HTTP headers
1818
1825
  *
1819
1826
  * @public
@@ -2413,7 +2420,7 @@ sap.ui.define([
2413
2420
  });
2414
2421
  });
2415
2422
  if (aNewMessages.length || aOldMessages.length) {
2416
- MessageManager.updateMessages(aOldMessages, aNewMessages);
2423
+ Messaging.updateMessages(aOldMessages, aNewMessages);
2417
2424
  }
2418
2425
  };
2419
2426
 
@@ -2432,7 +2439,7 @@ sap.ui.define([
2432
2439
  var that = this;
2433
2440
 
2434
2441
  if (aMessages && aMessages.length) {
2435
- MessageManager.updateMessages(undefined, aMessages.map(function (oMessage) {
2442
+ Messaging.updateMessages(undefined, aMessages.map(function (oMessage) {
2436
2443
  oMessage.transition = true;
2437
2444
  return that.createUI5Message(oMessage, sResourcePath);
2438
2445
  }));
@@ -792,8 +792,10 @@ sap.ui.define([
792
792
  return SyncPromise.resolve(sResolvedChildPath);
793
793
  }
794
794
 
795
+ // A binding w/o cache must skip this optimization and pass on to the parent binding;
796
+ // otherwise late properties might be missing later
795
797
  oCanUseCachePromise = this.mCanUseCachePromiseByChildPath[sChildPath];
796
- if (oCanUseCachePromise && bIsProperty) {
798
+ if (bIsProperty && this.oCache !== null && oCanUseCachePromise) {
797
799
  return oCanUseCachePromise.then(function (sOldReducedPath) {
798
800
  if (!sOldReducedPath) {
799
801
  return undefined;
@@ -905,7 +907,7 @@ sap.ui.define([
905
907
  }
906
908
  return sReducedPath;
907
909
  });
908
- if (bIsProperty && !oContext.getPath().includes("($uid=")) {
910
+ if (bIsProperty && this.oCache !== null && !oContext.getPath().includes("($uid=")) {
909
911
  this.mCanUseCachePromiseByChildPath[sChildPath] = oCanUseCachePromise;
910
912
  }
911
913
  this.aChildCanUseCachePromises.push(oCanUseCachePromise);
@@ -6,6 +6,7 @@
6
6
 
7
7
  //Provides class sap.ui.model.odata.v4.ODataPropertyBinding
8
8
  sap.ui.define([
9
+ "./Context",
9
10
  "./ODataBinding",
10
11
  "./lib/_Cache",
11
12
  "./lib/_Helper",
@@ -13,9 +14,8 @@ sap.ui.define([
13
14
  "sap/ui/base/SyncPromise",
14
15
  "sap/ui/model/BindingMode",
15
16
  "sap/ui/model/ChangeReason",
16
- "sap/ui/model/odata/v4/Context",
17
17
  "sap/ui/model/PropertyBinding"
18
- ], function (asODataBinding, _Cache, _Helper, Log, SyncPromise, BindingMode, ChangeReason, Context,
18
+ ], function (Context, asODataBinding, _Cache, _Helper, Log, SyncPromise, BindingMode, ChangeReason,
19
19
  PropertyBinding) {
20
20
  "use strict";
21
21
  /*eslint max-nested-callbacks: 0 */
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @mixes sap.ui.model.odata.v4.ODataBinding
43
43
  * @public
44
44
  * @since 1.37.0
45
- * @version 1.117.1
45
+ * @version 1.119.0
46
46
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
47
47
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
48
48
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -117,7 +117,9 @@ sap.ui.define([
117
117
  * change reason as parameter.
118
118
  *
119
119
  * @param {sap.ui.base.Event} oEvent
120
- * @param {object} oEvent.getParameters
120
+ * The event object
121
+ * @param {function():Object<any>} oEvent.getParameters
122
+ * Function which returns an object containing all event parameters
121
123
  * @param {sap.ui.model.ChangeReason} oEvent.getParameters.reason
122
124
  * The reason for the 'change' event could be
123
125
  * <ul>
@@ -154,7 +156,9 @@ sap.ui.define([
154
156
  * 'error' event parameter.
155
157
  *
156
158
  * @param {sap.ui.base.Event} oEvent
157
- * @param {object} oEvent.getParameters
159
+ * The event object
160
+ * @param {function():Object<any>} oEvent.getParameters
161
+ * Function which returns an object containing all event parameters
158
162
  * @param {object} [oEvent.getParameters.data]
159
163
  * An empty data object if a back-end request succeeds
160
164
  * @param {Error} [oEvent.getParameters.error] The error object if a back-end request failed.
@@ -364,12 +368,9 @@ sap.ui.define([
364
368
  * @private
365
369
  */
366
370
  ODataPropertyBinding.prototype.deregisterChangeListener = function () {
367
- var that = this;
368
-
369
- this.withCache(function (_oCache, sPath, oBinding) {
370
- oBinding.doDeregisterChangeListener(sPath, that);
371
- }, /*sPath*/"", /*bSync*/false, /*bWithOrWithoutCache*/true)
372
- .catch(this.oModel.getReporter());
371
+ if (this.sReducedPath) {
372
+ this.doDeregisterChangeListener(this.sReducedPath, this);
373
+ }
373
374
  };
374
375
 
375
376
  /**