@openui5/sap.ui.core 1.119.0 → 1.120.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 (828) hide show
  1. package/THIRDPARTY.txt +6 -6
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +40 -111
  4. package/src/jquery.sap.properties.js +7 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +5 -3
  7. package/src/jquery.sap.storage.js +6 -3
  8. package/src/sap/base/Event.js +32 -78
  9. package/src/sap/base/Eventing.js +114 -271
  10. package/src/sap/base/Log.js +21 -1
  11. package/src/sap/base/config.js +14 -9
  12. package/src/sap/base/i18n/Formatting.js +378 -250
  13. package/src/sap/base/i18n/LanguageTag.js +64 -66
  14. package/src/sap/base/i18n/Localization.js +124 -85
  15. package/src/sap/base/i18n/ResourceBundle.js +1 -1
  16. package/src/sap/base/i18n/date/CalendarType.js +2 -2
  17. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
  18. package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
  19. package/src/sap/base/util/LoaderExtensions.js +8 -2
  20. package/src/sap/base/util/mixedFetch.js +1 -0
  21. package/src/sap/base/util/resolveReference.js +31 -13
  22. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  23. package/src/sap/base/util/restricted/_castArray.js +1 -1
  24. package/src/sap/base/util/restricted/_compact.js +1 -1
  25. package/src/sap/base/util/restricted/_curry.js +1 -1
  26. package/src/sap/base/util/restricted/_debounce.js +1 -1
  27. package/src/sap/base/util/restricted/_difference.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  29. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_flatten.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  35. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  36. package/src/sap/base/util/restricted/_intersection.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  38. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  40. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  41. package/src/sap/base/util/restricted/_isNil.js +1 -1
  42. package/src/sap/base/util/restricted/_max.js +1 -1
  43. package/src/sap/base/util/restricted/_merge.js +1 -1
  44. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  45. package/src/sap/base/util/restricted/_min.js +1 -1
  46. package/src/sap/base/util/restricted/_omit.js +1 -1
  47. package/src/sap/base/util/restricted/_pick.js +1 -1
  48. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  49. package/src/sap/base/util/restricted/_throttle.js +1 -1
  50. package/src/sap/base/util/restricted/_toArray.js +1 -1
  51. package/src/sap/base/util/restricted/_union.js +1 -1
  52. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  53. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  54. package/src/sap/base/util/restricted/_uniq.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  56. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  57. package/src/sap/base/util/restricted/_without.js +1 -1
  58. package/src/sap/base/util/restricted/_xor.js +1 -1
  59. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  60. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  62. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  63. package/src/sap/base/util/syncFetch.js +1 -0
  64. package/src/sap/ui/Device.js +3 -3
  65. package/src/sap/ui/Global.js +6 -7
  66. package/src/sap/ui/base/BindingInfo.js +3 -3
  67. package/src/sap/ui/base/BindingParser.js +5 -2
  68. package/src/sap/ui/base/DataType.js +57 -1
  69. package/src/sap/ui/base/DesignTime.js +69 -0
  70. package/src/sap/ui/base/Event.js +2 -2
  71. package/src/sap/ui/base/EventProvider.js +1 -1
  72. package/src/sap/ui/base/ExpressionParser.js +25 -4
  73. package/src/sap/ui/base/Interface.js +1 -1
  74. package/src/sap/ui/base/ManagedObject.js +102 -29
  75. package/src/sap/ui/base/ManagedObjectMetadata.js +29 -31
  76. package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
  77. package/src/sap/ui/base/Metadata.js +3 -3
  78. package/src/sap/ui/base/Object.js +19 -1
  79. package/src/sap/ui/base/ObjectPool.js +1 -1
  80. package/src/sap/ui/core/.library +3 -3
  81. package/src/sap/ui/core/AnimationMode.js +2 -2
  82. package/src/sap/ui/core/AppCacheBuster.js +30 -18
  83. package/src/sap/ui/core/BusyIndicator.js +1 -1
  84. package/src/sap/ui/core/CalendarType.js +6 -0
  85. package/src/sap/ui/core/Component.js +150 -80
  86. package/src/sap/ui/core/ComponentContainer.js +4 -3
  87. package/src/sap/ui/core/ComponentMetadata.js +3 -4
  88. package/src/sap/ui/core/ComponentSupport.js +1 -1
  89. package/src/sap/ui/core/Configuration.js +390 -706
  90. package/src/sap/ui/core/Control.js +1 -1
  91. package/src/sap/ui/core/ControlBehavior.js +37 -28
  92. package/src/sap/ui/core/Core.js +327 -151
  93. package/src/sap/ui/core/CustomData.js +1 -1
  94. package/src/sap/ui/core/DeclarativeSupport.js +3 -1
  95. package/src/sap/ui/core/Element.js +18 -8
  96. package/src/sap/ui/core/ElementMetadata.js +1 -1
  97. package/src/sap/ui/core/EnabledPropagator.js +3 -2
  98. package/src/sap/ui/core/EventBus.js +1 -1
  99. package/src/sap/ui/core/Fragment.js +1 -1
  100. package/src/sap/ui/core/HTML.js +1 -1
  101. package/src/sap/ui/core/History.js +1 -1
  102. package/src/sap/ui/core/Icon.js +1 -1
  103. package/src/sap/ui/core/IndicationColorSupport.js +13 -1
  104. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  105. package/src/sap/ui/core/InvisibleMessage.js +2 -3
  106. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  107. package/src/sap/ui/core/InvisibleText.js +17 -1
  108. package/src/sap/ui/core/Item.js +1 -1
  109. package/src/sap/ui/core/LabelEnablement.js +8 -1
  110. package/src/sap/ui/core/LayoutData.js +1 -1
  111. package/src/sap/ui/core/Lib.js +195 -29
  112. package/src/sap/ui/core/ListItem.js +1 -1
  113. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  114. package/src/sap/ui/core/Locale.js +1 -1
  115. package/src/sap/ui/core/LocaleData.js +118 -32
  116. package/src/sap/ui/core/Manifest.js +4 -2
  117. package/src/sap/ui/core/Message.js +1 -1
  118. package/src/sap/ui/core/Placeholder.js +18 -0
  119. package/src/sap/ui/core/Popup.js +5 -0
  120. package/src/sap/ui/core/RenderManager.js +21 -17
  121. package/src/sap/ui/core/Renderer.js +1 -1
  122. package/src/sap/ui/core/Rendering.js +51 -47
  123. package/src/sap/ui/core/ResizeHandler.js +2 -2
  124. package/src/sap/ui/core/ScrollBar.js +1 -1
  125. package/src/sap/ui/core/SeparatorItem.js +1 -1
  126. package/src/sap/ui/core/Shortcut.js +5 -3
  127. package/src/sap/ui/core/Supportability.js +146 -0
  128. package/src/sap/ui/core/Theming.js +130 -88
  129. package/src/sap/ui/core/Title.js +1 -1
  130. package/src/sap/ui/core/TooltipBase.js +4 -3
  131. package/src/sap/ui/core/UIArea.js +1 -4
  132. package/src/sap/ui/core/UIComponent.js +38 -12
  133. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  134. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  135. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  136. package/src/sap/ui/core/XMLComposite.js +1 -1
  137. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  138. package/src/sap/ui/core/XMLTemplateProcessor.js +3 -3
  139. package/src/sap/ui/core/_IconRegistry.js +13 -6
  140. package/src/sap/ui/core/cldr/ar.json +143 -137
  141. package/src/sap/ui/core/cldr/ar_EG.json +143 -137
  142. package/src/sap/ui/core/cldr/ar_SA.json +143 -137
  143. package/src/sap/ui/core/cldr/bg.json +423 -423
  144. package/src/sap/ui/core/cldr/ca.json +541 -494
  145. package/src/sap/ui/core/cldr/cs.json +475 -364
  146. package/src/sap/ui/core/cldr/cy.json +656 -477
  147. package/src/sap/ui/core/cldr/da.json +334 -275
  148. package/src/sap/ui/core/cldr/de.json +388 -291
  149. package/src/sap/ui/core/cldr/de_AT.json +388 -291
  150. package/src/sap/ui/core/cldr/de_CH.json +394 -297
  151. package/src/sap/ui/core/cldr/el.json +169 -166
  152. package/src/sap/ui/core/cldr/el_CY.json +169 -166
  153. package/src/sap/ui/core/cldr/en.json +558 -521
  154. package/src/sap/ui/core/cldr/en_AU.json +558 -520
  155. package/src/sap/ui/core/cldr/en_GB.json +476 -439
  156. package/src/sap/ui/core/cldr/en_HK.json +520 -482
  157. package/src/sap/ui/core/cldr/en_IE.json +486 -448
  158. package/src/sap/ui/core/cldr/en_IN.json +466 -428
  159. package/src/sap/ui/core/cldr/en_NZ.json +506 -468
  160. package/src/sap/ui/core/cldr/en_PG.json +506 -468
  161. package/src/sap/ui/core/cldr/en_SG.json +506 -468
  162. package/src/sap/ui/core/cldr/en_ZA.json +486 -448
  163. package/src/sap/ui/core/cldr/es.json +473 -468
  164. package/src/sap/ui/core/cldr/es_AR.json +445 -440
  165. package/src/sap/ui/core/cldr/es_BO.json +479 -474
  166. package/src/sap/ui/core/cldr/es_CL.json +469 -464
  167. package/src/sap/ui/core/cldr/es_CO.json +387 -381
  168. package/src/sap/ui/core/cldr/es_MX.json +502 -497
  169. package/src/sap/ui/core/cldr/es_PE.json +455 -450
  170. package/src/sap/ui/core/cldr/es_UY.json +479 -474
  171. package/src/sap/ui/core/cldr/es_VE.json +499 -494
  172. package/src/sap/ui/core/cldr/et.json +378 -320
  173. package/src/sap/ui/core/cldr/fa.json +104 -104
  174. package/src/sap/ui/core/cldr/fi.json +401 -315
  175. package/src/sap/ui/core/cldr/fr.json +391 -385
  176. package/src/sap/ui/core/cldr/fr_BE.json +391 -385
  177. package/src/sap/ui/core/cldr/fr_CA.json +499 -493
  178. package/src/sap/ui/core/cldr/fr_CH.json +334 -328
  179. package/src/sap/ui/core/cldr/fr_LU.json +391 -385
  180. package/src/sap/ui/core/cldr/he.json +291 -159
  181. package/src/sap/ui/core/cldr/hi.json +157 -128
  182. package/src/sap/ui/core/cldr/hr.json +514 -461
  183. package/src/sap/ui/core/cldr/hu.json +287 -257
  184. package/src/sap/ui/core/cldr/id.json +463 -416
  185. package/src/sap/ui/core/cldr/it.json +468 -413
  186. package/src/sap/ui/core/cldr/it_CH.json +468 -413
  187. package/src/sap/ui/core/cldr/ja.json +98 -61
  188. package/src/sap/ui/core/cldr/kk.json +631 -571
  189. package/src/sap/ui/core/cldr/ko.json +79 -71
  190. package/src/sap/ui/core/cldr/lt.json +361 -270
  191. package/src/sap/ui/core/cldr/lv.json +234 -242
  192. package/src/sap/ui/core/cldr/ms.json +463 -408
  193. package/src/sap/ui/core/cldr/nb.json +176 -143
  194. package/src/sap/ui/core/cldr/nl.json +463 -393
  195. package/src/sap/ui/core/cldr/nl_BE.json +463 -393
  196. package/src/sap/ui/core/cldr/pl.json +633 -344
  197. package/src/sap/ui/core/cldr/pt.json +447 -336
  198. package/src/sap/ui/core/cldr/pt_PT.json +488 -449
  199. package/src/sap/ui/core/cldr/ro.json +477 -383
  200. package/src/sap/ui/core/cldr/ru.json +367 -332
  201. package/src/sap/ui/core/cldr/ru_UA.json +361 -326
  202. package/src/sap/ui/core/cldr/sk.json +502 -537
  203. package/src/sap/ui/core/cldr/sl.json +168 -161
  204. package/src/sap/ui/core/cldr/sr.json +276 -225
  205. package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
  206. package/src/sap/ui/core/cldr/sv.json +420 -346
  207. package/src/sap/ui/core/cldr/th.json +117 -94
  208. package/src/sap/ui/core/cldr/tr.json +413 -359
  209. package/src/sap/ui/core/cldr/uk.json +395 -368
  210. package/src/sap/ui/core/cldr/vi.json +392 -379
  211. package/src/sap/ui/core/cldr/zh_CN.json +91 -33
  212. package/src/sap/ui/core/cldr/zh_HK.json +90 -32
  213. package/src/sap/ui/core/cldr/zh_SG.json +90 -32
  214. package/src/sap/ui/core/cldr/zh_TW.json +75 -51
  215. package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
  216. package/src/sap/ui/core/date/UI5Date.js +1 -1
  217. package/src/sap/ui/core/date/_Calendars.js +5 -2
  218. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  219. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  220. package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
  221. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  222. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  223. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  224. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  225. package/src/sap/ui/core/format/DateFormat.js +33 -21
  226. package/src/sap/ui/core/format/NumberFormat.js +3 -2
  227. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  228. package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
  229. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  230. package/src/sap/ui/core/library.js +128 -8
  231. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  232. package/src/sap/ui/core/message/Message.js +2 -2
  233. package/src/sap/ui/core/message/MessageManager.js +1 -1
  234. package/src/sap/ui/core/message/MessageParser.js +1 -1
  235. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  236. package/src/sap/ui/core/message/MessageType.js +2 -1
  237. package/src/sap/ui/core/messagebundle.properties +24 -0
  238. package/src/sap/ui/core/messagebundle_ar.properties +15 -3
  239. package/src/sap/ui/core/messagebundle_bg.properties +14 -2
  240. package/src/sap/ui/core/messagebundle_ca.properties +13 -1
  241. package/src/sap/ui/core/messagebundle_cs.properties +15 -3
  242. package/src/sap/ui/core/messagebundle_cy.properties +16 -4
  243. package/src/sap/ui/core/messagebundle_da.properties +15 -3
  244. package/src/sap/ui/core/messagebundle_de.properties +15 -3
  245. package/src/sap/ui/core/messagebundle_el.properties +16 -4
  246. package/src/sap/ui/core/messagebundle_en.properties +12 -0
  247. package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
  248. package/src/sap/ui/core/messagebundle_es.properties +15 -3
  249. package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
  250. package/src/sap/ui/core/messagebundle_et.properties +15 -3
  251. package/src/sap/ui/core/messagebundle_fi.properties +15 -3
  252. package/src/sap/ui/core/messagebundle_fr.properties +15 -3
  253. package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
  254. package/src/sap/ui/core/messagebundle_hi.properties +16 -4
  255. package/src/sap/ui/core/messagebundle_hr.properties +14 -2
  256. package/src/sap/ui/core/messagebundle_hu.properties +16 -4
  257. package/src/sap/ui/core/messagebundle_id.properties +15 -3
  258. package/src/sap/ui/core/messagebundle_it.properties +17 -5
  259. package/src/sap/ui/core/messagebundle_iw.properties +15 -3
  260. package/src/sap/ui/core/messagebundle_ja.properties +25 -13
  261. package/src/sap/ui/core/messagebundle_kk.properties +15 -3
  262. package/src/sap/ui/core/messagebundle_ko.properties +14 -2
  263. package/src/sap/ui/core/messagebundle_lt.properties +15 -3
  264. package/src/sap/ui/core/messagebundle_lv.properties +15 -3
  265. package/src/sap/ui/core/messagebundle_mk.properties +352 -0
  266. package/src/sap/ui/core/messagebundle_ms.properties +15 -3
  267. package/src/sap/ui/core/messagebundle_nl.properties +15 -3
  268. package/src/sap/ui/core/messagebundle_no.properties +14 -2
  269. package/src/sap/ui/core/messagebundle_pl.properties +15 -3
  270. package/src/sap/ui/core/messagebundle_pt.properties +15 -3
  271. package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
  272. package/src/sap/ui/core/messagebundle_ro.properties +15 -3
  273. package/src/sap/ui/core/messagebundle_ru.properties +15 -3
  274. package/src/sap/ui/core/messagebundle_sh.properties +43 -31
  275. package/src/sap/ui/core/messagebundle_sk.properties +16 -4
  276. package/src/sap/ui/core/messagebundle_sl.properties +15 -3
  277. package/src/sap/ui/core/messagebundle_sv.properties +22 -10
  278. package/src/sap/ui/core/messagebundle_th.properties +15 -3
  279. package/src/sap/ui/core/messagebundle_tr.properties +15 -3
  280. package/src/sap/ui/core/messagebundle_uk.properties +18 -6
  281. package/src/sap/ui/core/messagebundle_vi.properties +18 -6
  282. package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
  283. package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
  284. package/src/sap/ui/core/mvc/Controller.js +22 -16
  285. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
  286. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  287. package/src/sap/ui/core/mvc/JSONView.js +4 -1
  288. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
  289. package/src/sap/ui/core/mvc/JSView.js +1 -1
  290. package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
  291. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  292. package/src/sap/ui/core/mvc/View.js +24 -14
  293. package/src/sap/ui/core/mvc/ViewType.js +2 -0
  294. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  295. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
  296. package/src/sap/ui/core/plugin/LessSupport.js +3 -1
  297. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  298. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  299. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  300. package/src/sap/ui/core/routing/Router.js +2 -4
  301. package/src/sap/ui/core/routing/Target.js +1 -3
  302. package/src/sap/ui/core/routing/Targets.js +2 -3
  303. package/src/sap/ui/core/routing/Views.js +2 -3
  304. package/src/sap/ui/core/routing/async/Target.js +1 -1
  305. package/src/sap/ui/core/rules/Config.support.js +11 -17
  306. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  307. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  308. package/src/sap/ui/core/service/Service.js +1 -1
  309. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  310. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  311. package/src/sap/ui/core/support/Hotkeys.js +5 -3
  312. package/src/sap/ui/core/support/Plugin.js +1 -1
  313. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
  314. package/src/sap/ui/core/support/Support.js +3 -5
  315. package/src/sap/ui/core/support/ToolsAPI.js +15 -11
  316. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  317. package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
  318. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  319. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  320. package/src/sap/ui/core/support/plugins/Selector.js +7 -5
  321. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  322. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  323. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  324. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -1
  325. package/src/sap/ui/core/syncStyleClass.js +2 -2
  326. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  327. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  328. package/src/sap/ui/core/themes/base/global.less +9 -9
  329. package/src/sap/ui/core/theming/Parameters.js +18 -19
  330. package/src/sap/ui/core/theming/ThemeManager.js +23 -4
  331. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  332. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  333. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  334. package/src/sap/ui/core/tmpl/Template.js +1 -1
  335. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  336. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  337. package/src/sap/ui/core/util/Export.js +1 -1
  338. package/src/sap/ui/core/util/ExportCell.js +1 -1
  339. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  340. package/src/sap/ui/core/util/ExportRow.js +1 -1
  341. package/src/sap/ui/core/util/ExportType.js +1 -1
  342. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  343. package/src/sap/ui/core/util/File.js +1 -1
  344. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  345. package/src/sap/ui/core/util/MockServer.js +1 -1
  346. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  347. package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
  348. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  349. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  350. package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
  351. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  352. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  353. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  354. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  355. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  356. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  357. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  358. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  359. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  360. package/src/sap/ui/debug/ControlTree.js +1 -1
  361. package/src/sap/ui/debug/DebugEnv.js +29 -7
  362. package/src/sap/ui/debug/PropertyList.js +1 -1
  363. package/src/sap/ui/model/ClientListBinding.js +3 -1
  364. package/src/sap/ui/model/ClientModel.js +1 -1
  365. package/src/sap/ui/model/ClientTreeBinding.js +3 -1
  366. package/src/sap/ui/model/CompositeDataState.js +1 -1
  367. package/src/sap/ui/model/CompositeType.js +1 -1
  368. package/src/sap/ui/model/DataState.js +2 -2
  369. package/src/sap/ui/model/Filter.js +39 -1
  370. package/src/sap/ui/model/FilterProcessor.js +12 -2
  371. package/src/sap/ui/model/ListBinding.js +5 -0
  372. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
  373. package/src/sap/ui/model/MetaModel.js +1 -1
  374. package/src/sap/ui/model/Model.js +5 -1
  375. package/src/sap/ui/model/SelectionModel.js +1 -1
  376. package/src/sap/ui/model/SimpleType.js +1 -1
  377. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  378. package/src/sap/ui/model/TreeBinding.js +3 -0
  379. package/src/sap/ui/model/Type.js +1 -1
  380. package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
  381. package/src/sap/ui/model/json/JSONListBinding.js +3 -1
  382. package/src/sap/ui/model/json/JSONModel.js +1 -1
  383. package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
  384. package/src/sap/ui/model/message/MessageListBinding.js +3 -0
  385. package/src/sap/ui/model/message/MessageModel.js +1 -1
  386. package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
  387. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  388. package/src/sap/ui/model/odata/ODataListBinding.js +3 -0
  389. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  390. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  391. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  392. package/src/sap/ui/model/odata/ODataModel.js +9 -5
  393. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
  394. package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
  395. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
  396. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  397. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  398. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  399. package/src/sap/ui/model/odata/type/Date.js +1 -1
  400. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  401. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  402. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  403. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  404. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  405. package/src/sap/ui/model/odata/type/Double.js +1 -1
  406. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  407. package/src/sap/ui/model/odata/type/Int.js +1 -1
  408. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  409. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  410. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  411. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  412. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  413. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  414. package/src/sap/ui/model/odata/type/Single.js +1 -1
  415. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  416. package/src/sap/ui/model/odata/type/String.js +1 -1
  417. package/src/sap/ui/model/odata/type/Time.js +1 -1
  418. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  419. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  420. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  421. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  422. package/src/sap/ui/model/odata/v2/ODataListBinding.js +35 -13
  423. package/src/sap/ui/model/odata/v2/ODataModel.js +21 -8
  424. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -2
  425. package/src/sap/ui/model/odata/v4/Context.js +81 -7
  426. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  427. package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
  428. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  429. package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
  430. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  431. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
  432. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
  433. package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
  434. package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
  435. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
  436. package/src/sap/ui/model/resource/ResourceModel.js +5 -6
  437. package/src/sap/ui/model/type/Boolean.js +1 -1
  438. package/src/sap/ui/model/type/Currency.js +1 -1
  439. package/src/sap/ui/model/type/Date.js +1 -1
  440. package/src/sap/ui/model/type/DateInterval.js +1 -1
  441. package/src/sap/ui/model/type/DateTime.js +1 -1
  442. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  443. package/src/sap/ui/model/type/FileSize.js +1 -1
  444. package/src/sap/ui/model/type/Float.js +1 -1
  445. package/src/sap/ui/model/type/Integer.js +1 -1
  446. package/src/sap/ui/model/type/String.js +1 -1
  447. package/src/sap/ui/model/type/Time.js +1 -1
  448. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  449. package/src/sap/ui/model/type/Unit.js +1 -1
  450. package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
  451. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  452. package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
  453. package/src/sap/ui/performance/BeaconRequest.js +2 -2
  454. package/src/sap/ui/qunit/QUnitUtils.js +64 -45
  455. package/src/sap/ui/qunit/qunit-coverage.js +6 -0
  456. package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
  457. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  458. package/src/sap/ui/security/Security.js +128 -0
  459. package/src/sap/ui/test/BlanketReporter.js +2 -3
  460. package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
  461. package/src/sap/ui/test/BranchTracking.js +2 -3
  462. package/src/sap/ui/test/ModuleTracking.js +48 -20
  463. package/src/sap/ui/test/OpaExtension.js +3 -3
  464. package/src/sap/ui/test/OpaPlugin.js +16 -6
  465. package/src/sap/ui/test/TestUtils.js +7 -4
  466. package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
  467. package/src/sap/ui/test/_ControlFinder.js +3 -2
  468. package/src/sap/ui/test/_LogCollector.js +1 -0
  469. package/src/sap/ui/test/_UsageReport.js +115 -114
  470. package/src/sap/ui/test/actions/EnterText.js +20 -2
  471. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
  472. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
  473. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  474. package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
  475. package/src/sap/ui/test/generic/TestBase.js +1 -1
  476. package/src/sap/ui/test/generic/Utils.js +1 -1
  477. package/src/sap/ui/test/matchers/LabelFor.js +2 -12
  478. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  479. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
  480. package/src/sap/ui/test/selectors/_Selector.js +1 -1
  481. package/src/sap/ui/util/Storage.js +1 -1
  482. package/src/ui5loader-autoconfig.js +84 -11
  483. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
  484. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
  485. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
  486. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
  487. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
  488. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
  489. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
  490. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
  491. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
  492. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
  493. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
  494. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
  495. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
  496. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
  497. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
  498. package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
  499. package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
  500. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
  501. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
  502. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
  503. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
  504. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
  505. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
  506. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
  507. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
  508. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
  509. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
  510. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
  511. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
  512. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
  513. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
  514. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
  515. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
  516. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
  517. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
  518. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
  519. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
  520. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
  521. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
  522. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
  523. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
  524. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
  525. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
  526. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
  527. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
  528. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
  529. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
  530. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
  531. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
  532. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
  533. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
  534. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
  535. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
  536. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
  537. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
  538. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
  539. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
  540. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
  541. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
  542. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
  543. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
  544. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
  545. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
  546. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
  547. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
  548. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
  549. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
  550. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
  551. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
  552. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
  553. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
  554. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
  555. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
  556. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
  557. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
  564. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
  565. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
  566. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
  567. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
  568. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
  569. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
  570. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
  571. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
  572. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
  573. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
  574. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
  575. package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
  576. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
  577. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
  578. package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
  579. package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
  580. package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
  581. package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
  582. package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
  583. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
  584. package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
  585. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
  586. package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
  587. package/test/sap/ui/core/qunit/Lib.qunit.js +22 -1
  588. package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
  589. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -2
  590. package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
  591. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
  592. package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
  593. package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
  594. package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
  595. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
  596. package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
  597. package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
  598. package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
  599. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
  600. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
  601. package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
  602. package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
  603. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
  604. package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
  605. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
  606. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +30 -30
  607. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
  608. package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
  609. package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
  610. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
  611. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
  612. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
  613. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
  614. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
  615. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
  616. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
  617. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
  618. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
  619. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
  620. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
  621. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
  622. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
  623. package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
  624. package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
  625. package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
  626. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
  627. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
  628. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
  629. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
  630. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
  631. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
  632. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
  633. package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
  634. package/test/sap/ui/core/qunit/component/Component.qunit.js +74 -4
  635. package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
  636. package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
  637. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
  638. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
  639. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
  640. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
  641. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
  642. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
  643. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
  644. package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
  645. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
  646. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
  647. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
  648. package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
  649. package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
  650. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
  651. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
  652. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
  653. package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
  654. package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
  655. package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
  656. package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
  657. package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
  658. package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
  659. package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
  660. package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +3 -0
  661. package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
  662. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
  663. package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
  664. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
  665. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
  666. package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
  667. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
  668. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
  669. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
  670. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  671. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
  672. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
  673. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
  674. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
  675. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
  676. package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
  677. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
  678. package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
  679. package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
  680. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +3 -0
  681. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
  682. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +3 -0
  683. package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
  684. package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
  685. package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
  686. package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
  687. package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
  688. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +40 -1
  689. package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
  690. package/test/sap/ui/core/qunit/model/Model.qunit.js +3 -0
  691. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
  692. package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
  693. package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
  694. package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
  695. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
  696. package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
  697. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
  698. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
  699. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
  700. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
  701. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
  702. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
  703. package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
  704. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
  705. package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
  706. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
  707. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
  708. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
  709. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
  710. package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
  711. package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
  712. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
  713. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +36 -13
  714. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
  715. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +6 -4
  716. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
  717. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
  718. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +194 -3
  719. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
  720. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
  721. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
  722. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1859 -407
  723. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
  724. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
  725. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
  726. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
  727. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
  728. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
  729. package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
  730. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
  731. package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
  732. package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
  733. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
  734. package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
  735. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +51 -3
  736. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
  737. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
  738. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
  739. package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
  740. package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
  741. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
  742. package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
  743. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
  744. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
  745. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
  746. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
  747. package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
  748. package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
  749. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
  750. package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
  751. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
  752. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
  753. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
  754. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
  755. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
  756. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
  757. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
  758. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
  759. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
  760. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
  761. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
  762. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
  763. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
  764. package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
  765. package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
  766. package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
  767. package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
  768. package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
  769. package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
  770. package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
  771. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
  772. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
  773. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
  774. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
  775. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
  776. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
  777. package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
  778. package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
  779. package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
  780. package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
  781. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
  782. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
  783. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
  784. package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
  785. package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
  786. package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
  787. package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
  788. package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
  789. package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
  790. package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
  791. package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
  792. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
  793. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  794. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
  795. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
  796. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
  797. package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
  798. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
  799. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
  800. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
  801. package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
  802. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
  803. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
  804. package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
  805. package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
  806. package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
  807. package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
  808. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
  809. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
  810. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
  811. package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
  812. package/test/sap/ui/core/relnotes/changes-1.120.json +360 -0
  813. package/test/sap/ui/core/terminologies/App.controller.js +2 -3
  814. package/test/sap/ui/core/terminologies/main.js +2 -3
  815. package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
  816. package/src/sap/ui/core/ConfigTest.js +0 -17
  817. package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
  818. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
  819. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
  820. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
  821. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
  822. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
  823. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
  824. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
  825. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
  826. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
  827. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
  828. package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
@@ -2,7 +2,6 @@
2
2
  * copyright
3
3
  */
4
4
 
5
- /* global globalThis */
6
5
  sap.ui.define([
7
6
  "sap/base/assert",
8
7
  "sap/base/config",
@@ -24,9 +23,10 @@ sap.ui.define([
24
23
  ) {
25
24
  "use strict";
26
25
 
27
- var oWritableConfig = BaseConfig.getWritableInstance();
28
- var mChanges;
29
- var oThemeManager;
26
+ const oWritableConfig = BaseConfig.getWritableInstance();
27
+ const oEventing = new Eventing();
28
+ let mChanges;
29
+ let oThemeManager;
30
30
 
31
31
  /**
32
32
  * Provides theming related API
@@ -36,15 +36,16 @@ sap.ui.define([
36
36
  * @public
37
37
  * @since 1.118
38
38
  */
39
- var Theming = {
39
+ const Theming = {
40
40
  /**
41
41
  * Returns the theme name
42
42
  * @return {string} the theme name
43
43
  * @public
44
+ * @since 1.118
44
45
  */
45
- getTheme: function() {
46
+ getTheme: () => {
46
47
  // analyze theme parameter
47
- var sTheme = oWritableConfig.get({
48
+ let sTheme = oWritableConfig.get({
48
49
  name: "sapTheme",
49
50
  type: oWritableConfig.Type.String,
50
51
  defaultValue: oWritableConfig.get({
@@ -67,9 +68,9 @@ sap.ui.define([
67
68
  // the initial config provider such as Global-, Bootstrap-, Meta- and
68
69
  // URLConfigurationProvider. The themeroot is also only validated against
69
70
  // allowedThemeOrigin in this case.
70
- var iIndex = sTheme.indexOf("@");
71
+ const iIndex = sTheme.indexOf("@");
71
72
  if (iIndex >= 0) {
72
- var sThemeRoot = validateThemeRoot(sTheme.slice(iIndex + 1));
73
+ const sThemeRoot = validateThemeRoot(sTheme.slice(iIndex + 1));
73
74
  sTheme = iIndex > 0 ? sTheme.slice(0, iIndex) : sTheme;
74
75
  if (sThemeRoot !== Theming.getThemeRoot(sTheme)) {
75
76
  Theming.setThemeRoot(sTheme, sThemeRoot);
@@ -85,21 +86,21 @@ sap.ui.define([
85
86
  /**
86
87
  * Allows setting the theme name
87
88
  * @param {string} sTheme the theme name
88
- * @return {this} <code>this</code> to allow method chaining
89
89
  * @public
90
+ * @since 1.118
90
91
  */
91
- setTheme: function(sTheme) {
92
+ setTheme: (sTheme) => {
92
93
  if (sTheme) {
93
94
  if (sTheme.indexOf("@") !== -1) {
94
95
  throw new TypeError("Providing a theme root as part of the theme parameter is not allowed.");
95
96
  }
96
97
 
97
- var bFireChange = !mChanges;
98
- mChanges = mChanges || {};
99
- var sOldTheme = Theming.getTheme();
98
+ const bFireChange = !mChanges;
99
+ mChanges ??= {};
100
+ const sOldTheme = Theming.getTheme();
100
101
  oWritableConfig.set("sapTheme", sTheme);
101
- var sNewTheme = Theming.getTheme();
102
- var bThemeChanged = sOldTheme !== sNewTheme;
102
+ const sNewTheme = Theming.getTheme();
103
+ const bThemeChanged = sOldTheme !== sNewTheme;
103
104
  if (bThemeChanged) {
104
105
  mChanges.theme = {
105
106
  "new": sNewTheme,
@@ -115,25 +116,25 @@ sap.ui.define([
115
116
  fireApplied({theme: sNewTheme});
116
117
  }
117
118
  }
118
- return this;
119
119
  },
120
120
 
121
121
  /**
122
122
  *
123
123
  * @param {string} sTheme The Theme
124
124
  * @param {string} [sLib] An optional library name
125
+ * @returns {string} The themeRoot if configured
125
126
  * @private
126
127
  * @ui5-restricted sap.ui.core.theming.ThemeManager
127
- * @returns {string} The themeRoot if configured
128
+ * @since 1.118
128
129
  */
129
- getThemeRoot: function(sTheme, sLib) {
130
- var oThemeRoots = oWritableConfig.get({
130
+ getThemeRoot: (sTheme, sLib) => {
131
+ const oThemeRoots = oWritableConfig.get({
131
132
  name: "sapUiThemeRoots",
132
133
  type: oWritableConfig.Type.Object
133
134
  });
134
- var sThemeRoot;
135
+ let sThemeRoot;
135
136
 
136
- sTheme = sTheme || Theming.getTheme();
137
+ sTheme ??= Theming.getTheme();
137
138
 
138
139
  if (oThemeRoots[sTheme] && typeof oThemeRoots[sTheme] === "string") {
139
140
  sThemeRoot = oThemeRoots[sTheme];
@@ -190,23 +191,24 @@ sap.ui.define([
190
191
  * @param {boolean} [bForceUpdate=false] Force updating URLs of currently loaded theme
191
192
  * @private
192
193
  * @ui5-restricted sap.ui.core.Core
194
+ * @since 1.118
193
195
  */
194
- setThemeRoot: function(sThemeName, sThemeBaseUrl, aLibraryNames, bForceUpdate) {
196
+ setThemeRoot: (sThemeName, sThemeBaseUrl, aLibraryNames, bForceUpdate) => {
195
197
  assert(typeof sThemeName === "string", "sThemeName must be a string");
196
198
  assert(typeof sThemeBaseUrl === "string", "sThemeBaseUrl must be a string");
197
199
 
198
- var bFireChange = !mChanges;
199
- mChanges = mChanges || {};
200
+ const bFireChange = !mChanges;
201
+ mChanges ??= {};
200
202
 
201
- var oThemeRootConfigParam = {
203
+ const oThemeRootConfigParam = {
202
204
  name: "sapUiThemeRoots",
203
205
  type: oWritableConfig.Type.Object
204
206
  };
205
207
 
206
208
  // Use get twice, for a deep copy of themeRoots object
207
209
  // we add a new default "empty object" with each call, so we don't accidentally share it
208
- var mOldThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
209
- var mNewThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
210
+ const mOldThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
211
+ const mNewThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
210
212
 
211
213
  // normalize parameters
212
214
  if (typeof aLibraryNames === "boolean") {
@@ -214,7 +216,7 @@ sap.ui.define([
214
216
  aLibraryNames = undefined;
215
217
  }
216
218
 
217
- mNewThemeRoots[sThemeName] = mNewThemeRoots[sThemeName] || {};
219
+ mNewThemeRoots[sThemeName] ??= {};
218
220
 
219
221
  // Normalize theme-roots to an object in case it was initially given as a string.
220
222
  // We only check newThemeRoots, since both old and new are identical at this point.
@@ -225,8 +227,8 @@ sap.ui.define([
225
227
 
226
228
  if (aLibraryNames) {
227
229
  // registration of URL for several libraries
228
- for (var i = 0; i < aLibraryNames.length; i++) {
229
- var lib = aLibraryNames[i];
230
+ for (let i = 0; i < aLibraryNames.length; i++) {
231
+ const lib = aLibraryNames[i];
230
232
  mNewThemeRoots[sThemeName][lib] = sThemeBaseUrl;
231
233
  }
232
234
 
@@ -244,7 +246,7 @@ sap.ui.define([
244
246
  } else {
245
247
  mChanges.themeRoots = {
246
248
  "new": sThemeBaseUrl,
247
- "old": mOldThemeRoots[sThemeName] && mOldThemeRoots[sThemeName][""]
249
+ "old": mOldThemeRoots[sThemeName]?.[""]
248
250
  };
249
251
  }
250
252
  mChanges.themeRoots.forceUpdate = bForceUpdate && sThemeName === Theming.getTheme();
@@ -268,12 +270,22 @@ sap.ui.define([
268
270
  * has been applied for it</li>
269
271
  * </ul>
270
272
  *
273
+ * For the event parameters please refer to {@link module:sap/ui/core/Theming$AppliedEvent}.
274
+ *
271
275
  * @name module:sap/ui/core/Theming.applied
272
276
  * @event
273
- * @param {module:sap/base/Event} oEvent
274
- * @param {sap.ui.base.EventProvider} oEvent.target
275
- * @param {string} oEvent.theme Theme name
277
+ * @param {module:sap/ui/core/Theming$AppliedEvent} oEvent
278
+ * @public
279
+ * @since 1.118.0
280
+ */
281
+
282
+ /**
283
+ * The theme applied Event.
284
+ *
285
+ * @typedef {object} module:sap/ui/core/Theming$AppliedEvent
286
+ * @property {string} theme The newly set language.
276
287
  * @public
288
+ * @since 1.118.0
277
289
  */
278
290
 
279
291
  /**
@@ -282,20 +294,21 @@ sap.ui.define([
282
294
  * The given handler is called when the the applied event is fired. If the theme is already applied
283
295
  * the handler will be called immediately.
284
296
  *
285
- * @param {function} fnFunction The function to be called, when the event occurs
297
+ * @param {function(module:sap/ui/core/Theming$AppliedEvent)} fnFunction The function to be called, when the event occurs
286
298
  * @private
287
299
  * @ui5-restricted sap.ui.core.Core
300
+ * @since 1.118.0
288
301
  */
289
- attachAppliedOnce: function(fnFunction) {
290
- var sId = "applied";
302
+ attachAppliedOnce: (fnFunction) => {
303
+ const sId = "applied";
291
304
  if (oThemeManager) {
292
305
  if (oThemeManager.themeLoaded) {
293
- fnFunction.call(Theming, new BaseEvent(sId, Theming, {theme: Theming.getTheme()}));
306
+ fnFunction.call(null, new BaseEvent(sId, {theme: Theming.getTheme()}));
294
307
  } else {
295
- Theming.attachEventOnce(sId, fnFunction);
308
+ oEventing.attachEventOnce(sId, fnFunction);
296
309
  }
297
310
  } else {
298
- fnFunction.call(Theming, new BaseEvent(sId, Theming, {theme: Theming.getTheme()}));
311
+ fnFunction.call(null, new BaseEvent(sId, {theme: Theming.getTheme()}));
299
312
  }
300
313
  },
301
314
 
@@ -306,18 +319,19 @@ sap.ui.define([
306
319
  * the handler will be called immediately. The handler stays attached to the applied event for future
307
320
  * theme changes.
308
321
  *
309
- * @param {function} fnFunction The function to be called, when the event occurs
322
+ * @param {function(module:sap/ui/core/Theming$AppliedEvent)} fnFunction The function to be called, when the event occurs
310
323
  * @public
324
+ * @since 1.118.0
311
325
  */
312
- attachApplied: function(fnFunction) {
313
- var sId = "applied";
314
- Theming.attachEvent(sId, fnFunction);
326
+ attachApplied: (fnFunction) => {
327
+ const sId = "applied";
328
+ oEventing.attachEvent(sId, fnFunction);
315
329
  if (oThemeManager) {
316
330
  if (oThemeManager.themeLoaded) {
317
- fnFunction.call(Theming, new BaseEvent(sId, Theming, {theme: Theming.getTheme()}));
331
+ fnFunction.call(null, new BaseEvent(sId, {theme: Theming.getTheme()}));
318
332
  }
319
333
  } else {
320
- fnFunction.call(Theming, new BaseEvent(sId, Theming, {theme: Theming.getTheme()}));
334
+ fnFunction.call(null, new BaseEvent(sId, {theme: Theming.getTheme()}));
321
335
  }
322
336
  },
323
337
 
@@ -326,11 +340,12 @@ sap.ui.define([
326
340
  *
327
341
  * The passed function must match the one used for event registration.
328
342
  *
329
- * @param {function} fnFunction The function to be called, when the event occurs
343
+ * @param {function(module:sap/ui/core/Theming$AppliedEvent)} fnFunction The function to be called, when the event occurs
330
344
  * @public
345
+ * @since 1.118.0
331
346
  */
332
- detachApplied: function(fnFunction) {
333
- Theming.detachEvent("applied", fnFunction);
347
+ detachApplied: (fnFunction) => {
348
+ oEventing.detachEvent("applied", fnFunction);
334
349
  },
335
350
 
336
351
  /**
@@ -338,39 +353,51 @@ sap.ui.define([
338
353
  *
339
354
  * @name module:sap/ui/core/Theming.change
340
355
  * @event
341
- * @param {module:sap/base/Event} oEvent
342
- * @param {sap.ui.base.EventProvider} oEvent.target
343
- * @param {object} oEvent.theme theme object
344
- * @param {string} oEvent.theme.new new theme name
345
- * @param {string} oEvent.theme.old old theme name
346
- * @param {object} oEvent.themeroots themeroots object
347
- * @param {object} oEvent.themeroots.new new themeroots
348
- * @param {object} oEvent.themeroots.old old themeroots
356
+ * @param {module:sap/ui/core/Theming$ChangeEvent} oEvent
357
+ * @private
358
+ * @ui5-restricted sap.ui.core.theming.ThemeManager
359
+ * @since 1.118.0
360
+ */
361
+
362
+ /**
363
+ * The theme applied Event.
364
+ *
365
+ * @typedef {object} module:sap/ui/core/Theming$ChangeEvent
366
+ * @property {Object<string,string>} [theme] Theme object containing the old and the new theme
367
+ * @property {string} [theme.new] The new theme.
368
+ * @property {string} [theme.old] The old theme.
369
+ * @property {Object<string,Object<string,string>|boolean>} [themeRoots] ThemeRoots object containing the old and the new ThemeRoots
370
+ * @property {object} [themeRoots.new] The new ThemeRoots.
371
+ * @property {object} [themeRoots.old] The old ThemeRoots.
372
+ * @property {boolean} [themeRoots.forceUpdate] Whether an update of currently loaded theme URLS should be forced
349
373
  * @private
350
374
  * @ui5-restricted sap.ui.core.theming.ThemeManager
375
+ * @since 1.118.0
351
376
  */
352
377
 
353
378
  /**
354
379
  * Attaches the <code>fnFunction</code> event handler to the {@link #event:change change} event
355
380
  * of <code>sap.ui.core.Theming</code>.
356
381
  *
357
- * @param {function} fnFunction The function to be called when the event occurs
382
+ * @param {function(module:sap/ui/core/Theming$ChangeEvent)} fnFunction The function to be called when the event occurs
358
383
  * @private
359
384
  * @ui5-restricted sap.ui.core.theming.ThemeManager
385
+ * @since 1.118.0
360
386
  */
361
- attachChange: function(fnFunction) {
362
- Theming.attachEvent("change", fnFunction);
387
+ attachChange: (fnFunction) => {
388
+ oEventing.attachEvent("change", fnFunction);
363
389
  },
364
390
  /**
365
391
  * Detaches event handler <code>fnFunction</code> from the {@link #event:change change} event of
366
392
  * this <code>sap.ui.core.Theming</code>.
367
393
  *
368
- * @param {function} fnFunction Function to be called when the event occurs
394
+ * @param {function(module:sap/ui/core/Theming$ChangeEvent)} fnFunction Function to be called when the event occurs
369
395
  * @private
370
396
  * @ui5-restricted sap.ui.core.theming.ThemeManager
397
+ * @since 1.118.0
371
398
  */
372
- detachChange: function(fnFunction) {
373
- Theming.detachEvent("change", fnFunction);
399
+ detachChange: (fnFunction) => {
400
+ oEventing.detachEvent("change", fnFunction);
374
401
  },
375
402
 
376
403
  /**
@@ -387,55 +414,69 @@ sap.ui.define([
387
414
  *
388
415
  * @name module:sap/ui/core/Theming.themeScopingChanged
389
416
  * @event
390
- * @param {module:sap/base/Event} oEvent
391
- * @param {string[]} oEvent.scopes Array of the CSS scope classes
392
- * @param {boolean} oEvent.added Whether the class has been added or removed
393
- * @param {sap.ui.core.Element} oEvent.element Element instance on which the scope change happened
417
+ * @param {module:sap/ui/core/Theming$ThemeScopingChangedEvent} oEvent
394
418
  * @private
395
419
  * @ui5-restricted SAPUI5 Distribution Layer Libraries
420
+ * @since 1.118.0
421
+ */
422
+
423
+ /**
424
+ * The theme scoping change Event.
425
+ *
426
+ * @typedef {object} module:sap/ui/core/Theming$ThemeScopingChangedEvent
427
+ * @property {array} scopes An array containing all changed scopes.
428
+ * @property {boolean} added Whether the scope was added or removed.
429
+ * @property {sap.ui.core.Element} element The UI5 element the scope has changed for.
430
+ * @private
431
+ * @ui5-restricted sap.ui.core.theming.ThemeManager
432
+ * @since 1.118.0
396
433
  */
397
434
 
398
435
  /**
399
436
  * Attaches the <code>fnFunction</code> event handler to the {@link #event:themeScopingChanged change} event
400
437
  * of <code>sap.ui.core.Theming</code>.
401
438
  *
402
- * @param {function} fnFunction The function to be called when the event occurs
439
+ * @param {function(module:sap/ui/core/Theming$ThemeScopingChangedEvent)} fnFunction The function to be called when the event occurs
403
440
  * @private
404
441
  * @ui5-restricted SAPUI5 Distribution Layer Libraries
442
+ * @since 1.118.0
405
443
  */
406
- attachThemeScopingChanged: function(fnFunction) {
407
- Theming.attachEvent("themeScopingChanged", fnFunction);
444
+ attachThemeScopingChanged: (fnFunction) => {
445
+ oEventing.attachEvent("themeScopingChanged", fnFunction);
408
446
  },
409
447
 
410
448
  /**
411
449
  * Detaches event handler <code>fnFunction</code> from the {@link #event:themeScopingChanged change} event of
412
450
  * this <code>sap.ui.core.Theming</code>.
413
451
  *
414
- * @param {function} fnFunction Function to be called when the event occurs
452
+ * @param {function(module:sap/ui/core/Theming$ThemeScopingChangedEvent)} fnFunction Function to be called when the event occurs
415
453
  * @private
416
454
  * @ui5-restricted SAPUI5 Distribution Layer Libraries
455
+ * @since 1.118.0
417
456
  */
418
- detachThemeScopingChanged: function(fnFunction) {
419
- Theming.detachEvent("themeScopingChanged", fnFunction);
457
+ detachThemeScopingChanged: (fnFunction) => {
458
+ oEventing.detachEvent("themeScopingChanged", fnFunction);
420
459
  },
421
460
 
422
461
  /**
423
462
  * Fire themeScopingChanged event.
424
463
  *
425
- * @param {function} fnFunction Function to be called when the event occurs
464
+ * @param {Object<string,array|boolean|sap.ui.core.Element>} mParameters Function to be called when the event occurs
426
465
  * @private
427
466
  * @ui5-restricted SAPUI5 Distribution Layer Libraries
467
+ * @since 1.118.0
428
468
  */
429
- fireThemeScopingChanged: function(mParameters) {
430
- Theming.fireEvent("themeScopingChanged", mParameters);
469
+ fireThemeScopingChanged: (mParameters) => {
470
+ oEventing.fireEvent("themeScopingChanged", mParameters);
431
471
  },
432
472
 
433
473
  /**
434
474
  * Notify content density changes
435
475
  *
436
476
  * @public
477
+ * @since 1.118.0
437
478
  */
438
- notifyContentDensityChanged: function() {
479
+ notifyContentDensityChanged: () => {
439
480
  fireApplied({theme: Theming.getTheme()});
440
481
  },
441
482
 
@@ -443,10 +484,11 @@ sap.ui.define([
443
484
  * @param {sap.ui.core.theming.ThemeManager} oManager The ThemeManager to register.
444
485
  * @private
445
486
  * @ui5-restricted sap.ui.core.theming.ThemeManager
487
+ * @since 1.118.0
446
488
  */
447
- registerThemeManager: function(oManager) {
489
+ registerThemeManager: (oManager) => {
448
490
  oThemeManager = oManager;
449
- oThemeManager.attachEvent("applied", function(oEvent) {
491
+ oThemeManager._attachThemeApplied(function(oEvent) {
450
492
  fireApplied(BaseEvent.getParameters(oEvent));
451
493
  });
452
494
  // handle RTL changes
@@ -461,18 +503,18 @@ sap.ui.define([
461
503
 
462
504
  function fireChange() {
463
505
  if (mChanges) {
464
- Theming.fireEvent("change", mChanges);
506
+ oEventing.fireEvent("change", mChanges);
465
507
  mChanges = undefined;
466
508
  }
467
509
  }
468
510
 
469
511
  function fireApplied(oTheme) {
470
- Theming.fireEvent("applied", oTheme);
512
+ oEventing.fireEvent("applied", oTheme);
471
513
  }
472
514
 
473
515
  function validateThemeOrigin(sOrigin, bNoProtocol) {
474
- var sAllowedOrigins = oWritableConfig.get({name: "sapAllowedThemeOrigins", type: oWritableConfig.Type.String});
475
- return !!sAllowedOrigins && sAllowedOrigins.split(",").some(function(sAllowedOrigin) {
516
+ const sAllowedOrigins = oWritableConfig.get({name: "sapAllowedThemeOrigins", type: oWritableConfig.Type.String});
517
+ return !!sAllowedOrigins?.split(",").some((sAllowedOrigin) => {
476
518
  try {
477
519
  sAllowedOrigin = bNoProtocol && !sAllowedOrigin.startsWith("//") ? "//" + sAllowedOrigin : sAllowedOrigin;
478
520
  return sAllowedOrigin === "*" || sOrigin === new URL(sAllowedOrigin.trim(), globalThis.location.href).origin;
@@ -484,8 +526,8 @@ sap.ui.define([
484
526
  }
485
527
 
486
528
  function validateThemeRoot(sThemeRoot) {
487
- var bNoProtocol = sThemeRoot.startsWith("//"),
488
- oThemeRoot,
529
+ const bNoProtocol = sThemeRoot.startsWith("//");
530
+ let oThemeRoot,
489
531
  sPath;
490
532
 
491
533
  try {
@@ -507,12 +549,12 @@ sap.ui.define([
507
549
  if (bNoProtocol) {
508
550
  sPath = sPath.replace(oThemeRoot.protocol, "");
509
551
  }
510
- return sPath + (sPath.endsWith('/') ? '' : '/') + "UI5/";
552
+ sPath += (sPath.endsWith('/') ? '' : '/') + "UI5/";
511
553
  } catch (e) {
512
554
  // malformed URL are also not accepted
513
555
  }
556
+ return sPath;
514
557
  }
515
558
 
516
- Eventing.apply(Theming);
517
559
  return Theming;
518
560
  });
@@ -25,7 +25,7 @@ sap.ui.define(['./Element', './library'],
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.119.0
28
+ * @version 1.120.0
29
29
  *
30
30
  * @public
31
31
  * @since 1.16.0
@@ -9,11 +9,12 @@ sap.ui.define([
9
9
  './Control',
10
10
  './Element',
11
11
  './Popup',
12
+ './StaticArea',
12
13
  './library',
13
14
  "sap/ui/events/KeyCodes",
14
15
  "sap/ui/thirdparty/jquery"
15
16
  ],
16
- function(Control, Element, Popup, library, KeyCodes, jQuery) {
17
+ function(Control, Element, Popup, StaticArea, library, KeyCodes, jQuery) {
17
18
  "use strict";
18
19
 
19
20
 
@@ -30,7 +31,7 @@ sap.ui.define([
30
31
  * @class
31
32
  * Abstract class that can be extended in order to implement any extended tooltip. For example, RichTooltip Control is based on it. It provides the opening/closing behavior and the main "text" property.
32
33
  * @extends sap.ui.core.Control
33
- * @version 1.119.0
34
+ * @version 1.120.0
34
35
  *
35
36
  * @public
36
37
  * @alias sap.ui.core.TooltipBase
@@ -134,7 +135,7 @@ sap.ui.define([
134
135
  var oPopup = this._getPopup();
135
136
  if (!(oPopup.isOpen() && oPopup.getContent() == this)) {
136
137
  // Update Tooltip or create a new span with texts.
137
- sap.ui.getCore().createRenderManager().render(this, sap.ui.getCore().getStaticAreaRef(), true);
138
+ sap.ui.getCore().createRenderManager().render(this, StaticArea.getDomRef(), true);
138
139
  }
139
140
 
140
141
  // Attach accessibility info to the control oSC
@@ -168,7 +168,7 @@ sap.ui.define([
168
168
  *
169
169
  * @extends sap.ui.base.ManagedObject
170
170
  * @author SAP SE
171
- * @version 1.119.0
171
+ * @version 1.120.0
172
172
  * @param {object} [oRootNode] reference to the DOM element that should be 'hosting' the UI Area.
173
173
  * @public
174
174
  * @alias sap.ui.core.UIArea
@@ -331,9 +331,6 @@ sap.ui.define([
331
331
  * content control (if not empty) will be set to this UIArea and finally, the UIArea will
332
332
  * be marked for re-rendering.
333
333
  *
334
- * The real re-rendering happens whenever the re-rendering is called. Either implicitly
335
- * at the end of any control event or by calling sap.ui.getCore().applyChanges().
336
- *
337
334
  * @param {sap.ui.base.Interface | sap.ui.core.Control} oRootControl
338
335
  * the Control that should be the Root for this <code>UIArea</code>.
339
336
  * @public
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @extends sap.ui.core.Component
56
56
  * @abstract
57
57
  * @author SAP SE
58
- * @version 1.119.0
58
+ * @version 1.120.0
59
59
  * @alias sap.ui.core.UIComponent
60
60
  * @since 1.9.2
61
61
  */
@@ -349,6 +349,11 @@ sap.ui.define([
349
349
  }
350
350
  }
351
351
 
352
+ function logDeprecationError(sClassName) {
353
+ Log.error(`The routing related class '${sClassName}' was loaded synchronously as a result of a synchronous Component creation. Resolving a class in this fashion is deprecated. ` +
354
+ `Please use the asynchronous Component.create() factory instead and ensure all non-default routing relevant classes are maintained in the manifest.json.`);
355
+ }
356
+
352
357
  // create the routing
353
358
  // extend the metadata config, so that the metadata object cannot be modified afterwards
354
359
  var oRoutingManifestEntry = this._getManifestEntry("/sap.ui5/routing", true) || {},
@@ -370,17 +375,23 @@ sap.ui.define([
370
375
  fnRouterConstructor = getConstructorFunctionFor(sRouterClassName);
371
376
  } else {
372
377
  // require default Router class
373
- fnRouterConstructor = sap.ui.require("sap/ui/core/routing/Router")
374
- || sap.ui.requireSync("sap/ui/core/routing/Router"); // legacy-relevant: Sync path
378
+ fnRouterConstructor = sap.ui.require("sap/ui/core/routing/Router");
379
+ /** @deprecated since 1.120 */
380
+ if (!fnRouterConstructor) {
381
+ fnRouterConstructor = sap.ui.requireSync("sap/ui/core/routing/Router"); // legacy-relevant: Sync path
382
+ logDeprecationError("sap/ui/core/routing/Router");
383
+ }
375
384
  }
376
385
  this._oRouter = new fnRouterConstructor(vRoutes, oRoutingConfig, this, oRoutingManifestEntry.targets, this._oRouterHashChanger);
377
386
  this._oTargets = this._oRouter.getTargets();
378
387
  this._oViews = this._oRouter.getViews();
379
388
  } else if (oRoutingManifestEntry.targets) {
380
- // legacy-relevant: Sync path via sync component factory.
381
- // For async, no sync request is triggered as the class is already loaded by the component factory.
382
- var Views = sap.ui.require("sap/ui/core/routing/Views")
383
- || sap.ui.requireSync("sap/ui/core/routing/Views"); // legacy-relevant: Sync path
389
+ var Views = sap.ui.require("sap/ui/core/routing/Views");
390
+ /** @deprecated since 1.120 */
391
+ if (!Views) {
392
+ // For async, no sync request is triggered as the class is already loaded by the component factory.
393
+ Views = sap.ui.requireSync("sap/ui/core/routing/Views"); // legacy-relevant: Sync path
394
+ }
384
395
 
385
396
  this._oViews = new Views({
386
397
  component: this
@@ -391,9 +402,13 @@ sap.ui.define([
391
402
  if (oRoutingConfig.targetsClass) {
392
403
  fnTargetsConstructor = getConstructorFunctionFor(oRoutingConfig.targetsClass);
393
404
  } else {
394
- // For async, no sync request is triggered as the class is already loaded by the component factory.
395
- fnTargetsConstructor = sap.ui.require("sap/ui/core/routing/Targets")
396
- || sap.ui.requireSync("sap/ui/core/routing/Targets"); // legacy-relevant: Sync path
405
+ fnTargetsConstructor = sap.ui.require("sap/ui/core/routing/Targets");
406
+ /** @deprecated since 1.120 */
407
+ if (!fnTargetsConstructor) {
408
+ // For async, no sync request is triggered as the class is already loaded by the component factory.
409
+ fnTargetsConstructor = sap.ui.requireSync("sap/ui/core/routing/Targets"); // legacy-relevant: Sync path
410
+ logDeprecationError("sap/ui/core/routing/Targets");
411
+ }
397
412
  }
398
413
  this._oTargets = new fnTargetsConstructor({
399
414
  targets: oRoutingManifestEntry.targets,
@@ -428,8 +443,19 @@ sap.ui.define([
428
443
  function getConstructorFunctionFor (vRoutingObjectConstructor) {
429
444
  var fnConstructor;
430
445
  if (typeof vRoutingObjectConstructor === "string") {
431
- fnConstructor = sap.ui.require(vRoutingObjectConstructor.replace(/\./g, "/"))
432
- || ObjectPath.get(vRoutingObjectConstructor);
446
+ fnConstructor = sap.ui.require(vRoutingObjectConstructor.replace(/\./g, "/"));
447
+ /**
448
+ * Legacy relevant: Lookup class in global namespace.
449
+ * @deprecated since 1.120
450
+ */
451
+ if (!fnConstructor) {
452
+ fnConstructor = ObjectPath.get(vRoutingObjectConstructor); // legacy-relevant: Sync path. Async path loads the Router/Target class accordingly beforehand.
453
+ if (fnConstructor) {
454
+ Log.error(`The class '${vRoutingObjectConstructor}' was accessed via globals. ` +
455
+ "Retrieving routing classes via globals is deprecated and a result of synchronous Component creation, " +
456
+ "please use the asynchronous sap.ui.core.Component.create() factory instead.");
457
+ }
458
+ }
433
459
  if (!fnConstructor) {
434
460
  Log.error("The specified class for router or targets '" + vRoutingObjectConstructor + "' is undefined.", this);
435
461
  }
@@ -18,7 +18,7 @@ sap.ui.define(['./ComponentMetadata', 'sap/ui/core/mvc/ViewType'],
18
18
  * @experimental Since 1.15.1. The Component concept is still under construction, so some implementation details can be changed in future.
19
19
  * @class
20
20
  * @author SAP SE
21
- * @version 1.119.0
21
+ * @version 1.120.0
22
22
  * @since 1.15.1
23
23
  * @alias sap.ui.core.UIComponentMetadata
24
24
  * @extends sap.ui.core.ComponentMetadata
@@ -16,7 +16,7 @@ sap.ui.define(['./Element', './library', './Lib', "sap/base/assert"],
16
16
  * Helper functionality for value state support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.119.0
19
+ * @version 1.120.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.ValueStateSupport
22
22
  */
@@ -20,7 +20,7 @@ sap.ui.define(['./LayoutData', './library'],
20
20
  * @class
21
21
  * Allows to add multiple LayoutData to one control in case that an easy switch of layouts (e.g. in a Form) is needed.
22
22
  * @extends sap.ui.core.LayoutData
23
- * @version 1.119.0
23
+ * @version 1.120.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.9.2
@@ -148,7 +148,7 @@ sap.ui.define([
148
148
  * @extends sap.ui.core.Control
149
149
  *
150
150
  * @author SAP SE
151
- * @version 1.119.0
151
+ * @version 1.120.0
152
152
  * @since 1.56.0
153
153
  * @alias sap.ui.core.XMLComposite
154
154
  * @see {@link topic:b83a4dcb7d0e46969027345b8d32fd44 XML Composite Controls}