@openui5/sap.ui.core 1.118.0 → 1.119.1

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 (673) 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 +16 -1
  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/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +2 -2
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
  66. package/src/sap/ui/base/Metadata.js +3 -3
  67. package/src/sap/ui/base/Object.js +1 -1
  68. package/src/sap/ui/base/ObjectPool.js +1 -1
  69. package/src/sap/ui/core/.library +1 -1
  70. package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +68 -51
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +15 -167
  77. package/src/sap/ui/core/Control.js +2 -2
  78. package/src/sap/ui/core/Core.js +162 -93
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
  81. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  82. package/src/sap/ui/core/Element.js +40 -4
  83. package/src/sap/ui/core/ElementMetadata.js +1 -1
  84. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  85. package/src/sap/ui/core/EventBus.js +19 -2
  86. package/src/sap/ui/core/FocusHandler.js +3 -24
  87. package/src/sap/ui/core/Fragment.js +2 -2
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/History.js +1 -1
  90. package/src/sap/ui/core/Icon.js +1 -1
  91. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  92. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  93. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  94. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  95. package/src/sap/ui/core/InvisibleText.js +2 -2
  96. package/src/sap/ui/core/Item.js +1 -1
  97. package/src/sap/ui/core/LabelEnablement.js +11 -4
  98. package/src/sap/ui/core/LayoutData.js +1 -1
  99. package/src/sap/ui/core/Lib.js +42 -42
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +1 -1
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +1 -1
  105. package/src/sap/ui/core/Message.js +4 -4
  106. package/src/sap/ui/core/Messaging.js +4 -5
  107. package/src/sap/ui/core/Popup.js +3 -3
  108. package/src/sap/ui/core/RenderManager.js +15 -10
  109. package/src/sap/ui/core/Renderer.js +1 -1
  110. package/src/sap/ui/core/Rendering.js +1 -0
  111. package/src/sap/ui/core/ResizeHandler.js +15 -20
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/ShortcutHintsMixin.js +5 -5
  115. package/src/sap/ui/core/StashedControlSupport.js +4 -4
  116. package/src/sap/ui/core/StaticArea.js +66 -74
  117. package/src/sap/ui/core/Theming.js +71 -8
  118. package/src/sap/ui/core/Title.js +1 -1
  119. package/src/sap/ui/core/TooltipBase.js +1 -1
  120. package/src/sap/ui/core/UIArea.js +10 -9
  121. package/src/sap/ui/core/UIComponent.js +2 -2
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +4 -2
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/_IconRegistry.js +2 -0
  128. package/src/sap/ui/core/cache/CacheManager.js +22 -16
  129. package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
  130. package/src/sap/ui/core/date/UI5Date.js +1 -1
  131. package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
  132. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  133. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  134. package/src/sap/ui/core/dnd/DragDropInfo.js +6 -6
  135. package/src/sap/ui/core/dnd/DragInfo.js +4 -4
  136. package/src/sap/ui/core/dnd/DropInfo.js +6 -6
  137. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  138. package/src/sap/ui/core/getCompatibilityVersion.js +64 -0
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  140. package/src/sap/ui/core/library.js +14 -9
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
  142. package/src/sap/ui/core/message/Message.js +14 -13
  143. package/src/sap/ui/core/message/MessageManager.js +12 -13
  144. package/src/sap/ui/core/message/MessageMixin.js +2 -2
  145. package/src/sap/ui/core/message/MessageParser.js +1 -1
  146. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  147. package/src/sap/ui/core/message/MessageType.js +4 -4
  148. package/src/sap/ui/core/messagebundle_ar.properties +2 -2
  149. package/src/sap/ui/core/messagebundle_bg.properties +3 -3
  150. package/src/sap/ui/core/messagebundle_ca.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_cs.properties +4 -4
  152. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_da.properties +3 -3
  154. package/src/sap/ui/core/messagebundle_de.properties +2 -2
  155. package/src/sap/ui/core/messagebundle_el.properties +10 -10
  156. package/src/sap/ui/core/messagebundle_en.properties +4 -4
  157. package/src/sap/ui/core/messagebundle_es.properties +17 -17
  158. package/src/sap/ui/core/messagebundle_fi.properties +1 -1
  159. package/src/sap/ui/core/messagebundle_fr.properties +21 -21
  160. package/src/sap/ui/core/messagebundle_hi.properties +2 -2
  161. package/src/sap/ui/core/messagebundle_hr.properties +6 -6
  162. package/src/sap/ui/core/messagebundle_hu.properties +10 -10
  163. package/src/sap/ui/core/messagebundle_id.properties +5 -5
  164. package/src/sap/ui/core/messagebundle_it.properties +57 -57
  165. package/src/sap/ui/core/messagebundle_iw.properties +5 -5
  166. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_ko.properties +6 -6
  168. package/src/sap/ui/core/messagebundle_lv.properties +5 -5
  169. package/src/sap/ui/core/messagebundle_ms.properties +5 -5
  170. package/src/sap/ui/core/messagebundle_nl.properties +12 -12
  171. package/src/sap/ui/core/messagebundle_no.properties +8 -8
  172. package/src/sap/ui/core/messagebundle_pl.properties +2 -2
  173. package/src/sap/ui/core/messagebundle_pt.properties +8 -8
  174. package/src/sap/ui/core/messagebundle_ro.properties +2 -2
  175. package/src/sap/ui/core/messagebundle_ru.properties +7 -7
  176. package/src/sap/ui/core/messagebundle_sk.properties +2 -2
  177. package/src/sap/ui/core/messagebundle_sl.properties +9 -9
  178. package/src/sap/ui/core/messagebundle_sv.properties +8 -8
  179. package/src/sap/ui/core/messagebundle_th.properties +18 -18
  180. package/src/sap/ui/core/messagebundle_tr.properties +5 -5
  181. package/src/sap/ui/core/messagebundle_uk.properties +8 -8
  182. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  183. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -2
  184. package/src/sap/ui/core/messagebundle_zh_TW.properties +24 -24
  185. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  186. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  187. package/src/sap/ui/core/mvc/JSView.js +1 -1
  188. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  189. package/src/sap/ui/core/mvc/View.js +3 -3
  190. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  191. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  192. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  193. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  194. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  195. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  196. package/src/sap/ui/core/routing/async/Target.js +5 -4
  197. package/src/sap/ui/core/routing/sync/Target.js +3 -3
  198. package/src/sap/ui/core/rules/App.support.js +30 -1
  199. package/src/sap/ui/core/rules/Config.support.js +4 -0
  200. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  201. package/src/sap/ui/core/rules/Theming.support.js +4 -0
  202. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  203. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  204. package/src/sap/ui/core/service/Service.js +1 -1
  205. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  206. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  207. package/src/sap/ui/core/support/Plugin.js +1 -1
  208. package/src/sap/ui/core/support/Support.js +5 -3
  209. package/src/sap/ui/core/support/ToolsAPI.js +8 -4
  210. package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -4
  211. package/src/sap/ui/core/support/plugins/ControlTree.js +31 -13
  212. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  213. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  214. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  215. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  216. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  217. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  218. package/src/sap/ui/core/support/plugins/ViewInfo.js +6 -4
  219. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -2
  220. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  221. package/src/sap/ui/core/themes/base/base.less +275 -269
  222. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  223. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  224. package/src/sap/ui/core/themes/base/global.less +8 -8
  225. package/src/sap/ui/core/theming/Parameters.js +4 -5
  226. package/src/sap/ui/core/theming/ThemeHelper.js +0 -1
  227. package/src/sap/ui/core/theming/ThemeManager.js +15 -14
  228. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  229. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  230. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  231. package/src/sap/ui/core/tmpl/Template.js +1 -1
  232. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -2
  233. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  234. package/src/sap/ui/core/util/Export.js +1 -1
  235. package/src/sap/ui/core/util/ExportCell.js +1 -1
  236. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  237. package/src/sap/ui/core/util/ExportRow.js +1 -1
  238. package/src/sap/ui/core/util/ExportType.js +1 -1
  239. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  240. package/src/sap/ui/core/util/File.js +1 -1
  241. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  242. package/src/sap/ui/core/util/MockServer.js +1 -1
  243. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  244. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +27 -4
  245. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
  246. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
  247. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  248. package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
  249. package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
  250. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  251. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  252. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  253. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  254. package/src/sap/ui/core/webc/WebComponent.js +3 -3
  255. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  256. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  257. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  258. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  259. package/src/sap/ui/debug/ControlTree.js +5 -5
  260. package/src/sap/ui/debug/DebugEnv.js +15 -6
  261. package/src/sap/ui/debug/PropertyList.js +3 -3
  262. package/src/sap/ui/dom/jquery/control.js +3 -4
  263. package/src/sap/ui/events/F6Navigation.js +2 -1
  264. package/src/sap/ui/model/ClientModel.js +33 -1
  265. package/src/sap/ui/model/ClientPropertyBinding.js +17 -1
  266. package/src/sap/ui/model/CompositeDataState.js +1 -1
  267. package/src/sap/ui/model/CompositeType.js +1 -1
  268. package/src/sap/ui/model/DataState.js +1 -1
  269. package/src/sap/ui/model/Filter.js +1 -1
  270. package/src/sap/ui/model/MetaModel.js +1 -1
  271. package/src/sap/ui/model/Model.js +1 -1
  272. package/src/sap/ui/model/SelectionModel.js +1 -1
  273. package/src/sap/ui/model/SimpleType.js +1 -1
  274. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  275. package/src/sap/ui/model/Type.js +1 -1
  276. package/src/sap/ui/model/json/JSONModel.js +2 -3
  277. package/src/sap/ui/model/message/MessageModel.js +3 -7
  278. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  279. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  280. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  282. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  283. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  284. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  285. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  286. package/src/sap/ui/model/odata/type/Date.js +1 -1
  287. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  288. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  289. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  290. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  291. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  292. package/src/sap/ui/model/odata/type/Double.js +1 -1
  293. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  294. package/src/sap/ui/model/odata/type/Int.js +1 -1
  295. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  296. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  297. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  298. package/src/sap/ui/model/odata/type/ODataType.js +2 -3
  299. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  300. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  301. package/src/sap/ui/model/odata/type/Single.js +1 -1
  302. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  303. package/src/sap/ui/model/odata/type/String.js +1 -1
  304. package/src/sap/ui/model/odata/type/Time.js +1 -1
  305. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  306. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  307. package/src/sap/ui/model/odata/v2/Context.js +13 -5
  308. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  309. package/src/sap/ui/model/odata/v2/ODataListBinding.js +85 -56
  310. package/src/sap/ui/model/odata/v2/ODataModel.js +20 -15
  311. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  312. package/src/sap/ui/model/odata/v4/Context.js +60 -10
  313. package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
  314. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +159 -34
  315. package/src/sap/ui/model/odata/v4/ODataListBinding.js +94 -24
  316. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  317. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -10
  318. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
  319. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +10 -13
  320. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +105 -25
  321. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
  322. package/src/sap/ui/model/odata/v4/lib/_Cache.js +83 -24
  323. package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -20
  324. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -3
  325. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  326. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  327. package/src/sap/ui/model/type/Boolean.js +1 -1
  328. package/src/sap/ui/model/type/Currency.js +1 -1
  329. package/src/sap/ui/model/type/Date.js +1 -2
  330. package/src/sap/ui/model/type/DateInterval.js +1 -2
  331. package/src/sap/ui/model/type/DateTime.js +1 -1
  332. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  333. package/src/sap/ui/model/type/FileSize.js +1 -1
  334. package/src/sap/ui/model/type/Float.js +1 -1
  335. package/src/sap/ui/model/type/Integer.js +1 -1
  336. package/src/sap/ui/model/type/String.js +1 -1
  337. package/src/sap/ui/model/type/Time.js +1 -1
  338. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/Unit.js +1 -1
  340. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  341. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
  342. package/src/sap/ui/performance/BeaconRequest.js +8 -10
  343. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
  344. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  345. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  346. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +16 -14
  347. package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
  348. package/src/sap/ui/test/OpaPlugin.js +3 -3
  349. package/src/sap/ui/test/TestUtils.js +3 -3
  350. package/src/sap/ui/test/generic/TestBase.js +1 -1
  351. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  352. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  353. package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
  354. package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
  355. package/src/sap/ui/util/Storage.js +1 -1
  356. package/test/sap/ui/core/HTMLControl.html +94 -93
  357. package/test/sap/ui/core/HyphenationPlayground.html +10 -9
  358. package/test/sap/ui/core/Strings.view.xml +5 -1
  359. package/test/sap/ui/core/ThemeParameters.html +31 -30
  360. package/test/sap/ui/core/ValidateURL.html +10 -10
  361. package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
  362. package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
  363. package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
  364. package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
  365. package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
  366. package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
  367. package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
  368. package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
  369. package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
  370. package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
  371. package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
  372. package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
  373. package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -1
  374. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
  375. package/test/sap/ui/core/demokit/sample/OpaAction/manifest.json +1 -0
  376. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
  377. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
  378. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
  379. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
  380. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
  381. package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
  382. package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
  383. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
  384. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
  385. package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
  386. package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
  387. package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
  388. package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
  389. package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
  390. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
  391. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
  392. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
  393. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
  394. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
  395. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
  396. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
  397. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
  398. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
  399. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
  400. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
  401. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
  402. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
  403. package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
  404. package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
  405. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
  406. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
  407. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
  408. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
  409. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
  410. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -1
  411. package/test/sap/ui/core/demokit/sample/TargetsStandalone/manifest.json +2 -1
  412. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
  413. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
  414. package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
  415. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
  416. package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
  417. package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
  418. package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
  419. package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
  420. package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
  421. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
  422. package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
  423. package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
  424. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
  425. package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
  426. package/test/sap/ui/core/demokit/sample/common/Controller.js +3 -2
  427. package/test/sap/ui/core/demokit/sample/common/Helper.js +15 -2
  428. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
  429. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
  430. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
  431. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
  432. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
  433. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
  434. package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
  435. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
  436. package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
  437. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
  438. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
  439. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
  440. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
  441. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
  442. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
  443. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
  444. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
  445. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
  446. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
  447. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
  448. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +1 -1
  449. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +3 -5
  450. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +4 -2
  451. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
  452. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
  453. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +9 -16
  454. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
  455. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +7 -3
  456. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +1 -1
  457. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +1 -1
  458. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +5 -2
  459. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +4 -2
  460. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +1 -1
  461. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +29 -4
  462. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +30 -5
  463. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +33 -6
  464. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +1 -1
  465. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +1 -1
  466. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +1 -1
  467. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +1 -1
  468. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +9 -8
  469. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
  470. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
  471. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
  472. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
  473. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
  474. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
  475. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
  476. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
  477. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
  478. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +1 -1
  479. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
  480. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
  481. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
  484. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
  487. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
  488. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +1 -1
  489. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
  490. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
  491. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +40 -20
  492. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  493. package/test/sap/ui/core/qunit/Core.qunit.js +5 -4
  494. package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
  495. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +119 -117
  496. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
  497. package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
  498. package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
  499. package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
  500. package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
  501. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -8
  502. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +5 -4
  503. package/test/sap/ui/core/qunit/Fragment.qunit.js +12 -12
  504. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +13 -12
  505. package/test/sap/ui/core/qunit/HTML.qunit.js +35 -35
  506. package/test/sap/ui/core/qunit/IconPool.qunit.js +6 -6
  507. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +5 -4
  508. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +3 -3
  509. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
  510. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +3 -3
  511. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +9 -9
  512. package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
  513. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
  514. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +40 -372
  515. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
  516. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +3 -2
  517. package/test/sap/ui/core/qunit/UIArea.qunit.js +10 -10
  518. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
  519. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +4 -3
  520. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
  521. package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
  522. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  523. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
  524. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
  525. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +19 -4
  526. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  527. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
  528. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
  529. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +4 -3
  530. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
  531. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
  532. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
  533. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +6 -0
  534. package/test/sap/ui/core/qunit/component/Component.qunit.js +12 -0
  535. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
  536. package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
  537. package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
  538. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +8 -7
  539. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +6 -5
  540. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +8 -7
  541. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +7 -6
  542. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -4
  543. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +3 -3
  544. package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
  545. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +20 -4
  546. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +5 -4
  547. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
  548. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
  549. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
  550. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
  551. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
  552. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
  553. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
  554. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
  555. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
  556. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +5 -5
  557. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +4 -5
  558. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  559. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
  560. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
  561. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +2 -4
  562. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +5 -4
  563. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
  564. package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +10 -5
  565. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +6 -0
  566. package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
  567. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +5 -4
  568. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +7 -0
  569. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
  570. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -3
  571. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
  572. package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
  573. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +6 -5
  574. package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
  575. package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
  576. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +4 -3
  577. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +4 -3
  578. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
  579. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +6 -5
  580. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +11 -7
  581. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +35 -0
  582. package/test/sap/ui/core/qunit/odata/_AnnotationHelperBasics.qunit.js +10 -4
  583. package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
  584. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +5 -0
  585. package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
  586. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
  587. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +422 -9
  588. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +483 -33
  589. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +121 -2
  590. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +95 -8
  591. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +59 -13
  592. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +355 -75
  593. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +152 -19
  594. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1253 -130
  595. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
  596. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
  597. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
  598. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +172 -17
  600. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
  601. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +185 -84
  602. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +2 -22
  603. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +6 -4
  604. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +3 -2
  605. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +4 -3
  606. package/test/sap/ui/core/qunit/rule/app/deprecatedJSViewUsage.qunit.js +4 -0
  607. package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
  608. package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
  609. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +4 -0
  610. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +4 -0
  611. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +4 -0
  612. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
  613. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +4 -1
  614. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
  615. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
  616. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
  617. package/test/sap/ui/core/qunit/test/starter/find/main.js +11 -8
  618. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +6 -0
  619. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
  620. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +21 -2
  621. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +26 -4
  622. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
  623. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +30 -13
  624. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +40 -16
  625. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
  626. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
  627. package/test/sap/ui/core/relnotes/changes-1.118.json +1 -34
  628. package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
  629. package/test/sap/ui/core/resources/fastnav.js +3 -2
  630. package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
  631. package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
  632. package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
  633. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +1 -1
  634. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +3 -3
  635. package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
  636. package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
  637. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
  638. package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
  639. package/test/sap/ui/core/terminologies/App.controller.js +3 -2
  640. package/test/sap/ui/core/terminologies/App.view.xml +64 -64
  641. package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
  642. package/test/sap/ui/core/util/PasteHelper.html +5 -4
  643. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  644. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  645. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  646. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  647. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  648. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  649. package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -135
  650. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -229
  651. package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
  652. package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
  653. package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -290
  654. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -290
  655. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -280
  656. package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
  657. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -154
  658. package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
  659. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -103
  660. package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
  661. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
  662. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
  663. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -128
  664. package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
  665. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -158
  666. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -141
  667. package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
  668. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -195
  669. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -148
  670. package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
  671. package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
  672. package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
  673. package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
@@ -32,6 +32,38 @@ sap.ui.define([
32
32
 
33
33
  var CUSTOM_DATA_NS = "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1";
34
34
 
35
+ async function insertAggregation(oParent, sName, oObject, iIndex, oView, bSkipAdjustIndex, oFoundAggregationNode) {
36
+ let oAggregationNode;
37
+ if (!oFoundAggregationNode) {
38
+ // named aggregation must have the same namespace as the parent
39
+ const sNamespaceURI = oParent.namespaceURI;
40
+ // no ids for aggregation nodes => no need to pass id or component
41
+ oAggregationNode = await this.createControl(sNamespaceURI + "." + sName, undefined, oView);
42
+ oParent.appendChild(oAggregationNode);
43
+ } else {
44
+ oAggregationNode = oFoundAggregationNode;
45
+ }
46
+ if (!bSkipAdjustIndex) {
47
+ const aChildren = oAggregationNode.children;
48
+ let iOffset = 0;
49
+ const iStopIndex = (iIndex < aChildren.length) ? iIndex : aChildren.length;
50
+ for (let i = 0; i < iStopIndex; i++) {
51
+ if (aChildren[i].namespaceURI === "sap.ui.core" && aChildren[i].tagName.includes("ExtensionPoint")) {
52
+ iOffset = iOffset + 1 - aChildren[i].children.length;
53
+ }
54
+ }
55
+ iIndex = iIndex + iOffset;
56
+ }
57
+
58
+ if (iIndex >= oAggregationNode.childElementCount) {
59
+ oAggregationNode.appendChild(oObject);
60
+ } else {
61
+ const aReferenceNodes = await this._getControlsInAggregation(oParent, oAggregationNode);
62
+ oAggregationNode.insertBefore(oObject, aReferenceNodes[iIndex]);
63
+ }
64
+ return undefined;
65
+ }
66
+
35
67
  /**
36
68
  * Static utility class to access XMLNodes like ManagedObjects,
37
69
  * inside this classes oControl usually means XML node.
@@ -436,54 +468,28 @@ sap.ui.define([
436
468
  /**
437
469
  * @inheritDoc
438
470
  */
439
- insertAggregation: function (oParent, sName, oObject, iIndex, oView, bSkipAdjustIndex) {
440
- return XmlTreeModifier._findAggregationNode(oParent, sName)
441
- .then(function (oAggregationNode) {
442
- if (!oAggregationNode) {
443
- // named aggregation must have the same namespace as the parent
444
- var sNamespaceURI = oParent.namespaceURI;
445
- // no ids for aggregation nodes => no need pass id or component
446
- return XmlTreeModifier.createControl(sNamespaceURI + "." + sName, undefined, oView)
447
- .then(function (oAggregationNode) {
448
- oParent.appendChild(oAggregationNode);
449
- return oAggregationNode;
450
- });
451
- }
452
- return oAggregationNode;
453
- })
454
- .then(function (oAggregationNode) {
455
- if (!bSkipAdjustIndex) {
456
- var aChildren = oAggregationNode.children;
457
- var iOffset = 0;
458
- var iStopIndex = (iIndex < aChildren.length) ? iIndex : aChildren.length;
459
- for (var i = 0; i < iStopIndex; i++) {
460
- if (aChildren[i].namespaceURI === "sap.ui.core" && aChildren[i].tagName.indexOf("ExtensionPoint") > -1) {
461
- iOffset = iOffset + 1 - aChildren[i].children.length;
462
- }
463
- }
464
- iIndex = iIndex + iOffset;
465
- }
471
+ insertAggregation: async function (oParent, sName, oObject, iIndex, oView, bSkipAdjustIndex) {
472
+ const oFoundAggregationNode = await XmlTreeModifier._findAggregationNode(oParent, sName);
473
+ return insertAggregation.call(this, oParent, sName, oObject, iIndex, oView, bSkipAdjustIndex, oFoundAggregationNode);
474
+ },
466
475
 
467
- if (iIndex >= oAggregationNode.childElementCount) {
468
- oAggregationNode.appendChild(oObject);
469
- } else {
470
- return XmlTreeModifier._getControlsInAggregation(oParent, oAggregationNode)
471
- .then(function (aReferenceNodes) {
472
- oAggregationNode.insertBefore(oObject, aReferenceNodes[iIndex]);
473
- });
474
- }
475
- return undefined;
476
- });
476
+ /**
477
+ * @inheritDoc
478
+ */
479
+ removeAggregation: async function (oParent, sName, oObject) {
480
+ const oAggregationNode = await XmlTreeModifier._findAggregationNode(oParent, sName);
481
+ oAggregationNode.removeChild(oObject);
477
482
  },
478
483
 
479
484
  /**
480
485
  * @inheritDoc
481
486
  */
482
- removeAggregation: function (oParent, sName, oObject) {
483
- return XmlTreeModifier._findAggregationNode(oParent, sName)
484
- .then(function (oAggregationNode) {
485
- oAggregationNode.removeChild(oObject);
486
- });
487
+ moveAggregation: async function(oSourceParent, sSourceAggregationName, oTargetParent, sTargetAggregationName, oObject, iIndex, oView, bSkipAdjustIndex) {
488
+ const oSourceAggregationNode = await XmlTreeModifier._findAggregationNode(oSourceParent, sSourceAggregationName);
489
+ const oTargetAggregationNode = await XmlTreeModifier._findAggregationNode(oTargetParent, sTargetAggregationName);
490
+
491
+ oSourceAggregationNode.removeChild(oObject);
492
+ await insertAggregation.call(this, oTargetParent, sTargetAggregationName, oObject, iIndex, oView, bSkipAdjustIndex, oTargetAggregationNode);
487
493
  },
488
494
 
489
495
  /**
@@ -831,9 +837,9 @@ sap.ui.define([
831
837
  /**
832
838
  * @inheritDoc
833
839
  */
834
- attachEvent: function(oNode, sEventName, sFunctionPath, vData) {
835
- if (typeof ObjectPath.get(sFunctionPath) !== "function") {
836
- return Promise.reject(new Error("Can't attach event because the event handler function is not found or not a function."));
840
+ attachEvent: function(oNode, sEventName, sFunctionPath, vData, fnCallback) {
841
+ if (typeof fnCallback !== "function") {
842
+ return Promise.reject(new Error("Can't attach event: fnCallback parameter missing or not a function"));
837
843
  }
838
844
  return XmlTreeModifier.getProperty(oNode, sEventName)
839
845
  .then(function (sValue) {
@@ -859,9 +865,9 @@ sap.ui.define([
859
865
  /**
860
866
  * @inheritDoc
861
867
  */
862
- detachEvent: function(oNode, sEventName, sFunctionPath) {
863
- if (typeof ObjectPath.get(sFunctionPath) !== "function") {
864
- return Promise.reject(new Error("Can't attach event because the event handler function is not found or not a function."));
868
+ detachEvent: function(oNode, sEventName, sFunctionPath, fnCallback) {
869
+ if (typeof fnCallback !== "function") {
870
+ return Promise.reject(new Error("Can't detach event: fnCallback parameter missing or not a function"));
865
871
  }
866
872
  return XmlTreeModifier.getProperty(oNode, sEventName)
867
873
  .then(function (sValue) {
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.118.0
23
+ * @version 1.119.1
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -47,7 +47,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
47
47
  var that = this;
48
48
  // a function to understand if to skip aggregations
49
49
  var fnSkipAggregations = function (oControl) {
50
- return oControl instanceof this._oWindow.sap.ui.core.mvc.View && oControl !== that._oView;
50
+ return oControl?.isA?.("sap.ui.core.mvc.View") && oControl !== that._oView;
51
51
  };
52
52
 
53
53
  // create serializer
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.118.0
24
+ * @version 1.119.1
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -33,7 +33,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
33
33
  this._oRootControl = oRootControl;
34
34
  this._delegate = serializeDelegate;
35
35
  this._bSkipRoot = !!bSkipRoot;
36
- this._oWindow = oWindow || window;
36
+ this._oWindow = oWindow || globalThis;
37
37
  this._fnSkipAggregations = fnSkipAggregations;
38
38
  this._fnSkipElement = fnSkipElement;
39
39
  }
@@ -128,7 +128,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
128
128
  * @private
129
129
  */
130
130
  Serializer.prototype._isObjectSerializable = function (oObject) {
131
- return oObject instanceof this._oWindow.sap.ui.core.Element &&
131
+ return !!(oObject?.isA?.("sap.ui.core.Element")) &&
132
132
  !(this._fnSkipElement && this._fnSkipElement(oObject));
133
133
  };
134
134
 
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.118.0
24
+ * @version 1.119.1
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -31,7 +31,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
31
31
  constructor : function (oRootControl, oWindow, sDefaultXmlNamespace) {
32
32
  EventProvider.apply(this);
33
33
  this._oRootControl = oRootControl;
34
- this._oWindow = oWindow || window;
34
+ this._oWindow = oWindow || globalThis;
35
35
  this._mViews = {};
36
36
  this._sDefaultXmlNamespace = sDefaultXmlNamespace;
37
37
  }
@@ -50,6 +50,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
50
50
  * Serializes all views into HTML.
51
51
  *
52
52
  * @returns {map} the serialized views. The keys are the view name.
53
+ * @deprecated Since 1.119
53
54
  */
54
55
  ViewSerializer.prototype.serializeToHTML = function () {
55
56
  return this.serialize("HTML");
@@ -71,9 +72,16 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
71
72
 
72
73
  ViewSerializer.prototype._getViewType = function(oView) {
73
74
  if (!this._sConvertToViewType) {
74
- if (oView instanceof this._oWindow.sap.ui.core.mvc.HTMLView) {
75
+ // retrieve View classes from the (injected) window
76
+
77
+ /**
78
+ * @deprecated Since 1.119.0
79
+ */
80
+ if (oView?.isA?.("sap.ui.core.mvc.HTMLView")) {
75
81
  return "HTML";
76
- } else if (oView instanceof this._oWindow.sap.ui.core.mvc.XMLView) {
82
+ }
83
+
84
+ if (oView?.isA?.("sap.ui.core.mvc.XMLView")) {
77
85
  return "XML";
78
86
  }
79
87
  }
@@ -90,8 +98,12 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
90
98
  ViewSerializer.prototype._serializeRecursive = function (oControl) {
91
99
 
92
100
  assert(typeof oControl !== "undefined", "The control must not be undefined");
101
+
102
+ var UIArea = this._oWindow.sap.ui.require("sap/ui/core/UIArea");
103
+ var ComponentContainer = this._oWindow.sap.ui.require("sap/ui/core/ComponentContainer");
104
+
93
105
  // serialize view
94
- if (oControl instanceof this._oWindow.sap.ui.core.mvc.View) {
106
+ if (oControl?.isA?.("sap.ui.core.mvc.View")) {
95
107
  var oViewSerializer = this._getViewSerializer(oControl, this._getViewType(oControl));
96
108
  if (oViewSerializer) {
97
109
  var oViewName = oControl.getViewName() || oControl.getControllerName();
@@ -101,12 +113,12 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
101
113
  }
102
114
  }
103
115
 
104
- if (oControl.getMetadata().getClass() === this._oWindow.sap.ui.core.UIArea) {
116
+ if (oControl.getMetadata().getClass() === UIArea) {
105
117
  var aContent = oControl.getContent();
106
118
  for (var i = 0; i < aContent.length; i++) {
107
119
  this._serializeRecursive(aContent[i]);
108
120
  }
109
- } else if (oControl.getMetadata().getClass() === this._oWindow.sap.ui.core.ComponentContainer) {
121
+ } else if (oControl.getMetadata().getClass() === ComponentContainer) {
110
122
  this._serializeRecursive(oControl.getComponentInstance().getRootControl());
111
123
  } else {
112
124
  var mAggregations = oControl.getMetadata().getAllAggregations();
@@ -118,11 +130,11 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
118
130
  if (oValue && oValue.length) {
119
131
  for (var i = 0;i < oValue.length;i++) {
120
132
  var oObj = oValue[i];
121
- if (oObj instanceof this._oWindow.sap.ui.core.Element) {
133
+ if (oObj?.isA?.("sap.ui.core.Element")) {
122
134
  this._serializeRecursive(oObj);
123
135
  }
124
136
  }
125
- } else if (oValue instanceof this._oWindow.sap.ui.core.Element) {
137
+ } else if (oValue?.isA?.("sap.ui.core.Element")) {
126
138
  this._serializeRecursive(oValue);
127
139
  }
128
140
  }
@@ -175,13 +187,18 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
175
187
 
176
188
  // create the appropriate view serializer
177
189
 
190
+ /**
191
+ * @deprecated Since 1.119.0
192
+ */
178
193
  if (sType === "HTML") {
179
194
  return new HTMLViewSerializer(
180
195
  oView,
181
196
  this._oWindow,
182
197
  fnGetControlId,
183
198
  fnGetEventHandlerName);
184
- } else if (sType === "XML") {
199
+ }
200
+
201
+ if (sType === "XML") {
185
202
  return new XMLViewSerializer(
186
203
  oView,
187
204
  this._oWindow,
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.118.0
23
+ * @version 1.119.1
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -60,7 +60,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
60
60
  var that = this;
61
61
  // a function to understand if to skip aggregations
62
62
  var fnSkipAggregations = function (oControl) {
63
- return oControl instanceof this._oWindow.sap.ui.core.mvc.View && oControl !== that._oView;
63
+ return oControl?.isA?.("sap.ui.core.mvc.View") && oControl !== that._oView;
64
64
  };
65
65
 
66
66
  // create serializer
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.118.0
20
+ * @version 1.119.1
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.118.0
22
+ * @version 1.119.1
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.118.0
27
+ * @version 1.119.1
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -37,8 +37,8 @@ function(
37
37
  * @private
38
38
  */
39
39
  var fnGetControlFor = function(obj) {
40
- if (obj.id && Element.registry.get(obj.id)) {
41
- return Element.registry.get(obj.id);
40
+ if (obj.id && Element.getElementById(obj.id)) {
41
+ return Element.getElementById(obj.id);
42
42
  }
43
43
  };
44
44
 
@@ -108,7 +108,7 @@ function(
108
108
  *
109
109
  * @extends sap.ui.core.Control
110
110
  * @author SAP SE
111
- * @version 1.118.0
111
+ * @version 1.119.1
112
112
  * @public
113
113
  * @since 1.118.0
114
114
  * @alias sap.ui.core.webc.WebComponent
@@ -23,7 +23,7 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.118.0
26
+ * @version 1.119.1
27
27
  * @since 1.118.0
28
28
  * @experimental Since 1.118.0 The API might change. It is not intended for productive usage yet!
29
29
  * @alias sap.ui.core.webc.WebComponentMetadata
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.118.0
15
+ * @version 1.119.1
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.118.0
24
+ * @version 1.119.1
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.118.0
28
+ * @version 1.119.1
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -34,7 +34,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
34
34
  * @class Control Tree used for the Debug Environment
35
35
  * @extends sap.ui.base.EventProvider
36
36
  * @author Martin Schaus, Frank Weigel
37
- * @version 1.118.0
37
+ * @version 1.119.1
38
38
  * @alias sap.ui.debug.ControlTree
39
39
  * @private
40
40
  */
@@ -274,7 +274,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
274
274
  }
275
275
  var oParent = oSource.parentNode,
276
276
  sId = oParent.getAttribute("sap-id"),
277
- oElement = this.oCore.byId(sId),
277
+ oElement = Element.getElementById(sId),
278
278
  sNodeId = oParent.getAttribute("sap-type") === "Link" ? "sap-debug-controltree-" + sId : oParent.id;
279
279
  this.oSelectionHighlighter.hide();
280
280
  if (oElement instanceof Element) {
@@ -362,7 +362,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
362
362
  ControlTree.prototype.getTargetDomRef = function(oTreeNodeDomRef) {
363
363
  var sType = oTreeNodeDomRef.getAttribute("sap-type"),
364
364
  sId = oTreeNodeDomRef.getAttribute("sap-id"),
365
- oSomething = sType === "UIArea" ? UIArea.registry.get(sId) : this.oCore.byId(sId);
365
+ oSomething = sType === "UIArea" ? UIArea.registry.get(sId) : Element.getElementById(sId);
366
366
 
367
367
  while (oSomething instanceof Element) {
368
368
  var oDomRef = oSomething.getDomRef();
@@ -390,10 +390,10 @@ sap.ui.define('sap/ui/debug/ControlTree', [
390
390
  if ( oEvt ) {
391
391
  if ( oEvt.ctrlKey && oEvt.shiftKey && !oEvt.altKey ) {
392
392
  var oControl = oEvt.srcElement || oEvt.target;
393
- while (oControl && (!oControl.id || !this.oCore.byId(oControl.id)) ) {
393
+ while (oControl && (!oControl.id || !Element.getElementById(oControl.id)) ) {
394
394
  oControl = oControl.parentNode;
395
395
  }
396
- if ( oControl && oControl.id && this.oCore.byId(oControl.id) ) {
396
+ if ( oControl && oControl.id && Element.getElementById(oControl.id) ) {
397
397
  this.oHoverHighlighter.highlight(oControl);
398
398
  } else {
399
399
  // this.selectControlInTreeByCtrlId(sId);
@@ -16,7 +16,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', ['sap/ui/base/Interface', './ControlTree'
16
16
  * @class Central Class for the Debug Environment
17
17
  *
18
18
  * @author Martin Schaus, Frank Weigel
19
- * @version 1.118.0
19
+ * @version 1.119.1
20
20
  * @private
21
21
  * @alias sap.ui.debug.DebugEnv
22
22
  */
@@ -165,11 +165,20 @@ sap.ui.define('sap/ui/debug/DebugEnv', ['sap/ui/base/Interface', './ControlTree'
165
165
  this.oControlTree.renderDelayed();
166
166
  }
167
167
 
168
- window.addEventListener("unload", function(oEvent) {
169
- this.oControlTree.exit();
170
- this.oPropertyList.exit();
171
- }.bind(this));
172
-
168
+ /**
169
+ * The block below is not needed because it only did a cleanup
170
+ * before the page was closed. This should not be necessary.
171
+ * Nevertheless we leave the coding here and only deprecate it,
172
+ * in order to keep the BFCache behavior stable.
173
+ * Removing the 'unload' handler could potentially activate
174
+ * the BFCache and cause a different behavior in browser versions
175
+ * where the 'unload' handler is still supported.
176
+ * Therefore we only removed the not needed cleanup coding
177
+ * but still attach a noop to ensure this handler would still
178
+ * invalidate the BFCache.
179
+ * @deprecated as of 1.119
180
+ */
181
+ window.addEventListener("unload", () => {});
173
182
  };
174
183
 
175
184
  /**
@@ -32,7 +32,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
32
32
  *
33
33
  * @extends sap.ui.base.EventProvider
34
34
  * @author Martin Schaus
35
- * @version 1.118.0
35
+ * @version 1.119.1
36
36
  *
37
37
  * @param {sap.ui.core.Core}
38
38
  * oCore Core instance of the app; version might differ!
@@ -88,7 +88,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
88
88
  var sControlId = this.sControlId = oParams.getParameter("controlId");
89
89
  this.oParentDomRef.innerHTML = "";
90
90
 
91
- var oControl = this.oCore.byId(sControlId);
91
+ var oControl = Element.getElementById(sControlId);
92
92
  if (!oControl) {
93
93
  this.oParentDomRef.innerHTML = "Please select a valid control";
94
94
  return;
@@ -232,7 +232,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
232
232
  * @private
233
233
  */
234
234
  PropertyList.prototype.applyChange = function(oField) {
235
- var oControl = this.oCore.byId(this.sControlId),
235
+ var oControl = Element.getElementById(this.sControlId),
236
236
  sName = oField.dataset.name,
237
237
  oSetting = oControl.getMetadata().getPropertyLikeSetting(sName);
238
238
 
@@ -3,8 +3,8 @@
3
3
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define(['sap/ui/thirdparty/jquery', 'sap/ui/Global'],
7
- function(jQuery) {
6
+ sap.ui.define(['sap/ui/thirdparty/jquery', 'sap/ui/core/Element', 'sap/ui/Global'],
7
+ function(jQuery, Element) {
8
8
  "use strict";
9
9
 
10
10
  /**
@@ -37,8 +37,7 @@ sap.ui.define(['sap/ui/thirdparty/jquery', 'sap/ui/Global'],
37
37
  } else {
38
38
  sControlId = jQuery(this).closest("[data-sap-ui]").attr("id");
39
39
  }
40
- // @evo-todo: remove this global access (for now requiring the Core module would introduce a circular dependency)
41
- return sap.ui.getCore().byId(sControlId);
40
+ return Element.getElementById(sControlId);
42
41
  });
43
42
 
44
43
  return aControls.get(iIndex);
@@ -308,7 +308,8 @@ sap.ui.define([
308
308
  }
309
309
 
310
310
  if (oNextFastNavGroup && oNextFastNavGroup.getAttribute("data-sap-ui-customfastnavgroup") === "true" && oNextFastNavGroup.id) {
311
- var oControl = sap.ui.getCore().byId(oNextFastNavGroup.id);
311
+ var Element = sap.ui.require("sap/ui/core/Element");
312
+ var oControl = Element?.getElementById(oNextFastNavGroup.id);
312
313
  if (oControl) {
313
314
  oFastNavEvent = jQuery.Event("BeforeFastNavigationFocus");
314
315
  oFastNavEvent.target = oNextTabbable;
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.118.0
32
+ * @version 1.119.1
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -165,6 +165,38 @@ sap.ui.define([
165
165
  return oBinding;
166
166
  };
167
167
 
168
+ /**
169
+ * Creates a new property binding for this model.
170
+ *
171
+ * @param {string} sPath
172
+ * The path pointing to the property that should be bound; either an absolute path or a path
173
+ * relative to a given <code>oContext</code>
174
+ * @param {object} [oContext]
175
+ * A context object for the new binding
176
+ * @param {Object<string,any>} [mParameters]
177
+ * Map of optional parameters for the binding
178
+ * @param {boolean} [mParameters.ignoreMessages]
179
+ * Whether this binding does not propagate model messages to the control; supported since
180
+ * 1.119.0. Some composite types like {@link sap.ui.model.type.Currency} automatically ignore
181
+ * model messages for some of their parts depending on their format options; setting this
182
+ * parameter to <code>true</code> or <code>false</code> overrules the automatism of the type.
183
+ *
184
+ * For example, a binding for a currency code is used in a composite binding for rendering the
185
+ * proper number of decimals, but the currency code is not displayed in the attached control.
186
+ * In that case, messages for the currency code shall not be displayed at that control, only
187
+ * messages for the amount.
188
+ * @returns {sap.ui.model.PropertyBinding}
189
+ * The new property binding
190
+ *
191
+ * @abstract
192
+ * @function
193
+ * @name sap.ui.model.ClientModel#bindProperty
194
+ * @public
195
+ * @see sap.ui.model.Model#bindProperty
196
+ * @see #getProperty
197
+ */
198
+ // @override sap.ui.model.Model#bindProperty
199
+
168
200
  /**
169
201
  * update all bindings
170
202
  * @param {boolean} bForceUpdate true/false: Default = false. If set to false an update
@@ -32,6 +32,7 @@ sap.ui.define(['./PropertyBinding'],
32
32
  constructor : function(oModel, sPath, oContext, mParameters){
33
33
  PropertyBinding.apply(this, arguments);
34
34
  this.oValue = this._getValue();
35
+ this.setIgnoreMessages(mParameters && mParameters.ignoreMessages);
35
36
  }
36
37
 
37
38
  });
@@ -75,6 +76,21 @@ sap.ui.define(['./PropertyBinding'],
75
76
  }
76
77
  };
77
78
 
78
- return ClientPropertyBinding;
79
+ /**
80
+ * Returns <code>true</code>, as this binding supports the feature of not propagating model
81
+ * messages to the control.
82
+ *
83
+ * @returns {boolean} <code>true</code>
84
+ *
85
+ * @public
86
+ * @see sap.ui.model.Binding#getIgnoreMessages
87
+ * @see sap.ui.model.Binding#setIgnoreMessages
88
+ * @since 1.119.0
89
+ */
90
+ // @override sap.ui.model.Binding#supportsIgnoreMessages
91
+ ClientPropertyBinding.prototype.supportsIgnoreMessages = function () {
92
+ return true;
93
+ };
79
94
 
95
+ return ClientPropertyBinding;
80
96
  });
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.118.0
17
+ * @version 1.119.1
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.118.0
42
+ * @version 1.119.1
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.118.0
68
+ * @version 1.119.1
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -160,7 +160,7 @@ sap.ui.define([
160
160
  * @param {boolean} [vFilterInfo.caseSensitive]
161
161
  * Indicates whether a string value should be compared case sensitive or not. The handling of
162
162
  * <code>undefined</code> depends on the model implementation.
163
- * @param {sap.ui.model.FilterOperator|function(any):boolean|boolean} [vOperator]
163
+ * @param {sap.ui.model.FilterOperator|boolean|function(any):boolean} [vOperator]
164
164
  * Either a filter operator or a custom filter function or
165
165
  * a <code>boolean</code> flag that defines how to combine multiple filters
166
166
  * @param {any} [vValue1]