@openui5/sap.ui.core 1.96.2 → 1.97.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 (302) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.reuse/dep5 +1 -1
  3. package/THIRDPARTY.txt +2 -1
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +2 -2
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  11. package/src/sap/base/util/restricted/_castArray.js +1 -1
  12. package/src/sap/base/util/restricted/_compact.js +1 -1
  13. package/src/sap/base/util/restricted/_curry.js +1 -1
  14. package/src/sap/base/util/restricted/_debounce.js +1 -1
  15. package/src/sap/base/util/restricted/_difference.js +1 -1
  16. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  21. package/src/sap/base/util/restricted/_flatten.js +1 -1
  22. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_intersection.js +1 -1
  25. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  27. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isNil.js +1 -1
  30. package/src/sap/base/util/restricted/_max.js +1 -1
  31. package/src/sap/base/util/restricted/_merge.js +1 -1
  32. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  33. package/src/sap/base/util/restricted/_min.js +1 -1
  34. package/src/sap/base/util/restricted/_omit.js +1 -1
  35. package/src/sap/base/util/restricted/_pick.js +1 -1
  36. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  37. package/src/sap/base/util/restricted/_throttle.js +1 -1
  38. package/src/sap/base/util/restricted/_toArray.js +1 -1
  39. package/src/sap/base/util/restricted/_union.js +1 -1
  40. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  41. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  42. package/src/sap/base/util/restricted/_uniq.js +1 -1
  43. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  45. package/src/sap/base/util/restricted/_without.js +1 -1
  46. package/src/sap/base/util/restricted/_xor.js +1 -1
  47. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  48. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  49. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  51. package/src/sap/ui/Device.js +4 -4
  52. package/src/sap/ui/Global.js +11 -16
  53. package/src/sap/ui/base/Event.js +1 -1
  54. package/src/sap/ui/base/EventProvider.js +1 -1
  55. package/src/sap/ui/base/Interface.js +1 -1
  56. package/src/sap/ui/base/ManagedObject.js +3 -3
  57. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  58. package/src/sap/ui/base/Metadata.js +1 -3
  59. package/src/sap/ui/base/Object.js +1 -1
  60. package/src/sap/ui/base/ObjectPool.js +1 -1
  61. package/src/sap/ui/core/.library +1 -27
  62. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/Component.js +31 -9
  65. package/src/sap/ui/core/ComponentContainer.js +1 -1
  66. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  67. package/src/sap/ui/core/ComponentSupport.js +1 -1
  68. package/src/sap/ui/core/Control.js +2 -2
  69. package/src/sap/ui/core/Core.js +2 -2
  70. package/src/sap/ui/core/CustomData.js +1 -1
  71. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  72. package/src/sap/ui/core/Element.js +2 -6
  73. package/src/sap/ui/core/ElementMetadata.js +1 -1
  74. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  75. package/src/sap/ui/core/EventBus.js +1 -1
  76. package/src/sap/ui/core/Fragment.js +1 -1
  77. package/src/sap/ui/core/HTML.js +3 -3
  78. package/src/sap/ui/core/History.js +1 -1
  79. package/src/sap/ui/core/Icon.js +1 -1
  80. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  81. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  82. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  83. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  84. package/src/sap/ui/core/InvisibleText.js +1 -1
  85. package/src/sap/ui/core/Item.js +1 -1
  86. package/src/sap/ui/core/LabelEnablement.js +1 -1
  87. package/src/sap/ui/core/LayoutData.js +1 -1
  88. package/src/sap/ui/core/ListItem.js +1 -1
  89. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  90. package/src/sap/ui/core/Locale.js +1 -1
  91. package/src/sap/ui/core/LocaleData.js +3 -3
  92. package/src/sap/ui/core/Manifest.js +1 -1
  93. package/src/sap/ui/core/Message.js +1 -1
  94. package/src/sap/ui/core/RenderManager.js +3 -3
  95. package/src/sap/ui/core/Renderer.js +1 -1
  96. package/src/sap/ui/core/ResizeHandler.js +1 -1
  97. package/src/sap/ui/core/ScrollBar.js +4 -3
  98. package/src/sap/ui/core/SeparatorItem.js +1 -1
  99. package/src/sap/ui/core/ThemeCheck.js +2 -2
  100. package/src/sap/ui/core/Title.js +1 -1
  101. package/src/sap/ui/core/TooltipBase.js +1 -1
  102. package/src/sap/ui/core/UIArea.js +3 -3
  103. package/src/sap/ui/core/UIComponent.js +1 -1
  104. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  105. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  106. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  107. package/src/sap/ui/core/XMLComposite.js +1 -1
  108. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  109. package/src/sap/ui/core/XMLTemplateProcessor.js +19 -5
  110. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
  111. package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
  112. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  113. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  115. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  117. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  118. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  119. package/src/sap/ui/core/library.js +5 -5
  120. package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
  121. package/src/sap/ui/core/message/Message.js +1 -1
  122. package/src/sap/ui/core/message/MessageManager.js +1 -1
  123. package/src/sap/ui/core/message/MessageParser.js +1 -1
  124. package/src/sap/ui/core/message/MessageProcessor.js +22 -12
  125. package/src/sap/ui/core/messagebundle_fr.properties +7 -7
  126. package/src/sap/ui/core/messagebundle_ru.properties +21 -21
  127. package/src/sap/ui/core/mvc/Controller.js +4 -4
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  134. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  137. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  138. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  139. package/src/sap/ui/core/rules/Misc.support.js +51 -1
  140. package/src/sap/ui/core/rules/Rendering.support.js +1 -4
  141. package/src/sap/ui/core/rules/View.support.js +14 -46
  142. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  143. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  144. package/src/sap/ui/core/service/Service.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  146. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  147. package/src/sap/ui/core/support/Plugin.js +2 -2
  148. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
  149. package/src/sap/ui/core/support/Support.js +1 -1
  150. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  151. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  153. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  154. package/src/sap/ui/core/support/plugins/Performance.js +1 -2
  155. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  156. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  158. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  159. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  160. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  161. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  162. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  163. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  164. package/src/sap/ui/core/tmpl/Template.js +1 -1
  165. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  166. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  167. package/src/sap/ui/core/util/Export.js +1 -1
  168. package/src/sap/ui/core/util/ExportCell.js +1 -1
  169. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  170. package/src/sap/ui/core/util/ExportRow.js +1 -1
  171. package/src/sap/ui/core/util/ExportType.js +1 -1
  172. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  173. package/src/sap/ui/core/util/File.js +1 -1
  174. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  175. package/src/sap/ui/core/util/MockServer.js +2 -2
  176. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  177. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +4 -4
  178. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  179. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  180. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  181. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  182. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  183. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  184. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  185. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  186. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  187. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  188. package/src/sap/ui/debug/ControlTree.js +1 -1
  189. package/src/sap/ui/debug/DebugEnv.js +1 -1
  190. package/src/sap/ui/debug/PropertyList.js +1 -1
  191. package/src/sap/ui/model/ChangeReason.js +1 -1
  192. package/src/sap/ui/model/ClientListBinding.js +7 -0
  193. package/src/sap/ui/model/ClientModel.js +6 -5
  194. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  195. package/src/sap/ui/model/CompositeDataState.js +1 -1
  196. package/src/sap/ui/model/CompositeType.js +1 -1
  197. package/src/sap/ui/model/DataState.js +1 -1
  198. package/src/sap/ui/model/ListBinding.js +24 -5
  199. package/src/sap/ui/model/MetaModel.js +1 -1
  200. package/src/sap/ui/model/Model.js +5 -10
  201. package/src/sap/ui/model/SelectionModel.js +1 -1
  202. package/src/sap/ui/model/SimpleType.js +1 -1
  203. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  204. package/src/sap/ui/model/TreeBindingAdapter.js +0 -2
  205. package/src/sap/ui/model/TreeBindingUtils.js +2 -0
  206. package/src/sap/ui/model/Type.js +1 -1
  207. package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -6
  208. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
  209. package/src/sap/ui/model/json/JSONModel.js +7 -7
  210. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  211. package/src/sap/ui/model/message/MessageModel.js +3 -3
  212. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  213. package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
  214. package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
  215. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  216. package/src/sap/ui/model/odata/ODataListBinding.js +61 -38
  217. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  218. package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
  219. package/src/sap/ui/model/odata/ODataMetadata.js +136 -85
  220. package/src/sap/ui/model/odata/ODataModel.js +442 -215
  221. package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
  222. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
  223. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
  224. package/src/sap/ui/model/odata/ODataUtils.js +24 -9
  225. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
  226. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +10 -8
  227. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
  228. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  229. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  230. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  231. package/src/sap/ui/model/odata/type/Date.js +1 -1
  232. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  233. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  234. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  235. package/src/sap/ui/model/odata/type/Decimal.js +5 -1
  236. package/src/sap/ui/model/odata/type/Double.js +1 -1
  237. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int.js +1 -1
  239. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  240. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  241. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  242. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  243. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  244. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  245. package/src/sap/ui/model/odata/type/Single.js +1 -1
  246. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  247. package/src/sap/ui/model/odata/type/String.js +1 -1
  248. package/src/sap/ui/model/odata/type/Time.js +1 -1
  249. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  250. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  251. package/src/sap/ui/model/odata/type/UnitMixin.js +0 -1
  252. package/src/sap/ui/model/odata/v2/Context.js +42 -11
  253. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  254. package/src/sap/ui/model/odata/v2/ODataListBinding.js +205 -88
  255. package/src/sap/ui/model/odata/v2/ODataModel.js +154 -89
  256. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +162 -89
  257. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +52 -2
  258. package/src/sap/ui/model/odata/v4/Context.js +48 -7
  259. package/src/sap/ui/model/odata/v4/ODataBinding.js +55 -24
  260. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +67 -19
  261. package/src/sap/ui/model/odata/v4/ODataListBinding.js +211 -78
  262. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  263. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -1
  264. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +36 -23
  265. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  266. package/src/sap/ui/model/odata/v4/lib/_Cache.js +106 -11
  267. package/src/sap/ui/model/odata/v4/lib/_Helper.js +33 -3
  268. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -2
  269. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  270. package/src/sap/ui/model/type/Boolean.js +1 -1
  271. package/src/sap/ui/model/type/Currency.js +1 -1
  272. package/src/sap/ui/model/type/Date.js +1 -1
  273. package/src/sap/ui/model/type/DateInterval.js +1 -1
  274. package/src/sap/ui/model/type/DateTime.js +1 -1
  275. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  276. package/src/sap/ui/model/type/FileSize.js +1 -1
  277. package/src/sap/ui/model/type/Float.js +1 -1
  278. package/src/sap/ui/model/type/Integer.js +1 -1
  279. package/src/sap/ui/model/type/String.js +1 -1
  280. package/src/sap/ui/model/type/Time.js +1 -1
  281. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  282. package/src/sap/ui/model/type/Unit.js +1 -1
  283. package/src/sap/ui/model/xml/XMLModel.js +5 -5
  284. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  285. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  286. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  287. package/src/sap/ui/test/actions/Action.js +9 -2
  288. package/src/sap/ui/test/actions/Press.js +28 -1
  289. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  290. package/src/sap/ui/util/Mobile.js +28 -39
  291. package/src/sap/ui/util/Storage.js +1 -1
  292. package/src/ui5loader.js +6 -6
  293. package/ui5.yaml +244 -1
  294. package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
  295. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  296. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  297. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  298. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  299. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  300. package/src/sap/ui/thirdparty/flexie.js +0 -1
  301. package/src/sap/ui/thirdparty/unorm.js +0 -1
  302. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -42,6 +42,29 @@ sap.ui.define([
42
42
  var Press = Action.extend("sap.ui.test.actions.Press", /** @lends sap.ui.test.actions.Press.prototype */ {
43
43
 
44
44
  metadata : {
45
+ properties: {
46
+ /**
47
+ * If it is set to <code>true</code>, the Alt Key modifier will be used
48
+ * @since 1.97
49
+ */
50
+ altKey: {
51
+ type: "boolean"
52
+ },
53
+ /**
54
+ * If it is set to <code>true</code>, the Shift Key modifier will be used
55
+ * @since 1.97
56
+ */
57
+ shiftKey: {
58
+ type: "boolean"
59
+ },
60
+ /**
61
+ * If it is set to <code>true</code>, the Control Key modifier will be used
62
+ * @since 1.97
63
+ */
64
+ ctrlKey: {
65
+ type: "boolean"
66
+ }
67
+ },
45
68
  publicMethods : [ "executeOn" ]
46
69
  },
47
70
 
@@ -62,6 +85,10 @@ sap.ui.define([
62
85
  var $ActionDomRef = this.$(oControl),
63
86
  oActionDomRef = $ActionDomRef[0];
64
87
 
88
+ var bAltKey = this.getAltKey();
89
+ var bCtrlKey = this.getCtrlKey();
90
+ var bShiftKey = this.getShiftKey();
91
+
65
92
  if ($ActionDomRef.length) {
66
93
  this.oLogger.timestamp("opa.actions.press");
67
94
  this.oLogger.debug("Pressed the control " + oControl);
@@ -72,7 +99,7 @@ sap.ui.define([
72
99
  this._createAndDispatchMouseEvent("mousedown", oActionDomRef);
73
100
  this.getUtils().triggerEvent("selectstart", oActionDomRef);
74
101
  this._createAndDispatchMouseEvent("mouseup", oActionDomRef);
75
- this._createAndDispatchMouseEvent("click", oActionDomRef);
102
+ this._createAndDispatchMouseEvent("click", oActionDomRef, bShiftKey, bAltKey, bCtrlKey);
76
103
  //Focusout simulation removed in order to fix Press action behavior
77
104
  //since in real scenario manual press action does not fire focusout event
78
105
  }
@@ -0,0 +1,111 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ /* global QUnit */
8
+ sap.ui.define([], function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * @namespace
13
+ * @private
14
+ * @ui5-restricted Only for DIST layer libraries
15
+ */
16
+ var _EnforceSemanticRendering = {
17
+ /**
18
+ * @param {object} mLibInfo Info object containing the library name and an array with excludes
19
+ * @param {string} mLibInfo.library The library name in dot notation, e.g. "sap.ui.core"
20
+ * @param {string[]} mLibInfo.exlcudes An array of control names in dot notation, which are NOT migrated and should be excluded from the test
21
+ * @returns {Promise<undefined>} Returns resovled Promise after all tests are executed
22
+ *
23
+ * @private
24
+ * @ui5-restricted Only for DIST layer libraries
25
+ */
26
+ run : function(mLibInfo) {
27
+ var sLib = mLibInfo.library;
28
+ var aExcludes = mLibInfo.excludes || [];
29
+
30
+ return new Promise(function(res, rej) {
31
+ sap.ui.getCore().loadLibrary(sLib, { async: true }).then(function(library) {
32
+ var aControls = (library && library.controls) || [];
33
+ var aPromises = [];
34
+
35
+ aControls.forEach(function(sClass) {
36
+ // Generate QUnit test for all controls
37
+ aPromises.push(new Promise(function(res, rej) {
38
+ var oInfo = {
39
+ control: sClass
40
+ };
41
+
42
+ var sControlClass = sClass.replace(/\./g, "/");
43
+ sap.ui.require([sControlClass], function(ControlClass) {
44
+ try {
45
+ var oRenderer = ControlClass.getMetadata().getRenderer();
46
+
47
+ if (oRenderer) {
48
+ oInfo.version = Object.prototype.hasOwnProperty.call(oRenderer, "apiVersion") ? oRenderer.apiVersion : 1;
49
+
50
+ if (aExcludes.includes(sClass)) {
51
+ if (oInfo.version == 2) {
52
+ oInfo.wrongExclude = true;
53
+ oInfo.description = "defined in the excludes";
54
+ } else { // version 1
55
+ oInfo.skip = true;
56
+ }
57
+ }
58
+ } else {
59
+ oInfo.description = "No Renderer Class available";
60
+ oInfo.skip = true;
61
+ }
62
+
63
+ } catch (e) {
64
+ oInfo.description = "No Renderer Class available";
65
+ oInfo.skip = true;
66
+ }
67
+
68
+ res(oInfo);
69
+ }, function() {
70
+ oInfo.description = "Control Class could not be loaded";
71
+
72
+ if (aExcludes.includes(sClass)) {
73
+ oInfo.skip = true;
74
+ } // else don't skip if control class is not maintained in excludes
75
+
76
+ res(oInfo);
77
+ });
78
+ }));
79
+ });
80
+
81
+ res(aPromises);
82
+ });
83
+ }).then(function(aPromises) {
84
+ // Add tests
85
+ return new Promise(function(res, rej) {
86
+ Promise.all(aPromises).then(function(aInfo) {
87
+ QUnit.module("EnforceSemanticRendering Tests: " + mLibInfo.library);
88
+
89
+ QUnit.test("library controls loaded", function(assert) {
90
+ assert.ok(aInfo, aInfo.length + " controls loaded");
91
+ });
92
+
93
+ aInfo.forEach(function(oInfo) {
94
+ QUnit[oInfo.skip ? "skip" : "test"](oInfo.control + " " + (oInfo.description || ""), function(assert) {
95
+ if (oInfo.wrongExclude) {
96
+ assert.ok(false, "The control '" + oInfo.control + "' is maintained in the exclude configuration, but its renderer is configured with apiVersion 2.");
97
+ } else {
98
+ assert.equal(oInfo.version, 2, "Semantic Rendering enabled.");
99
+ }
100
+ });
101
+ });
102
+
103
+ res();
104
+ });
105
+ });
106
+ });
107
+ }
108
+ };
109
+
110
+ return _EnforceSemanticRendering;
111
+ });
@@ -89,7 +89,8 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
89
89
  }, options);
90
90
 
91
91
  // en-/disable automatic link generation for phone numbers
92
- if (Device.os.ios && options.preventPhoneNumberDetection) {
92
+ if (options.preventPhoneNumberDetection) {
93
+ // iOS specific meta tag
93
94
  $head.append(jQuery('<meta name="format-detection" content="telephone=no">')); // this only works
94
95
  // for all DOM
95
96
  // created
@@ -111,31 +112,13 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
111
112
  }
112
113
  }
113
114
 
114
-
115
- if (options.mobileWebAppCapable === "default") {
116
- if (Device.os.ios) {
117
- // keep the old behavior for compatibility
118
- // enable fullscreen mode only when runs on iOS devices
119
- $head.append(jQuery('<meta name="apple-mobile-web-app-capable" content="yes">')); // since iOS
120
- // 2.1
121
- }
122
- }
123
-
124
- if (Device.os.ios) {
125
- // set the status bar style on Apple devices
126
- $head.append(jQuery('<meta name="apple-mobile-web-app-status-bar-style" content="' + options.statusBar + '">')); // "default" or "black" or "black-translucent", since iOS 2.1
127
-
128
- // splash screen
129
- //<link rel="apple-touch-startup-image" href="/startup.png">
130
- }
131
-
132
115
  if (options.useFullScreenHeight) {
133
116
  jQuery(function() {
134
117
  document.documentElement.style.height = "100%"; // set html root tag to 100% height
135
118
  });
136
119
  }
137
120
 
138
- if (options.preventScroll && Device.os.ios) {
121
+ if (options.preventScroll && (Device.os.ios || (Device.os.mac && Device.browser.mobile))) {
139
122
  jQuery(function() {
140
123
  document.documentElement.style.position = "fixed";
141
124
  document.documentElement.style.overflow = "hidden";
@@ -145,27 +128,29 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
145
128
  }
146
129
  }
147
130
 
148
- if (options && options.homeIcon) {
149
- var oIcons;
131
+ if (options) {
132
+ if (options.homeIcon) {
133
+ var oIcons;
150
134
 
151
- if (typeof options.homeIcon === "string") {
152
- oIcons = {
153
- phone: options.homeIcon,
154
- favicon: options.homeIcon
155
- };
156
- } else {
157
- oIcons = jQuery.extend({}, options.homeIcon);
158
- oIcons.phone = options.homeIcon.phone || options.homeIcon.icon || oIcons.favicon;
159
- oIcons.favicon = oIcons.favicon || options.homeIcon.icon || options.homeIcon.phone;
160
- oIcons.icon = undefined;
161
- }
135
+ if (typeof options.homeIcon === "string") {
136
+ oIcons = {
137
+ phone: options.homeIcon,
138
+ favicon: options.homeIcon
139
+ };
140
+ } else {
141
+ oIcons = jQuery.extend({}, options.homeIcon);
142
+ oIcons.phone = options.homeIcon.phone || options.homeIcon.icon || oIcons.favicon;
143
+ oIcons.favicon = oIcons.favicon || options.homeIcon.icon || options.homeIcon.phone;
144
+ oIcons.icon = undefined;
145
+ }
162
146
 
163
- oIcons.precomposed = options.homeIconPrecomposed || oIcons.precomposed;
164
- Mobile.setIcons(oIcons);
165
- }
147
+ oIcons.precomposed = options.homeIconPrecomposed || oIcons.precomposed;
148
+ Mobile.setIcons(oIcons);
149
+ }
166
150
 
167
- if (options && options.mobileWebAppCapable !== "default") {
168
- Mobile.setWebAppCapable(options.mobileWebAppCapable);
151
+ if (options.hasOwnProperty("mobileWebAppCapable")) {
152
+ Mobile.setWebAppCapable(options.mobileWebAppCapable, options.statusBar);
153
+ }
169
154
  }
170
155
  };
171
156
 
@@ -286,7 +271,7 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
286
271
  * @static
287
272
  * @public
288
273
  */
289
- Mobile.setWebAppCapable = function(bValue) {
274
+ Mobile.setWebAppCapable = function(bValue, sAppleStatusBarStyle) {
290
275
  if (!Device.system.tablet && !Device.system.phone) {
291
276
  return;
292
277
  }
@@ -304,6 +289,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
304
289
  $WebAppMeta.attr("content", sContent);
305
290
  } else {
306
291
  $Head.append(jQuery('<meta name="' + sName + '" content="' + sContent + '">'));
292
+ if (aPrefixes[i] === "apple") {
293
+ // iOS specific meta tag should be added only first time the corresponding apple-mobile-web-app-capable is added
294
+ $Head.append(jQuery('<meta name="apple-mobile-web-app-status-bar-style" content="' + (sAppleStatusBarStyle ? sAppleStatusBarStyle : 'default') + '">'));
295
+ }
307
296
  }
308
297
  }
309
298
  };
@@ -250,7 +250,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
250
250
  *
251
251
  * @enum {string}
252
252
  * @public
253
- * @version 1.96.2
253
+ * @version 1.97.0
254
254
  */
255
255
  Storage.Type = {
256
256
  /**
package/src/ui5loader.js CHANGED
@@ -212,8 +212,8 @@
212
212
  * A map of URL prefixes keyed by the corresponding module name prefix.
213
213
  *
214
214
  * Note that the empty prefix ('') will always match and thus serves as a fallback.
215
- * @type {Object.<string,{url:string,absoluteUrl:string}>}
216
- * @see jQuery.sap.registerModulePath
215
+ * See {@link sap.ui.loader.config}, option <code>paths</code>.
216
+ * @type {Object.<string,{url:string,absoluteUrl:string}>}.
217
217
  * @private
218
218
  */
219
219
  var mUrlPrefixes = Object.create(null);
@@ -3122,10 +3122,10 @@
3122
3122
  * While a module is executing, a value of <code>undefined</code> will be returned in case it is required again during
3123
3123
  * that period of time (e.g. in case of cyclic dependencies).
3124
3124
  *
3125
- * <b>Note:</b> Applications are strongly encouraged to use this method only when synchronous loading is unavoidable.
3126
- * Any code that uses this method won't benefit from future performance improvements that require asynchronous
3127
- * module loading (e.g. HTTP/2). And such code never can comply with stronger content security policies (CSPs)
3128
- * that forbid 'eval'.
3125
+ * <b>Note:</b> the scope of this method is limited to the sap.ui.core library. Callers are strongly encouraged to use
3126
+ * this method only when synchronous loading is unavoidable. Any code that uses this method won't benefit from future
3127
+ * performance improvements that require asynchronous module loading (e.g. HTTP/2). And such code never can comply with
3128
+ * a content security policies (CSP) that forbids 'eval'.
3129
3129
  *
3130
3130
  * @param {string} sModuleName Module name in requireJS syntax
3131
3131
  * @returns {any} value of the loaded module or undefined
package/ui5.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- specVersion: "2.0"
2
+ specVersion: "2.4"
3
3
  type: library
4
4
  metadata:
5
5
  name: sap.ui.core
@@ -11,6 +11,249 @@ resources:
11
11
  configuration:
12
12
  propertiesFileSourceEncoding: ISO-8859-1
13
13
  builder:
14
+ bundles:
15
+ - bundleDefinition:
16
+ name: jquery-sap.js
17
+ sections:
18
+ - mode: provided
19
+ filters:
20
+ - jquery-ui-core.js
21
+ - jquery-ui-datepicker.js
22
+ - jquery-ui-position.js
23
+ - sap/ui/thirdparty/jquery.js
24
+ - sap/ui/thirdparty/jquery/
25
+ - sap/ui/thirdparty/jqueryui/
26
+ - mode: raw
27
+ filters:
28
+ - ui5loader-autoconfig.js
29
+ declareRawModules: false
30
+ resolve: true
31
+ sort: true
32
+ - mode: preload
33
+ name: jquery-sap-preload
34
+ filters:
35
+ - jquery.sap.dom.js
36
+ - jquery.sap.events.js
37
+ - jquery.sap.global.js
38
+ - jquery.sap.keycodes.js
39
+ - jquery.sap.mobile.js
40
+ - jquery.sap.properties.js
41
+ - jquery.sap.resources.js
42
+ - jquery.sap.script.js
43
+ - jquery.sap.sjax.js
44
+ - jquery.sap.encoder.js
45
+ - jquery.sap.strings.js
46
+ - jquery.sap.xml.js
47
+ resolve: false
48
+ - mode: require
49
+ filters:
50
+ - jquery.sap.dom.js
51
+ - jquery.sap.events.js
52
+ - jquery.sap.global.js
53
+ - jquery.sap.keycodes.js
54
+ - jquery.sap.mobile.js
55
+ - jquery.sap.properties.js
56
+ - jquery.sap.resources.js
57
+ - jquery.sap.script.js
58
+ - jquery.sap.sjax.js
59
+ - jquery.sap.encoder.js
60
+ - jquery.sap.strings.js
61
+ - jquery.sap.xml.js
62
+ bundleOptions:
63
+ optimize: true
64
+ usePredefineCalls: true
65
+ - bundleDefinition:
66
+ name: sap-ui-core.js
67
+ sections:
68
+ - mode: raw
69
+ filters:
70
+ - ui5loader-autoconfig.js
71
+ declareRawModules: false
72
+ resolve: true
73
+ sort: true
74
+ - mode: preload
75
+ name: sap-ui-core-preload
76
+ filters:
77
+ - sap/ui/core/Core.js
78
+ resolve: true
79
+ - mode: require
80
+ filters:
81
+ - sap/ui/core/Core.js
82
+ bundleOptions:
83
+ optimize: true
84
+ usePredefineCalls: true
85
+ decorateBootstrapModule: true
86
+ addTryCatchRestartWrapper: true
87
+ - bundleDefinition:
88
+ name: sap-ui-core-dbg.js
89
+ sections:
90
+ - mode: raw
91
+ filters:
92
+ - ui5loader-autoconfig.js
93
+ declareRawModules: false
94
+ resolve: true
95
+ sort: true
96
+ - mode: require
97
+ filters:
98
+ - sap/ui/core/Core.js
99
+ bundleOptions:
100
+ optimize: false
101
+ usePredefineCalls: true
102
+ - bundleDefinition:
103
+ name: sap-ui-core-nojQuery.js
104
+ sections:
105
+ - mode: provided
106
+ filters:
107
+ - jquery-ui-core.js
108
+ - jquery-ui-datepicker.js
109
+ - jquery-ui-position.js
110
+ - sap/ui/thirdparty/jquery.js
111
+ - sap/ui/thirdparty/jquery/
112
+ - sap/ui/thirdparty/jqueryui/
113
+ - mode: raw
114
+ filters:
115
+ - ui5loader-autoconfig.js
116
+ declareRawModules: false
117
+ resolve: true
118
+ sort: true
119
+ - mode: preload
120
+ name: sap-ui-core-preload
121
+ filters:
122
+ - sap/ui/core/Core.js
123
+ resolve: true
124
+ - mode: require
125
+ filters:
126
+ - sap/ui/core/Core.js
127
+ bundleOptions:
128
+ optimize: true
129
+ usePredefineCalls: true
130
+ decorateBootstrapModule: true
131
+ addTryCatchRestartWrapper: true
132
+ - bundleDefinition:
133
+ name: sap-ui-core-nojQuery-dbg.js
134
+ sections:
135
+ - mode: provided
136
+ filters:
137
+ - jquery-ui-core.js
138
+ - jquery-ui-datepicker.js
139
+ - jquery-ui-position.js
140
+ - sap/ui/thirdparty/jquery.js
141
+ - sap/ui/thirdparty/jquery/
142
+ - sap/ui/thirdparty/jqueryui/
143
+ - mode: raw
144
+ filters:
145
+ - ui5loader-autoconfig.js
146
+ declareRawModules: false
147
+ resolve: true
148
+ sort: true
149
+ - mode: require
150
+ filters:
151
+ - sap/ui/core/Core.js
152
+ bundleOptions:
153
+ optimize: false
154
+ usePredefineCalls: true
155
+ - bundleDefinition:
156
+ name: sap-ui-core-lean.js
157
+ sections:
158
+ - mode: raw
159
+ filters:
160
+ - ui5loader-autoconfig.js
161
+ declareRawModules: false
162
+ resolve: true
163
+ sort: true
164
+ - mode: require
165
+ filters:
166
+ - sap/ui/core/Core.js
167
+ bundleOptions:
168
+ optimize: true
169
+ usePredefineCalls: true
170
+ - bundleDefinition:
171
+ name: sap-ui-debug.js
172
+ sections:
173
+ - mode: preload
174
+ name: sap-ui-debug-preload
175
+ filters:
176
+ - sap/ui/debug/DebugEnv.js
177
+ - sap/ui/debug/ControlTree.js
178
+ - sap/ui/debug/LogViewer.js
179
+ - sap/ui/debug/PropertyList.js
180
+ - sap/ui/debug/Highlighter.js
181
+ resolve: false
182
+ - mode: require
183
+ filters:
184
+ - sap/ui/debug/DebugEnv.js
185
+ bundleOptions:
186
+ optimize: true
187
+ usePredefineCalls: true
188
+ - bundleDefinition:
189
+ name: sap-ui-testenv.js
190
+ sections:
191
+ - mode: preload
192
+ name: sap-ui-debug-preload
193
+ filters:
194
+ - sap/ui/test/TestEnv.js
195
+ - sap/ui/test/ControlTree.js
196
+ - sap/ui/debug/Highlighter.js
197
+ - jquery.sap.strings
198
+ resolve: false
199
+ - mode: require
200
+ filters:
201
+ - sap/ui/test/TestEnv.js
202
+ bundleOptions:
203
+ optimize: true
204
+ usePredefineCalls: true
205
+ - bundleDefinition:
206
+ name: sap/ui/test/starter/runTest.js
207
+ sections:
208
+ - mode: raw
209
+ filters:
210
+ - sap/ui/test/starter/_configureLoader.js
211
+ declareRawModules: false
212
+ resolve: true
213
+ sort: true
214
+ - mode: raw
215
+ filters:
216
+ - ui5loader-autoconfig.js
217
+ declareRawModules: false
218
+ resolve: true
219
+ sort: true
220
+ - mode: preload
221
+ name: runTest-preload
222
+ filters:
223
+ - sap/ui/test/starter/_setupAndStart.js
224
+ - sap/ui/thirdparty/qunit*
225
+ - sap/ui/thirdparty/sinon*
226
+ - sap/ui/core/Core.js
227
+ resolve: true
228
+ - mode: require
229
+ filters:
230
+ - sap/ui/test/starter/_setupAndStart.js
231
+ bundleOptions:
232
+ optimize: true
233
+ usePredefineCalls: true
234
+ decorateBootstrapModule: true
235
+ addTryCatchRestartWrapper: true
236
+ - bundleDefinition:
237
+ name: sap/ui/test/starter/runTest-dbg.js
238
+ sections:
239
+ - mode: raw
240
+ filters:
241
+ - sap/ui/test/starter/_configureLoader.js
242
+ declareRawModules: false
243
+ resolve: true
244
+ sort: true
245
+ - mode: raw
246
+ filters:
247
+ - ui5loader-autoconfig.js
248
+ declareRawModules: false
249
+ resolve: true
250
+ sort: true
251
+ - mode: require
252
+ filters:
253
+ - sap/ui/test/starter/_setupAndStart.js
254
+ bundleOptions:
255
+ optimize: false
256
+ usePredefineCalls: true
14
257
  jsdoc:
15
258
  excludes:
16
259
  - "jquery-*"
@@ -1,47 +0,0 @@
1
- /*!
2
- * OpenUI5
3
- * (c) Copyright 2009-2021 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(['sap/base/Log'], function(Log) {
8
- "use strict";
9
-
10
- Log.error(
11
- "Since UI5 version 1.95, the private module 'sap/ui/core/CustomizingConfiguration' is functionally inactive. " +
12
- "Please be aware that this module has always been a private API and any monkey patching on this module will have no further effect. " +
13
- "You must remove the dependency to this file as this module will be removed in one of the following versions of UI5."
14
- );
15
-
16
- /**
17
- * For now this module only exists for compatibility reasons.
18
- *
19
- * Since UI5 version 1.92 the majority of the CustomizingConfiguration
20
- * has been replaced with direct look-ups into the respective Components' manifests.
21
- * The last usages for "sap.ui.viewExtensions" have been removed with 1.95.
22
- *
23
- * Any existing monkey patches of the internal functions have no further effect.
24
- *
25
- * While this module has always been private, some applications have modeled a dependency nonetheless.
26
- * For now, we have decided not to forcefully break these dependencies, but to keep this
27
- * as an empty module with the above error logging.
28
- *
29
- * This empty module will be removed in future versions.
30
- */
31
- var CustomizingConfiguration = {
32
- log: function() {},
33
- activateForComponent: function() {},
34
- deactivateForComponent: function() {},
35
- activateForComponentInstance: function() {},
36
- deactivateForComponentInstance: function() {},
37
- getViewReplacement: function() {},
38
- getViewExtension: function() {},
39
- getControllerExtension: function() {},
40
- getControllerReplacement: function() {},
41
- getCustomProperties: function() {},
42
- hasCustomProperties: function() {}
43
- };
44
-
45
- return CustomizingConfiguration;
46
-
47
- }, /* bExport= */ true);
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console
@@ -1 +0,0 @@
1
- console.error("All browsers supported by UI5 provide this functionality natively. The loading of this script is not necessary. You should remove the dependency to this file as it will be removed in one of the following versions of UI5."); // eslint-disable-line no-console