@openui5/sap.ui.core 1.101.0 → 1.103.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 (405) hide show
  1. package/.eslintrc.json +26 -5
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +2 -2
  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/assert.js +1 -1
  10. package/src/sap/base/i18n/ResourceBundle.js +2 -2
  11. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  12. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  13. package/src/sap/base/util/restricted/_castArray.js +1 -1
  14. package/src/sap/base/util/restricted/_compact.js +1 -1
  15. package/src/sap/base/util/restricted/_curry.js +1 -1
  16. package/src/sap/base/util/restricted/_debounce.js +1 -1
  17. package/src/sap/base/util/restricted/_difference.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_flatten.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_intersection.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isNil.js +1 -1
  32. package/src/sap/base/util/restricted/_max.js +1 -1
  33. package/src/sap/base/util/restricted/_merge.js +1 -1
  34. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  35. package/src/sap/base/util/restricted/_min.js +1 -1
  36. package/src/sap/base/util/restricted/_omit.js +1 -1
  37. package/src/sap/base/util/restricted/_pick.js +1 -1
  38. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  39. package/src/sap/base/util/restricted/_throttle.js +1 -1
  40. package/src/sap/base/util/restricted/_toArray.js +1 -1
  41. package/src/sap/base/util/restricted/_union.js +1 -1
  42. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  43. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  44. package/src/sap/base/util/restricted/_uniq.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  47. package/src/sap/base/util/restricted/_without.js +1 -1
  48. package/src/sap/base/util/restricted/_xor.js +1 -1
  49. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  50. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  53. package/src/sap/ui/Device.js +9 -3
  54. package/src/sap/ui/Global.js +4 -4
  55. package/src/sap/ui/VersionInfo.js +12 -6
  56. package/src/sap/ui/base/Event.js +1 -1
  57. package/src/sap/ui/base/EventProvider.js +2 -2
  58. package/src/sap/ui/base/ExpressionParser.js +2 -2
  59. package/src/sap/ui/base/Interface.js +1 -1
  60. package/src/sap/ui/base/ManagedObject.js +10 -8
  61. package/src/sap/ui/base/ManagedObjectMetadata.js +21 -8
  62. package/src/sap/ui/base/Metadata.js +1 -1
  63. package/src/sap/ui/base/Object.js +1 -1
  64. package/src/sap/ui/base/ObjectPool.js +1 -1
  65. package/src/sap/ui/base/SyncPromise.js +2 -0
  66. package/src/sap/ui/core/.library +2 -89
  67. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  68. package/src/sap/ui/core/BusyIndicator.js +1 -1
  69. package/src/sap/ui/core/CommandExecution.js +15 -12
  70. package/src/sap/ui/core/Component.js +34 -15
  71. package/src/sap/ui/core/ComponentContainer.js +1 -1
  72. package/src/sap/ui/core/ComponentMetadata.js +27 -12
  73. package/src/sap/ui/core/ComponentSupport.js +1 -1
  74. package/src/sap/ui/core/Configuration.js +23 -9
  75. package/src/sap/ui/core/Control.js +3 -4
  76. package/src/sap/ui/core/Core.js +102 -34
  77. package/src/sap/ui/core/CustomData.js +1 -1
  78. package/src/sap/ui/core/DeclarativeSupport.js +10 -9
  79. package/src/sap/ui/core/Element.js +12 -11
  80. package/src/sap/ui/core/ElementMetadata.js +1 -1
  81. package/src/sap/ui/core/EnabledPropagator.js +4 -2
  82. package/src/sap/ui/core/EventBus.js +1 -1
  83. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  84. package/src/sap/ui/core/FocusHandler.js +4 -5
  85. package/src/sap/ui/core/Fragment.js +17 -14
  86. package/src/sap/ui/core/HTML.js +2 -2
  87. package/src/sap/ui/core/History.js +1 -1
  88. package/src/sap/ui/core/Icon.js +7 -7
  89. package/src/sap/ui/core/IconPool.js +1 -3
  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 +1 -1
  97. package/src/sap/ui/core/LayoutData.js +1 -1
  98. package/src/sap/ui/core/ListItem.js +1 -1
  99. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  100. package/src/sap/ui/core/Locale.js +28 -4
  101. package/src/sap/ui/core/LocaleData.js +119 -1
  102. package/src/sap/ui/core/Manifest.js +1 -1
  103. package/src/sap/ui/core/Message.js +1 -1
  104. package/src/sap/ui/core/Popup.js +16 -16
  105. package/src/sap/ui/core/RenderManager.js +1 -1
  106. package/src/sap/ui/core/Renderer.js +1 -1
  107. package/src/sap/ui/core/ResizeHandler.js +1 -1
  108. package/src/sap/ui/core/ScrollBar.js +21 -15
  109. package/src/sap/ui/core/SeparatorItem.js +1 -1
  110. package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
  111. package/src/sap/ui/core/ThemeCheck.js +7 -7
  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 +5 -6
  115. package/src/sap/ui/core/UIComponent.js +2 -2
  116. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  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 +515 -392
  122. package/src/sap/ui/core/cache/CacheManager.js +27 -0
  123. package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
  124. package/src/sap/ui/core/cache/LRUPersistentCache.js +75 -3
  125. package/src/sap/ui/core/cldr/ar.json +469 -1
  126. package/src/sap/ui/core/cldr/ar_EG.json +469 -1
  127. package/src/sap/ui/core/cldr/ar_SA.json +469 -1
  128. package/src/sap/ui/core/cldr/bg.json +469 -1
  129. package/src/sap/ui/core/cldr/ca.json +469 -1
  130. package/src/sap/ui/core/cldr/cs.json +469 -1
  131. package/src/sap/ui/core/cldr/cy.json +469 -1
  132. package/src/sap/ui/core/cldr/da.json +469 -1
  133. package/src/sap/ui/core/cldr/de.json +469 -1
  134. package/src/sap/ui/core/cldr/de_AT.json +469 -1
  135. package/src/sap/ui/core/cldr/de_CH.json +469 -1
  136. package/src/sap/ui/core/cldr/el.json +469 -1
  137. package/src/sap/ui/core/cldr/el_CY.json +469 -1
  138. package/src/sap/ui/core/cldr/en.json +469 -1
  139. package/src/sap/ui/core/cldr/en_AU.json +469 -1
  140. package/src/sap/ui/core/cldr/en_GB.json +469 -1
  141. package/src/sap/ui/core/cldr/en_HK.json +469 -1
  142. package/src/sap/ui/core/cldr/en_IE.json +469 -1
  143. package/src/sap/ui/core/cldr/en_IN.json +469 -1
  144. package/src/sap/ui/core/cldr/en_NZ.json +469 -1
  145. package/src/sap/ui/core/cldr/en_PG.json +469 -1
  146. package/src/sap/ui/core/cldr/en_SG.json +469 -1
  147. package/src/sap/ui/core/cldr/en_ZA.json +469 -1
  148. package/src/sap/ui/core/cldr/es.json +469 -1
  149. package/src/sap/ui/core/cldr/es_AR.json +469 -1
  150. package/src/sap/ui/core/cldr/es_BO.json +469 -1
  151. package/src/sap/ui/core/cldr/es_CL.json +469 -1
  152. package/src/sap/ui/core/cldr/es_CO.json +469 -1
  153. package/src/sap/ui/core/cldr/es_MX.json +469 -1
  154. package/src/sap/ui/core/cldr/es_PE.json +469 -1
  155. package/src/sap/ui/core/cldr/es_UY.json +469 -1
  156. package/src/sap/ui/core/cldr/es_VE.json +469 -1
  157. package/src/sap/ui/core/cldr/et.json +469 -1
  158. package/src/sap/ui/core/cldr/fa.json +469 -1
  159. package/src/sap/ui/core/cldr/fi.json +469 -1
  160. package/src/sap/ui/core/cldr/fr.json +469 -1
  161. package/src/sap/ui/core/cldr/fr_BE.json +469 -1
  162. package/src/sap/ui/core/cldr/fr_CA.json +469 -1
  163. package/src/sap/ui/core/cldr/fr_CH.json +469 -1
  164. package/src/sap/ui/core/cldr/fr_LU.json +469 -1
  165. package/src/sap/ui/core/cldr/he.json +469 -1
  166. package/src/sap/ui/core/cldr/hi.json +469 -1
  167. package/src/sap/ui/core/cldr/hr.json +469 -1
  168. package/src/sap/ui/core/cldr/hu.json +469 -1
  169. package/src/sap/ui/core/cldr/id.json +469 -1
  170. package/src/sap/ui/core/cldr/it.json +469 -1
  171. package/src/sap/ui/core/cldr/it_CH.json +469 -1
  172. package/src/sap/ui/core/cldr/ja.json +469 -1
  173. package/src/sap/ui/core/cldr/kk.json +469 -1
  174. package/src/sap/ui/core/cldr/ko.json +469 -1
  175. package/src/sap/ui/core/cldr/lt.json +469 -1
  176. package/src/sap/ui/core/cldr/lv.json +469 -1
  177. package/src/sap/ui/core/cldr/ms.json +469 -1
  178. package/src/sap/ui/core/cldr/nb.json +469 -1
  179. package/src/sap/ui/core/cldr/nl.json +469 -1
  180. package/src/sap/ui/core/cldr/nl_BE.json +469 -1
  181. package/src/sap/ui/core/cldr/pl.json +469 -1
  182. package/src/sap/ui/core/cldr/pt.json +469 -1
  183. package/src/sap/ui/core/cldr/pt_PT.json +469 -1
  184. package/src/sap/ui/core/cldr/ro.json +469 -1
  185. package/src/sap/ui/core/cldr/ru.json +469 -1
  186. package/src/sap/ui/core/cldr/ru_UA.json +469 -1
  187. package/src/sap/ui/core/cldr/sk.json +469 -1
  188. package/src/sap/ui/core/cldr/sl.json +469 -1
  189. package/src/sap/ui/core/cldr/sr.json +469 -1
  190. package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
  191. package/src/sap/ui/core/cldr/sv.json +469 -1
  192. package/src/sap/ui/core/cldr/th.json +469 -1
  193. package/src/sap/ui/core/cldr/tr.json +469 -1
  194. package/src/sap/ui/core/cldr/uk.json +469 -1
  195. package/src/sap/ui/core/cldr/vi.json +469 -1
  196. package/src/sap/ui/core/cldr/zh_CN.json +470 -2
  197. package/src/sap/ui/core/cldr/zh_HK.json +470 -2
  198. package/src/sap/ui/core/cldr/zh_SG.json +470 -2
  199. package/src/sap/ui/core/cldr/zh_TW.json +469 -1
  200. package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
  201. package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
  202. package/src/sap/ui/core/dnd/DragAndDrop.js +3 -3
  203. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  204. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  205. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  206. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  207. package/src/sap/ui/core/format/DateFormat.js +43 -28
  208. package/src/sap/ui/core/format/NumberFormat.js +30 -30
  209. package/src/sap/ui/core/format/TimezoneUtil.js +48 -16
  210. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  211. package/src/sap/ui/core/library.js +3 -3
  212. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  213. package/src/sap/ui/core/message/Message.js +1 -1
  214. package/src/sap/ui/core/message/MessageManager.js +1 -1
  215. package/src/sap/ui/core/message/MessageParser.js +2 -2
  216. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  217. package/src/sap/ui/core/messagebundle_el.properties +2 -2
  218. package/src/sap/ui/core/messagebundle_it.properties +56 -56
  219. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  220. package/src/sap/ui/core/mvc/HTMLView.js +12 -12
  221. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  222. package/src/sap/ui/core/mvc/JSView.js +2 -2
  223. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  224. package/src/sap/ui/core/mvc/View.js +2 -1
  225. package/src/sap/ui/core/mvc/XMLView.js +12 -20
  226. package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -62
  227. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  228. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  229. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  230. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  231. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  232. package/src/sap/ui/core/routing/History.js +5 -3
  233. package/src/sap/ui/core/routing/Router.js +5 -3
  234. package/src/sap/ui/core/routing/Targets.js +2 -2
  235. package/src/sap/ui/core/rules/App.support.js +8 -8
  236. package/src/sap/ui/core/rules/Config.support.js +12 -12
  237. package/src/sap/ui/core/rules/Model.support.js +8 -8
  238. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  239. package/src/sap/ui/core/rules/Theming.support.js +4 -4
  240. package/src/sap/ui/core/rules/View.support.js +9 -9
  241. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  242. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  243. package/src/sap/ui/core/service/Service.js +1 -1
  244. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  245. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  246. package/src/sap/ui/core/support/Plugin.js +1 -1
  247. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
  248. package/src/sap/ui/core/support/Support.js +2 -2
  249. package/src/sap/ui/core/support/ToolsAPI.js +4 -1
  250. package/src/sap/ui/core/support/plugins/ControlTree.js +9 -3
  251. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  252. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  253. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  254. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  255. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  256. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  257. package/src/sap/ui/core/support/plugins/ViewInfo.js +8 -22
  258. package/src/sap/ui/core/support/support.html +1 -1
  259. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
  260. package/src/sap/ui/core/themes/base/base.less +4 -4
  261. package/src/sap/ui/core/themes/base/global.less +2 -0
  262. package/src/sap/ui/core/themes/sap_hcb/global.less +2 -0
  263. package/src/sap/ui/core/theming/Parameters.js +1 -1
  264. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  265. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  266. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  267. package/src/sap/ui/core/tmpl/Template.js +4 -4
  268. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  269. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  270. package/src/sap/ui/core/util/Export.js +1 -1
  271. package/src/sap/ui/core/util/ExportCell.js +1 -1
  272. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  273. package/src/sap/ui/core/util/ExportRow.js +1 -1
  274. package/src/sap/ui/core/util/ExportType.js +1 -1
  275. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  276. package/src/sap/ui/core/util/File.js +1 -1
  277. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  278. package/src/sap/ui/core/util/MockServer.js +2 -2
  279. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  280. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +2 -2
  281. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
  282. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  283. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  284. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  285. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  286. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  287. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  288. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  289. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  290. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  291. package/src/sap/ui/core/ws/WebSocket.js +7 -8
  292. package/src/sap/ui/debug/ControlTree.js +1 -1
  293. package/src/sap/ui/debug/DebugEnv.js +1 -1
  294. package/src/sap/ui/debug/PropertyList.js +1 -1
  295. package/src/sap/ui/dom/_ready.js +34 -0
  296. package/src/sap/ui/dom/containsOrEquals.js +2 -2
  297. package/src/sap/ui/dom/getFirstEditableInput.js +2 -2
  298. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  299. package/src/sap/ui/dom/jquery/control.js +1 -1
  300. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  301. package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
  302. package/src/sap/ui/model/ClientListBinding.js +127 -21
  303. package/src/sap/ui/model/ClientModel.js +1 -1
  304. package/src/sap/ui/model/CompositeDataState.js +1 -1
  305. package/src/sap/ui/model/CompositeType.js +1 -1
  306. package/src/sap/ui/model/DataState.js +1 -1
  307. package/src/sap/ui/model/ListBinding.js +32 -13
  308. package/src/sap/ui/model/MetaModel.js +1 -1
  309. package/src/sap/ui/model/Model.js +1 -1
  310. package/src/sap/ui/model/SelectionModel.js +1 -1
  311. package/src/sap/ui/model/SimpleType.js +1 -1
  312. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  313. package/src/sap/ui/model/TreeBindingAdapter.js +134 -0
  314. package/src/sap/ui/model/Type.js +1 -1
  315. package/src/sap/ui/model/_Helper.js +3 -1
  316. package/src/sap/ui/model/json/JSONListBinding.js +0 -58
  317. package/src/sap/ui/model/json/JSONModel.js +1 -1
  318. package/src/sap/ui/model/message/MessageListBinding.js +0 -42
  319. package/src/sap/ui/model/message/MessageModel.js +1 -1
  320. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  321. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  322. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  323. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  324. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  325. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +6 -0
  326. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +279 -4
  327. package/src/sap/ui/model/odata/OperationMode.js +6 -0
  328. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  329. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  330. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  331. package/src/sap/ui/model/odata/type/Date.js +1 -1
  332. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  333. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  334. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  335. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  336. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  337. package/src/sap/ui/model/odata/type/Double.js +1 -1
  338. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  339. package/src/sap/ui/model/odata/type/Int.js +1 -1
  340. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  341. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  342. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  343. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  344. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  345. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  346. package/src/sap/ui/model/odata/type/Single.js +1 -1
  347. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  348. package/src/sap/ui/model/odata/type/String.js +1 -1
  349. package/src/sap/ui/model/odata/type/Time.js +1 -1
  350. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  351. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  352. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  353. package/src/sap/ui/model/odata/v2/Context.js +13 -4
  354. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  355. package/src/sap/ui/model/odata/v2/ODataListBinding.js +107 -34
  356. package/src/sap/ui/model/odata/v2/ODataModel.js +70 -22
  357. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +43 -7
  358. package/src/sap/ui/model/odata/v4/Context.js +31 -10
  359. package/src/sap/ui/model/odata/v4/ODataBinding.js +16 -8
  360. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +24 -1
  361. package/src/sap/ui/model/odata/v4/ODataListBinding.js +83 -27
  362. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +17 -10
  363. package/src/sap/ui/model/odata/v4/ODataModel.js +175 -6
  364. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +30 -1
  365. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -6
  366. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +6 -6
  367. package/src/sap/ui/model/odata/v4/lib/_Cache.js +208 -85
  368. package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -42
  369. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  370. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +60 -35
  371. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  372. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  373. package/src/sap/ui/model/type/Boolean.js +1 -1
  374. package/src/sap/ui/model/type/Currency.js +1 -1
  375. package/src/sap/ui/model/type/Date.js +1 -1
  376. package/src/sap/ui/model/type/DateInterval.js +1 -1
  377. package/src/sap/ui/model/type/DateTime.js +1 -1
  378. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  379. package/src/sap/ui/model/type/FileSize.js +1 -1
  380. package/src/sap/ui/model/type/Float.js +1 -1
  381. package/src/sap/ui/model/type/Integer.js +1 -1
  382. package/src/sap/ui/model/type/String.js +1 -1
  383. package/src/sap/ui/model/type/Time.js +1 -1
  384. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  385. package/src/sap/ui/model/type/Unit.js +1 -1
  386. package/src/sap/ui/model/xml/XMLListBinding.js +0 -53
  387. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  388. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  389. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  390. package/src/sap/ui/security/FrameOptions.js +4 -2
  391. package/src/sap/ui/test/OpaBuilder.js +1 -1
  392. package/src/sap/ui/test/OpaPlugin.js +3 -3
  393. package/src/sap/ui/test/_ControlFinder.js +5 -4
  394. package/src/sap/ui/test/actions/Action.js +3 -3
  395. package/src/sap/ui/test/actions/Drag.js +2 -2
  396. package/src/sap/ui/test/actions/Drop.js +2 -2
  397. package/src/sap/ui/test/actions/EnterText.js +8 -8
  398. package/src/sap/ui/test/actions/Press.js +6 -6
  399. package/src/sap/ui/test/actions/Scroll.js +1 -1
  400. package/src/sap/ui/test/generic/TestBase.js +1 -1
  401. package/src/sap/ui/util/Mobile.js +59 -33
  402. package/src/sap/ui/util/Storage.js +2 -2
  403. package/src/sap/ui/util/openWindow.js +1 -1
  404. package/src/ui5loader.js +3 -3
  405. package/ui5.yaml +72 -1
@@ -76,6 +76,8 @@ sap.ui.define(['sap/base/Log'], function(Log) {
76
76
  var bOk = false;
77
77
  var bTrue = true;
78
78
  do {
79
+ // Accessing a property on the window to check whether we are within the same origin.
80
+ // In cross origin scenarios this will cause an exception which will be handled below.
79
81
  var test = oParentWindow.document.domain;
80
82
  if (oParentWindow == FrameOptions.__top) {
81
83
  if (test != undefined) {
@@ -85,12 +87,12 @@ sap.ui.define(['sap/base/Log'], function(Log) {
85
87
  }
86
88
  oParentWindow = oParentWindow.parent;
87
89
  // eslint-disable-next-line no-unmodified-loop-condition
88
- } while (bTrue); // TODO: refactor loop condition bTrue
90
+ } while (bTrue);
89
91
  if (bOk) {
90
92
  this._applyState(true, true);
91
93
  }
92
94
  } catch (e) {
93
- // access to the top window is not possible
95
+ // access to the top window (oParentWindow.document.domain) is not possible
94
96
  this._sendRequireMessage();
95
97
  }
96
98
 
@@ -1123,7 +1123,7 @@ sap.ui.define(
1123
1123
  * Creates a matcher function that returns an aggregation element of a control at a given index.
1124
1124
  * @param {string} sAggregationName the name of the aggregation that is used for matching
1125
1125
  * @param {int} iIndex the index within the aggregation
1126
- * @returns {function} the matcher function returns the item at a certain index in the aggregation or null if index not in range
1126
+ * @returns {function} the matcher function returns the item at a certain index in the aggregation or <code>undefined</code> if index not in range
1127
1127
  * @public
1128
1128
  * @static
1129
1129
  */
@@ -64,8 +64,8 @@ sap.ui.define([
64
64
  * Returns the view with a specific name. The result should be a unique view.
65
65
  * If there are multiple visible views with that name, none will be returned.
66
66
  *
67
- * @param {string} sViewName the name of the view
68
- * @returns {sap.ui.core.mvc.View} or undefined
67
+ * @param {string} sViewName Name of the view
68
+ * @returns {sap.ui.core.mvc.View|undefined} Unique view or <code>undefined</code>
69
69
  * @public
70
70
  */
71
71
  getView: function (sViewName) {
@@ -489,7 +489,7 @@ sap.ui.define([
489
489
  * @param {object} oOptions a map of match conditions. Must contain an id property
490
490
  * @param {string|string[]} [oOptions.id] required - ID to match. Can be string, regex or array
491
491
  * @param {string|function} [oOptions.controlType] optional - control type to match
492
- * @returns {sap.ui.core.Element|sap.ui.core.Element[]} all matching controls
492
+ * @returns {sap.ui.core.Element|sap.ui.core.Element[]|null} all matching controls
493
493
  * <ul>
494
494
  * <li>if a oOptions.id is a string, will return the single matching control or null if no controls match</li>
495
495
  * <li>otherwise, will return an array of matching controls, or an empty array, if no controls match</li>
@@ -118,7 +118,7 @@ sap.ui.define([
118
118
  * Retrieves the property value of a control
119
119
  * @param {sap.ui.core.Control} oControl
120
120
  * @param {string} sProperty The property to look for
121
- * @returns {object} The control value for the property or null if no such property is defined
121
+ * @returns {object|null} The control value for the property or null if no such property is defined
122
122
  * @private
123
123
  */
124
124
  _ControlFinder._getControlProperty = function (oControl, sProperty) {
@@ -128,9 +128,10 @@ sap.ui.define([
128
128
  };
129
129
 
130
130
  /**
131
- * Retrieves the ID suffix of a DOM element
132
- * @param {object} oElement DOM element
133
- * @returns {string} ID suffix or undefined
131
+ * Retrieves the ID suffix of a DOM element that is part of the given UI5 control
132
+ * @param {Element} oElement DOM element
133
+ * @param {sap.ui.core.Control} oControl UI5 control
134
+ * @returns {string|false} ID suffix or false if the suffix can't be determined
134
135
  * @private
135
136
  */
136
137
  _ControlFinder._getDomElementIDSuffix = function (oElement, oControl) {
@@ -64,7 +64,7 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
64
64
  * A control may have many elements in its DOM representation. The most suitable one is chosen by priority:
65
65
  * <ol>
66
66
  * <li>If the user provided an idSuffix, return the element that matches it, or null</li>
67
- * <li>If there is a control adapter for the action - return the element that matches it. See {@link sap.ui.test.Press.controlAdapters} for an example</li>
67
+ * <li>If there is a control adapter for the action - return the element that matches it. See <code>controlAdapters</code> at {@link sap.ui.test.Press} for an example</li>
68
68
  * <li>If there is no control adapter, or it matches no elements, return the focusDomRef of the control. Note that some controls may not have a focusDomRef.</li>
69
69
  * </ol>
70
70
  * @param {object} oControl the control to execute an action on
@@ -287,10 +287,10 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
287
287
  },
288
288
 
289
289
  _createAndDispatchScrollEvent: function (oDomRef, oOptions) {
290
- if (oOptions.x) {
290
+ if (oOptions.x != null) {
291
291
  oDomRef.scrollLeft = oOptions.x;
292
292
  }
293
- if (oOptions.y) {
293
+ if (oOptions.y != null) {
294
294
  oDomRef.scrollTop = oOptions.y;
295
295
  }
296
296
  var oScrollEvent = new Event("scroll", {
@@ -26,11 +26,11 @@ sap.ui.define([
26
26
  * [mSettings] Optional object with initial settings for the new instance
27
27
  * @extends sap.ui.test.actions.Action
28
28
  * @public
29
- * @name sap.ui.test.actions.Drag
29
+ * @alias sap.ui.test.actions.Drag
30
30
  * @author SAP SE
31
31
  * @since 1.76
32
32
  */
33
- var Drag = Action.extend("sap.ui.test.actions.Drag", {
33
+ var Drag = Action.extend("sap.ui.test.actions.Drag", /** @lends sap.ui.test.actions.Drag.prototype */ {
34
34
 
35
35
  metadata : {
36
36
  publicMethods : [ "executeOn" ]
@@ -33,11 +33,11 @@ sap.ui.define([
33
33
  * [mSettings] Optional object with initial settings for the new instance
34
34
  * @extends sap.ui.test.actions.Action
35
35
  * @public
36
- * @name sap.ui.test.actions.Drop
36
+ * @alias sap.ui.test.actions.Drop
37
37
  * @author SAP SE
38
38
  * @since 1.76
39
39
  */
40
- var Drop = Action.extend("sap.ui.test.actions.Drop", {
40
+ var Drop = Action.extend("sap.ui.test.actions.Drop", /** @lends sap.ui.test.actions.Drop.prototype */ {
41
41
 
42
42
  metadata : {
43
43
  properties: {
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * [mSettings] Optional object with initial settings for the new instance
32
32
  * @extends sap.ui.test.actions.Action
33
33
  * @public
34
- * @name sap.ui.test.actions.EnterText
34
+ * @alias sap.ui.test.actions.EnterText
35
35
  * @author SAP SE
36
36
  * @since 1.34
37
37
  */
@@ -161,6 +161,9 @@ sap.ui.define([
161
161
  * A map of ID suffixes for controls that require a special DOM reference for
162
162
  * <code>EnterText</code> interaction.
163
163
  *
164
+ * You can specify an ID suffix for specific controls in this map.
165
+ * The enter text action will be triggered on the DOM element with the specified suffix.
166
+ *
164
167
  * Here is a sublist of supported controls and their <code>EnterText</code> control adapter:
165
168
  * <ul>
166
169
  * <li>sap.m.StepInput - internal Input</li>
@@ -179,8 +182,8 @@ sap.ui.define([
179
182
  * </code>
180
183
  * </pre>
181
184
  *
182
- * It contains two input tags in its dom.
183
- * When you render your control it creates the following dom:
185
+ * It contains two input tags in its DOM.
186
+ * When you render your control it creates the following DOM:
184
187
  *
185
188
  *
186
189
  * <pre>
@@ -200,17 +203,14 @@ sap.ui.define([
200
203
  *
201
204
  * // Example usage
202
205
  * new EnterText(); // executes on second Input since it is set as default
203
- * new EnterText({ idSuffix: "firstInput"}); // executes on the first input has to be the same as the last part of the id in the dom
206
+ * new EnterText({ idSuffix: "firstInput"}); // executes on the first input has to be the same as the last part of the ID in the DOM
204
207
  * </code>
205
208
  * </pre>
206
209
  *
207
210
  *
208
211
  * @public
209
212
  * @static
210
- * @name sap.ui.test.actions.EnterText.controlAdapters
211
- * You can specify an Id suffix for specific controls in this map.
212
- * The enter text action will be triggered on the DOM element with the specified suffix
213
- * @type map
213
+ * @type Object<string,(string|function(sap.ui.core.Control):string)>
214
214
  */
215
215
  EnterText.controlAdapters = {};
216
216
  EnterText.controlAdapters["sap.m.StepInput"] = "input-inner"; // focusDomRef: <input>
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * or by defining a control adapter.
26
26
  *
27
27
  * There are some basic controls for which OPA5 has defined <code>Press</code> control
28
- * adapters. For more information, see {@link sap.ui.test.actions.Press.controlAdapters}.
28
+ * adapters. For more information, see <code>controlAdapters</code> at {@link sap.ui.test.actions.Press}.
29
29
  *
30
30
  * @param {string}
31
31
  * [sId] Optional ID for the new instance; generated automatically if
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * [mSettings] Optional object with initial settings for the new instance
36
36
  * @extends sap.ui.test.actions.Action
37
37
  * @public
38
- * @name sap.ui.test.actions.Press
38
+ * @alias sap.ui.test.actions.Press
39
39
  * @author SAP SE
40
40
  * @since 1.34
41
41
  */
@@ -159,6 +159,9 @@ sap.ui.define([
159
159
  * A map of ID suffixes for controls that require a special DOM reference for
160
160
  * <code>Press</code> interaction.
161
161
  *
162
+ * You can specify an ID suffix for specific controls in this map.
163
+ * The press action will be triggered on the DOM element with the specified suffix.
164
+ *
162
165
  * Here is a sublist of supported controls and their <code>Press</code> control adapter:
163
166
  * <ul>
164
167
  * <li>sap.m.ComboBox - Arrow button</li>
@@ -215,10 +218,7 @@ sap.ui.define([
215
218
  *
216
219
  * @public
217
220
  * @static
218
- * @name sap.ui.test.actions.Press.controlAdapters
219
- * You can specify an Id suffix for specific controls in this map.
220
- * The press action will be triggered on the DOM element with the specified suffix
221
- * @type map
221
+ * @type Object<string,(string|function(sap.ui.core.Control):string)>
222
222
  */
223
223
  Press.controlAdapters = {};
224
224
  Press.controlAdapters["sap.m.Input"] = "vhi"; // focusDomRef: <input>
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * [mSettings] Optional object with initial settings for the new instance
24
24
  * @extends sap.ui.test.actions.Action
25
25
  * @public
26
- * @name sap.ui.test.actions.Scroll
26
+ * @alias sap.ui.test.actions.Scroll
27
27
  * @author SAP SE
28
28
  * @since 1.90
29
29
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.base.Object
25
25
  * @abstract
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.103.0
28
28
  * @since 1.100
29
29
  */
30
30
  return BaseObject.extend("sap.ui.test.generic.TestBase", {
@@ -7,7 +7,7 @@
7
7
  * IMPORTANT: This is a private module, its API must not be used and is subject to change.
8
8
  * Code other than the OpenUI5 libraries must not introduce dependencies to this module.
9
9
  */
10
- sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], function(Device, Log, jQuery) {
10
+ sap.ui.define(['sap/ui/Device', 'sap/base/Log', 'sap/base/util/extend', 'sap/ui/dom/_ready'], function(Device, Log, extend, _ready) {
11
11
  "use strict";
12
12
 
13
13
  /**
@@ -20,6 +20,25 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
20
20
 
21
21
  var _bInitTriggered = false;
22
22
 
23
+ function addElementToHead(sTag, mAttributes) {
24
+ mAttributes = mAttributes || {};
25
+
26
+ var oTag = document.createElement(sTag);
27
+ for (var key in mAttributes) {
28
+ if (mAttributes[key]) {
29
+ oTag.setAttribute(key, mAttributes[key]);
30
+ }
31
+ }
32
+ document.head.appendChild(oTag);
33
+ }
34
+
35
+ function removeFromHead(sSelector) {
36
+ var aElements = document.head.querySelectorAll(sSelector);
37
+ for (var i = 0, l = aElements.length; i < l; i++) {
38
+ aElements[i].remove(aElements[i]);
39
+ }
40
+ }
41
+
23
42
  /**
24
43
  * Does some basic modifications to the HTML page that make it more suitable for mobile apps.
25
44
  * Only the first call to this method is executed, subsequent calls are ignored. Note that this method is also
@@ -72,12 +91,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
72
91
  * @public
73
92
  */
74
93
  Mobile.init = function(options) {
75
- var $head = jQuery("head");
76
-
77
94
  if (!_bInitTriggered) { // only one initialization per HTML page
78
95
  _bInitTriggered = true;
79
96
 
80
- options = jQuery.extend({}, { // merge in the default values
97
+ options = extend({}, { // merge in the default values
81
98
  viewport: true,
82
99
  statusBar: "default",
83
100
  hideBrowser: true,
@@ -91,10 +108,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
91
108
  // en-/disable automatic link generation for phone numbers
92
109
  if (options.preventPhoneNumberDetection) {
93
110
  // iOS specific meta tag
94
- $head.append(jQuery('<meta name="format-detection" content="telephone=no">')); // this only works
95
- // for all DOM
96
- // created
97
- // afterwards
111
+ addElementToHead("meta", {
112
+ name: "format-detection",
113
+ content: "telephone=no"
114
+ });// this only works for all DOM created afterwards
98
115
  }
99
116
 
100
117
  // initialize viewport
@@ -121,7 +138,10 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
121
138
  sMeta += ", maximum-scale=1.0, user-scalable=no";
122
139
  }
123
140
 
124
- $head.append(jQuery('<meta name="viewport" content="' + sMeta + '">'));
141
+ addElementToHead("meta", {
142
+ name: "viewport",
143
+ content: sMeta
144
+ });
125
145
 
126
146
  // Update Device API resize info, which is necessary in some scenarios after setting the viewport info
127
147
  if ((iInnerHeightBefore !== window.innerHeight || iInnerWidthBefore !== window.innerWidth) && Device.resize._update){
@@ -130,13 +150,13 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
130
150
  }
131
151
 
132
152
  if (options.useFullScreenHeight) {
133
- jQuery(function() {
153
+ _ready().then(function() {
134
154
  document.documentElement.style.height = "100%"; // set html root tag to 100% height
135
155
  });
136
156
  }
137
157
 
138
158
  if (options.preventScroll && (Device.os.ios || (Device.os.mac && Device.browser.mobile))) {
139
- jQuery(function() {
159
+ _ready().then(function() {
140
160
  document.documentElement.style.position = "fixed";
141
161
  document.documentElement.style.overflow = "hidden";
142
162
  document.documentElement.style.height = "100%";
@@ -155,7 +175,7 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
155
175
  favicon: options.homeIcon
156
176
  };
157
177
  } else {
158
- oIcons = jQuery.extend({}, options.homeIcon);
178
+ oIcons = Object.assign({}, options.homeIcon);
159
179
  oIcons.phone = options.homeIcon.phone || options.homeIcon.icon || oIcons.favicon;
160
180
  oIcons.favicon = oIcons.favicon || options.homeIcon.icon || options.homeIcon.phone;
161
181
  oIcons.icon = undefined;
@@ -226,8 +246,7 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
226
246
  return;
227
247
  }
228
248
 
229
- var $head = jQuery("head"),
230
- precomposed = oIcons.precomposed ? "-precomposed" : "",
249
+ var precomposed = oIcons.precomposed ? "-precomposed" : "",
231
250
  getBestFallback = function(res) {
232
251
  return oIcons[res] || oIcons['tablet@2'] || oIcons['phone@2'] || oIcons['phone'] || oIcons['tablet']; // fallback logic
233
252
  },
@@ -241,30 +260,31 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
241
260
  // desktop icon
242
261
  if (oIcons["favicon"]) {
243
262
  // remove any other favicons
244
- var $fav = $head.find("[rel=icon]");
245
- $fav.each(function() {
246
- if (this.rel === "icon") {
247
- jQuery(this).remove();
248
- }
249
- });
263
+ removeFromHead("link[rel=icon]");
250
264
 
251
265
  // create favicon
252
- $head.append(jQuery('<link rel="icon" href="' + oIcons["favicon"] + '">'));
266
+ addElementToHead("link", {
267
+ rel: "icon",
268
+ href: oIcons["favicon"]
269
+ });
253
270
  }
254
271
 
255
272
  // mobile home screen icons
256
273
  if (getBestFallback("phone")) {
257
274
 
258
275
  // if any home icon is given remove old ones
259
- $head.find("[rel=apple-touch-icon]").remove();
260
- $head.find("[rel=apple-touch-icon-precomposed]").remove();
276
+ removeFromHead("[rel=apple-touch-icon]");
277
+ removeFromHead("[rel=apple-touch-icon-precomposed]");
261
278
  }
262
279
 
263
280
  for (var platform in mSizes) {
264
281
  oIcons[platform] = oIcons[platform] || getBestFallback(platform);
265
282
  if (oIcons[platform]) {
266
- var size = mSizes[platform];
267
- $head.append(jQuery('<link rel="apple-touch-icon' + precomposed + '" ' + (size ? 'sizes="' + size + '"' : "") + ' href="' + oIcons[platform] + '">'));
283
+ addElementToHead("link", {
284
+ rel: "apple-touch-icon" + precomposed,
285
+ href: oIcons[platform],
286
+ sizes: mSizes[platform]
287
+ });
268
288
  }
269
289
  }
270
290
  };
@@ -293,22 +313,28 @@ sap.ui.define(['sap/ui/Device', 'sap/base/Log', "sap/ui/thirdparty/jquery"], fun
293
313
  return;
294
314
  }
295
315
 
296
- var $Head = jQuery("head"),
297
- aPrefixes = ["", "apple"],
316
+ var aPrefixes = ["", "apple"],
298
317
  sNameBase = "mobile-web-app-capable",
299
318
  sContent = bValue ? "yes" : "no",
300
- i, sName, $WebAppMeta;
319
+ i, sName, oWebAppMetaTag;
301
320
 
302
321
  for (i = 0; i < aPrefixes.length; i++) {
303
322
  sName = aPrefixes[i] ? (aPrefixes[i] + "-" + sNameBase) : sNameBase;
304
- $WebAppMeta = $Head.children('meta[name="' + sName + '"]');
305
- if ($WebAppMeta.length) {
306
- $WebAppMeta.attr("content", sContent);
323
+ oWebAppMetaTag = document.head.querySelector('meta[name="' + sName + '"]');
324
+
325
+ if (oWebAppMetaTag) {
326
+ oWebAppMetaTag.setAttribute("content", sContent);
307
327
  } else {
308
- $Head.append(jQuery('<meta name="' + sName + '" content="' + sContent + '">'));
328
+ addElementToHead("meta", {
329
+ name: sName,
330
+ content: sContent
331
+ });
309
332
  if (aPrefixes[i] === "apple") {
310
333
  // iOS specific meta tag should be added only first time the corresponding apple-mobile-web-app-capable is added
311
- $Head.append(jQuery('<meta name="apple-mobile-web-app-status-bar-style" content="' + (sAppleStatusBarStyle ? sAppleStatusBarStyle : 'default') + '">'));
334
+ addElementToHead("meta", {
335
+ name: "apple-mobile-web-app-status-bar-style",
336
+ content: sAppleStatusBarStyle ? sAppleStatusBarStyle : 'default'
337
+ });
312
338
  }
313
339
  }
314
340
  }
@@ -142,7 +142,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
142
142
  * Retrieves data item for a specific key.
143
143
  *
144
144
  * @param {string} sKey key to retrieve
145
- * @return {object|null} keys value or null
145
+ * @returns {object|null} key's value or <code>null</code>
146
146
  * @public
147
147
  * @function
148
148
  * @name module:sap/ui/util/Storage#get
@@ -250,7 +250,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
250
250
  *
251
251
  * @enum {string}
252
252
  * @public
253
- * @version 1.101.0
253
+ * @version 1.103.0
254
254
  */
255
255
  Storage.Type = {
256
256
  /**
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
14
14
  *
15
15
  * @param {sap.ui.core.URI} sUrl URL of a document that should be loaded in the new window
16
16
  * @param {string} sWindowName Name of the new window
17
- * @returns {Window|null} The newly returned window object or null
17
+ * @returns {Window|null} The newly returned window object or <code>null</code>
18
18
  * @private
19
19
  * @ui5-restricted
20
20
  * @alias module:sap/ui/util/openWindow
package/src/ui5loader.js CHANGED
@@ -560,7 +560,7 @@
560
560
  *
561
561
  * @param {string} sURL URL to guess the resource name for
562
562
  * @param {boolean} [bLoadedResourcesOnly=false] Whether the guess should be limited to already loaded resources
563
- * @returns {string} Resource name or undefined if no matching name could be found
563
+ * @returns {string|undefined} Resource name or <code>undefined</code> if no matching name could be found
564
564
  * @private
565
565
  */
566
566
  function guessResourceName(sURL, bLoadedResourcesOnly) {
@@ -3066,7 +3066,7 @@
3066
3066
  * dependencies or executing the factory function. Note that due to browser restrictions
3067
3067
  * not all errors will be reported via this callback. In general, module loading is
3068
3068
  * designed for the non-error case. Error handling is not complete.
3069
- * @returns {any|undefined} A single module export value (sync probing variant) or undefined (async loading variant)
3069
+ * @returns {any|undefined} A single module export value (sync probing variant) or <code>undefined</code> (async loading variant)
3070
3070
  * @public
3071
3071
  * @function
3072
3072
  * @ui5-global-only
@@ -3132,7 +3132,7 @@
3132
3132
  * a content security policies (CSP) that forbids 'eval'.
3133
3133
  *
3134
3134
  * @param {string} sModuleName Module name in requireJS syntax
3135
- * @returns {any} value of the loaded module or undefined
3135
+ * @returns {any} Export value of the loaded module (can be <code>undefined</code>)
3136
3136
  * @private
3137
3137
  * @ui5-restricted sap.ui.core
3138
3138
  * @function
package/ui5.yaml CHANGED
@@ -12,6 +12,77 @@ resources:
12
12
  propertiesFileSourceEncoding: ISO-8859-1
13
13
  builder:
14
14
  bundles:
15
+ - bundleDefinition:
16
+ name: sap/ui/core/library-preload.js
17
+ sections:
18
+ - mode: provided
19
+ filters:
20
+ # bundle sap-ui-core.js
21
+ - ui5loader-autoconfig.js
22
+ - sap/ui/core/Core.js
23
+ # end bundle sap-ui-core.js
24
+ resolve: true
25
+ - mode: preload
26
+ name: sap/ui/core/library-preload
27
+ filters:
28
+ # NOTE: In some scenarios, more files are available during bundling, so only specific includes must be used
29
+ - sap/ui/core/
30
+ - sap/ui/core/**/manifest.json
31
+ - sap/base/
32
+ - sap/ui/base/
33
+ - sap/ui/dom/
34
+ - sap/ui/events/
35
+ - sap/ui/model/
36
+ - sap/ui/security/
37
+ - sap/ui/util/
38
+ - sap/ui/Device.js
39
+ - sap/ui/Global.js
40
+ - sap/ui/VersionInfo.js
41
+ - "jquery.sap.*.js"
42
+
43
+ # include only thirdparty that is very likely to be used
44
+ - "sap/ui/thirdparty/crossroads.js"
45
+ - "sap/ui/thirdparty/caja-html-sanitizer.js"
46
+ - "sap/ui/thirdparty/hasher.js"
47
+ - "sap/ui/thirdparty/signals.js"
48
+ - "sap/ui/thirdparty/jquery-mobile-custom.js"
49
+ - "sap/ui/thirdparty/jqueryui/jquery-ui-core.js"
50
+ - "sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js"
51
+ - "sap/ui/thirdparty/jqueryui/jquery-ui-position.js"
52
+
53
+ # exclude all merged files as well as the top level jQuery copy (not visible in OpenUI5)
54
+ - "!sap-*.js"
55
+ - "!jquery-*.js"
56
+ - "!sap/ui/core/*-preload.js"
57
+
58
+ # ignore substitutes for moved third party libs
59
+ - "!sap/ui/model/odata/datajs.js"
60
+
61
+ # exclude legacy app namespace (not visible in OpenUI5)
62
+ # - "!sap/ui/app/" # Not included, so exclude is not required
63
+
64
+ # exclude non-productive code
65
+ - "!sap/ui/core/support/"
66
+ - "!sap/ui/core/designtime/"
67
+ - "!sap/ui/core/**/*.designtime.js"
68
+ - "!sap/ui/core/**/*.support.js"
69
+ # - "!sap/ui/debug/" # Not included, so exclude is not required
70
+ # - "!sap/ui/qunit/" # Not included, so exclude is not required
71
+ # - "!sap/ui/test/" # Not included, so exclude is not required
72
+
73
+ # core plugins, shouldn't be packaged by default
74
+ - "!sap/ui/core/plugin/DeclarativeSupport.js"
75
+ - "!sap/ui/core/plugin/LessSupport.js"
76
+
77
+ # CLDR files must not be packaged
78
+ - "!sap/ui/core/cldr/"
79
+
80
+ resolve: false
81
+ resolveConditional: false
82
+ renderer: true
83
+ bundleOptions:
84
+ optimize: true
85
+ usePredefineCalls: true
15
86
  - bundleDefinition:
16
87
  name: jquery-sap.js
17
88
  sections:
@@ -194,7 +265,7 @@ builder:
194
265
  - sap/ui/test/TestEnv.js
195
266
  - sap/ui/test/ControlTree.js
196
267
  - sap/ui/debug/Highlighter.js
197
- - jquery.sap.strings
268
+ - jquery.sap.strings.js
198
269
  resolve: false
199
270
  - mode: require
200
271
  filters: