@openui5/sap.ui.core 1.120.10 → 1.121.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 (1065) hide show
  1. package/.eslintrc.json +5 -3
  2. package/.reuse/dep5 +23 -21
  3. package/THIRDPARTY.txt +6 -43
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +7 -7
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/jquery.sap.trace.js +1 -1
  11. package/src/sap/base/Event.js +1 -1
  12. package/src/sap/base/Eventing.js +1 -1
  13. package/src/sap/base/config.js +1 -1
  14. package/src/sap/base/future.js +57 -0
  15. package/src/sap/base/i18n/Formatting.js +7 -5
  16. package/src/sap/base/i18n/LanguageTag.js +2 -2
  17. package/src/sap/base/i18n/Localization.js +2 -2
  18. package/src/sap/base/i18n/ResourceBundle.js +115 -9
  19. package/src/sap/base/i18n/date/TimezoneUtils.js +5 -6
  20. package/src/sap/base/util/now.js +8 -13
  21. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  22. package/src/sap/base/util/restricted/_castArray.js +1 -1
  23. package/src/sap/base/util/restricted/_compact.js +1 -1
  24. package/src/sap/base/util/restricted/_curry.js +1 -1
  25. package/src/sap/base/util/restricted/_debounce.js +1 -1
  26. package/src/sap/base/util/restricted/_difference.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  32. package/src/sap/base/util/restricted/_flatten.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  35. package/src/sap/base/util/restricted/_intersection.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  40. package/src/sap/base/util/restricted/_isNil.js +1 -1
  41. package/src/sap/base/util/restricted/_max.js +1 -1
  42. package/src/sap/base/util/restricted/_merge.js +1 -1
  43. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  44. package/src/sap/base/util/restricted/_min.js +1 -1
  45. package/src/sap/base/util/restricted/_omit.js +1 -1
  46. package/src/sap/base/util/restricted/_pick.js +1 -1
  47. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  48. package/src/sap/base/util/restricted/_throttle.js +1 -1
  49. package/src/sap/base/util/restricted/_toArray.js +1 -1
  50. package/src/sap/base/util/restricted/_union.js +1 -1
  51. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  52. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  53. package/src/sap/base/util/restricted/_uniq.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  56. package/src/sap/base/util/restricted/_without.js +1 -1
  57. package/src/sap/base/util/restricted/_xor.js +1 -1
  58. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  59. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  62. package/src/sap/ui/Device.js +6 -3
  63. package/src/sap/ui/Global.js +14 -13
  64. package/src/sap/ui/VersionInfo.js +15 -3
  65. package/src/sap/ui/base/BindingParser.js +25 -15
  66. package/src/sap/ui/base/DataType.js +21 -13
  67. package/src/sap/ui/base/Event.js +1 -1
  68. package/src/sap/ui/base/EventProvider.js +1 -1
  69. package/src/sap/ui/base/ExpressionParser.js +5 -0
  70. package/src/sap/ui/base/Interface.js +1 -1
  71. package/src/sap/ui/base/ManagedObject.js +25 -14
  72. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  73. package/src/sap/ui/base/Metadata.js +28 -13
  74. package/src/sap/ui/base/Object.js +1 -1
  75. package/src/sap/ui/base/ObjectPool.js +1 -1
  76. package/src/sap/ui/core/.library +8 -7
  77. package/src/sap/ui/core/BusyIndicator.js +1 -1
  78. package/src/sap/ui/core/Component.js +133 -56
  79. package/src/sap/ui/core/ComponentContainer.js +14 -17
  80. package/src/sap/ui/core/ComponentMetadata.js +7 -3
  81. package/src/sap/ui/core/ComponentSupport.js +32 -13
  82. package/src/sap/ui/core/Configuration.js +1 -1
  83. package/src/sap/ui/core/Control.js +34 -19
  84. package/src/sap/ui/core/Core.js +42 -37
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +6 -8
  88. package/src/sap/ui/core/ElementMetadata.js +35 -20
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/ExtensionPoint.js +18 -11
  92. package/src/sap/ui/core/Fragment.js +69 -28
  93. package/src/sap/ui/core/HTML.js +3 -1
  94. package/src/sap/ui/core/History.js +1 -1
  95. package/src/sap/ui/core/Icon.js +1 -1
  96. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  97. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  98. package/src/sap/ui/core/InvisibleMessage.js +145 -125
  99. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  100. package/src/sap/ui/core/InvisibleText.js +6 -1
  101. package/src/sap/ui/core/Item.js +1 -1
  102. package/src/sap/ui/core/LabelEnablement.js +9 -2
  103. package/src/sap/ui/core/LayoutData.js +1 -1
  104. package/src/sap/ui/core/Lib.js +19 -12
  105. package/src/sap/ui/core/ListItem.js +1 -1
  106. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  107. package/src/sap/ui/core/Locale.js +2 -2
  108. package/src/sap/ui/core/LocaleData.js +16 -15
  109. package/src/sap/ui/core/Manifest.js +28 -28
  110. package/src/sap/ui/core/Message.js +1 -1
  111. package/src/sap/ui/core/Messaging.js +4 -4
  112. package/src/sap/ui/core/Popup.js +1 -47
  113. package/src/sap/ui/core/RenderManager.js +1 -1
  114. package/src/sap/ui/core/Renderer.js +12 -7
  115. package/src/sap/ui/core/Rendering.js +49 -42
  116. package/src/sap/ui/core/ResizeHandler.js +1 -1
  117. package/src/sap/ui/core/ScrollBar.js +7 -7
  118. package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
  119. package/src/sap/ui/core/SeparatorItem.js +1 -1
  120. package/src/sap/ui/core/Shortcut.js +1 -0
  121. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  122. package/src/sap/ui/core/StashedControlSupport.js +39 -40
  123. package/src/sap/ui/core/Theming.js +15 -25
  124. package/src/sap/ui/core/Title.js +1 -1
  125. package/src/sap/ui/core/TooltipBase.js +4 -3
  126. package/src/sap/ui/core/UIArea.js +5 -3
  127. package/src/sap/ui/core/UIComponent.js +6 -4
  128. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  129. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  130. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  131. package/src/sap/ui/core/XMLComposite.js +1 -1
  132. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -1
  133. package/src/sap/ui/core/XMLTemplateProcessor.js +44 -23
  134. package/src/sap/ui/core/cache/CacheManagerNOP.js +0 -1
  135. package/src/sap/ui/core/cldr/ar.json +47 -88
  136. package/src/sap/ui/core/cldr/ar_EG.json +47 -88
  137. package/src/sap/ui/core/cldr/ar_SA.json +48 -89
  138. package/src/sap/ui/core/cldr/bg.json +44 -156
  139. package/src/sap/ui/core/cldr/ca.json +265 -370
  140. package/src/sap/ui/core/cldr/cnr.json +545 -476
  141. package/src/sap/ui/core/cldr/cs.json +33 -467
  142. package/src/sap/ui/core/cldr/cy.json +36 -762
  143. package/src/sap/ui/core/cldr/da.json +43 -146
  144. package/src/sap/ui/core/cldr/de.json +47 -149
  145. package/src/sap/ui/core/cldr/de_AT.json +48 -150
  146. package/src/sap/ui/core/cldr/de_CH.json +86 -187
  147. package/src/sap/ui/core/cldr/el.json +28 -96
  148. package/src/sap/ui/core/cldr/el_CY.json +28 -96
  149. package/src/sap/ui/core/cldr/en.json +66 -27
  150. package/src/sap/ui/core/cldr/en_AU.json +314 -171
  151. package/src/sap/ui/core/cldr/en_GB.json +167 -33
  152. package/src/sap/ui/core/cldr/en_HK.json +57 -30
  153. package/src/sap/ui/core/cldr/en_IE.json +54 -27
  154. package/src/sap/ui/core/cldr/en_IN.json +139 -28
  155. package/src/sap/ui/core/cldr/en_NZ.json +55 -28
  156. package/src/sap/ui/core/cldr/en_PG.json +49 -22
  157. package/src/sap/ui/core/cldr/en_SG.json +51 -24
  158. package/src/sap/ui/core/cldr/en_ZA.json +61 -34
  159. package/src/sap/ui/core/cldr/es.json +25 -130
  160. package/src/sap/ui/core/cldr/es_AR.json +90 -191
  161. package/src/sap/ui/core/cldr/es_BO.json +63 -165
  162. package/src/sap/ui/core/cldr/es_CL.json +100 -202
  163. package/src/sap/ui/core/cldr/es_CO.json +54 -156
  164. package/src/sap/ui/core/cldr/es_MX.json +163 -258
  165. package/src/sap/ui/core/cldr/es_PE.json +65 -167
  166. package/src/sap/ui/core/cldr/es_UY.json +65 -167
  167. package/src/sap/ui/core/cldr/es_VE.json +43 -145
  168. package/src/sap/ui/core/cldr/et.json +44 -144
  169. package/src/sap/ui/core/cldr/fa.json +75 -80
  170. package/src/sap/ui/core/cldr/fi.json +38 -142
  171. package/src/sap/ui/core/cldr/fr.json +28 -22
  172. package/src/sap/ui/core/cldr/fr_BE.json +31 -25
  173. package/src/sap/ui/core/cldr/fr_CA.json +76 -69
  174. package/src/sap/ui/core/cldr/fr_CH.json +41 -35
  175. package/src/sap/ui/core/cldr/fr_LU.json +28 -22
  176. package/src/sap/ui/core/cldr/he.json +37 -426
  177. package/src/sap/ui/core/cldr/hi.json +40 -83
  178. package/src/sap/ui/core/cldr/hr.json +31 -286
  179. package/src/sap/ui/core/cldr/hu.json +46 -140
  180. package/src/sap/ui/core/cldr/id.json +31 -13
  181. package/src/sap/ui/core/cldr/it.json +59 -182
  182. package/src/sap/ui/core/cldr/it_CH.json +65 -188
  183. package/src/sap/ui/core/cldr/ja.json +103 -13
  184. package/src/sap/ui/core/cldr/kk.json +79 -67
  185. package/src/sap/ui/core/cldr/ko.json +29 -10
  186. package/src/sap/ui/core/cldr/lt.json +24 -366
  187. package/src/sap/ui/core/cldr/lv.json +30 -277
  188. package/src/sap/ui/core/cldr/mk.json +103 -198
  189. package/src/sap/ui/core/cldr/ms.json +30 -10
  190. package/src/sap/ui/core/cldr/nb.json +32 -133
  191. package/src/sap/ui/core/cldr/nl.json +37 -167
  192. package/src/sap/ui/core/cldr/nl_BE.json +108 -238
  193. package/src/sap/ui/core/cldr/pl.json +27 -384
  194. package/src/sap/ui/core/cldr/pt.json +37 -145
  195. package/src/sap/ui/core/cldr/pt_PT.json +32 -133
  196. package/src/sap/ui/core/cldr/ro.json +30 -289
  197. package/src/sap/ui/core/cldr/ru.json +27 -75
  198. package/src/sap/ui/core/cldr/ru_UA.json +27 -75
  199. package/src/sap/ui/core/cldr/sk.json +32 -438
  200. package/src/sap/ui/core/cldr/sl.json +131 -535
  201. package/src/sap/ui/core/cldr/sr.json +41 -332
  202. package/src/sap/ui/core/cldr/sr_Latn.json +192 -483
  203. package/src/sap/ui/core/cldr/sv.json +49 -137
  204. package/src/sap/ui/core/cldr/th.json +39 -20
  205. package/src/sap/ui/core/cldr/tr.json +33 -125
  206. package/src/sap/ui/core/cldr/uk.json +310 -252
  207. package/src/sap/ui/core/cldr/vi.json +458 -331
  208. package/src/sap/ui/core/cldr/zh_CN.json +39 -17
  209. package/src/sap/ui/core/cldr/zh_HK.json +49 -27
  210. package/src/sap/ui/core/cldr/zh_SG.json +53 -31
  211. package/src/sap/ui/core/cldr/zh_TW.json +31 -14
  212. package/src/sap/ui/core/date/CalendarUtils.js +11 -9
  213. package/src/sap/ui/core/date/Islamic.js +7 -2
  214. package/src/sap/ui/core/date/UI5Date.js +86 -34
  215. package/src/sap/ui/core/date/UniversalDate.js +16 -26
  216. package/src/sap/ui/core/date/UniversalDateUtils.js +14 -14
  217. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  218. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  219. package/src/sap/ui/core/dnd/DragAndDrop.js +4 -4
  220. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  221. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  222. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  223. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  224. package/src/sap/ui/core/format/DateFormat.js +37 -45
  225. package/src/sap/ui/core/format/FileSizeFormat.js +15 -16
  226. package/src/sap/ui/core/format/FormatUtils.js +36 -0
  227. package/src/sap/ui/core/format/ListFormat.js +4 -4
  228. package/src/sap/ui/core/format/NumberFormat.js +288 -125
  229. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  230. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  231. package/src/sap/ui/core/hyphenation/Hyphenation.js +16 -15
  232. package/src/sap/ui/core/library.js +26 -9
  233. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  234. package/src/sap/ui/core/message/Message.js +5 -5
  235. package/src/sap/ui/core/message/MessageManager.js +1 -1
  236. package/src/sap/ui/core/message/MessageMixin.js +1 -1
  237. package/src/sap/ui/core/message/MessageParser.js +1 -1
  238. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  239. package/src/sap/ui/core/messagebundle_mk.properties +1 -1
  240. package/src/sap/ui/core/mvc/Controller.js +49 -19
  241. package/src/sap/ui/core/mvc/ControllerExtension.js +5 -4
  242. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
  243. package/src/sap/ui/core/mvc/ControllerMetadata.js +3 -3
  244. package/src/sap/ui/core/mvc/EventHandlerResolver.js +6 -8
  245. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  246. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  247. package/src/sap/ui/core/mvc/JSView.js +1 -1
  248. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  249. package/src/sap/ui/core/mvc/View.js +8 -5
  250. package/src/sap/ui/core/mvc/XMLView.js +7 -5
  251. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  252. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  253. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  254. package/src/sap/ui/core/postmessage/Bus.js +5 -3
  255. package/src/sap/ui/core/postmessage/confirmationDialog.js +3 -3
  256. package/src/sap/ui/core/routing/HashChanger.js +21 -10
  257. package/src/sap/ui/core/routing/History.js +5 -5
  258. package/src/sap/ui/core/routing/Route.js +9 -7
  259. package/src/sap/ui/core/routing/Router.js +13 -7
  260. package/src/sap/ui/core/routing/Target.js +1 -1
  261. package/src/sap/ui/core/routing/Targets.js +5 -4
  262. package/src/sap/ui/core/routing/async/Target.js +10 -7
  263. package/src/sap/ui/core/routing/async/Targets.js +3 -3
  264. package/src/sap/ui/core/routing/sync/Target.js +4 -1
  265. package/src/sap/ui/core/rules/Config.support.js +3 -3
  266. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  267. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  268. package/src/sap/ui/core/service/Service.js +1 -1
  269. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  270. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  271. package/src/sap/ui/core/support/Plugin.js +1 -1
  272. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +9 -12
  273. package/src/sap/ui/core/support/Support.js +2 -2
  274. package/src/sap/ui/core/support/ToolsAPI.js +19 -6
  275. package/src/sap/ui/core/support/controls/InteractionTree.js +7 -7
  276. package/src/sap/ui/core/support/plugins/Breakpoint.js +8 -5
  277. package/src/sap/ui/core/support/plugins/ControlTree.js +26 -15
  278. package/src/sap/ui/core/support/plugins/Debugging.js +9 -6
  279. package/src/sap/ui/core/support/plugins/Interaction.js +9 -7
  280. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  281. package/src/sap/ui/core/support/plugins/Performance.js +6 -6
  282. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  283. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  284. package/src/sap/ui/core/support/plugins/Trace.js +4 -3
  285. package/src/sap/ui/core/support/plugins/ViewInfo.js +4 -2
  286. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
  287. package/src/sap/ui/core/support/trace/E2eTraceLib.js +5 -5
  288. package/src/sap/ui/core/themes/base/Icon.less +2 -1
  289. package/src/sap/ui/core/themes/base/base.less +370 -371
  290. package/src/sap/ui/core/theming/Parameters.js +9 -8
  291. package/src/sap/ui/core/theming/ThemeHelper.js +4 -3
  292. package/src/sap/ui/core/theming/ThemeManager.js +8 -6
  293. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  294. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  295. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +6 -3
  296. package/src/sap/ui/core/tmpl/Template.js +1 -1
  297. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  298. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  299. package/src/sap/ui/core/util/Export.js +1 -1
  300. package/src/sap/ui/core/util/ExportCell.js +1 -1
  301. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  302. package/src/sap/ui/core/util/ExportRow.js +1 -1
  303. package/src/sap/ui/core/util/ExportType.js +1 -1
  304. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  305. package/src/sap/ui/core/util/File.js +1 -1
  306. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  307. package/src/sap/ui/core/util/MockServer.js +23 -13
  308. package/src/sap/ui/core/util/PasteHelper.js +3 -3
  309. package/src/sap/ui/core/util/_LocalizationHelper.js +10 -1
  310. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +51 -5
  311. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +2 -2
  312. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -0
  313. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  314. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  315. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  316. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  317. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  318. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  319. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  320. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  321. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  322. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  323. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  324. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  325. package/src/sap/ui/debug/ControlTree.js +6 -6
  326. package/src/sap/ui/debug/DebugEnv.js +1 -1
  327. package/src/sap/ui/debug/PropertyList.js +1 -1
  328. package/src/sap/ui/dom/isBehindOtherElement.js +0 -1
  329. package/src/sap/ui/events/isMouseEventDelayed.js +6 -12
  330. package/src/sap/ui/events/jquery/EventSimulation.js +4 -3
  331. package/src/sap/ui/events/jquery/EventTriggerHook.js +2 -3
  332. package/src/sap/ui/model/Binding.js +1 -1
  333. package/src/sap/ui/model/ClientListBinding.js +2 -0
  334. package/src/sap/ui/model/ClientModel.js +1 -1
  335. package/src/sap/ui/model/ClientTreeBinding.js +1 -0
  336. package/src/sap/ui/model/CompositeDataState.js +1 -1
  337. package/src/sap/ui/model/CompositeType.js +1 -1
  338. package/src/sap/ui/model/DataState.js +1 -1
  339. package/src/sap/ui/model/Filter.js +34 -4
  340. package/src/sap/ui/model/ManagedObjectBindingSupport.js +6 -3
  341. package/src/sap/ui/model/MetaModel.js +1 -1
  342. package/src/sap/ui/model/Model.js +6 -2
  343. package/src/sap/ui/model/SelectionModel.js +1 -1
  344. package/src/sap/ui/model/SimpleType.js +1 -1
  345. package/src/sap/ui/model/Sorter.js +4 -4
  346. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  347. package/src/sap/ui/model/Type.js +1 -1
  348. package/src/sap/ui/model/_Helper.js +4 -2
  349. package/src/sap/ui/model/analytics/AnalyticalBinding.js +9 -0
  350. package/src/sap/ui/model/json/JSONModel.js +6 -2
  351. package/src/sap/ui/model/message/MessageModel.js +1 -1
  352. package/src/sap/ui/model/odata/AnnotationHelper.js +12 -7
  353. package/src/sap/ui/model/odata/ODataAnnotations.js +4 -4
  354. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -3
  355. package/src/sap/ui/model/odata/ODataMetaModel.js +2 -1
  356. package/src/sap/ui/model/odata/ODataMetadata.js +34 -4
  357. package/src/sap/ui/model/odata/ODataModel.js +5 -5
  358. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
  359. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -0
  360. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +4 -2
  361. package/src/sap/ui/model/odata/ODataUtils.js +166 -131
  362. package/src/sap/ui/model/odata/type/Boolean.js +9 -7
  363. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  364. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  365. package/src/sap/ui/model/odata/type/Date.js +5 -4
  366. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  367. package/src/sap/ui/model/odata/type/DateTimeBase.js +4 -4
  368. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  369. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +4 -3
  370. package/src/sap/ui/model/odata/type/Decimal.js +5 -5
  371. package/src/sap/ui/model/odata/type/Double.js +4 -3
  372. package/src/sap/ui/model/odata/type/Guid.js +4 -3
  373. package/src/sap/ui/model/odata/type/Int.js +4 -4
  374. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  375. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  376. package/src/sap/ui/model/odata/type/Int64.js +4 -4
  377. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  378. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  379. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  380. package/src/sap/ui/model/odata/type/Single.js +4 -3
  381. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  382. package/src/sap/ui/model/odata/type/String.js +6 -5
  383. package/src/sap/ui/model/odata/type/Time.js +4 -4
  384. package/src/sap/ui/model/odata/type/TimeOfDay.js +5 -4
  385. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  386. package/src/sap/ui/model/odata/type/UnitMixin.js +3 -2
  387. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  388. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -4
  389. package/src/sap/ui/model/odata/v2/ODataModel.js +55 -25
  390. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -4
  391. package/src/sap/ui/model/odata/v4/Context.js +20 -7
  392. package/src/sap/ui/model/odata/v4/ODataBinding.js +14 -10
  393. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +8 -5
  394. package/src/sap/ui/model/odata/v4/ODataListBinding.js +56 -33
  395. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +7 -4
  396. package/src/sap/ui/model/odata/v4/ODataModel.js +25 -37
  397. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -8
  398. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +9 -2
  399. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +4 -4
  400. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +195 -59
  401. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +16 -6
  402. package/src/sap/ui/model/odata/v4/lib/_Cache.js +22 -15
  403. package/src/sap/ui/model/odata/v4/lib/_Helper.js +19 -11
  404. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +20 -11
  405. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +122 -0
  406. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  407. package/src/sap/ui/model/type/Boolean.js +4 -4
  408. package/src/sap/ui/model/type/Currency.js +5 -5
  409. package/src/sap/ui/model/type/Date.js +5 -5
  410. package/src/sap/ui/model/type/DateInterval.js +6 -5
  411. package/src/sap/ui/model/type/DateTime.js +1 -1
  412. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  413. package/src/sap/ui/model/type/FileSize.js +5 -4
  414. package/src/sap/ui/model/type/Float.js +5 -5
  415. package/src/sap/ui/model/type/Integer.js +6 -6
  416. package/src/sap/ui/model/type/String.js +4 -3
  417. package/src/sap/ui/model/type/Time.js +1 -1
  418. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  419. package/src/sap/ui/model/type/Unit.js +8 -7
  420. package/src/sap/ui/model/xml/XMLModel.js +11 -3
  421. package/src/sap/ui/performance/trace/Interaction.js +8 -16
  422. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  423. package/src/sap/ui/qunit/qunit-junit.js +415 -49
  424. package/src/sap/ui/qunit/utils/ControlIterator.js +4 -4
  425. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +3 -2
  426. package/src/sap/ui/qunit/utils/nextUIUpdate.js +15 -5
  427. package/src/sap/ui/test/OpaBuilder.js +3 -1
  428. package/src/sap/ui/test/OpaPlugin.js +103 -10
  429. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +4 -4
  430. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +3 -3
  431. package/src/sap/ui/test/generic/TestBase.js +1 -1
  432. package/src/sap/ui/test/launchers/iFrameLauncher.js +18 -6
  433. package/src/sap/ui/test/matchers/Descendant.js +2 -1
  434. package/src/sap/ui/test/matchers/I18NText.js +6 -2
  435. package/src/sap/ui/test/matchers/Interactable.js +2 -3
  436. package/src/sap/ui/test/matchers/LabelFor.js +5 -3
  437. package/src/sap/ui/test/matchers/Matcher.js +20 -0
  438. package/src/sap/ui/test/matchers/Sibling.js +2 -1
  439. package/src/sap/ui/test/matchers/_Visitor.js +2 -4
  440. package/src/sap/ui/test/qunitPause.js +6 -4
  441. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -3
  442. package/src/sap/ui/test/selectors/_Selector.js +3 -3
  443. package/src/sap/ui/test/starter/_setupAndStart.js +5 -18
  444. package/src/sap/ui/test/starter/_utils.js +15 -1
  445. package/src/sap/ui/test/starter/createSuite.js +2 -0
  446. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  447. package/src/sap/ui/thirdparty/crossroads.js +3 -0
  448. package/src/sap/ui/thirdparty/qunit-2.js +1 -2
  449. package/src/sap/ui/thirdparty/qunit-reporter-junit.js +30 -8
  450. package/src/sap/ui/thirdparty/qunit.js +1 -2
  451. package/src/sap/ui/util/Storage.js +1 -1
  452. package/src/ui5loader-autoconfig.js +18 -4
  453. package/src/ui5loader.js +15 -4
  454. package/test/sap/ui/core/DateFormat.controller.js +3 -3
  455. package/test/sap/ui/core/ILabelableInterface.html +21 -0
  456. package/test/sap/ui/core/ILabelableInterface.js +81 -0
  457. package/test/sap/ui/core/NumberFormat.controller.js +4 -4
  458. package/test/sap/ui/core/Strings.controller.js +4 -4
  459. package/test/sap/ui/core/demokit/docuindex.json +8 -2
  460. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  461. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/Component.js +2 -3
  462. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/css/style.css +3 -3
  463. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/Component.js +2 -3
  464. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/Component.js +2 -3
  465. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/Component.js +2 -3
  466. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/Component.js +20 -0
  467. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/controller/Home.controller.js +14 -0
  468. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/controller/Next.controller.js +21 -0
  469. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/manifest.json +94 -0
  470. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeContentDesktop.fragment.js +15 -0
  471. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeContentMobile.fragment.js +15 -0
  472. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeView.js +45 -0
  473. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/Next.view.xml +15 -0
  474. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/RootView.js +22 -0
  475. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +5 -4
  476. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +8 -5
  477. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/ValueHelp.js +38 -35
  478. package/test/sap/ui/core/demokit/sample/common/Helper.js +7 -7
  479. package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +1 -1
  480. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +5 -3
  481. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  482. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  483. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  484. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/DateTime.controller.js +3 -3
  486. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/DateTimeOffset.controller.js +3 -3
  487. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Time.controller.js +3 -3
  488. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Date.controller.js +3 -3
  489. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/DateTimeOffset.controller.js +3 -3
  490. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/TimeOfDay.controller.js +3 -3
  491. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +10 -0
  492. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +3 -0
  493. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +1 -2
  494. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.view.xml +6 -3
  495. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/formatRowHighlight.js +20 -0
  496. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +30 -24
  497. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +10 -8
  498. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.controller.js +1 -0
  499. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +1 -1
  500. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +6 -0
  501. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +16 -17
  502. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +8 -14
  503. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +65 -31
  504. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +1 -0
  505. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Main.controller.js +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  507. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  508. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  509. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  510. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  511. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  512. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  513. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  514. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  515. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  516. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  517. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  518. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  519. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  520. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  521. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  522. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  523. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  524. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  525. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  526. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  527. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  528. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  529. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  530. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  531. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  532. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  533. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  534. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  535. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  536. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  537. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  538. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  539. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  540. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  541. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/localService/mockserver.js +1 -1
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/localService/mockserver.js +1 -1
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/localService/mockserver.js +1 -1
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/localService/mockserver.js +1 -1
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/localService/mockserver.js +1 -1
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -1
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -1
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -1
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -1
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -1
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -1
  564. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  565. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +3 -1
  566. package/test/sap/ui/core/internal/samples/odata/twoFields/tests/pages/Main.js +3 -2
  567. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +5 -4
  568. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +4 -6
  569. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +6 -5
  570. package/test/sap/ui/core/qunit/AppCacheBuster.qunit.js +5 -5
  571. package/test/sap/ui/core/qunit/BindingParser.qunit.js +158 -24
  572. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +3 -6
  573. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +70 -81
  574. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +13 -13
  575. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +5 -4
  576. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  577. package/test/sap/ui/core/qunit/Core.qunit.js +42 -57
  578. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +10 -2
  579. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +2 -2
  580. package/test/sap/ui/core/qunit/Core_libraryTerminologies.qunit.js +4 -3
  581. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +2 -3
  582. package/test/sap/ui/core/qunit/DataBinding.qunit.js +125 -65
  583. package/test/sap/ui/core/qunit/Element_base.qunit.js +4 -1
  584. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -10
  585. package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +54 -43
  586. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +1 -1
  587. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +3 -2
  588. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +5 -2
  589. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +3 -2
  590. package/test/sap/ui/core/qunit/Fragment.qunit.js +18 -2
  591. package/test/sap/ui/core/qunit/HTML.qunit.js +3 -2
  592. package/test/sap/ui/core/qunit/Hyphenation.qunit.js +30 -6
  593. package/test/sap/ui/core/qunit/Icon.qunit.js +4 -3
  594. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +6 -5
  595. package/test/sap/ui/core/qunit/Lib.qunit.js +155 -14
  596. package/test/sap/ui/core/qunit/ListBinding.qunit.js +7 -42
  597. package/test/sap/ui/core/qunit/QUnit.qunit.js +6 -0
  598. package/test/sap/ui/core/qunit/RenderManager.qunit.js +13 -10
  599. package/test/sap/ui/core/qunit/{CoreEvents.qunit.js → Rendering.qunit.js} +68 -7
  600. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +8 -7
  601. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +65 -90
  602. package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.qunit.js +706 -0
  603. package/test/sap/ui/core/qunit/StaticBinding.qunit.js +49 -37
  604. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +15 -11
  605. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -5
  606. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +7 -7
  607. package/test/sap/ui/core/qunit/Theming.qunit.js +174 -1
  608. package/test/sap/ui/core/qunit/VersionInfo.qunit.js +3 -0
  609. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +58 -0
  610. package/test/sap/ui/core/qunit/analytics/o4aMetadata.js +3 -0
  611. package/test/sap/ui/core/qunit/app/ThemeClassParameters.qunit.js +4 -4
  612. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +1 -1
  613. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +276 -44
  614. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +173 -26
  615. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +408 -3
  616. package/test/sap/ui/core/qunit/base/util/now.qunit.js +2 -30
  617. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +6 -4
  618. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  619. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +1 -1
  620. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +15 -6
  621. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +2 -3
  622. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +4 -4
  623. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +1 -1
  624. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery.qunit.js +2 -1
  625. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTask.beforeBootstrap.qunit.js +8 -4
  626. package/test/sap/ui/core/qunit/bootstrap/{CalendarClassLoadingWithCustomBootTaskAndPreload.beforeBootstrap.qunit.js → CalendarClassLoadingWithCustomBootTask.beforeBootstrap_legacy.qunit.js} +5 -1
  627. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +32 -28
  628. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibNotLoaded.qunit.html → ConfigurationFlexibility_LibConfigured_legacyAPIs.qunit.html} +1 -1
  629. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibConfigured.qunit.js → ConfigurationFlexibility_LibConfigured_legacyAPIs.qunit.js} +5 -1
  630. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibConfigured.qunit.html → ConfigurationFlexibility_LibLoaded_legacyAPIs.qunit.html} +1 -1
  631. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibLoaded.qunit.js → ConfigurationFlexibility_LibLoaded_legacyAPIs.qunit.js} +5 -1
  632. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibLoaded.qunit.html → ConfigurationFlexibility_LibNotLoaded_legacyAPIs.qunit.html} +1 -1
  633. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibNotLoaded.qunit.js → ConfigurationFlexibility_LibNotLoaded_legacyAPIs.qunit.js} +5 -1
  634. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +5 -0
  635. package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +5 -0
  636. package/test/sap/ui/core/qunit/bootstrap/DebugMode.beforeBootstrap.qunit.js +2 -2
  637. package/test/sap/ui/core/qunit/bootstrap/DebugMode.qunit.js +8 -8
  638. package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -4
  639. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +11 -10
  640. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +2 -2
  641. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +68 -13
  642. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.html +0 -1
  643. package/test/sap/ui/core/qunit/component/Component.qunit.js +40 -21
  644. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +65 -39
  645. package/test/sap/ui/core/qunit/component/Component_containedInLibrary.qunit.js +25 -6
  646. package/test/sap/ui/core/qunit/component/Manifest.qunit.js +9 -9
  647. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +5 -5
  648. package/test/sap/ui/core/qunit/component/Metadata_unavoidablySync.qunit.js +1 -2
  649. package/test/sap/ui/core/qunit/component/Models.qunit.js +295 -157
  650. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +3 -3
  651. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +3 -4
  652. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  653. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +3 -4
  654. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +3 -4
  655. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  656. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +3 -3
  657. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +3 -4
  658. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  659. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +3 -4
  660. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/i18n/i18n.properties +3 -0
  661. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/manifest.json +3 -1
  662. package/test/sap/ui/core/qunit/component/testdata/v2models/parent/Component.js +1 -4
  663. package/test/sap/ui/core/qunit/component/testdata/v4models/Component.js +1 -2
  664. package/test/sap/ui/core/qunit/component/testdata/v4models/cacheTokens/Component.js +1 -2
  665. package/test/sap/ui/core/qunit/component/testdata/v4models/unsupportedVersion/Component.js +1 -2
  666. package/test/sap/ui/core/qunit/component/testdata/verticalLayout/Component.js +2 -3
  667. package/test/sap/ui/core/qunit/component/testdata/view/Main.controller.js +1 -1
  668. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +3 -2
  669. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +0 -1
  670. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +3 -3
  671. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +2 -1
  672. package/test/sap/ui/core/qunit/format/FormatUtils.qunit.js +36 -0
  673. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +1 -1
  674. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +2 -2
  675. package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +6 -6
  676. package/test/sap/ui/core/qunit/i18n/CalendarUtils.qunit.js +3 -3
  677. package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +29 -29
  678. package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +6 -6
  679. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +92 -78
  680. package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +199 -33
  681. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +111 -119
  682. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +12 -38
  683. package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +1 -1
  684. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +29 -28
  685. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -1
  686. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +3 -9
  687. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +7 -0
  688. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +4 -68
  689. package/test/sap/ui/core/qunit/json/JSONBinding.qunit.js +4 -6
  690. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +0 -1
  691. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -18
  692. package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +15 -23
  693. package/test/sap/ui/core/qunit/json/JSONTreeBinding.qunit.js +6 -8
  694. package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +11 -13
  695. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.html +0 -2
  696. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +40 -34
  697. package/test/sap/ui/core/qunit/loader/{asyncMode_unavoidablySync.qunit.html → asyncMode_legacyAPIs.qunit.html} +1 -1
  698. package/test/sap/ui/core/qunit/loader/{asyncMode_unavoidablySync.qunit.js → asyncMode_legacyAPIs.qunit.js} +33 -4
  699. package/test/sap/ui/core/qunit/loader/conflictWithRequire.qunit.js +16 -16
  700. package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +2 -2
  701. package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +46 -2
  702. package/test/sap/ui/core/qunit/mockserver/MockServer.qunit.js +859 -245
  703. package/test/sap/ui/core/qunit/mockserver/testsuite.mockserver.qunit.js +8 -0
  704. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +3 -0
  705. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata_ItemCustomer.xml +5 -0
  706. package/test/sap/ui/core/qunit/model/Filter.qunit.js +135 -44
  707. package/test/sap/ui/core/qunit/model/Sorter.qunit.js +10 -10
  708. package/test/sap/ui/core/qunit/model/_Helper.qunit.js +3 -1
  709. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +11 -3
  710. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -5
  711. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +73 -47
  712. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +0 -4
  713. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +78 -7
  714. package/test/sap/ui/core/qunit/mvc/testdata/inner.view.xml +3 -0
  715. package/test/sap/ui/core/qunit/mvc/testdata/middle.view.xml +8 -0
  716. package/test/sap/ui/core/qunit/mvc/testdata/outer.view.xml +5 -0
  717. package/test/sap/ui/core/qunit/mvc/testdata/test.controller.js +1 -1
  718. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +3 -3
  719. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncHTMLView_legacyAPIs.qunit.js +6 -7
  720. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -7
  721. package/test/sap/ui/core/qunit/mvc_legacyAPIs/View_legacyAPIs.qunit.js +46 -1
  722. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +0 -4
  723. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +5 -5
  724. package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +60 -62
  725. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +9 -9
  726. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +12 -46
  727. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +4 -3
  728. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +7 -0
  729. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +40 -0
  730. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +365 -13
  731. package/test/sap/ui/core/qunit/odata/_AnnotationHelperExpression.qunit.js +7 -7
  732. package/test/sap/ui/core/qunit/odata/type/Boolean.qunit.js +5 -5
  733. package/test/sap/ui/core/qunit/odata/type/Currency.qunit.js +5 -5
  734. package/test/sap/ui/core/qunit/odata/type/Date.qunit.js +11 -11
  735. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +54 -55
  736. package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +8 -8
  737. package/test/sap/ui/core/qunit/odata/type/Decimal.qunit.js +7 -7
  738. package/test/sap/ui/core/qunit/odata/type/Double.qunit.js +7 -7
  739. package/test/sap/ui/core/qunit/odata/type/Int.qunit.js +7 -7
  740. package/test/sap/ui/core/qunit/odata/type/Int64.qunit.js +7 -7
  741. package/test/sap/ui/core/qunit/odata/type/Single.qunit.js +6 -6
  742. package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +7 -7
  743. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +12 -12
  744. package/test/sap/ui/core/qunit/odata/type/Unit.qunit.js +5 -5
  745. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +1 -1
  746. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +580 -130
  747. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +79 -20
  748. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +23 -18
  749. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +24 -0
  750. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +25 -203
  751. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +55 -192
  752. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +47 -261
  753. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +9 -9
  754. package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +4 -1
  755. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -5
  756. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +30 -49
  757. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +7 -6
  758. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +142 -30
  759. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +8 -6
  760. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2317 -470
  761. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +12 -43
  762. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +75 -40
  763. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +43 -9
  764. package/test/sap/ui/core/qunit/odata/v4/ODataUtils.qunit.js +7 -7
  765. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +4 -0
  766. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +381 -182
  767. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +46 -29
  768. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +38 -26
  769. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +38 -10
  770. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +45 -4
  771. package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +134 -0
  772. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +7 -7
  773. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +1 -0
  774. package/test/sap/ui/core/qunit/opa/OpaBuilder.qunit.js +3 -1
  775. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +0 -1
  776. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -1
  777. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +0 -1
  778. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +4 -3
  779. package/test/sap/ui/core/qunit/opa/autowaiter/_XHRWaiter.js +1 -1
  780. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -5
  781. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +20 -12
  782. package/test/sap/ui/core/qunit/opa/fixture/busyAfterStart.html +4 -4
  783. package/test/sap/ui/core/qunit/opa/fixture/emptySite.html +4 -2
  784. package/test/sap/ui/core/qunit/opa/fixture/emptySiteWithOpaExtensions.html +4 -2
  785. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest-qunit1.html +4 -1
  786. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest-qunit2.html +4 -1
  787. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest.js +6 -3
  788. package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.html +5 -5
  789. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest-qunit1.html +4 -2
  790. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest-qunit2.html +4 -2
  791. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest.js +4 -1
  792. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest-qunit1.html +4 -2
  793. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest-qunit2.html +4 -2
  794. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest.js +4 -1
  795. package/test/sap/ui/core/qunit/opa/fixture/qunitPause-qunit1.html +3 -1
  796. package/test/sap/ui/core/qunit/opa/fixture/qunitPause-qunit2.html +3 -1
  797. package/test/sap/ui/core/qunit/opa/fixture/qunitPause.qunit.js +4 -1
  798. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.html +4 -3
  799. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +4 -1
  800. package/test/sap/ui/core/qunit/opa/matchers/I18NText.qunit.js +1 -1
  801. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +2 -1
  802. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +2 -1
  803. package/test/sap/ui/core/qunit/opa/opa5/iFrame.qunit.js +6 -5
  804. package/test/sap/ui/core/qunit/opa/opa5/iFrameLogging.qunit.js +26 -6
  805. package/test/sap/ui/core/qunit/opa/opa5/matchersInFrame.qunit.js +1 -1
  806. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +2 -2
  807. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +3 -3
  808. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +5 -2
  809. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +3 -2
  810. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +28 -18
  811. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +26 -12
  812. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +5 -8
  813. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +71 -64
  814. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +55 -2
  815. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +0 -1
  816. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +5 -1
  817. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +0 -1
  818. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +5 -1
  819. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +0 -1
  820. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/Component.js +15 -0
  821. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/manifest.json +37 -0
  822. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/view/MyView1.view.xml +3 -0
  823. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/view/RootView.view.xml +3 -0
  824. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +9 -0
  825. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +4 -7
  826. package/test/sap/ui/core/qunit/security/Security.qunit.js +133 -0
  827. package/test/sap/ui/core/qunit/service/Service.qunit.js +13 -10
  828. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/custom-bundle.js +2 -2
  829. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/lib2/library-preload.js +1 -1
  830. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/lib3/library-preload.js +1 -1
  831. package/test/sap/ui/core/qunit/testdata/libraries/customCss/lib1/library.js +3 -4
  832. package/test/sap/ui/core/qunit/testdata/libraries/make.js +4 -4
  833. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library-preload.js +7 -4
  834. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library.js +7 -4
  835. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library-preload.json +1 -1
  836. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library.js +7 -4
  837. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library-preload.js +5 -4
  838. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library.js +5 -4
  839. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.js +3 -3
  840. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.json +1 -1
  841. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library.js +3 -3
  842. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library-preload.json +1 -1
  843. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library.js +3 -3
  844. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library-preload.js +3 -3
  845. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library.js +3 -3
  846. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib7/library.js +3 -3
  847. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library-preload.js +7 -4
  848. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library.js +7 -4
  849. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library-preload.json +1 -1
  850. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library.js +7 -4
  851. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library-preload.js +5 -4
  852. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library.js +5 -4
  853. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.js +3 -3
  854. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.json +1 -1
  855. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library.js +3 -3
  856. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library-preload.json +1 -1
  857. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library.js +3 -3
  858. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library-preload.js +3 -3
  859. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library.js +3 -3
  860. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib7/library.js +3 -3
  861. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -3
  862. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -3
  863. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -3
  864. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -3
  865. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +3 -3
  866. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +3 -3
  867. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library-preload.js +3 -3
  868. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library.js +3 -3
  869. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +3 -3
  870. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +3 -3
  871. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +3 -3
  872. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +3 -3
  873. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library-preload.js +3 -3
  874. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library.js +3 -3
  875. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +3 -3
  876. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +3 -3
  877. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library-preload.js +6 -4
  878. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library.js +6 -4
  879. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library-preload.js +3 -3
  880. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library.js +3 -3
  881. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library-preload.json +1 -1
  882. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library.js +7 -4
  883. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library-preload.js +5 -4
  884. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library.js +5 -4
  885. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.js +3 -3
  886. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.json +1 -1
  887. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library.js +3 -3
  888. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library-preload.json +1 -1
  889. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library.js +3 -3
  890. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library-preload.js +3 -3
  891. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library.js +3 -3
  892. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library-preload.js +3 -3
  893. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library.js +3 -3
  894. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library-preload.js +5 -4
  895. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library.js +5 -4
  896. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library-preload.js +5 -4
  897. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library.js +5 -4
  898. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library-preload.js +3 -3
  899. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library.js +3 -3
  900. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library-preload.js +7 -4
  901. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library.js +7 -4
  902. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library-preload.json +1 -1
  903. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library.js +7 -4
  904. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library-preload.js +5 -4
  905. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library.js +5 -4
  906. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.js +3 -3
  907. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.json +1 -1
  908. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library.js +3 -3
  909. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library-preload.json +1 -1
  910. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library.js +3 -3
  911. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library-preload.js +3 -3
  912. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library.js +3 -3
  913. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib7/library.js +3 -3
  914. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library-preload.js +5 -4
  915. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library.js +5 -4
  916. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library-preload.json +1 -1
  917. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library.js +6 -4
  918. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library-preload.js +3 -3
  919. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library.js +3 -3
  920. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library-preload.js +5 -4
  921. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library.js +5 -4
  922. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library-preload.json +1 -1
  923. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library.js +5 -4
  924. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library-preload.js +7 -4
  925. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library.js +7 -4
  926. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library-preload.js +6 -4
  927. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library.js +6 -4
  928. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library-preload.js +5 -4
  929. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library.js +5 -4
  930. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.js +3 -3
  931. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.json +1 -1
  932. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library.js +3 -3
  933. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library-preload.json +1 -1
  934. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library.js +3 -3
  935. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library-preload.js +3 -3
  936. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library.js +3 -3
  937. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library-preload.json +1 -1
  938. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library.js +3 -3
  939. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library-preload.json +1 -1
  940. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library.js +3 -3
  941. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.js +3 -3
  942. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.json +1 -1
  943. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library.js +3 -3
  944. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library-preload.json +1 -1
  945. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library.js +3 -3
  946. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library-preload.js +3 -3
  947. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library.js +3 -3
  948. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library-preload.json +1 -1
  949. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library.js +3 -3
  950. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library-preload.js +3 -3
  951. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library.js +3 -3
  952. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.js +3 -3
  953. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.json +1 -1
  954. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library.js +3 -3
  955. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library-preload.json +1 -1
  956. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library.js +3 -3
  957. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library-preload.js +3 -3
  958. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library.js +3 -3
  959. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library-preload.json +1 -1
  960. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library.js +3 -3
  961. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library-preload.js +3 -3
  962. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library.js +3 -3
  963. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library-preload.js +3 -3
  964. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library.js +3 -3
  965. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/absoluteBundleUrl/library-preload.js +2 -2
  966. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
  967. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/notLoadedYet/library-preload.js +2 -2
  968. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/library-preload.js +2 -2
  969. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib1/library.js +6 -4
  970. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib10/library.js +6 -4
  971. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib11/library.js +5 -3
  972. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib12/library.js +5 -3
  973. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib13/library.js +5 -3
  974. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib14/library.js +5 -3
  975. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib15/library.js +5 -3
  976. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib16/library.js +5 -3
  977. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib17/library.js +6 -3
  978. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib2/library.js +6 -4
  979. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib3/library.js +6 -4
  980. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/library.js +6 -4
  981. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib5/library.js +6 -4
  982. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib6/library.js +6 -4
  983. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib7/library.js +6 -4
  984. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib8/library.js +6 -4
  985. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib9/library.js +6 -4
  986. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require.view.xml +0 -1
  987. package/test/sap/ui/core/qunit/testsuite.qunit.js +2 -2
  988. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +35 -0
  989. package/test/sap/ui/core/qunit/testsuites/testsuite.controls.qunit.js +2 -1
  990. package/test/sap/ui/core/qunit/testsuites/testsuite.eventing.qunit.js +0 -11
  991. package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +7 -0
  992. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +4 -0
  993. package/test/sap/ui/core/qunit/types/Date.qunit.js +5 -5
  994. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +92 -99
  995. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +50 -50
  996. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +5 -5
  997. package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +74 -4
  998. package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +332 -166
  999. package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +60 -24
  1000. package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +21 -21
  1001. package/test/sap/ui/core/qunit/types/Types.qunit.js +51 -48
  1002. package/test/sap/ui/core/qunit/types/ValidationHooks.qunit.js +151 -78
  1003. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +7 -17
  1004. package/test/sap/ui/core/qunit/{types → ui5classes}/DataType.qunit.js +174 -17
  1005. package/test/sap/ui/core/qunit/{ManagedObjectMetadata.qunit.js → ui5classes/ManagedObjectMetadata.qunit.js} +0 -1
  1006. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +1 -1
  1007. package/test/sap/ui/core/qunit/{ManagedObject_BindingParser.qunit.js → ui5classes/ManagedObject_BindingParser.qunit.js} +1 -1
  1008. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.html +11 -0
  1009. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +62 -0
  1010. package/test/sap/ui/core/qunit/util/PasteHelper.qunit.js +5 -5
  1011. package/test/sap/ui/core/qunit/util/Popup.qunit.js +3 -71
  1012. package/test/sap/ui/core/qunit/util/ValueStateSupport.qunit.js +3 -3
  1013. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +6 -0
  1014. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +31 -16
  1015. package/test/sap/ui/core/qunit/util/jquery.sap.trace.qunit.js +1 -1
  1016. package/test/sap/ui/core/qunit/util/postmessage/ConfirmationDialog.qunit.js +4 -6
  1017. package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +11 -2
  1018. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +4 -4
  1019. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +4 -4
  1020. package/test/sap/ui/core/qunit/util/support/SupportTool.qunit.js +3 -2
  1021. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.opa.qunit.js +22 -83
  1022. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +3 -3
  1023. package/test/sap/ui/core/qunit/util/support/TechnicalInfoDebugModules.opa.qunit.js +22 -83
  1024. package/test/sap/ui/core/qunit/xml/XMLBinding.qunit.js +0 -2
  1025. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -4
  1026. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +12 -14
  1027. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +4 -6
  1028. package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +8 -10
  1029. package/test/sap/ui/core/relnotes/changes-1.120.json +0 -510
  1030. package/test/sap/ui/core/relnotes/changes-1.121.json +604 -0
  1031. package/test/sap/ui/core/samples/components/config/modelPreloadAndEarlyRequests/manifest.json +3 -5
  1032. package/test/sap/ui/core/samples/databinding/UnitTable.controller.js +5 -5
  1033. package/test/sap/ui/core/terminologies/App.controller.js +3 -4
  1034. package/test/sap/ui/core/terminologies/main.js +4 -4
  1035. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  1036. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  1037. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  1038. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  1039. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  1040. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  1041. package/test/sap/ui/qunit/testrunner.html +5 -2
  1042. package/test/testsuite/js/samples.js +5 -4
  1043. package/test/testsuite/js/settings.js +1 -1
  1044. package/test/testsuite/js/testframe.js +1 -1
  1045. package/test/testsuite/welcome.html +1 -1
  1046. package/LICENSES/BSD-2-Clause.txt +0 -22
  1047. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Formatter.js +0 -22
  1048. package/test/sap/ui/core/qunit/ManagedObjectRegistry.qunit.js +0 -150
  1049. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/.library +0 -17
  1050. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/TestButton.js +0 -85
  1051. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/TestButtonRenderer.js +0 -63
  1052. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/library.js +0 -24
  1053. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/themes/base/library.css +0 -26
  1054. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.html +0 -12
  1055. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +0 -76
  1056. /package/test/sap/ui/core/qunit/bootstrap/{DebugMode.qunit.html → DebugModeSync.qunit.html} +0 -0
  1057. /package/test/sap/ui/core/qunit/{types → ui5classes}/AlternativeTypes.qunit.js +0 -0
  1058. /package/test/sap/ui/core/qunit/{ManagedObject.qunit.js → ui5classes/ManagedObject.qunit.js} +0 -0
  1059. /package/test/sap/ui/core/qunit/{ManagedObjectObserver.qunit.js → ui5classes/ManagedObjectObserver.qunit.js} +0 -0
  1060. /package/test/sap/ui/core/qunit/{ManagedObject_forwardAggregation.qunit.js → ui5classes/ManagedObject_forwardAggregation.qunit.js} +0 -0
  1061. /package/test/sap/ui/core/qunit/{ManagedObject_isPropertyInitial.qunit.js → ui5classes/ManagedObject_isPropertyInitial.qunit.js} +0 -0
  1062. /package/test/sap/ui/core/qunit/{Metadata.qunit.js → ui5classes/Metadata.qunit.js} +0 -0
  1063. /package/test/sap/ui/core/qunit/{Object.qunit.js → ui5classes/Object.qunit.js} +0 -0
  1064. /package/test/sap/ui/core/qunit/{Object_legacyAPIs.qunit.js → ui5classes/Object_legacyAPIs.qunit.js} +0 -0
  1065. /package/test/sap/ui/core/qunit/{testdata → ui5classes/fixture}/customboot/common.configure.ui5.js +0 -0
@@ -111,6 +111,12 @@ sap.ui.define([
111
111
 
112
112
  oView.setModel(oView.getModel(), "header");
113
113
  oView.setBindingContext(oRowsBinding.getHeaderContext(), "header");
114
+
115
+ this.initMessagePopover("table");
116
+ },
117
+
118
+ onRefresh : function () {
119
+ this.byId("table").getBinding("rows").refresh();
114
120
  },
115
121
 
116
122
  onSort : function () {
@@ -138,6 +144,10 @@ sap.ui.define([
138
144
 
139
145
  this.getView().getModel("ui").setProperty("/sIcon", sNewIcon);
140
146
  this.byId("table").getBinding("rows").sort(oSorter);
147
+ },
148
+
149
+ onSynchronize : function () {
150
+ this.byId("table").getBinding("rows").getHeaderContext().requestSideEffects([""]);
141
151
  }
142
152
  });
143
153
  });
@@ -15,6 +15,9 @@
15
15
  <m:Button icon="sap-icon://excel-attachment" press="onExport"
16
16
  tooltip="Export To Spreadsheet"/>
17
17
  <m:ToolbarSpacer/>
18
+ <m:Button icon="sap-icon://refresh" press="onRefresh" tooltip="Refresh"/>
19
+ <m:Button icon="sap-icon://synchronize" press="onSynchronize"
20
+ tooltip="Synchronize"/>
18
21
  <m:SearchField placeholder="Hobby contains..." search="onFilter"
19
22
  value="{ui>/sFilter}" width="40%"/>
20
23
  </m:Toolbar>
@@ -2,7 +2,6 @@
2
2
  * ${copyright}
3
3
  */
4
4
  sap.ui.define([
5
- "./Formatter", // make it available to the view
6
5
  "sap/f/library",
7
6
  "sap/m/MessageBox",
8
7
  "sap/m/MessageToast",
@@ -14,7 +13,7 @@ sap.ui.define([
14
13
  "sap/ui/model/Sorter",
15
14
  "sap/ui/model/json/JSONModel",
16
15
  "sap/ui/test/TestUtils"
17
- ], function (_Formatter, library, MessageBox, MessageToast, Messaging, UI5Date, Controller, Filter,
16
+ ], function (library, MessageBox, MessageToast, Messaging, UI5Date, Controller, Filter,
18
17
  FilterOperator, Sorter, JSONModel, TestUtils) {
19
18
  "use strict";
20
19
 
@@ -1,8 +1,11 @@
1
1
  <mvc:View
2
2
  class="sapUiSizeCompact"
3
3
  controllerName="sap.ui.core.sample.odata.v4.FlexibleColumnLayout.Main"
4
- xmlns="sap.m" xmlns:f="sap.f" xmlns:form="sap.ui.layout.form" xmlns:mvc="sap.ui.core.mvc"
5
- xmlns:plugins="sap.m.plugins">
4
+ xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:f="sap.f" xmlns:form="sap.ui.layout.form"
5
+ xmlns:mvc="sap.ui.core.mvc" xmlns:plugins="sap.m.plugins"
6
+ core:require="{
7
+ formatRowHighlight : 'sap/ui/core/sample/odata/v4/FlexibleColumnLayout/formatRowHighlight'
8
+ }">
6
9
  <App>
7
10
  <Page floatingFooter="true" id="page" showHeader="false">
8
11
  <Toolbar>
@@ -158,7 +161,7 @@
158
161
  'messages>/',
159
162
  {mode : 'OneTime', path : '', targetType : 'any'}
160
163
  ],
161
- formatter : 'sap.ui.core.sample.odata.v4.FlexibleColumnLayout.Formatter.formatRowHighlight'
164
+ formatter : 'formatRowHighlight'
162
165
  }" >
163
166
  <Text text="{ProductID}"/>
164
167
  <Text id="itemPosition" text="{ItemPosition}"/>
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * ${copyright}
3
+ */
4
+ sap.ui.define([], function () {
5
+ "use strict";
6
+
7
+ return function (_aAllMessages, _oRowData) {
8
+ var aMessages,
9
+ // 'this' is the control!
10
+ oRowContext = this.getBindingContext();
11
+
12
+ if (oRowContext) { // formatter is called with oRowContext null initially
13
+ aMessages = oRowContext.getMessages();
14
+ if (aMessages.length) {
15
+ return aMessages[0].type;
16
+ }
17
+ }
18
+ return null;
19
+ };
20
+ }, true);
@@ -8,6 +8,22 @@ sap.ui.define([
8
8
  "use strict";
9
9
 
10
10
  return Controller.extend("sap.ui.core.sample.odata.v4.HierarchyBindAction.Main", {
11
+ onChangeHierarchy : function (oEvent) {
12
+ const oSource = oEvent.getSource();
13
+ const oContext = oSource.toString().includes("ODataListBinding")
14
+ ? oSource.getAllCurrentContexts()[0]
15
+ : oSource.getSelectedItem().getBindingContext();
16
+ const oTreeTable = this.byId("table");
17
+ oTreeTable.setBindingContext(oContext);
18
+
19
+ const oRowsBinding = oTreeTable.getBinding("rows");
20
+ oRowsBinding.setAggregation(this._oAggregation);
21
+
22
+ const oView = this.getView();
23
+ oView.setModel(oView.getModel(), "header");
24
+ oView.setBindingContext(oRowsBinding.getHeaderContext(), "header");
25
+ },
26
+
11
27
  onCreate : async function (oEvent) {
12
28
  try {
13
29
  const oParentContext = oEvent.getSource().getBindingContext();
@@ -27,22 +43,6 @@ sap.ui.define([
27
43
  }
28
44
  },
29
45
 
30
- onCut : function (oEvent) {
31
- try {
32
- const oNode = oEvent.getSource().getBindingContext();
33
- oNode.delete("noSubmit");
34
- MessageBox.confirm("Restore again (undo cut)", {
35
- actions : MessageBox.Action.OK,
36
- emphasizedAction : MessageBox.Action.OK,
37
- onClose : function () {
38
- oNode.resetChanges();
39
- }
40
- });
41
- } catch (oError) {
42
- MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
43
- }
44
- },
45
-
46
46
  onDelete : async function (oEvent) {
47
47
  try {
48
48
  await oEvent.getSource().getBindingContext().delete();
@@ -60,9 +60,7 @@ sap.ui.define([
60
60
 
61
61
  onInit : function () {
62
62
  var oTreeTable = this.byId("table"),
63
- oRowsBinding = oTreeTable.getBinding("rows"),
64
- oUriParameters = new URLSearchParams(window.location.search),
65
- oView = this.getView();
63
+ oUriParameters = new URLSearchParams(window.location.search);
66
64
 
67
65
  oTreeTable._oProxy._bEnableV4 = true; // enable V4 tree table flag
68
66
  const sVisibleRowCount = oUriParameters.get("visibleRowCount");
@@ -77,11 +75,11 @@ sap.ui.define([
77
75
  : parseFloat(sExpandTo || "1"), // Note: parseInt("1E16") === 1
78
76
  hierarchyQualifier : "I_SADL_BHV_BIND_DIR_HIERVIEW"
79
77
  };
80
- oRowsBinding.setAggregation(this._oAggregation);
81
- oRowsBinding.resume();
82
78
 
83
- oView.setModel(oView.getModel(), "header");
84
- oView.setBindingContext(oRowsBinding.getHeaderContext(), "header");
79
+ this.byId("selectHierarchy").getBinding("items")
80
+ .attachEventOnce("dataReceived", this.onChangeHierarchy.bind(this));
81
+
82
+ this.initMessagePopover("table");
85
83
  },
86
84
 
87
85
  onMakeRoot : async function (oEvent) {
@@ -114,6 +112,10 @@ sap.ui.define([
114
112
  const sParentId = oEvent.getParameter("selectedItem").getTitle();
115
113
  const oParent = this.oNode.getBinding().getAllCurrentContexts()
116
114
  .find((oNode) => oNode.getProperty("Id") === sParentId);
115
+ if (!oParent) {
116
+ throw new Error(`Parent ${sParentId} not yet loaded`);
117
+ }
118
+
117
119
  await this.oNode.move({parent : oParent});
118
120
  } catch (oError) {
119
121
  MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
@@ -122,8 +124,12 @@ sap.ui.define([
122
124
  }
123
125
  },
124
126
 
127
+ onRefresh : function () {
128
+ this.byId("table").getBindingContext().refresh();
129
+ },
130
+
125
131
  onSynchronize : function () {
126
- this.byId("table").getBinding("rows").getHeaderContext().requestSideEffects(["*"]);
132
+ this.byId("table").getBinding("rows").getHeaderContext().requestSideEffects([""]);
127
133
  }
128
134
  });
129
135
  });
@@ -2,20 +2,27 @@
2
2
  class="sapUiSizeCompact"
3
3
  controllerName="sap.ui.core.sample.odata.v4.HierarchyBindAction.Main"
4
4
  xmlns="sap.ui.table"
5
+ xmlns:core="sap.ui.core"
5
6
  xmlns:m="sap.m"
6
7
  xmlns:mvc="sap.ui.core.mvc"
7
8
  xmlns:rm="sap.ui.table.rowmodes">
8
9
 
9
10
  <TreeTable id="table" ariaLabelledBy="title"
10
- rows="{path : '/I_SADL_BHV_HIER_BIND_DIRECTORY(\'1\')/_Hierarchy',
11
- parameters : {$count : true, $$patchWithoutSideEffects : true}, suspended : true}"
11
+ rows="{path : '_Hierarchy', parameters : {$count : true, $$patchWithoutSideEffects : true}}"
12
12
  selectionMode="None" threshold="0">
13
13
  <extension>
14
14
  <m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
15
15
  <m:Title id="title" level="H1" text="{header>$count} Items"/>
16
16
  <m:ToolbarSpacer/>
17
+ <m:Select change="onChangeHierarchy" id="selectHierarchy"
18
+ items="{/I_SADL_BHV_HIER_BIND_DIRECTORY}">
19
+ <core:ListItem text="{Description} ({Hierarchy})"/>
20
+ </m:Select>
21
+ <m:ToolbarSpacer/>
17
22
  <m:Button icon="sap-icon://create" press=".onCreateRoot" tooltip="Create New Root"/>
18
- <m:Button icon="sap-icon://synchronize" press="onSynchronize" tooltip="Synchronize"/>
23
+ <m:Button icon="sap-icon://refresh" press="onRefresh" tooltip="Refresh"/>
24
+ <m:Button icon="sap-icon://synchronize" press="onSynchronize"
25
+ tooltip="Synchronize"/>
19
26
  </m:Toolbar>
20
27
  </extension>
21
28
  <rowMode>
@@ -57,11 +64,6 @@
57
64
  icon="sap-icon://create" press=".onCreate" tooltip="Create New Child"/>
58
65
  </template>
59
66
  </Column>
60
- <Column width="4em">
61
- <template>
62
- <m:Button id="cut" icon="sap-icon://scissors" press=".onCut" tooltip="Cut"/>
63
- </template>
64
- </Column>
65
67
  <Column width="4em">
66
68
  <template>
67
69
  <m:Button id="move" icon="sap-icon://move" press=".onMove" tooltip="Move"/>
@@ -292,6 +292,7 @@ sap.ui.define([
292
292
  oTable.setSelectedItem(oTable.getItems()[i]);
293
293
  return true;
294
294
  }
295
+ return false;
295
296
  });
296
297
  });
297
298
 
@@ -120,7 +120,7 @@ sap.ui.define([
120
120
  oMessage = this.mCreateActivateMessages[oContext.getPath()],
121
121
  that = this;
122
122
 
123
- if (!oContext.getProperty("ID")) {
123
+ if (oContext.getProperty("ID") === null) {
124
124
  // do not activate context if no ID is given
125
125
  oEvent.preventDefault();
126
126
  if (!oMessage) {
@@ -72,6 +72,7 @@ sap.ui.require([
72
72
 
73
73
  // activate row 2
74
74
  When.onTheObjectPage.enterPartDescription(1, "Part 99");
75
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 1);
75
76
  Then.onTheMessagePopover.checkMessages([{
76
77
  message : "ID must not be empty",
77
78
  type : MessageType.Warning
@@ -91,6 +92,7 @@ sap.ui.require([
91
92
  Then.onAnyTable.checkMessageStrip("parts");
92
93
  Then.onTheObjectPage.checkPart(1, "", "Inactive", "");
93
94
  When.onTheObjectPage.enterPartDescription(1, "Part 99");
95
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 1);
94
96
  Then.onTheMessagePopover.checkMessages([{
95
97
  message : "ID must not be empty",
96
98
  type : MessageType.Warning
@@ -199,6 +201,7 @@ sap.ui.require([
199
201
 
200
202
  // activate row 4
201
203
  When.onTheObjectPage.enterPartDescription(3, "Part 99");
204
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 3);
202
205
  Then.onTheMessagePopover.checkMessages([{
203
206
  message : "ID must not be empty",
204
207
  type : MessageType.Warning
@@ -219,6 +222,7 @@ sap.ui.require([
219
222
  Then.onTheObjectPage.checkPartsLength(5);
220
223
  Then.onTheObjectPage.checkPart(3, "", "Inactive", "");
221
224
  When.onTheObjectPage.enterPartDescription(3, "Part 99");
225
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 3);
222
226
  Then.onTheMessagePopover.checkMessages([{
223
227
  message : "ID must not be empty",
224
228
  type : MessageType.Warning
@@ -403,6 +407,7 @@ sap.ui.require([
403
407
  Then.onTheObjectPage.checkPartsTableTitle("Product: 110, 0 Parts");
404
408
 
405
409
  When.onTheObjectPage.enterPartDescription(0, "Part 50");
410
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 0);
406
411
  Then.onTheMessagePopover.checkMessages([{
407
412
  message : "ID must not be empty",
408
413
  type : MessageType.Warning
@@ -410,6 +415,7 @@ sap.ui.require([
410
415
  When.onTheObjectPage.pressResetButton(sAtBinding ? "Parts" : "All");
411
416
  Then.onTheObjectPage.checkPart(0, "", "Inactive", "");
412
417
  When.onTheObjectPage.enterPartDescription(0, "Part 50");
418
+ Then.onTheObjectPage.checkPartIDValueState("Warning", 0);
413
419
  Then.onTheMessagePopover.checkMessages([{
414
420
  message : "ID must not be empty",
415
421
  type : MessageType.Warning
@@ -40,22 +40,6 @@ sap.ui.define([
40
40
  }
41
41
  },
42
42
 
43
- onCut : function (oEvent) {
44
- try {
45
- const oNode = oEvent.getSource().getBindingContext();
46
- oNode.delete("noSubmit");
47
- MessageBox.confirm("Restore again (undo cut)", {
48
- actions : MessageBox.Action.OK,
49
- emphasizedAction : MessageBox.Action.OK,
50
- onClose : function () {
51
- oNode.resetChanges();
52
- }
53
- });
54
- } catch (oError) {
55
- MessageBox.alert(oError.message, {icon : MessageBox.Icon.ERROR, title : "Error"});
56
- }
57
- },
58
-
59
43
  onDelete : async function (oEvent) {
60
44
  try {
61
45
  await oEvent.getSource().getBindingContext().delete();
@@ -71,7 +55,7 @@ sap.ui.define([
71
55
  || oUriParameters.get("expandTo");
72
56
  this._oAggregation = {
73
57
  expandTo : sExpandTo === "*"
74
- ? 999
58
+ ? Number.MAX_SAFE_INTEGER
75
59
  : parseFloat(sExpandTo || "3"), // Note: parseInt("1E16") === 1
76
60
  hierarchyQualifier : "OrgChart"
77
61
  };
@@ -79,6 +63,7 @@ sap.ui.define([
79
63
  const sVisibleRowCount = TestUtils.retrieveData( // controlled by OPA
80
64
  "sap.ui.core.sample.odata.v4.RecursiveHierarchy.visibleRowCount")
81
65
  || oUriParameters.get("visibleRowCount");
66
+ const sThreshold = oUriParameters.get("threshold");
82
67
 
83
68
  const oTable = this.byId("table");
84
69
  if (sTreeTable === "Y") {
@@ -88,6 +73,9 @@ sap.ui.define([
88
73
  if (sVisibleRowCount) {
89
74
  oTable.getRowMode().setRowCount(parseInt(sVisibleRowCount));
90
75
  }
76
+ if (sThreshold) {
77
+ oTable.setThreshold(parseInt(sThreshold));
78
+ }
91
79
  const oRowsBinding = oTable.getBinding("rows");
92
80
  oRowsBinding.setAggregation(this._oAggregation);
93
81
  oRowsBinding.resume();
@@ -109,6 +97,9 @@ sap.ui.define([
109
97
  if (sVisibleRowCount) {
110
98
  oTreeTable.getRowMode().setRowCount(parseInt(sVisibleRowCount));
111
99
  }
100
+ if (sThreshold) {
101
+ oTable.setThreshold(parseInt(sThreshold));
102
+ }
112
103
  const oTreeRowsBinding = oTreeTable.getBinding("rows");
113
104
  oTreeRowsBinding.setAggregation(this._oAggregation);
114
105
  oTreeRowsBinding.resume();
@@ -188,6 +179,14 @@ sap.ui.define([
188
179
  } // else: invalid value (has not reached model)
189
180
  },
190
181
 
182
+ onRefresh : function () {
183
+ this.byId("table").getBinding("rows").getHeaderContext().requestSideEffects([""]);
184
+ },
185
+
186
+ onRefreshTreeTable : function () {
187
+ this.byId("treeTable").getBinding("rows").getHeaderContext().requestSideEffects([""]);
188
+ },
189
+
191
190
  onSynchronize : function () {
192
191
  this.byId("table").getBinding("rows").getHeaderContext().requestSideEffects(["*"]);
193
192
  },
@@ -10,7 +10,7 @@
10
10
  rows="{path : '/EMPLOYEES',
11
11
  parameters : {$count : false, $orderby : 'AGE', $$patchWithoutSideEffects : true},
12
12
  suspended : true}"
13
- selectionMode="None" threshold="5">
13
+ selectionMode="None">
14
14
  <extension>
15
15
  <m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
16
16
  <m:Title id="title" level="H1" text="Organizational Chart"/>
@@ -18,6 +18,8 @@
18
18
  <m:Button icon="sap-icon://create" press=".onCreateRoot" tooltip="Create New Root"/>
19
19
  <m:Button icon="sap-icon://synchronize" id="synchronize" press="onSynchronize"
20
20
  tooltip="Synchronize"/>
21
+ <m:Button icon="sap-icon://refresh" press="onRefresh"
22
+ tooltip="Refresh, while keeping tree state"/>
21
23
  </m:Toolbar>
22
24
  </extension>
23
25
  <rowMode>
@@ -74,11 +76,6 @@
74
76
  id="create" press=".onCreate" tooltip="Create New Child"/>
75
77
  </template>
76
78
  </Column>
77
- <Column width="4em">
78
- <template>
79
- <m:Button id="cut" icon="sap-icon://scissors" press=".onCut" tooltip="Cut"/>
80
- </template>
81
- </Column>
82
79
  <Column width="4em">
83
80
  <template>
84
81
  <m:Button icon="sap-icon://move" id="move" press=".onMove" tooltip="Move"/>
@@ -101,7 +98,7 @@
101
98
  rows="{path : '/EMPLOYEES',
102
99
  parameters : {$count : false, $orderby : 'AGE', $$patchWithoutSideEffects : true},
103
100
  suspended : true}"
104
- selectionMode="None" threshold="5">
101
+ selectionMode="None">
105
102
  <extension>
106
103
  <m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
107
104
  <m:Title id="treeTitle" level="H1" text="Organizational Chart - TreeTable"/>
@@ -110,6 +107,8 @@
110
107
  tooltip="Create New Root"/>
111
108
  <m:Button icon="sap-icon://synchronize" id="synchronizeTreeTable"
112
109
  press="onSynchronizeTreeTable" tooltip="SynchronizeTreeTable"/>
110
+ <m:Button icon="sap-icon://refresh" press="onRefreshTreeTable"
111
+ tooltip="Refresh, while keeping tree state"/>
113
112
  </m:Toolbar>
114
113
  </extension>
115
114
  <rowMode>
@@ -151,12 +150,6 @@
151
150
  id="createInTreeTable" press=".onCreate" tooltip="Create New Child"/>
152
151
  </template>
153
152
  </Column>
154
- <Column width="4em">
155
- <template>
156
- <m:Button id="cutInTreeTable" icon="sap-icon://scissors" press=".onCut"
157
- tooltip="Cut"/>
158
- </template>
159
- </Column>
160
153
  <Column width="4em">
161
154
  <template>
162
155
  <m:Button icon="sap-icon://move" id="moveInTreeTable" press=".onMoveInTreeTable"
@@ -189,5 +182,6 @@
189
182
  &lt;ul>
190
183
  &lt;li> &lt;code>expandTo&lt;/code> Either * for 'expand all' or a number; default 3
191
184
  &lt;li> &lt;code>visibleRowCount&lt;/code> A number; default 5
192
- &lt;li> &lt;code>TreeTable&lt;/code> 'Y' for yes, 'N' for no; default both tables"/>
185
+ &lt;li> &lt;code>TreeTable&lt;/code> 'Y' for yes, 'N' for no; default both tables
186
+ &lt;li> &lt;code>threshold&lt;/code> A number; default 0"/>
193
187
  </mvc:View>
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  regExp : /^DELETE \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\('([^']*)'\)$/,
20
20
  response : {buildResponse : buildDeleteResponse, code : 204}
21
21
  }, {
22
- regExp : /^GET [\w\/.]+\$metadata[\w?&\-=]+sap-language=..$/,
22
+ regExp : /^GET [\w\/.]+\$metadata([\w?&\-=]+sap-language=..|)$/,
23
23
  response : {source : "metadata.xml"}
24
24
  }, {
25
25
  regExp : /^GET \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\?(.*)$/,
@@ -44,29 +44,29 @@ sap.ui.define([
44
44
  // - ID is hierarchical (but we omit the "0." prefix)
45
45
  // - Name follows Greek alphabet in preorder
46
46
  // Αα Alpha
47
- // Ββ Beta
48
- // Γγ Gamma
49
- // Δδ Delta
50
- // Εε Epsilon
51
- // Ζζ Zeta
52
- // Ηη Eta
53
- // Θθ Theta
54
- // Ιι Iota
55
- // Κκ Kappa
56
- // Λλ Lambda
57
- // Μμ Mu
58
- // Νν Nu
59
- // Ξξ Xi
60
- // Οο Omicron
61
- // Ππ Pi
62
- // Ρρ Rho
63
- // Σσς Sigma
64
- // Ττ Tau
65
- // Υυ Upsilon
66
- // Φφ Phi
67
- // Χχ Chi
68
- // Ψψ Psi
69
- // Ωω Omega
47
+ // Ββ Beta
48
+ // Γγ Gamma
49
+ // Δδ Delta
50
+ // Εε Epsilon
51
+ // Ζζ Zeta
52
+ // Ηη Eta
53
+ // Θθ Theta
54
+ // Ιι Iota
55
+ // Κκ Kappa
56
+ // Λλ Lambda
57
+ // Μμ Mu
58
+ // Νν Nu
59
+ // Ξξ Xi
60
+ // Οο Omicron
61
+ // Ππ Pi
62
+ // Ρρ Rho
63
+ // Σσς Sigma
64
+ // Ττ Tau
65
+ // Υυ Upsilon
66
+ // Φφ Phi
67
+ // Χχ Chi
68
+ // Ψψ Psi
69
+ // Ωω Omega
70
70
  const aOriginalData = [{
71
71
  AGE : 60,
72
72
  ID : "0",
@@ -268,6 +268,13 @@ sap.ui.define([
268
268
  */
269
269
  function buildGetCollectionResponse(aMatches, oResponse) {
270
270
  const mQueryOptions = getQueryOptions(aMatches[1]);
271
+ function getExpandLevels() {
272
+ if (mQueryOptions.$apply.includes("ExpandLevels")) {
273
+ let sExpandLevels = mQueryOptions.$apply.match(/,ExpandLevels=(.+)\)/)[1];
274
+ sExpandLevels = decodeURIComponent(sExpandLevels);
275
+ return new Map(JSON.parse(sExpandLevels).map((o) => [o.NodeID, o.Levels]));
276
+ }
277
+ }
271
278
 
272
279
  if ("$apply" in mQueryOptions) {
273
280
  if (mQueryOptions.$apply.includes("TopLevels")) {
@@ -278,7 +285,7 @@ sap.ui.define([
278
285
  const iLevels = mQueryOptions.$apply.includes(",Levels=")
279
286
  ? parseInt(mQueryOptions.$apply.match(/,Levels=(\d+)/)[1])
280
287
  : Infinity;
281
- let aRows = topLevels(iLevels - 1); // Note: already cloned
288
+ let aRows = topLevels(iLevels - 1, getExpandLevels()); // Note: already cloned
282
289
  if ("$filter" in mQueryOptions) {
283
290
  // ID%20eq%20'1'
284
291
  const aIDs = mQueryOptions.$filter.split("%20or%20")
@@ -291,6 +298,7 @@ sap.ui.define([
291
298
  oNode.LimitedRank = "" + i; // Edm.Int64
292
299
  return true;
293
300
  }
301
+ return false;
294
302
  });
295
303
  }
296
304
  selectCountSkipTop(aRows, mQueryOptions, oResponse);
@@ -375,7 +383,7 @@ sap.ui.define([
375
383
  function adjustDistanceFromRoot(oNode, iDiff) {
376
384
  oNode.DistanceFromRoot += iDiff;
377
385
  (mChildrenByParentId[oNode.ID] || [])
378
- .forEach((oChild) => adjustDistanceFromRoot(oChild, iDiff));
386
+ .forEach((oChild) => { adjustDistanceFromRoot(oChild, iDiff); });
379
387
  }
380
388
 
381
389
  if (oRequest.requestHeaders.Prefer !== "return=minimal") {
@@ -587,11 +595,27 @@ sap.ui.define([
587
595
  * Returns the hierarchy's top levels in preorder.
588
596
  *
589
597
  * @param {number} iMaxDistanceFromRoot - Maximum distance from root to include
598
+ * @param {Map} [oExpandLevels] - Mapping of NodeID to Levels to be expanded
590
599
  * @returns {object[]} - List of node objects in preorder
591
600
  */
592
- function topLevels(iMaxDistanceFromRoot) {
601
+ function topLevels(iMaxDistanceFromRoot, oExpandLevels = new Map()) {
602
+ function isAncestorCollapsed(oNode) {
603
+ const oParent = mNodeById[oNode.MANAGER_ID];
604
+ if (!oParent) {
605
+ return false;
606
+ }
607
+ return !isExpanded(oParent) || isAncestorCollapsed(oParent);
608
+ }
609
+
610
+ function isExpanded(oNode) {
611
+ if (oExpandLevels.has(oNode.ID)) {
612
+ return oExpandLevels.get(oNode.ID) > 0;
613
+ }
614
+ return oNode.DistanceFromRoot < iMaxDistanceFromRoot;
615
+ }
616
+
593
617
  function limitedDescendantCount(oNode) {
594
- const aChildren = oNode.DistanceFromRoot < iMaxDistanceFromRoot
618
+ const aChildren = isExpanded(oNode)
595
619
  ? mChildrenByParentId[oNode.ID] || [] // "expanded"
596
620
  : [];
597
621
 
@@ -601,12 +625,22 @@ sap.ui.define([
601
625
  }
602
626
 
603
627
  return aAllNodes
604
- .filter((oNode) => oNode.DistanceFromRoot <= iMaxDistanceFromRoot)
628
+ .filter((oNode) => {
629
+ if (isAncestorCollapsed(oNode)) {
630
+ return false; // node is not part of hierarchy if an ancestor is collapsed
631
+ }
632
+ if (oExpandLevels.get(oNode.MANAGER_ID) === 1) {
633
+ return true; // node is part of hierarchy if parent is expanded
634
+ }
635
+ return oNode.DistanceFromRoot <= iMaxDistanceFromRoot;
636
+ })
605
637
  .map((oNode) => {
606
638
  oNode = {...oNode, DescendantCount : limitedDescendantCount(oNode)};
607
- if (oNode.DrillState === "collapsed"
608
- && oNode.DistanceFromRoot < iMaxDistanceFromRoot) {
639
+ const bIsExpanded = isExpanded(oNode);
640
+ if (oNode.DrillState === "collapsed" && bIsExpanded) {
609
641
  oNode.DrillState = "expanded";
642
+ } else if (oNode.DrillState === "expanded" && !bIsExpanded) {
643
+ oNode.DrillState = "collapsed";
610
644
  }
611
645
  return oNode;
612
646
  });
@@ -1172,6 +1172,7 @@ sap.ui.define([
1172
1172
  new Press().executeOn(oNewItem);
1173
1173
  return true;
1174
1174
  }
1175
+ return false;
1175
1176
  });
1176
1177
  Opa5.assert.ok(oNewItem, "Selected item: " + oNewItem.getText());
1177
1178
  },
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  /**
54
54
  * Adapt the given container control like table or form
55
55
  *
56
- * @param {oControl} [oControl]
56
+ * @param {sap.m.Table|sap.ui.layout.form.SimpleForm} [oControl]
57
57
  * The Container control
58
58
  * @param {number} [iStart]
59
59
  * Index in the "items" or "content" aggregation of the container control: controls can be
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.10" #MainVersion#
7
+ version: "1.121.1" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.10" #MainVersion#
7
+ version: "1.121.1" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.10" #MainVersion#
7
+ version: "1.121.1" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.10" #MainVersion#
7
+ version: "1.121.1" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout