@openui5/sap.ui.core 1.126.0 → 1.127.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. package/.dtsgenrc +76 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +5 -15
  57. package/src/sap/ui/base/BindingInfo.js +45 -24
  58. package/src/sap/ui/base/DataType.js +19 -0
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +1 -1
  61. package/src/sap/ui/base/Interface.js +31 -1
  62. package/src/sap/ui/base/ManagedObject.js +3 -4
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +1 -1
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/core/.library +1 -1
  68. package/src/sap/ui/core/.theming +8 -0
  69. package/src/sap/ui/core/BusyIndicator.js +1 -1
  70. package/src/sap/ui/core/Component.js +1 -1
  71. package/src/sap/ui/core/ComponentContainer.js +1 -1
  72. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  73. package/src/sap/ui/core/ComponentSupport.js +1 -1
  74. package/src/sap/ui/core/Configuration.js +1 -1
  75. package/src/sap/ui/core/Control.js +2 -2
  76. package/src/sap/ui/core/Core.js +57 -2
  77. package/src/sap/ui/core/CustomData.js +1 -1
  78. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  79. package/src/sap/ui/core/Element.js +166 -16
  80. package/src/sap/ui/core/ElementMetadata.js +1 -1
  81. package/src/sap/ui/core/EnabledPropagator.js +17 -31
  82. package/src/sap/ui/core/EventBus.js +1 -1
  83. package/src/sap/ui/core/Fragment.js +1 -1
  84. package/src/sap/ui/core/HTML.js +1 -1
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +1 -1
  87. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  88. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  89. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +1 -1
  92. package/src/sap/ui/core/Item.js +2 -2
  93. package/src/sap/ui/core/LabelEnablement.js +1 -1
  94. package/src/sap/ui/core/LayoutData.js +1 -1
  95. package/src/sap/ui/core/ListItem.js +1 -1
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +118 -55
  99. package/src/sap/ui/core/Manifest.js +1 -1
  100. package/src/sap/ui/core/Message.js +1 -1
  101. package/src/sap/ui/core/Popup.js +8 -0
  102. package/src/sap/ui/core/RenderManager.js +1 -1
  103. package/src/sap/ui/core/Renderer.js +1 -1
  104. package/src/sap/ui/core/ResizeHandler.js +1 -1
  105. package/src/sap/ui/core/ScrollBar.js +1 -1
  106. package/src/sap/ui/core/SeparatorItem.js +1 -1
  107. package/src/sap/ui/core/Theming.js +4 -4
  108. package/src/sap/ui/core/Title.js +2 -2
  109. package/src/sap/ui/core/TooltipBase.js +2 -2
  110. package/src/sap/ui/core/UIArea.js +1 -1
  111. package/src/sap/ui/core/UIComponent.js +1 -1
  112. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  113. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  114. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  115. package/src/sap/ui/core/XMLComposite.js +1 -1
  116. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  117. package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
  118. package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -4
  119. package/src/sap/ui/core/date/UI5Date.js +1 -1
  120. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  121. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  122. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  123. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  124. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  125. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  126. package/src/sap/ui/core/fieldhelp/FieldHelp.js +53 -11
  127. package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +4 -0
  128. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  129. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  130. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  131. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  132. package/src/sap/ui/core/library.js +37 -21
  133. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  134. package/src/sap/ui/core/message/Message.js +1 -1
  135. package/src/sap/ui/core/message/MessageManager.js +1 -1
  136. package/src/sap/ui/core/message/MessageParser.js +1 -1
  137. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  138. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +30 -18
  139. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +294 -282
  140. package/src/sap/ui/core/mvc/ControllerExtension.js +16 -0
  141. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  142. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  143. package/src/sap/ui/core/mvc/JSView.js +1 -1
  144. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  145. package/src/sap/ui/core/mvc/View.js +1 -1
  146. package/src/sap/ui/core/mvc/XMLView.js +4 -4
  147. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  148. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  149. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  150. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  151. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  152. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  153. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  154. package/src/sap/ui/core/service/Service.js +1 -1
  155. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  156. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  157. package/src/sap/ui/core/support/Plugin.js +1 -1
  158. package/src/sap/ui/core/support/Support.js +1 -1
  159. package/src/sap/ui/core/support/ToolsAPI.js +5 -5
  160. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  161. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  162. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  163. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  164. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  165. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  166. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  167. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  168. package/src/sap/ui/core/themes/base/base.less +119 -49
  169. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  170. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  171. package/src/sap/ui/core/themes/base/library.source.less +2 -0
  172. package/src/sap/ui/core/themes/base/skeleton.less +958 -0
  173. package/src/sap/ui/core/theming/ThemeManager.js +56 -73
  174. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  175. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  176. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  177. package/src/sap/ui/core/tmpl/Template.js +1 -1
  178. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  179. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  180. package/src/sap/ui/core/util/Export.js +1 -1
  181. package/src/sap/ui/core/util/ExportCell.js +1 -1
  182. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  183. package/src/sap/ui/core/util/ExportRow.js +1 -1
  184. package/src/sap/ui/core/util/ExportType.js +1 -1
  185. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  186. package/src/sap/ui/core/util/File.js +1 -1
  187. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  188. package/src/sap/ui/core/util/MockServer.js +1 -1
  189. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  190. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  191. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  192. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  193. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  194. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  195. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  196. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  197. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  198. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  199. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  200. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  201. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  202. package/src/sap/ui/debug/ControlTree.js +1 -1
  203. package/src/sap/ui/debug/DebugEnv.js +1 -1
  204. package/src/sap/ui/debug/PropertyList.js +1 -1
  205. package/src/sap/ui/dom/findTabbable.js +244 -0
  206. package/src/sap/ui/dom/isElementCovered.js +51 -0
  207. package/src/sap/ui/events/F6Navigation.js +10 -164
  208. package/src/sap/ui/model/ClientModel.js +1 -1
  209. package/src/sap/ui/model/CompositeDataState.js +1 -1
  210. package/src/sap/ui/model/CompositeType.js +1 -1
  211. package/src/sap/ui/model/DataState.js +1 -1
  212. package/src/sap/ui/model/MetaModel.js +1 -1
  213. package/src/sap/ui/model/Model.js +1 -1
  214. package/src/sap/ui/model/SelectionModel.js +1 -1
  215. package/src/sap/ui/model/SimpleType.js +1 -1
  216. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  217. package/src/sap/ui/model/Type.js +1 -1
  218. package/src/sap/ui/model/json/JSONModel.js +1 -1
  219. package/src/sap/ui/model/message/MessageModel.js +1 -1
  220. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  221. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  222. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  223. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  224. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  225. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  226. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  227. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  228. package/src/sap/ui/model/odata/type/Date.js +1 -1
  229. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  230. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  231. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  232. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  233. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  234. package/src/sap/ui/model/odata/type/Double.js +1 -1
  235. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  236. package/src/sap/ui/model/odata/type/Int.js +1 -1
  237. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  239. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  240. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  241. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  242. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  243. package/src/sap/ui/model/odata/type/Single.js +1 -1
  244. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  245. package/src/sap/ui/model/odata/type/String.js +1 -1
  246. package/src/sap/ui/model/odata/type/Time.js +1 -1
  247. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  248. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  249. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  250. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  251. package/src/sap/ui/model/odata/v2/ODataModel.js +144 -14
  252. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  253. package/src/sap/ui/model/odata/v4/Context.js +18 -8
  254. package/src/sap/ui/model/odata/v4/ODataBinding.js +1 -1
  255. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -9
  256. package/src/sap/ui/model/odata/v4/ODataListBinding.js +30 -14
  257. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +254 -189
  258. package/src/sap/ui/model/odata/v4/ODataModel.js +51 -13
  259. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +4 -1
  260. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +68 -32
  261. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +9 -6
  262. package/src/sap/ui/model/odata/v4/lib/_Cache.js +7 -7
  263. package/src/sap/ui/model/odata/v4/lib/_Helper.js +17 -11
  264. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -3
  265. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +10 -4
  266. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  267. package/src/sap/ui/model/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/type/Currency.js +1 -1
  269. package/src/sap/ui/model/type/Date.js +1 -1
  270. package/src/sap/ui/model/type/DateInterval.js +1 -1
  271. package/src/sap/ui/model/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  273. package/src/sap/ui/model/type/FileSize.js +1 -1
  274. package/src/sap/ui/model/type/Float.js +1 -1
  275. package/src/sap/ui/model/type/Integer.js +1 -1
  276. package/src/sap/ui/model/type/String.js +1 -1
  277. package/src/sap/ui/model/type/Time.js +1 -1
  278. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  279. package/src/sap/ui/model/type/Unit.js +1 -1
  280. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  281. package/src/sap/ui/performance/trace/FESR.js +3 -0
  282. package/src/sap/ui/performance/trace/Interaction.js +4 -2
  283. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  284. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  285. package/src/sap/ui/qunit/utils/nextUIUpdate.js +7 -53
  286. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +6 -42
  287. package/src/sap/ui/test/ModuleTracking.js +1 -1
  288. package/src/sap/ui/test/generic/TestBase.js +1 -1
  289. package/src/sap/ui/test/generic/Utils.js +3 -7
  290. package/src/sap/ui/test/opaQunit.js +3 -3
  291. package/src/sap/ui/test/utils/nextUIUpdate.js +64 -0
  292. package/src/sap/ui/test/utils/waitForThemeApplied.js +58 -0
  293. package/src/sap/ui/util/Storage.js +1 -1
  294. package/src/ui5loader.js +9 -0
  295. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/SandboxModel.js +1 -1
  301. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/data/SalesOrderList('0500000000')-requestSideEffects.json +14 -14
  302. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +32 -2
  303. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +22 -0
  304. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +69 -0
  305. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/MIT.ListBindingTemplate.AnnotationChanges.html +63 -0
  306. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +19 -7
  307. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/SandboxModel.js +1 -4
  308. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/data/equipments.json +37 -22
  309. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/data/localAnnotations.xml +10 -2
  310. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +5 -5
  311. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +32 -2
  312. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +30 -0
  313. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +12 -6
  314. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +7 -0
  315. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +2 -0
  316. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/SandboxModel.js +14 -14
  317. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/pages/Main.js +1 -1
  318. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  319. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  320. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  321. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  322. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  323. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  324. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  325. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  326. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  327. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  328. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  329. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  330. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  331. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  332. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  333. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  334. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  335. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  336. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  337. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  338. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  339. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  340. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  341. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  342. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  343. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  344. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  345. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  346. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  347. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  348. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  349. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  350. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  351. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  352. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  353. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  354. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  355. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  356. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  357. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  358. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  359. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  360. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  361. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  362. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  363. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  364. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  365. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +3 -0
  366. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  367. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +1 -1
  368. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +1 -1
  369. package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +1 -1
  370. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +2 -2
  371. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  372. package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
  373. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +1 -1
  374. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +1 -1
  375. package/test/sap/ui/core/qunit/CustomThemeFallback_unavoidablySync.qunit.js +1 -1
  376. package/test/sap/ui/core/qunit/Element_data.qunit.js +1 -1
  377. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +1 -1
  378. package/test/sap/ui/core/qunit/Element_focus.qunit.js +196 -3
  379. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +1 -1
  380. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +2 -3
  381. package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +1 -1
  382. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +1 -1
  383. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +1 -1
  384. package/test/sap/ui/core/qunit/Fragment.qunit.js +1 -1
  385. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +1 -1
  386. package/test/sap/ui/core/qunit/HTML.qunit.js +1 -1
  387. package/test/sap/ui/core/qunit/Icon.qunit.js +1 -1
  388. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +1 -1
  389. package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +8 -4
  390. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +1 -1
  391. package/test/sap/ui/core/qunit/RenderManager.qunit.js +1 -1
  392. package/test/sap/ui/core/qunit/Rendering.qunit.js +1 -1
  393. package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +1 -1
  394. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +1 -1
  395. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +1 -1
  396. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +1 -1
  397. package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.qunit.js +1 -1
  398. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +1 -1
  399. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +1 -1
  400. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +1 -1
  401. package/test/sap/ui/core/qunit/Theming.qunit.js +1 -1
  402. package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +1 -1
  403. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +1 -1
  404. package/test/sap/ui/core/qunit/UIArea.qunit.js +1 -1
  405. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +1 -1
  406. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +1 -8
  407. package/test/sap/ui/core/qunit/component/Component.qunit.js +36 -36
  408. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +2 -10
  409. package/test/sap/ui/core/qunit/component/ComponentContainer_unavoidablySync.qunit.js +2 -10
  410. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +5 -5
  411. package/test/sap/ui/core/qunit/component/Component_containedInLibrary.qunit.js +10 -10
  412. package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +7 -7
  413. package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +6 -6
  414. package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +8 -8
  415. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +1 -1
  416. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +3 -3
  417. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +1 -1
  418. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +2 -2
  419. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +1 -1
  420. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +1 -1
  421. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +3 -3
  422. package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +1 -1
  423. package/test/sap/ui/core/qunit/component/Manifest.qunit.js +10 -10
  424. package/test/sap/ui/core/qunit/component/Manifest_unavoidablySync.qunit.js +1 -1
  425. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +47 -47
  426. package/test/sap/ui/core/qunit/component/Metadata_unavoidablySync.qunit.js +33 -33
  427. package/test/sap/ui/core/qunit/component/Models.qunit.js +57 -57
  428. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +12 -12
  429. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +2 -2
  430. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +1 -1
  431. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/Component.js +2 -2
  432. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +3 -3
  433. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/Component.js +2 -2
  434. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -1
  435. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/Component.js +2 -2
  436. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -2
  437. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/Component.js +2 -2
  438. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +2 -2
  439. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/Component.js +2 -2
  440. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +2 -2
  441. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/Component.js +2 -2
  442. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +2 -2
  443. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +2 -2
  444. package/test/sap/ui/core/qunit/component/testdata/embedded/Component.js +2 -2
  445. package/test/sap/ui/core/qunit/component/testdata/embedded/manifest.json +2 -2
  446. package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -2
  447. package/test/sap/ui/core/qunit/component/testdata/inherit/component.json +1 -1
  448. package/test/sap/ui/core/qunit/component/testdata/inherit/manifest.json +9 -9
  449. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -2
  450. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/component.json +1 -1
  451. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/manifest.json +9 -9
  452. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
  453. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/manifest.json +3 -3
  454. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
  455. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/manifest.json +2 -2
  456. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
  457. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/manifest.json +3 -3
  458. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
  459. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/manifest.json +3 -3
  460. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
  461. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/manifest.json +2 -2
  462. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
  463. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/manifest.json +3 -3
  464. package/test/sap/ui/core/qunit/component/testdata/manifestload/manifest.json +2 -2
  465. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/Component.js +1 -1
  466. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/manifest.json +1 -1
  467. package/test/sap/ui/core/qunit/component/testdata/mixed/Component.js +1 -1
  468. package/test/sap/ui/core/qunit/component/testdata/mixed/manifest.json +9 -9
  469. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/Component.js +1 -1
  470. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/component.json +8 -8
  471. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/manifest.json +9 -9
  472. package/test/sap/ui/core/qunit/component/testdata/modelsMisc/Component.js +1 -1
  473. package/test/sap/ui/core/qunit/component/testdata/modelsMisc/manifest.json +1 -1
  474. package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -2
  475. package/test/sap/ui/core/qunit/component/testdata/routerClass/Component.js +1 -1
  476. package/test/sap/ui/core/qunit/component/testdata/routerClass/manifest.json +2 -2
  477. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +1 -1
  478. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +2 -2
  479. package/test/sap/ui/core/qunit/component/testdata/routing/Component.js +2 -2
  480. package/test/sap/ui/core/qunit/component/testdata/routing/RouterExtension.js +1 -1
  481. package/test/sap/ui/core/qunit/component/testdata/routing/TestView.js +1 -8
  482. package/test/sap/ui/core/qunit/component/testdata/routing/targets/Component.js +2 -2
  483. package/test/sap/ui/core/qunit/component/testdata/routing_legacyAPIs/Component.js +5 -5
  484. package/test/sap/ui/core/qunit/component/testdata/routing_legacyAPIs/targets/Component.js +5 -5
  485. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +1 -1
  486. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +2 -2
  487. package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +1 -1
  488. package/test/sap/ui/core/qunit/component/testdata/terminologies/Main.controller.js +1 -1
  489. package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +1 -1
  490. package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Main.controller.js +1 -1
  491. package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +1 -1
  492. package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Main.controller.js +1 -1
  493. package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +1 -1
  494. package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Main.controller.js +1 -1
  495. package/test/sap/ui/core/qunit/component/testdata/terminologies/component4/Component.js +1 -1
  496. package/test/sap/ui/core/qunit/component/testdata/terminologies/component4/Main.controller.js +1 -1
  497. package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +1 -1
  498. package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Main.controller.js +1 -1
  499. package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +1 -1
  500. package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Main.controller.js +1 -1
  501. package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -2
  502. package/test/sap/ui/core/qunit/component/testdata/v1/component.json +8 -8
  503. package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -2
  504. package/test/sap/ui/core/qunit/component/testdata/v1empty/component.json +1 -1
  505. package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +10 -10
  506. package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -2
  507. package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -2
  508. package/test/sap/ui/core/qunit/component/testdata/v2/manifest.json +9 -9
  509. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -2
  510. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +9 -9
  511. package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +1 -1
  512. package/test/sap/ui/core/qunit/component/testdata/v2empty/manifest.json +1 -1
  513. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +10 -10
  514. package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +1 -1
  515. package/test/sap/ui/core/qunit/component/testdata/v2models/empty/Component.js +3 -3
  516. package/test/sap/ui/core/qunit/component/testdata/v2models/empty/manifest.json +1 -1
  517. package/test/sap/ui/core/qunit/component/testdata/v2models/extension/Component.js +4 -4
  518. package/test/sap/ui/core/qunit/component/testdata/v2models/parent/Component.js +12 -12
  519. package/test/sap/ui/core/qunit/component/testdata/v2models/parent/CustomModel.js +2 -2
  520. package/test/sap/ui/core/qunit/component/testdata/v2models/parent/ModelNotDefined.js +2 -2
  521. package/test/sap/ui/core/qunit/component/testdata/v2models/parentValid/Component.js +11 -11
  522. package/test/sap/ui/core/qunit/component/testdata/v2models/ui5Urls/Component.js +2 -2
  523. package/test/sap/ui/core/qunit/component/testdata/v2models/ui5Urls/manifest.json +2 -2
  524. package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
  525. package/test/sap/ui/core/qunit/component/testdata/v2version/manifest.json +2 -2
  526. package/test/sap/ui/core/qunit/component/testdata/v4models/Component.js +3 -3
  527. package/test/sap/ui/core/qunit/component/testdata/v4models/cacheTokens/Component.js +3 -3
  528. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +2 -2
  529. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +1 -1
  530. package/test/sap/ui/core/qunit/component/testdata/v4models/unsupportedVersion/Component.js +3 -3
  531. package/test/sap/ui/core/qunit/component/testdata/verticalLayout/Component.js +1 -1
  532. package/test/sap/ui/core/qunit/component/testdata/verticalLayout_legacyAPIs/Component.js +1 -1
  533. package/test/sap/ui/core/qunit/component/testdata/view/Main.controller.js +2 -2
  534. package/test/sap/ui/core/qunit/component/testdata/view/Main.view.xml +1 -1
  535. package/test/sap/ui/core/qunit/component/testdata/view/MainAsync.view.xml +1 -1
  536. package/test/sap/ui/core/qunit/component/testdata/view/MainAsyncWithWrongNesting.view.xml +1 -1
  537. package/test/sap/ui/core/qunit/component/testdata/view/Nested.view.xml +1 -1
  538. package/test/sap/ui/core/qunit/component/testsuite.component.qunit.js +2 -8
  539. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +1 -1
  540. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +1 -1
  541. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +1 -1
  542. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +1 -1
  543. package/test/sap/ui/core/qunit/fieldhelp/FieldHelp.qunit.js +184 -51
  544. package/test/sap/ui/core/qunit/fieldhelp/FieldHelpUtil.qunit.js +2 -0
  545. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +1 -1
  546. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +1 -1
  547. package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +1 -1
  548. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +1 -1
  549. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +1 -1
  550. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +188 -61
  551. package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +1 -1
  552. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +1 -1
  553. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +1 -1
  554. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
  555. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +1 -1
  556. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +1 -1
  557. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +1 -1
  558. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +1 -1
  559. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +1 -1
  560. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
  561. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +1 -1
  562. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +1 -1
  563. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +1 -1
  564. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +1 -1
  565. package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +1 -1
  566. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +1 -1
  567. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +1 -1
  568. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +1 -1
  569. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +511 -21
  570. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +382 -3
  571. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
  572. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +1 -1
  573. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +28 -4
  574. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +34 -20
  575. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +80 -15
  576. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +90 -6
  577. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1201 -202
  578. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +34 -0
  579. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +38 -0
  580. package/test/sap/ui/core/qunit/odata/v4/data/annotations_tea_busi.xml +14 -0
  581. package/test/sap/ui/core/qunit/odata/v4/data/metadata_tea_busi_supplier.xml +36 -0
  582. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +319 -38
  583. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +22 -9
  584. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +2 -2
  585. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +53 -10
  586. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +6 -0
  587. package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +30 -1
  588. package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +1 -1
  589. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +1 -1
  590. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +1 -1
  591. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +1 -1
  592. package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +1 -1
  593. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +1 -1
  594. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +1 -1
  595. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +1 -1
  596. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +1 -1
  597. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +1 -1
  598. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +1 -1
  599. package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +1 -1
  600. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +1 -1
  601. package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +1 -1
  602. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +1 -1
  603. package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +1 -1
  604. package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +1 -1
  605. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +1 -1
  606. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +1 -1
  607. package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +1 -1
  608. package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +1 -1
  609. package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +1 -1
  610. package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +1 -1
  611. package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +1 -1
  612. package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +1 -1
  613. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +1 -1
  614. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +1 -1
  615. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +1 -1
  616. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +1 -1
  617. package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +1 -1
  618. package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +1 -1
  619. package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +1 -1
  620. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +1 -1
  621. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +1 -1
  622. package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +1 -1
  623. package/test/sap/ui/core/qunit/opa/testsuite.opa.qunit.js +448 -426
  624. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +8 -4
  625. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +1 -1
  626. package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +1 -1
  627. package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +1 -1
  628. package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +1 -1
  629. package/test/sap/ui/core/qunit/ui5classes/ManagedObject.qunit.js +62 -1
  630. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +1 -1
  631. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +1 -1
  632. package/test/sap/ui/core/qunit/util/Popup.qunit.js +1 -1
  633. package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +1 -1
  634. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +1 -1
  635. package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +1 -1
  636. package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +3 -3
  637. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +3 -3
  638. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +3 -3
  639. package/test/sap/ui/core/qunit/util/reflection/testdata/comp/Component.js +10 -0
  640. package/test/sap/ui/core/qunit/util/reflection/testsuite.reflection.qunit.html +14 -0
  641. package/test/sap/ui/core/qunit/util/reflection/testsuite.reflection.qunit.js +30 -0
  642. package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +3 -56
  643. package/test/sap/ui/core/relnotes/changes-1.126.json +1 -1
  644. package/test/sap/ui/core/relnotes/changes-1.127.json +52 -0
  645. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
  646. package/test/sap/ui/qunit/TestRunner.js +721 -521
  647. package/test/sap/ui/qunit/testrunner.css +123 -20
  648. package/test/sap/ui/qunit/testrunner.html +57 -287
  649. /package/test/sap/ui/core/qunit/{component/testdata/other → util/reflection/testdata/comp}/fragment-withTemplating.fragment.xml +0 -0
@@ -0,0 +1,244 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ 'sap/ui/dom/jquery/Selectors'
8
+ ], function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * Finds the next element in the DOM tree based on the given parameters.
13
+ * @param {Object} mParams The parameters for finding the next element.
14
+ * @param {Element} mParams.element The current element.
15
+ * @param {boolean} mParams.skipChild Whether to skip child elements.
16
+ * @param {Element} mParams.scope The scope within which to find the next element.
17
+ * @returns {Element|null} The next element in the DOM tree.
18
+ */
19
+ function findNextElement(mParams) {
20
+ let bSkipChild = mParams.skipChild;
21
+ const oScope = mParams.scope;
22
+
23
+ if (mParams.element?.id === "sap-ui-static") {
24
+ // skip the check in static UIArea
25
+ // when oScope is within static UIArea, this function will never reach the static UIArea
26
+ bSkipChild = true;
27
+ }
28
+
29
+ const stack = [{
30
+ element: mParams.element,
31
+ skipChild: bSkipChild
32
+ }];
33
+
34
+ while (stack.length) {
35
+ const oCurrent = stack.pop();
36
+ const oElement = oCurrent.element;
37
+
38
+ if (!oElement) {
39
+ return null;
40
+ }
41
+
42
+ // First check for child elements
43
+ if (!oCurrent.skipChild) {
44
+ if (oElement.shadowRoot && oElement.shadowRoot.firstElementChild) {
45
+ return oElement.shadowRoot.firstElementChild;
46
+ } else if (oElement.assignedElements && oElement.assignedElements().length) {
47
+ return oElement.assignedElements()[0];
48
+ } else if (oElement.firstElementChild) {
49
+ return oElement.firstElementChild;
50
+ }
51
+ }
52
+
53
+ // If there are no child elements or in case we children were skipped, check for the next sibling
54
+ // Next element sibling should be only considered if there is no slot assigned (no Web Component)
55
+ // If a slot is assigned, check for the next logical slot element (Web Component)
56
+ // nextElementSibling also returns the next slot element but the slot elements in DOM must not
57
+ // necessarily be grouped by the slots
58
+ if (oElement.assignedSlot) {
59
+ var aAssignedElements = oElement.assignedSlot.assignedElements();
60
+ var iNextSlotIndex = aAssignedElements.indexOf(oElement) + 1;
61
+ if (iNextSlotIndex < aAssignedElements.length) {
62
+ return aAssignedElements[iNextSlotIndex];
63
+ }
64
+ } else if (oElement.nextElementSibling) {
65
+ return oElement.nextElementSibling;
66
+ }
67
+
68
+ // Return the scope in case our parent is the scope
69
+ if (oElement.parentNode === oScope) {
70
+ return oScope;
71
+ }
72
+
73
+ stack.push({
74
+ element: oElement.assignedSlot || oElement.parentElement || oElement.parentNode || oElement.host,
75
+ skipChild: true
76
+ });
77
+ }
78
+
79
+ return null;
80
+ }
81
+
82
+
83
+ /**
84
+ * Finds the previous element in the DOM tree based on the given parameters.
85
+ * @param {Object} mParams The parameters for finding the previous element.
86
+ * @param {Element} mParams.element The current element.
87
+ * @param {Element} mParams.scope The scope within which to find the previous element.
88
+ * @param {boolean} [mParams.checkChildren=false] Whether to check children of the element.
89
+ * @returns {Element|null} The previous element in the DOM tree.
90
+ */
91
+ function findPreviousElement(mParams) {
92
+ const oScope = mParams.scope;
93
+ let bCheckChildren = mParams.checkChildren || mParams.element === oScope;
94
+
95
+ if (mParams.element.id === "sap-ui-static") {
96
+ // skip the check in static UIArea
97
+ // when oScope is within static UIArea, this function will never reach the static UIArea
98
+ bCheckChildren = false;
99
+ }
100
+
101
+ const stack = [{
102
+ element: mParams.element,
103
+ checkChildren: bCheckChildren
104
+ }];
105
+
106
+ while (stack.length) {
107
+ const oCurrent = stack.pop();
108
+ const oElement = oCurrent.element;
109
+
110
+ if (!oElement) {
111
+ return null;
112
+ }
113
+
114
+ let aAssignedElements;
115
+
116
+ if (oCurrent.checkChildren) {
117
+ let oChildElement;
118
+ // Check if there is a child element
119
+ if (oElement.shadowRoot) {
120
+ oChildElement = oElement.shadowRoot;
121
+ } else if (oElement.lastElementChild) {
122
+ oChildElement = oElement.lastElementChild;
123
+ } else if (oElement.assignedElements && oElement.assignedElements().length) {
124
+ aAssignedElements = oElement.assignedElements();
125
+ oChildElement = aAssignedElements[aAssignedElements.length - 1];
126
+ }
127
+
128
+ if (oChildElement) {
129
+ // If a child element exist, check for children of the detected child
130
+ stack.push({
131
+ element: oChildElement,
132
+ checkChildren: true
133
+ });
134
+ continue;
135
+ } else {
136
+ // In case there are no child elements return the current element
137
+ // except the current element is a #shadowRoot (nodeType === 11)
138
+ return oElement.nodeType === 11 ? oElement.host : oElement;
139
+ }
140
+ }
141
+
142
+ // In case children should be skipped, check for the previous element sibling first.
143
+ // Previous element sibling should be only considered if there is no slot assigned (no Web Component)
144
+ // If a slot is assigned, check for the previous logical slot element (Web Component)
145
+ // previousElementSibling also returns the previous slot element but the slot elements in DOM must not
146
+ // necessarily be grouped by the slots
147
+ if (oElement.assignedSlot) {
148
+ aAssignedElements = oElement.assignedSlot.assignedElements();
149
+ var iPreviousSlotIndex = aAssignedElements.indexOf(oElement) - 1;
150
+ if (iPreviousSlotIndex >= 0) {
151
+ stack.push({
152
+ element: aAssignedElements[iPreviousSlotIndex],
153
+ checkChildren: true
154
+ });
155
+ continue;
156
+ }
157
+ } else if (oElement.previousElementSibling) {
158
+ stack.push({
159
+ element: oElement.previousElementSibling,
160
+ checkChildren: true
161
+ });
162
+ continue;
163
+ }
164
+
165
+ let oParentElement;
166
+ // If did not find something check for assignedSlot, shadowRoot and parentElement
167
+ if (oElement.assignedSlot) {
168
+ oParentElement = oElement.assignedSlot;
169
+ } else if (oElement.parentElement) {
170
+ oParentElement = oElement.parentElement;
171
+ } else if (oElement.parentNode) {
172
+ // when oElement is a direct child of #shadow-root, return the host of the #shadow-root directly
173
+ oParentElement = oElement.parentNode.host;
174
+ }
175
+
176
+ return oParentElement;
177
+ }
178
+
179
+ return null;
180
+ }
181
+
182
+ /**
183
+ * Finds the next tabbable element within the specified scope.
184
+ * @param {Element} oOriginalElement The original element from which to start searching.
185
+ * @param {Object} oConfig The configuration object for finding the tabbable element.
186
+ * @param {Element} [oConfig.scope=document.documentElement] The scope within which to search for the tabbable element.
187
+ * @param {boolean} [oConfig.forward=true] Whether to search forward or backward.
188
+ * @param {boolean} [oConfig.skipChild=false] Whether to skip child elements.
189
+ * @returns {Object|null} An object containing the found tabbable element and a flag indicating if the search started over.
190
+ */
191
+ function findTabbable(oOriginalElement, oConfig) {
192
+ const oScope = oConfig.scope || document.documentElement;
193
+ const bForward = !!oConfig.forward;
194
+ let bStartOver = false;
195
+
196
+ const stack = [{
197
+ element: oOriginalElement,
198
+ skipChild: oConfig.skipChild
199
+ }];
200
+
201
+ while (stack.length) {
202
+ const oCurrent = stack.pop();
203
+ const oElement = oCurrent.element;
204
+ const bSkipChild = oCurrent.skipChild;
205
+
206
+ const oNextElement = bForward ? findNextElement({
207
+ element: oElement,
208
+ scope: oScope,
209
+ skipChild: bSkipChild
210
+ }) : findPreviousElement({
211
+ element: oElement,
212
+ scope: oScope
213
+ });
214
+
215
+ if (!oNextElement) {
216
+ return null;
217
+ }
218
+
219
+ if (oNextElement === oScope) {
220
+ bStartOver = true;
221
+ }
222
+
223
+ if (bStartOver && oNextElement === oOriginalElement) {
224
+ return {
225
+ element: null,
226
+ startOver: true
227
+ };
228
+ }
229
+
230
+ if (jQuery.expr.pseudos.sapTabbable(oNextElement)) {
231
+ return {
232
+ element: oNextElement,
233
+ startOver: bStartOver
234
+ };
235
+ } else {
236
+ stack.push({element: oNextElement});
237
+ }
238
+ }
239
+
240
+ return null;
241
+ }
242
+
243
+ return findTabbable;
244
+ });
@@ -0,0 +1,51 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([], function() {
7
+ "use strict";
8
+
9
+ function isElementCoveredInPoint(iX, iY, oElem, oAllowedCoveringElem) {
10
+ const oElementFromPoint = document.elementFromPoint(iX, iY);
11
+ if (!oElementFromPoint) {
12
+ return true;
13
+ }
14
+
15
+ return oElementFromPoint !== oElem &&
16
+ !oElem.contains(oElementFromPoint) &&
17
+ !oElementFromPoint.contains(oElem) &&
18
+ (!oAllowedCoveringElem || !oAllowedCoveringElem.contains(oElementFromPoint));
19
+ }
20
+
21
+ /**
22
+ * Returns if the element is covered by another element.
23
+ *
24
+ * @param {HTMLElement} oElem Element to check
25
+ * @param {HTMLElement|undefined} oAllowedCoveringElem Element that is
26
+ * not considered as an obstacle
27
+ * @returns {boolean} If the element is covered by another element
28
+ * @alias module:sap/ui/dom/isElementCovered
29
+ * @private
30
+ * @ui5-restricted sap.m.Popover
31
+ */
32
+ function isElementCovered(oElem, oAllowedCoveringElem) {
33
+ if (!oElem) {
34
+ return false;
35
+ }
36
+
37
+ var oBoundingRect = oElem.getBoundingClientRect(),
38
+ // adjust coordinates to get more accurate results
39
+ iLeft = oBoundingRect.left + 1,
40
+ iRight = oBoundingRect.right - 1,
41
+ iTop = oBoundingRect.top + 1,
42
+ iBottom = oBoundingRect.bottom - 1;
43
+
44
+ return isElementCoveredInPoint(iLeft, iTop, oElem, oAllowedCoveringElem) &&
45
+ isElementCoveredInPoint(iRight, iTop, oElem, oAllowedCoveringElem) &&
46
+ isElementCoveredInPoint(iLeft, iBottom, oElem, oAllowedCoveringElem) &&
47
+ isElementCoveredInPoint(iRight, iBottom, oElem, oAllowedCoveringElem);
48
+ }
49
+
50
+ return isElementCovered;
51
+ });
@@ -10,8 +10,8 @@
10
10
  sap.ui.define([
11
11
  'sap/ui/thirdparty/jquery',
12
12
  'sap/ui/events/PseudoEvents',
13
- 'sap/ui/dom/jquery/Selectors'
14
- ], function (jQuery, PseudoEvents/*, sapTabbable */) {
13
+ 'sap/ui/dom/findTabbable'
14
+ ], function (jQuery, PseudoEvents, findTabbable) {
15
15
  "use strict";
16
16
 
17
17
  /**
@@ -31,8 +31,6 @@ sap.ui.define([
31
31
  */
32
32
  var F6Navigation = {};
33
33
 
34
- var bStartOver = false;
35
-
36
34
  /**
37
35
  * CustomData attribute name for fast navigation groups (in DOM additional prefix "data-" is needed)
38
36
  *
@@ -79,164 +77,6 @@ sap.ui.define([
79
77
  return oTarget !== document;
80
78
  }
81
79
 
82
- function findNextElement(mParams) {
83
- var oElement = mParams.element;
84
- var bSkipChild = mParams.skipChild;
85
- var oScope = mParams.scope;
86
-
87
- if (oElement.id === "sap-ui-static") {
88
- // skip the check in static UIArea
89
- // when oScope is within static UIArea, this function will never reach the static UIArea
90
- bSkipChild = true;
91
- }
92
-
93
- // First check for child elements
94
- if (!bSkipChild) {
95
- if (oElement.shadowRoot && oElement.shadowRoot.firstElementChild) {
96
- return oElement.shadowRoot.firstElementChild;
97
- } else if (oElement.assignedElements && oElement.assignedElements().length) {
98
- return oElement.assignedElements()[0];
99
- } else if (oElement.firstElementChild) {
100
- return oElement.firstElementChild;
101
- }
102
- }
103
-
104
- // If there are no child elements or in case we children were skipped, check for the next sibling
105
- // Next element sibling should be only considered if there is no slot assigned (no Web Component)
106
- // If a slot is assigned, check for the next logical slot element (Web Component)
107
- // nextElementSibling also returns the next slot element but the slot elements in DOM must not
108
- // necessarily be grouped by the slots
109
- if (oElement.assignedSlot) {
110
- var aAssignedElements = oElement.assignedSlot.assignedElements();
111
- var iNextSlotIndex = aAssignedElements.indexOf(oElement) + 1;
112
- if (iNextSlotIndex < aAssignedElements.length) {
113
- return aAssignedElements[iNextSlotIndex];
114
- }
115
- } else if (oElement.nextElementSibling) {
116
- return oElement.nextElementSibling;
117
- }
118
-
119
- // Return the scope in case our parent is the scope
120
- if (oElement.parentNode === oScope) {
121
- return oScope;
122
- }
123
-
124
- // Check the parent element for the next DOM element
125
- return findNextElement({
126
- element: oElement.assignedSlot || oElement.parentElement || oElement.parentNode || oElement.host,
127
- skipChild: true,
128
- scope: oScope
129
- });
130
- }
131
-
132
- function findPreviousElement(mParams) {
133
- var oElement = mParams.element;
134
- var oScope = mParams.scope;
135
- var bCheckChildren = mParams.checkChildren || oElement === oScope;
136
- var aAssignedElements;
137
-
138
- if (oElement.id === "sap-ui-static") {
139
- // skip the check in static UIArea
140
- // when oScope is within static UIArea, this function will never reach the static UIArea
141
- bCheckChildren = false;
142
- }
143
-
144
- if (bCheckChildren) {
145
- var oChildElement;
146
- // Check if there is a child element
147
- if (oElement.shadowRoot) {
148
- oChildElement = oElement.shadowRoot;
149
- } else if (oElement.lastElementChild) {
150
- oChildElement = oElement.lastElementChild;
151
- } else if (oElement.assignedElements && oElement.assignedElements().length) {
152
- aAssignedElements = oElement.assignedElements();
153
- oChildElement = aAssignedElements[aAssignedElements.length - 1];
154
- }
155
-
156
- if (oChildElement) {
157
- // If a child element exist, check for children of the detected child
158
- return findPreviousElement({
159
- element: oChildElement,
160
- checkChildren: true,
161
- scope: oScope
162
- });
163
- } else {
164
- // In case there are no child elements return the current element
165
- // except the current element is a #shadowRoot (nodeType === 11)
166
- return oElement.nodeType === 11 ? oElement.host : oElement;
167
- }
168
- }
169
-
170
- // In case children should be skipped, check for the previous element sibling first.
171
- // Previous element sibling should be only considered if there is no slot assigned (no Web Component)
172
- // If a slot is assigned, check for the previous logical slot element (Web Component)
173
- // previousElementSibling also returns the previous slot element but the slot elements in DOM must not
174
- // necessarily be grouped by the slots
175
- if (oElement.assignedSlot) {
176
- aAssignedElements = oElement.assignedSlot.assignedElements();
177
- var iPreviousSlotIndex = aAssignedElements.indexOf(oElement) - 1;
178
- if (iPreviousSlotIndex >= 0) {
179
- return findPreviousElement({
180
- element: aAssignedElements[iPreviousSlotIndex],
181
- checkChildren: true,
182
- scope: oScope
183
- });
184
- }
185
- } else if (oElement.previousElementSibling) {
186
- return findPreviousElement({
187
- element: oElement.previousElementSibling,
188
- checkChildren: true,
189
- scope: oScope
190
- });
191
- }
192
-
193
- var oParentElement;
194
- // If did not find something check for assignedSlot, shadowRoot and parentElement
195
- if (oElement.assignedSlot) {
196
- oParentElement = oElement.assignedSlot;
197
- } else if (oElement.parentElement) {
198
- oParentElement = oElement.parentElement;
199
- } else if (oElement.parentNode) {
200
- // when oElement is a direct child of #shadow-root, return the host of the #shadow-root directly
201
- oParentElement = oElement.parentNode.host;
202
- }
203
-
204
- return oParentElement;
205
- }
206
-
207
- function findTabbable(oOriginalElement, oScope, bForward) {
208
- var oNextElement;
209
-
210
- if (bForward) {
211
- oNextElement = findNextElement({
212
- element: oOriginalElement,
213
- scope: oScope
214
- });
215
- } else {
216
- oNextElement = findPreviousElement({
217
- element: oOriginalElement,
218
- scope: oScope
219
- });
220
- }
221
-
222
- if (oNextElement === oScope) {
223
- bStartOver = true;
224
- }
225
-
226
- if (jQuery.expr.pseudos.sapTabbable(oNextElement)) {
227
- var oRes = {
228
- element: oNextElement,
229
- startOver: bStartOver
230
- };
231
-
232
- bStartOver = false;
233
-
234
- return oRes;
235
- } else {
236
- return findTabbable(oNextElement, oScope, bForward);
237
- }
238
- }
239
-
240
80
  /**
241
81
  * Handles the F6 key event.
242
82
  *
@@ -292,7 +132,10 @@ sap.ui.define([
292
132
  oNextTabbable = oTarget;
293
133
 
294
134
  do {
295
- oTabbableInfo = findTabbable(oNextTabbable, oScope, bSapSkipForward);
135
+ oTabbableInfo = findTabbable(oNextTabbable, {
136
+ scope: oScope,
137
+ forward: bSapSkipForward
138
+ });
296
139
  oNextTabbable = oTabbableInfo.element;
297
140
  oNextFastNavGroup = getFastNavGroup(oNextTabbable);
298
141
  } while ((!oTabbableInfo.startOver && (oCurrentSelectedGroup === oNextFastNavGroup)));
@@ -301,7 +144,10 @@ sap.ui.define([
301
144
  var oPreviousTabbable, oPreviousFastNavGroup;
302
145
  do {
303
146
  oNextTabbable = oPreviousTabbable || oNextTabbable;
304
- oTabbableInfo = findTabbable(oNextTabbable, oScope, bSapSkipForward);
147
+ oTabbableInfo = findTabbable(oNextTabbable, {
148
+ scope: oScope,
149
+ forward: bSapSkipForward
150
+ });
305
151
  oPreviousTabbable = oTabbableInfo.element;
306
152
  oPreviousFastNavGroup = getFastNavGroup(oPreviousTabbable);
307
153
  } while (oPreviousFastNavGroup === oNextFastNavGroup && !oTabbableInfo.startOver);
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.126.0
32
+ * @version 1.127.0
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.126.0
17
+ * @version 1.127.0
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.126.0
42
+ * @version 1.127.0
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.126.0
68
+ * @version 1.127.0
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.126.0
19
+ * @version 1.127.0
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.message.MessageProcessor
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.126.0
54
+ * @version 1.127.0
55
55
  *
56
56
  * @public
57
57
  * @alias sap.ui.model.Model
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.126.0
23
+ * @version 1.127.0
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.126.0
49
+ * @version 1.127.0
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.126.0
15
+ * @version 1.127.0
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.126.0
22
+ * @version 1.127.0
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.model.ClientModel
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.126.0
52
+ * @version 1.127.0
53
53
  * @public
54
54
  * @alias sap.ui.model.json.JSONModel
55
55
  */
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.126.0
32
+ * @version 1.127.0
33
33
  *
34
34
  * @public
35
35
  * @alias sap.ui.model.message.MessageModel
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @author SAP SE
29
29
  * @version
30
- * 1.126.0
30
+ * 1.127.0
31
31
  *
32
32
  * @public
33
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -84,7 +84,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
84
  * @extends sap.ui.core.message.MessageParser
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.126.0
87
+ * @version 1.127.0
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */
@@ -880,7 +880,7 @@ sap.ui.define([
880
880
  * {@link #loaded loaded} has been resolved!
881
881
  *
882
882
  * @author SAP SE
883
- * @version 1.126.0
883
+ * @version 1.127.0
884
884
  * @alias sap.ui.model.odata.ODataMetaModel
885
885
  * @extends sap.ui.model.MetaModel
886
886
  * @public
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * Implementation to access OData metadata
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.126.0
52
+ * @version 1.127.0
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.odata.ODataMetadata
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  *
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.126.0
81
+ * @version 1.127.0
82
82
  *
83
83
  * @public
84
84
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  * @extends sap.ui.model.odata.type.ODataType
88
88
  *
89
89
  * @author SAP SE
90
- * @version 1.126.0
90
+ * @version 1.127.0
91
91
  *
92
92
  * @alias sap.ui.model.odata.type.Boolean
93
93
  * @param {object} [oFormatOptions]