@openui5/sap.ui.core 1.112.2 → 1.114.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 (400) hide show
  1. package/.dtsgenrc +102 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +10 -4
  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 +7 -7
  9. package/src/jquery.sap.trace.js +14 -14
  10. package/src/sap/base/Log.js +92 -8
  11. package/src/sap/base/assert.js +1 -1
  12. package/src/sap/base/config/MemoryConfigurationProvider.js +22 -0
  13. package/src/sap/base/config.js +54 -0
  14. package/src/sap/base/security/URLWhitelist.js +1 -1
  15. package/src/sap/base/util/Deferred.js +3 -2
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  17. package/src/sap/base/util/restricted/_castArray.js +1 -1
  18. package/src/sap/base/util/restricted/_compact.js +1 -1
  19. package/src/sap/base/util/restricted/_curry.js +1 -1
  20. package/src/sap/base/util/restricted/_debounce.js +1 -1
  21. package/src/sap/base/util/restricted/_difference.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_flatten.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_intersection.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isNil.js +1 -1
  36. package/src/sap/base/util/restricted/_max.js +1 -1
  37. package/src/sap/base/util/restricted/_merge.js +1 -1
  38. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  39. package/src/sap/base/util/restricted/_min.js +1 -1
  40. package/src/sap/base/util/restricted/_omit.js +1 -1
  41. package/src/sap/base/util/restricted/_pick.js +1 -1
  42. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  43. package/src/sap/base/util/restricted/_throttle.js +1 -1
  44. package/src/sap/base/util/restricted/_toArray.js +1 -1
  45. package/src/sap/base/util/restricted/_union.js +1 -1
  46. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  47. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  48. package/src/sap/base/util/restricted/_uniq.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  51. package/src/sap/base/util/restricted/_without.js +1 -1
  52. package/src/sap/base/util/restricted/_xor.js +1 -1
  53. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  54. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  57. package/src/sap/ui/Device.js +8 -3
  58. package/src/sap/ui/Global.js +4 -4
  59. package/src/sap/ui/base/BindingParser.js +79 -18
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -1
  62. package/src/sap/ui/base/ExpressionParser.js +15 -5
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +16 -13
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +35 -35
  66. package/src/sap/ui/base/Metadata.js +23 -12
  67. package/src/sap/ui/base/Object.js +1 -1
  68. package/src/sap/ui/base/ObjectPool.js +1 -1
  69. package/src/sap/ui/core/.library +1 -1
  70. package/src/sap/ui/core/BusyIndicator.js +4 -4
  71. package/src/sap/ui/core/Component.js +10 -7
  72. package/src/sap/ui/core/ComponentContainer.js +1 -1
  73. package/src/sap/ui/core/ComponentMetadata.js +3 -1
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +104 -45
  76. package/src/sap/ui/core/Control.js +23 -6
  77. package/src/sap/ui/core/Core.js +36 -15
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomStyleClassSupport.js +5 -2
  80. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +19 -4
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +4 -4
  85. package/src/sap/ui/core/Fragment.js +1 -1
  86. package/src/sap/ui/core/HTML.js +1 -1
  87. package/src/sap/ui/core/History.js +1 -1
  88. package/src/sap/ui/core/Icon.js +1 -1
  89. package/src/sap/ui/core/IconPool.js +17 -2
  90. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  91. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  92. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  93. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  94. package/src/sap/ui/core/InvisibleText.js +1 -1
  95. package/src/sap/ui/core/Item.js +1 -1
  96. package/src/sap/ui/core/LabelEnablement.js +10 -2
  97. package/src/sap/ui/core/LayoutData.js +1 -1
  98. package/src/sap/ui/core/Lib.js +28 -2
  99. package/src/sap/ui/core/ListItem.js +1 -1
  100. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  101. package/src/sap/ui/core/Locale.js +2 -2
  102. package/src/sap/ui/core/LocaleData.js +87 -19
  103. package/src/sap/ui/core/Manifest.js +5 -5
  104. package/src/sap/ui/core/Message.js +1 -1
  105. package/src/sap/ui/core/Popup.js +34 -36
  106. package/src/sap/ui/core/RenderManager.js +8 -2
  107. package/src/sap/ui/core/Renderer.js +1 -1
  108. package/src/sap/ui/core/Rendering.js +2 -3
  109. package/src/sap/ui/core/ResizeHandler.js +2 -2
  110. package/src/sap/ui/core/ScrollBar.js +1 -1
  111. package/src/sap/ui/core/SeparatorItem.js +1 -1
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +1 -1
  114. package/src/sap/ui/core/UIArea.js +9 -2
  115. package/src/sap/ui/core/UIComponent.js +16 -13
  116. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/XMLTemplateProcessor.js +30 -6
  122. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  123. package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
  124. package/src/sap/ui/core/date/CalendarUtils.js +14 -26
  125. package/src/sap/ui/core/date/CalendarWeekNumbering.js +32 -0
  126. package/src/sap/ui/core/date/UI5Date.js +14 -8
  127. package/src/sap/ui/core/date/UniversalDate.js +15 -53
  128. package/src/sap/ui/core/date/UniversalDateUtils.js +4 -4
  129. package/src/sap/ui/core/date/_Calendars.js +1 -1
  130. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  131. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  132. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  133. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  134. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  135. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  136. package/src/sap/ui/core/format/DateFormat.js +166 -59
  137. package/src/sap/ui/core/format/NumberFormat.js +40 -5
  138. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  140. package/src/sap/ui/core/library.js +3 -3
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  142. package/src/sap/ui/core/message/Message.js +1 -1
  143. package/src/sap/ui/core/message/MessageManager.js +1 -1
  144. package/src/sap/ui/core/message/MessageParser.js +1 -1
  145. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  146. package/src/sap/ui/core/messagebundle.properties +2 -0
  147. package/src/sap/ui/core/messagebundle_ar.properties +2 -1
  148. package/src/sap/ui/core/messagebundle_bg.properties +1 -0
  149. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  150. package/src/sap/ui/core/messagebundle_cs.properties +2 -1
  151. package/src/sap/ui/core/messagebundle_cy.properties +2 -1
  152. package/src/sap/ui/core/messagebundle_da.properties +2 -1
  153. package/src/sap/ui/core/messagebundle_de.properties +2 -1
  154. package/src/sap/ui/core/messagebundle_el.properties +2 -1
  155. package/src/sap/ui/core/messagebundle_en.properties +2 -1
  156. package/src/sap/ui/core/messagebundle_en_GB.properties +2 -1
  157. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_es.properties +5 -4
  160. package/src/sap/ui/core/messagebundle_es_MX.properties +2 -1
  161. package/src/sap/ui/core/messagebundle_et.properties +2 -1
  162. package/src/sap/ui/core/messagebundle_fi.properties +2 -1
  163. package/src/sap/ui/core/messagebundle_fr.properties +2 -1
  164. package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -1
  165. package/src/sap/ui/core/messagebundle_hi.properties +2 -1
  166. package/src/sap/ui/core/messagebundle_hr.properties +2 -1
  167. package/src/sap/ui/core/messagebundle_hu.properties +2 -1
  168. package/src/sap/ui/core/messagebundle_id.properties +2 -1
  169. package/src/sap/ui/core/messagebundle_it.properties +2 -1
  170. package/src/sap/ui/core/messagebundle_iw.properties +2 -1
  171. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_kk.properties +2 -1
  173. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  174. package/src/sap/ui/core/messagebundle_lt.properties +2 -1
  175. package/src/sap/ui/core/messagebundle_lv.properties +2 -1
  176. package/src/sap/ui/core/messagebundle_ms.properties +2 -1
  177. package/src/sap/ui/core/messagebundle_nl.properties +2 -1
  178. package/src/sap/ui/core/messagebundle_no.properties +2 -1
  179. package/src/sap/ui/core/messagebundle_pl.properties +2 -1
  180. package/src/sap/ui/core/messagebundle_pt.properties +2 -1
  181. package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -1
  182. package/src/sap/ui/core/messagebundle_ro.properties +2 -1
  183. package/src/sap/ui/core/messagebundle_ru.properties +3 -2
  184. package/src/sap/ui/core/messagebundle_sh.properties +2 -1
  185. package/src/sap/ui/core/messagebundle_sk.properties +2 -1
  186. package/src/sap/ui/core/messagebundle_sl.properties +2 -1
  187. package/src/sap/ui/core/messagebundle_sv.properties +2 -1
  188. package/src/sap/ui/core/messagebundle_th.properties +2 -1
  189. package/src/sap/ui/core/messagebundle_tr.properties +2 -1
  190. package/src/sap/ui/core/messagebundle_uk.properties +2 -1
  191. package/src/sap/ui/core/messagebundle_vi.properties +2 -1
  192. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -1
  193. package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -1
  194. package/src/sap/ui/core/mvc/Controller.js +2 -3
  195. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  196. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  197. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  198. package/src/sap/ui/core/mvc/JSView.js +1 -1
  199. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  200. package/src/sap/ui/core/mvc/View.js +24 -17
  201. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  202. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  203. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  204. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  205. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  206. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  207. package/src/sap/ui/core/routing/Route.js +30 -22
  208. package/src/sap/ui/core/routing/Router.js +5 -3
  209. package/src/sap/ui/core/routing/Target.js +170 -3
  210. package/src/sap/ui/core/routing/Targets.js +5 -214
  211. package/src/sap/ui/core/routing/Views.js +1 -1
  212. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  213. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  214. package/src/sap/ui/core/service/Service.js +1 -1
  215. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  216. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  217. package/src/sap/ui/core/support/Plugin.js +1 -1
  218. package/src/sap/ui/core/support/Support.js +1 -1
  219. package/src/sap/ui/core/support/controls/InteractionTree.js +5 -3
  220. package/src/sap/ui/core/support/plugins/Breakpoint.js +2 -2
  221. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  222. package/src/sap/ui/core/support/plugins/Interaction.js +6 -4
  223. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  224. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  225. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  226. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  227. package/src/sap/ui/core/support/plugins/Trace.js +4 -3
  228. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  229. package/src/sap/ui/core/themes/base/base.less +4358 -78
  230. package/src/sap/ui/core/themes/base/global.less +114 -8
  231. package/src/sap/ui/core/themes/sap_hcb/global.less +114 -8
  232. package/src/sap/ui/core/theming/Parameters.js +10 -2
  233. package/src/sap/ui/core/theming/ThemeManager.js +16 -12
  234. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  235. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  236. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  237. package/src/sap/ui/core/tmpl/Template.js +1 -1
  238. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  239. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  240. package/src/sap/ui/core/util/Export.js +1 -1
  241. package/src/sap/ui/core/util/ExportCell.js +1 -1
  242. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  243. package/src/sap/ui/core/util/ExportRow.js +1 -1
  244. package/src/sap/ui/core/util/ExportType.js +1 -1
  245. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  246. package/src/sap/ui/core/util/File.js +1 -1
  247. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  248. package/src/sap/ui/core/util/MockServer.js +1 -1
  249. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  250. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  251. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  252. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  253. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  254. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  255. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  256. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  257. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  258. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  259. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  260. package/src/sap/ui/debug/ControlTree.js +1 -1
  261. package/src/sap/ui/debug/DebugEnv.js +1 -1
  262. package/src/sap/ui/debug/PropertyList.js +1 -1
  263. package/src/sap/ui/dom/includeScript.js +3 -3
  264. package/src/sap/ui/dom/includeStylesheet.js +3 -3
  265. package/src/sap/ui/events/ControlEvents.js +2 -2
  266. package/src/sap/ui/events/PseudoEvents.js +4 -2
  267. package/src/sap/ui/model/ClientModel.js +1 -1
  268. package/src/sap/ui/model/CompositeBinding.js +1 -1
  269. package/src/sap/ui/model/CompositeDataState.js +1 -1
  270. package/src/sap/ui/model/CompositeType.js +1 -1
  271. package/src/sap/ui/model/DataState.js +1 -1
  272. package/src/sap/ui/model/ManagedObjectBindingSupport.js +19 -2
  273. package/src/sap/ui/model/MetaModel.js +1 -1
  274. package/src/sap/ui/model/Model.js +1 -1
  275. package/src/sap/ui/model/SelectionModel.js +1 -1
  276. package/src/sap/ui/model/SimpleType.js +7 -3
  277. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  278. package/src/sap/ui/model/Type.js +1 -1
  279. package/src/sap/ui/model/base/ManagedObjectModel.js +12 -4
  280. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +2 -0
  281. package/src/sap/ui/model/json/JSONModel.js +1 -1
  282. package/src/sap/ui/model/message/MessageModel.js +1 -1
  283. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  285. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  286. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  287. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  288. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  289. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  290. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  291. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  292. package/src/sap/ui/model/odata/type/Date.js +67 -21
  293. package/src/sap/ui/model/odata/type/DateTime.js +51 -8
  294. package/src/sap/ui/model/odata/type/DateTimeBase.js +55 -26
  295. package/src/sap/ui/model/odata/type/DateTimeOffset.js +42 -1
  296. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +37 -21
  297. package/src/sap/ui/model/odata/type/Decimal.js +28 -33
  298. package/src/sap/ui/model/odata/type/Double.js +21 -26
  299. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int.js +15 -20
  301. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  302. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  303. package/src/sap/ui/model/odata/type/Int64.js +16 -21
  304. package/src/sap/ui/model/odata/type/ODataType.js +33 -6
  305. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  306. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  307. package/src/sap/ui/model/odata/type/Single.js +20 -25
  308. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  309. package/src/sap/ui/model/odata/type/String.js +1 -1
  310. package/src/sap/ui/model/odata/type/Time.js +91 -21
  311. package/src/sap/ui/model/odata/type/TimeOfDay.js +70 -24
  312. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  313. package/src/sap/ui/model/odata/v2/Context.js +72 -28
  314. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +5 -4
  315. package/src/sap/ui/model/odata/v2/ODataListBinding.js +29 -10
  316. package/src/sap/ui/model/odata/v2/ODataModel.js +92 -36
  317. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +8 -1
  318. package/src/sap/ui/model/odata/v4/Context.js +36 -21
  319. package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -21
  320. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +7 -25
  321. package/src/sap/ui/model/odata/v4/ODataListBinding.js +208 -74
  322. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +4 -1
  323. package/src/sap/ui/model/odata/v4/ODataModel.js +4 -3
  324. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +42 -28
  325. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  326. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +100 -21
  327. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +1 -1
  328. package/src/sap/ui/model/odata/v4/lib/_Cache.js +99 -64
  329. package/src/sap/ui/model/odata/v4/lib/_Helper.js +75 -2
  330. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -0
  331. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +3 -0
  332. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  333. package/src/sap/ui/model/type/Boolean.js +1 -1
  334. package/src/sap/ui/model/type/Currency.js +1 -1
  335. package/src/sap/ui/model/type/Date.js +15 -1
  336. package/src/sap/ui/model/type/DateInterval.js +15 -1
  337. package/src/sap/ui/model/type/DateTime.js +1 -1
  338. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/FileSize.js +1 -1
  340. package/src/sap/ui/model/type/Float.js +1 -1
  341. package/src/sap/ui/model/type/Integer.js +1 -1
  342. package/src/sap/ui/model/type/String.js +1 -1
  343. package/src/sap/ui/model/type/Time.js +1 -1
  344. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  345. package/src/sap/ui/model/type/Unit.js +1 -1
  346. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  347. package/src/sap/ui/performance/Measurement.js +9 -9
  348. package/src/sap/ui/performance/trace/Interaction.js +50 -4
  349. package/src/sap/ui/performance/trace/initTraces.js +20 -14
  350. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +180 -0
  351. package/src/sap/ui/qunit/qunit-coverage.js +9 -4
  352. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  353. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  354. package/src/sap/ui/test/Opa.js +54 -21
  355. package/src/sap/ui/test/Opa5.js +181 -131
  356. package/src/sap/ui/test/OpaBuilder.js +106 -73
  357. package/src/sap/ui/test/OpaPlugin.js +27 -28
  358. package/src/sap/ui/test/PageObjectFactory.js +17 -7
  359. package/src/sap/ui/test/RecordReplay.js +7 -3
  360. package/src/sap/ui/test/_ParameterValidator.js +3 -3
  361. package/src/sap/ui/test/_UsageReport.js +3 -3
  362. package/src/sap/ui/test/_ValidationParameters.js +8 -10
  363. package/src/sap/ui/test/actions/Action.js +3 -3
  364. package/src/sap/ui/test/actions/EnterText.js +3 -2
  365. package/src/sap/ui/test/actions/Press.js +4 -4
  366. package/src/sap/ui/test/autowaiter/WaiterBase.js +5 -3
  367. package/src/sap/ui/test/autowaiter/_autoWaiter.js +6 -3
  368. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +3 -3
  369. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +3 -3
  370. package/src/sap/ui/test/autowaiter/_fetchWaiter.js +73 -0
  371. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +2 -2
  372. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +4 -4
  373. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +2 -2
  374. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +4 -4
  375. package/src/sap/ui/test/generic/TestBase.js +1 -1
  376. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +3 -1
  377. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +424 -423
  378. package/src/sap/ui/test/gherkin/StepDefinitions.js +160 -158
  379. package/src/sap/ui/test/gherkin/dataTableUtils.js +387 -385
  380. package/src/sap/ui/test/gherkin/opa5TestHarness.js +188 -189
  381. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +74 -71
  382. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +195 -193
  383. package/src/sap/ui/test/launchers/componentLauncher.js +11 -9
  384. package/src/sap/ui/test/launchers/iFrameLauncher.js +34 -20
  385. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  386. package/src/sap/ui/test/matchers/Interactable.js +2 -2
  387. package/src/sap/ui/test/matchers/LabelFor.js +2 -2
  388. package/src/sap/ui/test/matchers/MatcherFactory.js +10 -9
  389. package/src/sap/ui/test/matchers/Properties.js +5 -4
  390. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  391. package/src/sap/ui/test/matchers/matchers.js +35 -3
  392. package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -2
  393. package/src/sap/ui/test/qunitPause.js +3 -2
  394. package/src/sap/ui/test/starter/_configureLoader.js +7 -5
  395. package/src/sap/ui/test/starter/_setupAndStart.js +113 -27
  396. package/src/sap/ui/test/starter/_utils.js +4 -1
  397. package/src/sap/ui/util/Mobile.js +8 -1
  398. package/src/sap/ui/util/Storage.js +1 -1
  399. package/src/ui5loader-autoconfig.js +661 -49
  400. package/src/ui5loader.js +18 -5
@@ -24,6 +24,7 @@ sap.ui.define([
24
24
  */
25
25
  var PageObjectFactory = Ui5Object.extend("sap.ui.test.PageObjectFactory");
26
26
 
27
+ var oPageObjects = {};
27
28
  /**
28
29
  * Creates a set of page objects, each consisting of actions and assertions, and adds them to
29
30
  * the Opa configuration.
@@ -38,19 +39,32 @@ sap.ui.define([
38
39
  * @returns {Object<string,Object>} Map of created page objects
39
40
  */
40
41
  PageObjectFactory.create = function(mPageDefinitions, Opa5) {
41
- var mPageObjects = {};
42
+ var mPageObjects = {},
43
+ sNamespace;
42
44
 
43
45
  for (var sPageObjectName in mPageDefinitions) {
44
46
  if (mPageDefinitions.hasOwnProperty(sPageObjectName) && isEmptyObject(mPageObjects[sPageObjectName])) {
47
+ sNamespace = mPageDefinitions[sPageObjectName].namespace || "sap.ui.test.opa.pageObject";
48
+
49
+ if (oPageObjects[sNamespace] && !isEmptyObject(oPageObjects[sNamespace][sPageObjectName])) {
50
+ Log.error("Opa5 Page Object namespace clash: You have loaded multiple page objects with the same name '" + sNamespace + "."
51
+ + sPageObjectName + "'. " + "To prevent override, specify the namespace parameter.");
52
+ }
45
53
 
46
54
  mPageObjects[sPageObjectName] = PageObjectFactory._createPageObject({
47
55
  name: sPageObjectName,
48
56
  baseClass: mPageDefinitions[sPageObjectName].baseClass || Opa5,
49
- namespace: mPageDefinitions[sPageObjectName].namespace || "sap.ui.test.opa.pageObject",
57
+ namespace: sNamespace,
50
58
  view: _getViewData(mPageDefinitions[sPageObjectName]),
51
59
  actions: mPageDefinitions[sPageObjectName].actions,
52
60
  assertions: mPageDefinitions[sPageObjectName].assertions
53
61
  });
62
+
63
+ if (!oPageObjects[sNamespace]) {
64
+ oPageObjects[sNamespace] = {};
65
+ }
66
+
67
+ oPageObjects[sNamespace][sPageObjectName] = mPageObjects[sPageObjectName];
54
68
  }
55
69
  }
56
70
 
@@ -99,11 +113,7 @@ sap.ui.define([
99
113
  // create class name for an operation object
100
114
  function _createClassName(sNamespace, sPageObjectName, sOperationType) {
101
115
  var sClassName = sNamespace + "." + sPageObjectName + "." + sOperationType;
102
- var oObj = ObjectPath.get(sClassName);
103
- if (oObj){
104
- Log.error("Opa5 Page Object namespace clash: You have loaded multiple page objects with the same name '" + sClassName + "'. " +
105
- "To prevent override, specify the namespace parameter.");
106
- }
116
+
107
117
  return sClassName;
108
118
  }
109
119
 
@@ -150,17 +150,21 @@ sap.ui.define([
150
150
  * To see the interaction details and options, see {@link sap.ui.test.actions}
151
151
  * @param {string} oOptions.enterText Text for the EnterText interaction
152
152
  * @param {string} [oOptions.clearTextFirst=true] Clear existing text before interaction
153
+ * @param {boolean} oOptions.pressEnterKey If ENTER key will be entered after the text
154
+ * @param {boolean} oOptions.keepFocus If the input will remain focused after text is entered
153
155
  * @returns {Promise<undefined|Error>} Promise to be resolved when the interaction is done or rejected if interaction is not possible
154
156
  * @public
155
157
  */
156
158
  RecordReplay.interactWithControl = function (oOptions) {
157
- var sControl = JSON.stringify(oOptions.selector);
159
+ var sControl = JSON.stringify(oOptions.selector),
160
+ oInteraction = oOptions.selector && oOptions.selector.interaction,
161
+ sIdSuffix = (oInteraction && typeof oInteraction === "object") ? oInteraction.idSuffix : "";
158
162
 
159
163
  return new Promise(function (resolve, reject) {
160
164
  var oAction;
161
165
  switch (oOptions.interactionType) {
162
- case RecordReplay.InteractionType.Press: oAction = new Press(); break;
163
- case RecordReplay.InteractionType.EnterText: oAction = new EnterText({text:oOptions.enterText}); break;
166
+ case RecordReplay.InteractionType.Press: oAction = new Press({idSuffix: sIdSuffix}); break;
167
+ case RecordReplay.InteractionType.EnterText: oAction = new EnterText({text:oOptions.enterText, pressEnterKey: oOptions.pressEnterKey, keepFocus: oOptions.keepFocus, idSuffix: sIdSuffix}); break;
164
168
  default: reject(new Error("Could not interact with control " + sControl +
165
169
  ". Unsupported interaction type: " + oOptions.interactionType +
166
170
  " . Supported interaction types are: " + Object.keys(RecordReplay.InteractionType).join(", ")));
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/thirdparty/jquery"
8
- ], function (jQueryDOM) {
7
+ "sap/base/util/isPlainObject"
8
+ ], function (isPlainObject) {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -137,7 +137,7 @@ sap.ui.define([
137
137
  },
138
138
  object: {
139
139
  isValid: function (oValue) {
140
- return jQueryDOM.isPlainObject(oValue);
140
+ return isPlainObject(oValue);
141
141
  },
142
142
  description: "an object"
143
143
  },
@@ -9,7 +9,7 @@ sap.ui.define([
9
9
  "sap/ui/base/Object",
10
10
  "sap/ui/test/_OpaLogger",
11
11
  "sap/ui/thirdparty/jquery"
12
- ], function(Ui5Object, _OpaLogger, jQueryDOM) {
12
+ ], function(Ui5Object, _OpaLogger, jQuery) {
13
13
  "use strict";
14
14
 
15
15
  var DEFAULT_URL = "http://localhost:8090";
@@ -109,7 +109,7 @@ sap.ui.define([
109
109
  },
110
110
  _postSuiteJson: function (sUrlSuffix, oData) {
111
111
  // wait for begin suite request
112
- var oPromise = this._beginSuitePromise || new jQueryDOM.Deferred().resolve().promise();
112
+ var oPromise = this._beginSuitePromise || new jQuery.Deferred().resolve().promise();
113
113
  return oPromise.done(function () {
114
114
  return postJson.call(this, this.baseUrl + this._id + sUrlSuffix, oData);
115
115
  }.bind(this));
@@ -117,7 +117,7 @@ sap.ui.define([
117
117
  });
118
118
 
119
119
  function postJson(sUrl, oData) {
120
- return jQueryDOM.ajax({
120
+ return jQuery.ajax({
121
121
  url: sUrl,
122
122
  type: "XHR_WAITER_IGNORE:POST",
123
123
  data: oData,
@@ -4,9 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/thirdparty/jquery",
8
7
  "sap/ui/test/matchers/matchers"
9
- ], function (jQueryDOM, matchers) {
8
+ ], function (matchers) {
10
9
  "use strict";
11
10
 
12
11
  // options that are merged from Opa config into Opa waitFor
@@ -20,14 +19,14 @@ sap.ui.define([
20
19
  };
21
20
 
22
21
  // all config options that can be used in a generic OPA waitFor statement
23
- var OPA_WAITFOR = jQueryDOM.extend({
22
+ var OPA_WAITFOR = Object.assign({
24
23
  error: "func",
25
24
  check: "func",
26
25
  success: "func"
27
26
  }, OPA_WAITFOR_CONFIG);
28
27
 
29
28
  // options that are merged from Opa5 config into Opa waitFor
30
- var OPA5_WAITFOR_CONFIG = jQueryDOM.extend({
29
+ var OPA5_WAITFOR_CONFIG = Object.assign({
31
30
  visible: "bool",
32
31
  enabled: "bool",
33
32
  editable: "bool",
@@ -39,7 +38,7 @@ sap.ui.define([
39
38
  }, OPA_WAITFOR_CONFIG);
40
39
 
41
40
  // the basic config options that can be used in an OPA5 waitFor statement - superset of OPA options + new options for control search
42
- var OPA5_WAITFOR = jQueryDOM.extend({
41
+ var OPA5_WAITFOR = Object.assign({
43
42
  _stack: "string",
44
43
  matchers: "any",
45
44
  actions: "any",
@@ -49,17 +48,16 @@ sap.ui.define([
49
48
  }, OPA5_WAITFOR_CONFIG, OPA_WAITFOR);
50
49
 
51
50
  // all config options that can be used in an OPA5 waitFor statement - superset of OPA_WAITFOR + all declarative matchers
52
- var OPA5_WAITFOR_WITH_MATCHERS = jQueryDOM.extend({}, OPA5_WAITFOR, _getDeclarativeMatchers());
51
+ var OPA5_WAITFOR_WITH_MATCHERS = Object.assign({}, OPA5_WAITFOR, _getDeclarativeMatchers());
53
52
 
54
- // all config options that can exist in a basic OPA5 waitFor, when control seach starts, including any options added during pre-processing
55
- var OPA5_WAITFOR_DECORATED = jQueryDOM.extend({
53
+ // all config options that can exist in a basic OPA5 waitFor, when control search starts, including any options added during pre-processing
54
+ var OPA5_WAITFOR_DECORATED = Object.assign({
56
55
  sOriginalControlType: "string",
57
56
  interaction: "any"
58
57
  }, OPA5_WAITFOR);
59
58
 
60
59
  function _getDeclarativeMatchers () {
61
- return Object.keys(sap.ui.test.matchers).reduce(function (mResult, sMatcher) {
62
- sMatcher = sMatcher.charAt(0).toLowerCase() + sMatcher.substr(1);
60
+ return Object.keys(matchers).reduce(function (mResult, sMatcher) {
63
61
  mResult[sMatcher] = "any";
64
62
  return mResult;
65
63
  }, {});
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  "sap/ui/test/_OpaLogger",
15
15
  "sap/ui/test/_FocusListener"
16
16
  ],
17
- function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger, _FocusListener) {
17
+ function (ManagedObject, QUnitUtils, Opa5, Device, jQuery, _OpaLogger, _FocusListener) {
18
18
  "use strict";
19
19
 
20
20
  /**
@@ -91,7 +91,7 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger, _Focus
91
91
 
92
92
  if (!$ActionDomRef || !$ActionDomRef.length) {
93
93
  // if no adapter is set or no element is found for it -- fallback to control focus dom ref
94
- $ActionDomRef = jQueryDOM(oControl.getFocusDomRef());
94
+ $ActionDomRef = jQuery(oControl.getFocusDomRef());
95
95
  if (!$ActionDomRef.length) {
96
96
  $ActionDomRef = oControl.$();
97
97
  if (!$ActionDomRef.length) {
@@ -325,7 +325,7 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger, _Focus
325
325
  },
326
326
 
327
327
  _getEventCoordinates: function (oDomRef, oOptions) {
328
- var $domRef = jQueryDOM(oDomRef);
328
+ var $domRef = jQuery(oDomRef);
329
329
  var offset = $domRef.offset();
330
330
  var mCenterCoordinates = {
331
331
  x: offset.left + $domRef.outerWidth() / 2,
@@ -5,11 +5,12 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/util/extend",
8
9
  "sap/ui/base/ManagedObject",
9
10
  "sap/ui/test/actions/Action",
10
11
  "sap/ui/events/KeyCodes",
11
12
  "sap/ui/thirdparty/jquery"
12
- ], function (ManagedObject, Action, KeyCodes, jQueryDOM) {
13
+ ], function (extend, ManagedObject, Action, KeyCodes, jQuery) {
13
14
  "use strict";
14
15
 
15
16
  /**
@@ -87,7 +88,7 @@ sap.ui.define([
87
88
 
88
89
  init: function () {
89
90
  Action.prototype.init.apply(this, arguments);
90
- this.controlAdapters = jQueryDOM.extend(this.controlAdapters, EnterText.controlAdapters);
91
+ this.controlAdapters = extend(this.controlAdapters, EnterText.controlAdapters);
91
92
  },
92
93
 
93
94
  /**
@@ -5,9 +5,9 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/test/actions/Action",
9
- "sap/ui/thirdparty/jquery"
10
- ], function (Action, jQueryDOM) {
8
+ "sap/base/util/extend",
9
+ "sap/ui/test/actions/Action"
10
+ ], function (extend, Action) {
11
11
  "use strict";
12
12
 
13
13
  /**
@@ -86,7 +86,7 @@ sap.ui.define([
86
86
 
87
87
  init: function () {
88
88
  Action.prototype.init.apply(this, arguments);
89
- this.controlAdapters = jQueryDOM.extend(this.controlAdapters, Press.controlAdapters);
89
+ this.controlAdapters = extend(this.controlAdapters, Press.controlAdapters);
90
90
  },
91
91
 
92
92
  /**
@@ -5,11 +5,13 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/util/extend",
9
+ "sap/base/util/isEmptyObject",
8
10
  "sap/ui/base/Object",
9
11
  "sap/ui/test/_OpaLogger",
10
12
  "sap/ui/test/_ParameterValidator",
11
13
  "sap/ui/thirdparty/jquery"
12
- ], function (UI5Object, _OpaLogger, _ParameterValidator, jQueryDOM) {
14
+ ], function (extend, isEmptyObject, UI5Object, _OpaLogger, _ParameterValidator) {
13
15
  "use strict";
14
16
 
15
17
  var WaiterBase = UI5Object.extend("sap.ui.test.autowaiter.WaiterBase", {
@@ -29,12 +31,12 @@ sap.ui.define([
29
31
  return this._mConfig.enabled;
30
32
  },
31
33
  extendConfig: function (oConfig) {
32
- if (!jQueryDOM.isEmptyObject(oConfig)) {
34
+ if (!isEmptyObject(oConfig)) {
33
35
  this._oConfigValidator.validate({
34
36
  inputToValidate: oConfig,
35
37
  validationInfo: this._getValidationInfo()
36
38
  });
37
- jQueryDOM.extend(this._mConfig, oConfig);
39
+ extend(this._mConfig, oConfig);
38
40
  }
39
41
  },
40
42
  _getDefaultConfig: function () {
@@ -5,10 +5,11 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/thirdparty/jquery",
8
+ "sap/base/util/isEmptyObject",
9
9
  "sap/ui/base/Object",
10
10
  "sap/ui/test/_OpaLogger",
11
11
  "sap/ui/test/autowaiter/_XHRWaiter",
12
+ "sap/ui/test/autowaiter/_fetchWaiter",
12
13
  "sap/ui/test/autowaiter/_timeoutWaiter",
13
14
  "sap/ui/test/autowaiter/_promiseWaiter",
14
15
  "sap/ui/test/autowaiter/_navigationContainerWaiter",
@@ -19,10 +20,11 @@ sap.ui.define([
19
20
  "sap/ui/test/autowaiter/_moduleWaiter",
20
21
  "sap/ui/test/autowaiter/_resourceWaiter"
21
22
  ], function(
22
- jQueryDOM,
23
+ isEmptyObject,
23
24
  UI5Object,
24
25
  _OpaLogger,
25
26
  _XHRWaiter,
27
+ _fetchWaiter,
26
28
  _timeoutWaiter,
27
29
  _promiseWaiter,
28
30
  _navigationContainerWaiter,
@@ -65,7 +67,7 @@ sap.ui.define([
65
67
  return result;
66
68
  },
67
69
  extendConfig: function (oConfig) {
68
- if (!jQueryDOM.isEmptyObject(oConfig)) {
70
+ if (!isEmptyObject(oConfig)) {
69
71
  aWaiters.forEach(function (mWaiter) {
70
72
  if (mWaiter.waiter.extendConfig) {
71
73
  mWaiter.waiter.extendConfig(oConfig[mWaiter.name]);
@@ -108,6 +110,7 @@ sap.ui.define([
108
110
  var oAutoWaiter = new AutoWaiter();
109
111
  var mDefaultWaiters = {
110
112
  xhrWaiter: _XHRWaiter,
113
+ fetchWaiter: _fetchWaiter,
111
114
  timeoutWaiter: _timeoutWaiter,
112
115
  promiseWaiter: _promiseWaiter,
113
116
  navigationWaiter: _navigationContainerWaiter,
@@ -8,7 +8,7 @@ sap.ui.define([
8
8
  "./WaiterBase",
9
9
  "./_utils",
10
10
  "sap/ui/thirdparty/jquery"
11
- ], function(WaiterBase, _utils, jQueryDOM) {
11
+ ], function(WaiterBase, _utils, jQuery) {
12
12
  "use strict";
13
13
 
14
14
  var TIMEOUT = 600;
@@ -36,11 +36,11 @@ sap.ui.define([
36
36
  }.bind(this));
37
37
 
38
38
  _utils.onElementAvailable("body", function(oRootDomNode) {
39
- jQueryDOM(oRootDomNode).on("webkitAnimationStart animationstart", function(oEvent) {
39
+ jQuery(oRootDomNode).on("webkitAnimationStart animationstart", function(oEvent) {
40
40
  this._register(oEvent.target, oEvent.originalEvent.type);
41
41
  }.bind(this));
42
42
 
43
- jQueryDOM(oRootDomNode).on("webkitAnimationEnd webkitAnimationCancel animationend animationcancel", function(oEvent) {
43
+ jQuery(oRootDomNode).on("webkitAnimationEnd webkitAnimationCancel animationend animationcancel", function(oEvent) {
44
44
  this._deregister(oEvent.target, oEvent.originalEvent.type);
45
45
  }.bind(this));
46
46
 
@@ -9,7 +9,7 @@ sap.ui.define([
9
9
  "./_utils",
10
10
  "sap/ui/thirdparty/jquery",
11
11
  "sap/base/util/isEmptyObject"
12
- ], function(WaiterBase, _utils, jQueryDOM, isEmptyObject) {
12
+ ], function(WaiterBase, _utils, jQuery, isEmptyObject) {
13
13
  "use strict";
14
14
 
15
15
  var TIMEOUT = 1000;
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  this._oTrackedTransitions = new Map();
21
21
 
22
22
  _utils.onElementAvailable("body", function(oRootDomNode) {
23
- jQueryDOM(oRootDomNode).on("webkitTransitionRun webkitTransitionStart transitionrun transitionstart",
23
+ jQuery(oRootDomNode).on("webkitTransitionRun webkitTransitionStart transitionrun transitionstart",
24
24
  function(oEvent) {
25
25
  this._register({
26
26
  element: oEvent.target,
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  });
30
30
  }.bind(this));
31
31
 
32
- jQueryDOM(oRootDomNode).on("webkitTransitionEnd webkitTransitionCancel transitionend transitioncancel",
32
+ jQuery(oRootDomNode).on("webkitTransitionEnd webkitTransitionCancel transitionend transitioncancel",
33
33
  function(oEvent) {
34
34
  this._deregister({
35
35
  element: oEvent.target,
@@ -0,0 +1,73 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/ui/test/autowaiter/_utils",
9
+ "./WaiterBase"
10
+ ], function (_utils, WaiterBase) {
11
+ "use strict";
12
+
13
+ var aRequests = [];
14
+
15
+ var fetchWaiter = WaiterBase.extend("sap.ui.test.autowaiter._fetchWaiter", {
16
+ hasPending: function () {
17
+ var bHasPendingRequests = aRequests.length > 0;
18
+ if (bHasPendingRequests) {
19
+ logPendingRequests();
20
+ }
21
+ return bHasPendingRequests;
22
+ }
23
+ });
24
+ var oFetchWaiter = new fetchWaiter();
25
+
26
+ // Preserve original fetch API
27
+ var fnOriginalFetch = window.fetch;
28
+
29
+ // Override original fetch API
30
+ window.fetch = function (resource, options) {
31
+ // Request object or URL
32
+ var bIsObjectRequest = typeof resource === "object",
33
+ oNewPendingFetchInfo = {
34
+ url: bIsObjectRequest ? resource.url : resource,
35
+ method: bIsObjectRequest ? resource.method : options && options.method || "GET"
36
+ },
37
+ oFetchLog = createLogForSingleRequest(oNewPendingFetchInfo);
38
+
39
+ aRequests.push(oNewPendingFetchInfo);
40
+
41
+ oFetchWaiter._oLogger.trace("New pending: " + oFetchLog);
42
+
43
+ var response = fnOriginalFetch(resource, options);
44
+ response.then(function (res) {
45
+ oFetchWaiter._oLogger.trace("Finished: " + oFetchLog);
46
+ aRequests.splice(aRequests.indexOf(oNewPendingFetchInfo), 1);
47
+ })
48
+ .catch(function (err) {
49
+ oFetchWaiter._oLogger.trace("Finished with error: " + oFetchLog);
50
+ aRequests.splice(aRequests.indexOf(oNewPendingFetchInfo), 1);
51
+ });
52
+
53
+ return response;
54
+ };
55
+
56
+ function createLogForSingleRequest (oFetchInfo) {
57
+ var sMessage = "\nFetch: ";
58
+ sMessage += "URL: '" + oFetchInfo.url + "' Method: '" + oFetchInfo.method;
59
+
60
+ return sMessage;
61
+ }
62
+
63
+ function logPendingRequests() {
64
+ var sLogMessage = "There are " + (aRequests.length) + " open fetch requests";
65
+ aRequests.forEach(function (oFetch) {
66
+ sLogMessage += createLogForSingleRequest(oFetch);
67
+ });
68
+
69
+ oFetchWaiter._oHasPendingLogger.debug(sLogMessage);
70
+ }
71
+
72
+ return oFetchWaiter;
73
+ }, true);
@@ -8,7 +8,7 @@
8
8
  sap.ui.define([
9
9
  "./WaiterBase",
10
10
  "sap/ui/thirdparty/jquery"
11
- ], function (WaiterBase, jQueryDOM) {
11
+ ], function (WaiterBase, jQuery) {
12
12
  "use strict";
13
13
 
14
14
  var STATE = {
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  },
60
60
  hasPending: function () {
61
61
  var aPendingModules = this._aModules.filter(function (mModule) {
62
- if (!jQueryDOM(mModule.script).length) {
62
+ if (!jQuery(mModule.script).length) {
63
63
  this._oLogger.trace("Script with src '" + mModule.src + "' was removed");
64
64
  return false;
65
65
  }
@@ -5,11 +5,11 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/util/extend",
8
9
  "sap/ui/test/autowaiter/_utils",
9
- "sap/ui/thirdparty/jquery",
10
10
  "sap/ui/test/autowaiter/_timeoutWaiter",
11
11
  "./WaiterBase"
12
- ], function (_utils, jQueryDOM, _timeoutWaiter, WaiterBase) {
12
+ ], function (extend, _utils, _timeoutWaiter, WaiterBase) {
13
13
  "use strict";
14
14
 
15
15
  var aPromises = [];
@@ -34,12 +34,12 @@ sap.ui.define([
34
34
  return aPendingPromises.length > 0;
35
35
  },
36
36
  _getDefaultConfig: function () {
37
- return jQueryDOM.extend({
37
+ return extend({
38
38
  maxDelay: 1000 // milliseconds; should be at least as big as _timeoutWaiter maxDelay
39
39
  }, WaiterBase.prototype._getDefaultConfig.call(this));
40
40
  },
41
41
  _getValidationInfo: function () {
42
- return jQueryDOM.extend({
42
+ return extend({
43
43
  maxDelay: "numeric"
44
44
  }, WaiterBase.prototype._getValidationInfo.call(this));
45
45
  }
@@ -7,7 +7,7 @@ sap.ui.define([
7
7
  "./WaiterBase",
8
8
  "./_utils",
9
9
  "sap/ui/thirdparty/jquery"
10
- ], function (WaiterBase, _utils, jQueryDOM) {
10
+ ], function (WaiterBase, _utils, jQuery) {
11
11
  "use strict";
12
12
 
13
13
  var STATE = {
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  }
64
64
  }.bind(this));
65
65
  var aPendingResources = this._aResources.filter(function (mResource) {
66
- if (!jQueryDOM(mResource.element).length) {
66
+ if (!jQuery(mResource.element).length) {
67
67
  this._oLogger.trace("Image with src '" + mResource.src + "' was removed");
68
68
  return false;
69
69
  }
@@ -5,10 +5,10 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/util/extend",
8
9
  "sap/ui/test/autowaiter/_utils",
9
- "sap/ui/thirdparty/jquery",
10
10
  "./WaiterBase"
11
- ], function(_utils, jQueryDOM, WaiterBase) {
11
+ ], function(extend, _utils, WaiterBase) {
12
12
  "use strict";
13
13
 
14
14
  var mTimeouts = {};
@@ -35,14 +35,14 @@ sap.ui.define([
35
35
  return bHasBlockingTimeouts;
36
36
  },
37
37
  _getDefaultConfig: function () {
38
- return jQueryDOM.extend({
38
+ return extend({
39
39
  maxDepth: 1, // count
40
40
  maxDelay: 1000, // milliseconds
41
41
  minDelay: 10 // milliseconds
42
42
  }, WaiterBase.prototype._getDefaultConfig.call(this));
43
43
  },
44
44
  _getValidationInfo: function () {
45
- return jQueryDOM.extend({
45
+ return extend({
46
46
  maxDepth: "numeric",
47
47
  maxDelay: "numeric",
48
48
  minDelay: "numeric"
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.base.Object
27
27
  * @abstract
28
28
  * @author SAP SE
29
- * @version 1.112.2
29
+ * @version 1.114.0
30
30
  * @since 1.100
31
31
  */
32
32
  return BaseObject.extend("sap.ui.test.generic.TestBase", {
@@ -8,6 +8,8 @@
8
8
  sap.ui.define(["sap/ui/core/Lib"], function(Library) {
9
9
  "use strict";
10
10
 
11
+ var Object_hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
12
+
11
13
  /**
12
14
  * @namespace
13
15
  * @private
@@ -45,7 +47,7 @@ sap.ui.define(["sap/ui/core/Lib"], function(Library) {
45
47
  var oRenderer = ControlClass.getMetadata().getRenderer();
46
48
 
47
49
  if (oRenderer) {
48
- oInfo.version = Object.prototype.hasOwnProperty.call(oRenderer, "apiVersion") ? oRenderer.apiVersion : 1;
50
+ oInfo.version = Object_hasOwn(oRenderer, "apiVersion") ? oRenderer.apiVersion : 1;
49
51
 
50
52
  if (aExcludes.includes(sClass)) {
51
53
  if (oInfo.version == 1) {