@openui5/sap.ui.core 1.98.0 → 1.101.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 (418) hide show
  1. package/.eslintrc.json +33 -1
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +6 -3
  5. package/src/jquery.sap.mobile.js +29 -11
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/Log.js +1 -1
  11. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  12. package/src/sap/base/util/LoaderExtensions.js +1 -10
  13. package/src/sap/base/util/UriParameters.js +2 -2
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/VersionInfo.js +13 -10
  58. package/src/sap/ui/base/BindingParser.js +34 -7
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +2 -2
  61. package/src/sap/ui/base/ExpressionParser.js +1 -1
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +32 -22
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
  66. package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +24 -20
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +80 -11
  77. package/src/sap/ui/core/Control.js +2 -1
  78. package/src/sap/ui/core/Core.js +29 -12
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  81. package/src/sap/ui/core/Element.js +4 -7
  82. package/src/sap/ui/core/ElementMetadata.js +1 -1
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +6 -1
  86. package/src/sap/ui/core/FocusHandler.js +1 -1
  87. package/src/sap/ui/core/Fragment.js +1 -1
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  90. package/src/sap/ui/core/History.js +1 -1
  91. package/src/sap/ui/core/Icon.js +17 -3
  92. package/src/sap/ui/core/IconRenderer.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +9 -2
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/ListItem.js +1 -1
  102. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +73 -6
  106. package/src/sap/ui/core/Manifest.js +5 -3
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/Patcher.js +6 -4
  109. package/src/sap/ui/core/Popup.js +11 -8
  110. package/src/sap/ui/core/RenderManager.js +1 -1
  111. package/src/sap/ui/core/Renderer.js +1 -1
  112. package/src/sap/ui/core/ResizeHandler.js +1 -1
  113. package/src/sap/ui/core/ScrollBar.js +1 -1
  114. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  115. package/src/sap/ui/core/SeparatorItem.js +1 -1
  116. package/src/sap/ui/core/Title.js +1 -1
  117. package/src/sap/ui/core/TooltipBase.js +1 -1
  118. package/src/sap/ui/core/UIArea.js +1 -1
  119. package/src/sap/ui/core/UIComponent.js +1 -1
  120. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  121. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  122. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  123. package/src/sap/ui/core/XMLComposite.js +1 -1
  124. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  125. package/src/sap/ui/core/XMLTemplateProcessor.js +27 -26
  126. package/src/sap/ui/core/_IconRegistry.js +13 -3
  127. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  128. package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
  129. package/src/sap/ui/core/cldr/en_AU.json +1 -1
  130. package/src/sap/ui/core/date/Buddhist.js +3 -3
  131. package/src/sap/ui/core/date/Japanese.js +4 -4
  132. package/src/sap/ui/core/date/UniversalDate.js +10 -0
  133. package/src/sap/ui/core/date/UniversalDateUtils.js +49 -49
  134. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  135. package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
  136. package/src/sap/ui/core/dnd/DragAndDrop.js +27 -22
  137. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  138. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  139. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  140. package/src/sap/ui/core/dnd/DropInfo.js +3 -3
  141. package/src/sap/ui/core/format/DateFormat.js +670 -199
  142. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +47 -0
  143. package/src/sap/ui/core/format/ListFormat.js +2 -2
  144. package/src/sap/ui/core/format/NumberFormat.js +502 -216
  145. package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
  146. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  147. package/src/sap/ui/core/library.js +220 -189
  148. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  149. package/src/sap/ui/core/message/Message.js +1 -1
  150. package/src/sap/ui/core/message/MessageManager.js +1 -1
  151. package/src/sap/ui/core/message/MessageParser.js +1 -1
  152. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  153. package/src/sap/ui/core/messagebundle.properties +2 -0
  154. package/src/sap/ui/core/messagebundle_ar.properties +1 -0
  155. package/src/sap/ui/core/messagebundle_bg.properties +6 -5
  156. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  157. package/src/sap/ui/core/messagebundle_cs.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_cy.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_da.properties +1 -0
  160. package/src/sap/ui/core/messagebundle_de.properties +2 -1
  161. package/src/sap/ui/core/messagebundle_el.properties +1 -0
  162. package/src/sap/ui/core/messagebundle_en.properties +1 -0
  163. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
  164. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  165. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  166. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
  167. package/src/sap/ui/core/messagebundle_es.properties +1 -0
  168. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
  169. package/src/sap/ui/core/messagebundle_et.properties +1 -0
  170. package/src/sap/ui/core/messagebundle_fi.properties +1 -0
  171. package/src/sap/ui/core/messagebundle_fr.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_hi.properties +1 -0
  174. package/src/sap/ui/core/messagebundle_hr.properties +1 -0
  175. package/src/sap/ui/core/messagebundle_hu.properties +1 -0
  176. package/src/sap/ui/core/messagebundle_id.properties +3 -2
  177. package/src/sap/ui/core/messagebundle_it.properties +1 -0
  178. package/src/sap/ui/core/messagebundle_iw.properties +1 -0
  179. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  180. package/src/sap/ui/core/messagebundle_kk.properties +1 -0
  181. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  182. package/src/sap/ui/core/messagebundle_lt.properties +1 -0
  183. package/src/sap/ui/core/messagebundle_lv.properties +2 -1
  184. package/src/sap/ui/core/messagebundle_ms.properties +1 -0
  185. package/src/sap/ui/core/messagebundle_nl.properties +1 -0
  186. package/src/sap/ui/core/messagebundle_no.properties +1 -0
  187. package/src/sap/ui/core/messagebundle_pl.properties +1 -0
  188. package/src/sap/ui/core/messagebundle_pt.properties +1 -0
  189. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
  190. package/src/sap/ui/core/messagebundle_ro.properties +1 -0
  191. package/src/sap/ui/core/messagebundle_ru.properties +1 -0
  192. package/src/sap/ui/core/messagebundle_sh.properties +1 -0
  193. package/src/sap/ui/core/messagebundle_sk.properties +1 -0
  194. package/src/sap/ui/core/messagebundle_sl.properties +1 -0
  195. package/src/sap/ui/core/messagebundle_sv.properties +1 -0
  196. package/src/sap/ui/core/messagebundle_th.properties +1 -0
  197. package/src/sap/ui/core/messagebundle_tr.properties +1 -0
  198. package/src/sap/ui/core/messagebundle_uk.properties +1 -0
  199. package/src/sap/ui/core/messagebundle_vi.properties +1 -0
  200. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
  201. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
  202. package/src/sap/ui/core/mvc/Controller.js +1 -1
  203. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  204. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  205. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  206. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  207. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  208. package/src/sap/ui/core/mvc/JSView.js +1 -1
  209. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  210. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  211. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  212. package/src/sap/ui/core/mvc/View.js +1 -1
  213. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  214. package/src/sap/ui/core/mvc/XMLView.js +16 -4
  215. package/src/sap/ui/core/mvc/XMLViewRenderer.js +5 -2
  216. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  217. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  218. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  219. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  220. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  221. package/src/sap/ui/core/routing/Router.js +1 -1
  222. package/src/sap/ui/core/rules/App.support.js +6 -1
  223. package/src/sap/ui/core/rules/Misc.support.js +8 -3
  224. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  225. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  226. package/src/sap/ui/core/service/Service.js +1 -1
  227. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  228. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  229. package/src/sap/ui/core/support/Plugin.js +29 -1
  230. package/src/sap/ui/core/support/Support.js +3 -3
  231. package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
  232. package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
  233. package/src/sap/ui/core/support/plugins/ControlTree.js +434 -347
  234. package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
  235. package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
  236. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  237. package/src/sap/ui/core/support/plugins/Performance.js +10 -13
  238. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  239. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
  240. package/src/sap/ui/core/support/plugins/Trace.js +7 -7
  241. package/src/sap/ui/core/support/plugins/ViewInfo.js +84 -22
  242. package/src/sap/ui/core/support/support.css +23 -23
  243. package/src/sap/ui/core/support/support.html +4 -6
  244. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  245. package/src/sap/ui/core/themes/base/CommandShortcutHints.less +1 -1
  246. package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
  247. package/src/sap/ui/core/themes/base/base.less +1524 -54
  248. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  249. package/src/sap/ui/core/themes/base/global.less +169 -13
  250. package/src/sap/ui/core/themes/base/shared.less +1 -0
  251. package/src/sap/ui/core/themes/sap_hcb/global.less +164 -7
  252. package/src/sap/ui/core/theming/Parameters.js +1 -1
  253. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  254. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  255. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  256. package/src/sap/ui/core/tmpl/Template.js +1 -1
  257. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  258. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  259. package/src/sap/ui/core/util/Export.js +1 -1
  260. package/src/sap/ui/core/util/ExportCell.js +1 -1
  261. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  262. package/src/sap/ui/core/util/ExportRow.js +1 -1
  263. package/src/sap/ui/core/util/ExportType.js +1 -1
  264. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  265. package/src/sap/ui/core/util/File.js +1 -1
  266. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  267. package/src/sap/ui/core/util/MockServer.js +20 -17
  268. package/src/sap/ui/core/util/PasteHelper.js +5 -5
  269. package/src/sap/ui/core/util/XMLPreprocessor.js +17 -4
  270. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  271. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  272. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  273. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  274. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  275. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  276. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  277. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  278. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  279. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  280. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  281. package/src/sap/ui/debug/ControlTree.js +1 -1
  282. package/src/sap/ui/debug/DebugEnv.js +1 -1
  283. package/src/sap/ui/debug/LogViewer.js +2 -2
  284. package/src/sap/ui/debug/PropertyList.js +1 -1
  285. package/src/sap/ui/dom/includeStylesheet.js +8 -3
  286. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  287. package/src/sap/ui/model/Binding.js +4 -3
  288. package/src/sap/ui/model/ClientModel.js +1 -1
  289. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  290. package/src/sap/ui/model/CompositeBinding.js +4 -1
  291. package/src/sap/ui/model/CompositeDataState.js +1 -1
  292. package/src/sap/ui/model/CompositeType.js +13 -1
  293. package/src/sap/ui/model/ContextBinding.js +1 -1
  294. package/src/sap/ui/model/DataState.js +1 -1
  295. package/src/sap/ui/model/MetaModel.js +1 -2
  296. package/src/sap/ui/model/Model.js +10 -7
  297. package/src/sap/ui/model/SelectionModel.js +1 -1
  298. package/src/sap/ui/model/SimpleType.js +1 -1
  299. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  300. package/src/sap/ui/model/Type.js +1 -1
  301. package/src/sap/ui/model/_Helper.js +24 -0
  302. package/src/sap/ui/model/analytics/AnalyticalBinding.js +30 -15
  303. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  304. package/src/sap/ui/model/base/ManagedObjectModel.js +9 -7
  305. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  306. package/src/sap/ui/model/json/JSONModel.js +15 -8
  307. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  308. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  309. package/src/sap/ui/model/message/MessageModel.js +1 -1
  310. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  311. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  312. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  313. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  314. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  315. package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
  316. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  317. package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
  318. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  319. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +5 -4
  320. package/src/sap/ui/model/odata/ODataUtils.js +7 -9
  321. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  322. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  323. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  324. package/src/sap/ui/model/odata/type/Date.js +1 -1
  325. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  327. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  328. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +349 -0
  329. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  330. package/src/sap/ui/model/odata/type/Double.js +1 -1
  331. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  332. package/src/sap/ui/model/odata/type/Int.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  334. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  335. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  336. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  337. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  338. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  339. package/src/sap/ui/model/odata/type/Single.js +1 -1
  340. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  341. package/src/sap/ui/model/odata/type/String.js +1 -1
  342. package/src/sap/ui/model/odata/type/Time.js +1 -1
  343. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  344. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  345. package/src/sap/ui/model/odata/v2/Context.js +69 -5
  346. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  347. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
  348. package/src/sap/ui/model/odata/v2/ODataListBinding.js +215 -78
  349. package/src/sap/ui/model/odata/v2/ODataModel.js +283 -80
  350. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
  351. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +16 -17
  352. package/src/sap/ui/model/odata/v4/Context.js +117 -76
  353. package/src/sap/ui/model/odata/v4/ODataBinding.js +62 -37
  354. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +157 -169
  355. package/src/sap/ui/model/odata/v4/ODataListBinding.js +451 -262
  356. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +91 -63
  357. package/src/sap/ui/model/odata/v4/ODataModel.js +478 -250
  358. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +74 -83
  359. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +65 -61
  360. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +61 -6
  361. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
  362. package/src/sap/ui/model/odata/v4/lib/_Cache.js +336 -86
  363. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
  364. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +16 -0
  365. package/src/sap/ui/model/odata/v4/lib/_Helper.js +13 -6
  366. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -2
  367. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +233 -26
  368. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  369. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  370. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  371. package/src/sap/ui/model/type/Boolean.js +1 -1
  372. package/src/sap/ui/model/type/Currency.js +1 -1
  373. package/src/sap/ui/model/type/Date.js +1 -1
  374. package/src/sap/ui/model/type/DateInterval.js +1 -1
  375. package/src/sap/ui/model/type/DateTime.js +1 -1
  376. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  377. package/src/sap/ui/model/type/FileSize.js +1 -1
  378. package/src/sap/ui/model/type/Float.js +1 -1
  379. package/src/sap/ui/model/type/Integer.js +1 -1
  380. package/src/sap/ui/model/type/String.js +1 -1
  381. package/src/sap/ui/model/type/Time.js +1 -1
  382. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  383. package/src/sap/ui/model/type/Unit.js +1 -1
  384. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  385. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  386. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  387. package/src/sap/ui/performance/trace/FESR.js +1 -1
  388. package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
  389. package/src/sap/ui/performance/trace/Interaction.js +6 -2
  390. package/src/sap/ui/performance/trace/Passport.js +3 -3
  391. package/src/sap/ui/qunit/qunit-2-css.js +4 -4
  392. package/src/sap/ui/qunit/qunit-css.js +4 -4
  393. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  394. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  395. package/src/sap/ui/test/BranchTracking.js +1 -0
  396. package/src/sap/ui/test/Opa5.js +10 -6
  397. package/src/sap/ui/test/OpaBuilder.js +7 -7
  398. package/src/sap/ui/test/TestUtils.js +11 -0
  399. package/src/sap/ui/test/_UsageReport.js +1 -1
  400. package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
  401. package/src/sap/ui/test/generic/TestBase.js +151 -0
  402. package/src/sap/ui/test/generic/Utils.js +284 -0
  403. package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
  404. package/src/sap/ui/test/opaQunit.js +11 -10
  405. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
  406. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  407. package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
  408. package/src/sap/ui/thirdparty/IPv6.js +1 -1
  409. package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
  410. package/src/sap/ui/thirdparty/URI.js +7 -3
  411. package/src/sap/ui/thirdparty/URITemplate.js +1 -1
  412. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
  413. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
  414. package/src/sap/ui/thirdparty/jszip.js +17 -7
  415. package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
  416. package/src/sap/ui/util/Mobile.js +17 -0
  417. package/src/sap/ui/util/Storage.js +1 -1
  418. package/src/ui5loader.js +9 -5
@@ -228,7 +228,7 @@ sap.ui.define([
228
228
  * @extends sap.ui.base.ManagedObject
229
229
  * @abstract
230
230
  * @author SAP SE
231
- * @version 1.98.0
231
+ * @version 1.101.0
232
232
  * @alias sap.ui.core.Component
233
233
  * @since 1.9.2
234
234
  */
@@ -421,17 +421,18 @@ sap.ui.define([
421
421
  * @param {string|sap.ui.base.ManagedObject|sap.ui.core.Component} vObject Either Component Id, ManagedObject or component instance
422
422
  * @param {object} mOptions Info object to retrieve the customizing config
423
423
  * @param {object} mOptions.type Either <code>sap.ui.viewExtension</code>, <code>sap.ui.controllerReplacement</code>, <code>sap.ui.viewReplacement</code>, <code>sap.ui.viewModification</code> or <code>sap.ui.controllerExtension</code>
424
- * @param {object} mOptions.name Name of the customizing configuration
424
+ * @param {object} [mOptions.name] Name of the customizing configuration. If none given the complete extension object is returned.
425
425
  * @param {object} [mOptions.extensionName] If type <code>sap.ui.viewExtension</code>, the extension name must be provided
426
- * @param {object} oExtInfo Config object containing the view/fragment and extension name
427
426
  * @throws {Error} If 'getExtensionComponent' function is given, but does not return an instance.
428
427
  * @returns {object|undefined} Object containing the customizing config or <code>undefined</code>
429
428
  * @static
430
- * @private ui5-restricted sap.ui.core
429
+ * @private
430
+ * @ui5-restricted sap.ui.core
431
431
  */
432
432
  Component.getCustomizing = function(vObject, mOptions) {
433
433
  var sType = mOptions.type,
434
- sPath = "/sap.ui5/extends/extensions/" + sType + "/" + mOptions.name;
434
+ sExtensionSuffix = mOptions.name ? "/" + mOptions.name : "",
435
+ sPath = "/sap.ui5/extends/extensions/" + sType + sExtensionSuffix;
435
436
 
436
437
  if (sType === "sap.ui.viewExtensions") {
437
438
  sPath += "/" + mOptions.extensionName;
@@ -2468,15 +2469,9 @@ sap.ui.define([
2468
2469
  * register for messaging: register if either handleValidation is set in metadata
2469
2470
  * or if not set in metadata and set on instance
2470
2471
  */
2471
- var bHandleValidation = oInstance.getMetadata().handleValidation() !== undefined || vConfig.handleValidation;
2472
- if (bHandleValidation) {
2473
- // calculate handleValidation for registration
2474
- if (oInstance.getMetadata().handleValidation() !== undefined) {
2475
- bHandleValidation = oInstance.getMetadata().handleValidation();
2476
- } else {
2477
- bHandleValidation = vConfig.handleValidation;
2478
- }
2479
- sap.ui.getCore().getMessageManager().registerObject(oInstance, bHandleValidation);
2472
+ var bHandleValidation = oInstance.getMetadata().getManifestEntry("/sap.ui5/handleValidation");
2473
+ if (bHandleValidation !== undefined || vConfig.handleValidation) {
2474
+ sap.ui.getCore().getMessageManager().registerObject(oInstance, bHandleValidation === undefined ? vConfig.handleValidation : bHandleValidation);
2480
2475
  }
2481
2476
 
2482
2477
  // Some services may demand immediate startup
@@ -3671,17 +3666,26 @@ sap.ui.define([
3671
3666
  *
3672
3667
  * @param {string} [sCommandName] The name of the command defined in manifest
3673
3668
  *
3674
- * @returns {object} The command object as defined in the manifest
3669
+ * @returns {object|undefined} The command object as defined in the manifest, undefined if no command is found under the given name.
3675
3670
  * @private
3676
3671
  */
3677
3672
  Component.prototype.getCommand = function(sCommandName) {
3678
- var oCommand,
3679
- oCommands = this._getManifestEntry("/sap.ui5/commands", true);
3673
+ if (!this._mComputedCommands) {
3674
+ var oCommandExtensions = Component.getCustomizing(this, {
3675
+ type: "sap.ui.commands"
3676
+ }) || {},
3677
+ oOwnCommands = this._getManifestEntry("/sap.ui5/commands", true) || {},
3678
+ sComponentName = this.getMetadata().getComponentName(),
3679
+ sComponentIdSuffix = "",
3680
+ oExtensionComponent = this.getExtensionComponent && this.getExtensionComponent();
3680
3681
 
3681
- if (oCommands && sCommandName) {
3682
- oCommand = oCommands[sCommandName];
3682
+ if (oExtensionComponent && oExtensionComponent.getLocalId) {
3683
+ sComponentIdSuffix = "#" + oExtensionComponent.getLocalId(this.getId());
3684
+ }
3685
+ this._mComputedCommands = merge({}, oOwnCommands, oCommandExtensions[sComponentName], oCommandExtensions[sComponentName + sComponentIdSuffix]);
3683
3686
  }
3684
- return sCommandName ? oCommand : oCommands;
3687
+
3688
+ return sCommandName ? this._mComputedCommands[sCommandName] : this._mComputedCommands;
3685
3689
  };
3686
3690
 
3687
3691
  /**
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * See also {@link module:sap/ui/core/ComponentSupport}.
60
60
  *
61
61
  * @extends sap.ui.core.Control
62
- * @version 1.98.0
62
+ * @version 1.101.0
63
63
  *
64
64
  * @public
65
65
  * @alias sap.ui.core.ComponentContainer
@@ -31,12 +31,12 @@ sap.ui.define([
31
31
  * Creates a new metadata object for a Component subclass.
32
32
  *
33
33
  * @param {string} sClassName Fully qualified name of the class that is described by this metadata object
34
- * @param {object} oStaticInfo Static info to construct the metadata from
34
+ * @param {object} oClassInfo Static info to construct the metadata from
35
35
  *
36
36
  * @public
37
37
  * @class
38
38
  * @author SAP SE
39
- * @version 1.98.0
39
+ * @version 1.101.0
40
40
  * @since 1.9.2
41
41
  * @alias sap.ui.core.ComponentMetadata
42
42
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @author SAP SE
98
98
  * @public
99
99
  * @since 1.58.0
100
- * @version 1.98.0
100
+ * @version 1.101.0
101
101
  * @namespace
102
102
  * @alias module:sap/ui/core/ComponentSupport
103
103
  */
@@ -11,6 +11,7 @@ sap.ui.define([
11
11
  '../base/Object',
12
12
  './CalendarType',
13
13
  './Locale',
14
+ "./format/TimezoneUtil",
14
15
  'sap/ui/thirdparty/URI',
15
16
  "sap/base/util/UriParameters",
16
17
  "sap/base/util/deepEqual",
@@ -26,6 +27,7 @@ sap.ui.define([
26
27
  BaseObject,
27
28
  CalendarType,
28
29
  Locale,
30
+ TimezoneUtil,
29
31
  URI,
30
32
  UriParameters,
31
33
  deepEqual,
@@ -101,12 +103,12 @@ sap.ui.define([
101
103
  var M_SETTINGS = {
102
104
  "theme" : { type : "string", defaultValue : "base" },
103
105
  "language" : { type : "Locale", defaultValue : detectLanguage() },
106
+ "timezone" : { type : "string", defaultValue : TimezoneUtil.getLocalTimezone() },
104
107
  "formatLocale" : { type : "Locale", defaultValue : null },
105
108
  "calendarType" : { type : "string", defaultValue : null },
106
109
  "trailingCurrencyCode" : { type : "boolean", defaultValue : true },
107
- // "timezone" : "UTC",
108
110
  "accessibility" : { type : "boolean", defaultValue : true },
109
- "autoAriaBodyRole" : { type : "boolean", defaultValue : false, noUrl:true }, //whether the framework automatically adds automatically the ARIA role 'application' to the html body
111
+ "autoAriaBodyRole" : { type : "boolean", defaultValue : false, noUrl:true }, //whether the framework automatically adds the ARIA role 'application' to the html body
110
112
  "animation" : { type : "boolean", defaultValue : true }, // deprecated, please use animationMode
111
113
  "animationMode" : { type : Configuration.AnimationMode, defaultValue : undefined }, // If no value is provided, animationMode will be set on instantiation depending on the animation setting.
112
114
  "rtl" : { type : "boolean", defaultValue : null },
@@ -145,7 +147,6 @@ sap.ui.define([
145
147
  "xx-appCacheBusterHooks": { type : "object", defaultValue : undefined, noUrl:true }, // e.g.: { handleURL: fn, onIndexLoad: fn, onIndexLoaded: fn }
146
148
  "xx-disableCustomizing" : { type : "boolean", defaultValue : false, noUrl:true },
147
149
  "xx-viewCache" : { type : "boolean", defaultValue : true },
148
- "xx-test-mobile" : { type : "boolean", defaultValue : false },
149
150
  "xx-depCache" : { type : "boolean", defaultValue : false },
150
151
  "xx-libraryPreloadFiles": { type : "string[]", defaultValue : [] },
151
152
  "xx-componentPreload" : { type : "string", defaultValue : "" },
@@ -372,6 +373,15 @@ sap.ui.define([
372
373
  }
373
374
  }
374
375
 
376
+ if (oUriParams.has('sap-timezone')) {
377
+ // validate the IANA timezone ID, but do not trigger a localizationChanged event
378
+ // because the initialization should not trigger a "*Changed" event
379
+ var sTimezone = oUriParams.get('sap-timezone');
380
+ if (checkTimezone(sTimezone)) {
381
+ this.timezone = sTimezone;
382
+ }
383
+ }
384
+
375
385
  if (oUriParams.has('sap-theme')) {
376
386
  var sValue = oUriParams.get('sap-theme');
377
387
  if (sValue === "") {
@@ -633,7 +643,7 @@ sap.ui.define([
633
643
  /**
634
644
  * Returns a string that identifies the current language.
635
645
  *
636
- * The value returned by this methods in most cases corresponds to the exact value that has been
646
+ * The value returned by this method in most cases corresponds to the exact value that has been
637
647
  * configured by the user or application or that has been determined from the user agent settings.
638
648
  * It has not been normalized, but has been validated against a relaxed version of
639
649
  * {@link http://www.ietf.org/rfc/bcp/bcp47.txt BCP47}, allowing underscores ('_') instead of the
@@ -693,6 +703,18 @@ sap.ui.define([
693
703
  return (this.sapLogonLanguage && this.sapLogonLanguage.toUpperCase()) || this.language.getSAPLogonLanguage();
694
704
  },
695
705
 
706
+ /**
707
+ * Retrieves the configured IANA timezone ID
708
+ *
709
+ * @returns {string} The configured IANA timezone ID, e.g. "America/New_York"
710
+ * @public
711
+ * @since 1.99.0
712
+ * @experimental As of version 1.99.0, time zones are currently not supported by all controls.
713
+ */
714
+ getTimezone : function () {
715
+ return this.timezone;
716
+ },
717
+
696
718
  /**
697
719
  * Sets a new language to be used from now on for language/region dependent
698
720
  * functionality (e.g. formatting, data types, translated texts, ...).
@@ -779,6 +801,36 @@ sap.ui.define([
779
801
  return this;
780
802
  },
781
803
 
804
+ /**
805
+ * Sets the timezone such that all date and time based calculations use this timezone.
806
+ *
807
+ * When the timezone has changed, the Core will fire its
808
+ * {@link sap.ui.core.Core#event:localizationChanged localizationChanged} event.
809
+ *
810
+ * @param {string|null} [sTimezone] IANA timezone ID, e.g. "America/New_York". Use <code>null</code> to reset the timezone to the browser's local timezone.
811
+ * An invalid IANA timezone ID will fall back to the browser's timezone.
812
+ * @public
813
+ * @return {this} <code>this</code> to allow method chaining
814
+ * @since 1.99.0
815
+ * @experimental As of version 1.99.0, time zones are currently not supported by all controls.
816
+ */
817
+ setTimezone : function (sTimezone) {
818
+ check(sTimezone == null || typeof sTimezone === 'string',
819
+ "Configuration.setTimezone: sTimezone must be null or be a string", /* warn= */ true);
820
+
821
+ if (sTimezone == null || !checkTimezone(sTimezone)) {
822
+ sTimezone = TimezoneUtil.getLocalTimezone();
823
+ }
824
+ if (this.timezone !== sTimezone) {
825
+ this.timezone = sTimezone;
826
+
827
+ var mChanges = this._collect();
828
+ mChanges.timezone = sTimezone;
829
+ this._endCollect();
830
+ }
831
+ return this;
832
+ },
833
+
782
834
  /**
783
835
  * Returns a Locale object for the current language.
784
836
  *
@@ -1006,7 +1058,7 @@ sap.ui.define([
1006
1058
  },
1007
1059
 
1008
1060
  /**
1009
- * Returns whether the framework automatically adds automatically
1061
+ * Returns whether the framework automatically adds
1010
1062
  * the ARIA role 'application' to the HTML body or not.
1011
1063
  * @return {boolean}
1012
1064
  * @since 1.27.0
@@ -1186,7 +1238,7 @@ sap.ui.define([
1186
1238
  * @returns {boolean} whether the design mode is active or not.
1187
1239
  * @since 1.13.2
1188
1240
  * @private
1189
- * @ui5-restricted sap.watt, com.sap.webide
1241
+ * @ui5-restricted sap.watt, com.sap.webide, sap.ui.fl, sap.ui.rta, sap.ui.comp, SAP Business Application Studio
1190
1242
  */
1191
1243
  getDesignMode : function() {
1192
1244
  return this["xx-designMode"];
@@ -1731,6 +1783,21 @@ sap.ui.define([
1731
1783
  throw new Error("Unsupported Enumeration value for " + sPropertyName + ", valid values are: " + aValidValues.join(", "));
1732
1784
  }
1733
1785
 
1786
+ /**
1787
+ * Checks if the provided timezone is valid and logs an error if not.
1788
+ *
1789
+ * @param {string} sTimezone The IANA timezone ID
1790
+ * @returns {boolean} Returns true if the timezone is valid
1791
+ */
1792
+ function checkTimezone(sTimezone) {
1793
+ var bIsValidTimezone = TimezoneUtil.isValidTimezone(sTimezone);
1794
+ if (!bIsValidTimezone) {
1795
+ Log.error("The provided timezone '" + sTimezone + "' is not a valid IANA timezone ID." +
1796
+ " Falling back to browser's local timezone '" + TimezoneUtil.getLocalTimezone() + "'.");
1797
+ }
1798
+ return bIsValidTimezone;
1799
+ }
1800
+
1734
1801
  /**
1735
1802
  * @class Encapsulates configuration settings that are related to data formatting/parsing.
1736
1803
  *
@@ -1842,7 +1909,7 @@ sap.ui.define([
1842
1909
  * * In the patterns <code>{0}</code> is replaced by the number
1843
1910
  *
1844
1911
  * E.g. In locale 'en' value <code>1</code> would result in <code>1 Bag</code>, while <code>2</code> would result in <code>2 Bags</code>
1845
- * @param mUnits {object} custom unit object which replaces the current custom unit definition. Call with <code>null</code> to delete custom units.
1912
+ * @param {object} mUnits custom unit object which replaces the current custom unit definition. Call with <code>null</code> to delete custom units.
1846
1913
  * @returns {this}
1847
1914
  */
1848
1915
  setCustomUnits: function (mUnits) {
@@ -1860,7 +1927,7 @@ sap.ui.define([
1860
1927
  /**
1861
1928
  * Adds custom units.
1862
1929
  * Similar to {@link sap.ui.core.Configuration#setCustomUnits} but instead of setting the custom units, it will add additional ones.
1863
- * @param mUnits {object} custom unit object which replaces the current custom unit definition. Call with <code>null</code> to delete custom units.
1930
+ * @param {object} mUnits custom unit object which replaces the current custom unit definition. Call with <code>null</code> to delete custom units.
1864
1931
  * @returns {this}
1865
1932
  * @see sap.ui.core.Configuration#setCustomUnits
1866
1933
  */
@@ -1889,7 +1956,7 @@ sap.ui.define([
1889
1956
  * </code>
1890
1957
  * Note: It is possible to create multiple entries per unit key.
1891
1958
  * Call with <code>null</code> to delete unit mappings.
1892
- * @param mUnitMappings {object} unit mappings
1959
+ * @param {object} mUnitMappings unit mappings
1893
1960
  * @returns {this} Returns <code>this</code> to allow method chaining
1894
1961
  */
1895
1962
  setUnitMappings: function (mUnitMappings) {
@@ -1900,7 +1967,7 @@ sap.ui.define([
1900
1967
  /**
1901
1968
  * Adds unit mappings.
1902
1969
  * Similar to {@link sap.ui.core.Configuration#setUnitMappings} but instead of setting the unit mappings, it will add additional ones.
1903
- * @param mUnitMappings {object} unit mappings
1970
+ * @param {object} mUnitMappings unit mappings
1904
1971
  * @returns {this}
1905
1972
  * @see sap.ui.core.Configuration#setUnitMappings
1906
1973
  */
@@ -2014,7 +2081,7 @@ sap.ui.define([
2014
2081
  * specific parts of the UI. See the documentation of {@link sap.ui.core.Configuration#setLanguage}
2015
2082
  * for details and restrictions.
2016
2083
  *
2017
- * @param {string} sStyle must be one of decimal, group, plusSign, minusSign.
2084
+ * @param {string} sType must be one of decimal, group, plusSign, minusSign.
2018
2085
  * @param {string} sSymbol will be used to represent the given symbol type
2019
2086
  * @returns {this} Returns <code>this</code> to allow method chaining
2020
2087
  * @public
@@ -2069,6 +2136,8 @@ sap.ui.define([
2069
2136
  * </code>
2070
2137
  *
2071
2138
  * Note: To unset the custom currencies: call with <code>undefined</code>
2139
+ * Custom currencies must not only consist of digits but contain at least one non-digit character, e.g. "a",
2140
+ * so that the measure part can be distinguished from the number part.
2072
2141
  * @public
2073
2142
  * @param {object} mCurrencies currency map which is set
2074
2143
  * @returns {sap.ui.core.Configuration.FormatSettings}
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  * @extends sap.ui.core.Element
78
78
  * @abstract
79
79
  * @author SAP SE
80
- * @version 1.98.0
80
+ * @version 1.101.0
81
81
  * @alias sap.ui.core.Control
82
82
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
83
83
  */
@@ -275,6 +275,7 @@ sap.ui.define([
275
275
  * @param {string} [sIdSuffix] a suffix to be appended to the cloned element id
276
276
  * @param {string[]} [aLocalIds] an array of local IDs within the cloned hierarchy (internally used)
277
277
  * @returns {this} reference to the newly created clone
278
+ * @override
278
279
  * @public
279
280
  */
280
281
  Control.prototype.clone = function() {
@@ -210,7 +210,7 @@ sap.ui.define([
210
210
  * @extends sap.ui.base.Object
211
211
  * @final
212
212
  * @author SAP SE
213
- * @version 1.98.0
213
+ * @version 1.101.0
214
214
  * @alias sap.ui.core.Core
215
215
  * @public
216
216
  * @hideconstructor
@@ -1513,6 +1513,9 @@ sap.ui.define([
1513
1513
  };
1514
1514
 
1515
1515
  /**
1516
+ * Creates a new <code>RenderManager</code> instance for use by the caller.
1517
+ *
1518
+ * @returns {sap.ui.core.RenderManager} A newly createdRenderManeger
1516
1519
  * @public
1517
1520
  * @deprecated Since version 0.15.0. Replaced by <code>createRenderManager()</code>
1518
1521
  */
@@ -1797,10 +1800,10 @@ sap.ui.define([
1797
1800
  }
1798
1801
 
1799
1802
  /**
1800
- * Preprocessed given dependencies
1803
+ * Preprocess the given dependencies.
1801
1804
  *
1802
- * @param {object} oDependencies - Dependencies to preprocess
1803
- * @returns {object} oDependencies - Proprocessed dependencies
1805
+ * @param {object} dependencies - Dependencies to preprocess
1806
+ * @returns {object} Preprocessed dependencies
1804
1807
  */
1805
1808
  function preprocessDependencies(dependencies) {
1806
1809
  if (Array.isArray(dependencies)) {
@@ -2194,7 +2197,7 @@ sap.ui.define([
2194
2197
  * @param {string} [sId] the ID for the component instance
2195
2198
  * @param {object} [mSettings] the settings object for the component
2196
2199
  * @public
2197
- * @returns {sap.ui.core.Component} the created Component instance
2200
+ * @returns {sap.ui.core.Component|Promise<sap.ui.core.Component>} The created component instance or a promise on it in the async use case
2198
2201
  * @deprecated Since 1.95. Please use {@link sap.ui.core.Component.create Component.create} instead.
2199
2202
  */
2200
2203
  Core.prototype.createComponent = function(vComponent, sUrl, sId, mSettings) {
@@ -2315,6 +2318,7 @@ sap.ui.define([
2315
2318
  * @param {boolean} [oLibInfo.noLibraryCSS=false] Indicates whether the library doesn't provide / use theming.
2316
2319
  * When set to true, no library.css will be loaded for this library
2317
2320
  * @param {object} [oLibInfo.extensions] Potential extensions of the library metadata; structure not defined by the UI5 core framework.
2321
+ * @return {object|undefined} As of version 1.101; returns the library namespace, based on the given library name. Returns 'undefined' if no library name is provided.
2318
2322
  * @public
2319
2323
  */
2320
2324
  Core.prototype.initLibrary = function(oLibInfo) {
@@ -2332,8 +2336,12 @@ sap.ui.define([
2332
2336
  Log.error("[Deprecated] library " + sLibName + " uses old fashioned initLibrary() call (rebuild with newest generator)");
2333
2337
  }
2334
2338
 
2335
- if ( !sLibName || mLoadedLibraries[sLibName] ) {
2339
+ if (!sLibName) {
2340
+ Log.error("A library name must be provided.", null, METHOD);
2336
2341
  return;
2342
+
2343
+ } else if (mLoadedLibraries[sLibName]) {
2344
+ return ObjectPath.get(sLibName);
2337
2345
  }
2338
2346
 
2339
2347
  Log.debug("Analyzing Library " + sLibName, null, METHOD);
@@ -2372,7 +2380,7 @@ sap.ui.define([
2372
2380
  }
2373
2381
 
2374
2382
  // ensure namespace
2375
- ObjectPath.create(sLibName);
2383
+ var oLib = ObjectPath.create(sLibName);
2376
2384
 
2377
2385
  // Create lib info object or merge with existing 'adhoc' library
2378
2386
  this.mLibraries[sLibName] = oLibInfo = extend(this.mLibraries[sLibName] || {
@@ -2447,6 +2455,7 @@ sap.ui.define([
2447
2455
 
2448
2456
  this.fireLibraryChanged({name : sLibName, stereotype : "library", operation: "add", metadata : oLibInfo});
2449
2457
 
2458
+ return oLib;
2450
2459
  };
2451
2460
 
2452
2461
  // helper to add the FOUC marker to the CSS for the given id
@@ -3211,6 +3220,9 @@ sap.ui.define([
3211
3220
 
3212
3221
  /**
3213
3222
  * Register a listener for the {@link sap.ui.core.Core#event:libraryChanged} event.
3223
+ *
3224
+ * @param {function} fnFunction Callback to be called when the <code>libraryChanged</code> event is fired
3225
+ * @param {object} [oListener] Optional context object to call the callback on
3214
3226
  */
3215
3227
  Core.prototype.attachLibraryChanged = function(fnFunction, oListener) {
3216
3228
  _oEventProvider.attachEvent(Core.M_EVENTS.LibraryChanged, fnFunction, oListener);
@@ -3218,6 +3230,9 @@ sap.ui.define([
3218
3230
 
3219
3231
  /**
3220
3232
  * Unregister a listener from the {@link sap.ui.core.Core#event:libraryChanged} event.
3233
+ *
3234
+ * @param {function} fnFunction function to unregister
3235
+ * @param {object} [oListener] context object given during registration
3221
3236
  */
3222
3237
  Core.prototype.detachLibraryChanged = function(fnFunction, oListener) {
3223
3238
  _oEventProvider.detachEvent(Core.M_EVENTS.LibraryChanged, fnFunction, oListener);
@@ -3439,10 +3454,10 @@ sap.ui.define([
3439
3454
  };
3440
3455
 
3441
3456
  /**
3442
- * Used to find out whether a certain DOM element is the static area
3457
+ * Checks whether the given DOM element is the root of the static area.
3443
3458
  *
3444
- * @param {object} oDomRef
3445
- * @return {boolean} whether the given DomRef is the StaticAreaRef
3459
+ * @param {Element} oDomRef DOM element to check
3460
+ * @returns {boolean} Whether the given DOM element is the root of the static area
3446
3461
  * @protected
3447
3462
  */
3448
3463
  Core.prototype.isStaticAreaRef = function(oDomRef) {
@@ -3550,13 +3565,13 @@ sap.ui.define([
3550
3565
  * @param {string} sUIAreaId id of the UIArea that received the event
3551
3566
  * @private
3552
3567
  */
3553
- Core.prototype._handleControlEvent = function(/**event*/oEvent, sUiAreaId) {
3568
+ Core.prototype._handleControlEvent = function(/**event*/oEvent, sUIAreaId) {
3554
3569
  // Create a copy of the event
3555
3570
  var oEventClone = jQuery.Event(oEvent.type);
3556
3571
  Object.assign(oEventClone, oEvent);
3557
3572
  oEventClone.originalEvent = undefined;
3558
3573
 
3559
- this.fireControlEvent({"browserEvent": oEventClone, "uiArea": sUiAreaId});
3574
+ this.fireControlEvent({"browserEvent": oEventClone, "uiArea": sUIAreaId});
3560
3575
  };
3561
3576
 
3562
3577
 
@@ -3945,6 +3960,8 @@ sap.ui.define([
3945
3960
  *
3946
3961
  * Please note that this event is a bubbling event and may already be canceled before reaching the core.
3947
3962
  *
3963
+ * @param {object}
3964
+ * [oData] An object that will be passed to the handler along with the event object when the event is fired
3948
3965
  * @param {function}
3949
3966
  * fnFunction The function to be called, when the event occurs
3950
3967
  * @param {object}
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.98.0
27
+ * @version 1.101.0
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Static class for enabling declarative UI support.
41
41
  *
42
42
  * @author Peter Muessig, Tino Butz
43
- * @version 1.98.0
43
+ * @version 1.101.0
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -126,7 +126,7 @@ sap.ui.define([
126
126
  *
127
127
  * @extends sap.ui.base.ManagedObject
128
128
  * @author SAP SE
129
- * @version 1.98.0
129
+ * @version 1.101.0
130
130
  * @public
131
131
  * @alias sap.ui.core.Element
132
132
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
@@ -1419,12 +1419,9 @@ sap.ui.define([
1419
1419
  *
1420
1420
  * There's no difference between <code>bindElement</code> and {@link sap.ui.base.ManagedObject#bindObject}.
1421
1421
  *
1422
- * @param {string|object} vPath the binding path or an object with more detailed binding options
1423
- * @param {string} vPath.path the binding path
1424
- * @param {object} [vPath.parameters] map of additional parameters for this binding
1425
- * @param {string} [vPath.model] name of the model
1426
- * @param {object} [vPath.events] map of event listeners for the binding events
1427
- * @param {object} [mParameters] map of additional parameters for this binding (only taken into account when vPath is a string in that case it corresponds to vPath.parameters).
1422
+ * @param {string|sap.ui.base.ManagedObject.ObjectBindingInfo} vPath the binding path or an object with more detailed binding options
1423
+ * @param {object} [mParameters] map of additional parameters for this binding.
1424
+ * Only taken into account when <code>vPath</code> is a string. In that case it corresponds to <code>mParameters</code> of {@link sap.ui.base.ManagedObject.ObjectBindingInfo}.
1428
1425
  * The supported parameters are listed in the corresponding model-specific implementation of <code>sap.ui.model.ContextBinding</code>.
1429
1426
  *
1430
1427
  * @returns {this} reference to the instance itself
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.98.0
26
+ * @version 1.101.0
27
27
  * @since 0.8.6
28
28
  * @alias sap.ui.core.ElementMetadata
29
29
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -41,7 +41,7 @@ sap.ui.define([], function() {
41
41
  *
42
42
  * @param {boolean} [bDefault=true] Value that should be used as default value for the enhancement of the control.
43
43
  * @param {boolean} [bLegacy=false] Whether the introduced property should use the old name <code>Enabled</code>.
44
- * @version 1.98.0
44
+ * @version 1.101.0
45
45
  * @public
46
46
  * @class
47
47
  * @alias sap.ui.core.EnabledPropagator
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @extends sap.ui.base.Object
32
32
  * @author SAP SE
33
- * @version 1.98.0
33
+ * @version 1.101.0
34
34
  * @public
35
35
  * @since 1.8.0
36
36
  * @alias sap.ui.core.EventBus
@@ -113,7 +113,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/core/mvc/View
113
113
  // We cannot model the Fragment class as a dependency of the ExtensionPoint class,
114
114
  // since the XML Fragments rely on the XMLTP for parsing and thus create a cyclic dependency:
115
115
  // XMLTP -> ExtensionPoint -> Fragment -> XMLTP
116
- var Fragment = sap.ui.require("sap.ui.core.Fragment");
116
+ var Fragment = sap.ui.require("sap/ui/core/Fragment");
117
117
 
118
118
  oFactoryConfig.fragmentName = oExtensionConfig.fragmentName;
119
119
  oFactoryConfig.containingView = oView;
@@ -236,8 +236,13 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/ui/core/mvc/View
236
236
  next.index += aControls.length;
237
237
  next = next._nextSibling;
238
238
  }
239
+
240
+ this._aControls = aControls;
239
241
  },
240
242
 
243
+ // the resolved controls of this ExtensionPoint
244
+ _aControls: [],
245
+
241
246
  // only used internally to check for a marker object
242
247
  _isExtensionPoint: true,
243
248
 
@@ -201,7 +201,7 @@ sap.ui.define([
201
201
  /**
202
202
  * Handles the focus/blur events.
203
203
  *
204
- * @param oRootRef e.g. document.body
204
+ * @param {FocusEvent} oBrowserEvent Native browser focus/blur event object
205
205
  * @private
206
206
  */
207
207
  FocusHandler.prototype.onEvent = function(oBrowserEvent){
@@ -60,7 +60,7 @@ function(
60
60
  * @class
61
61
  * @extends sap.ui.base.ManagedObject
62
62
  * @author SAP SE
63
- * @version 1.98.0
63
+ * @version 1.101.0
64
64
  * @public
65
65
  * @alias sap.ui.core.Fragment
66
66
  */
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.core.Control
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.98.0
47
+ * @version 1.101.0
48
48
  *
49
49
  * @public
50
50
  * @alias sap.ui.core.HTML
@@ -20,7 +20,7 @@ sap.ui.define(['./RenderManager'], function(RenderManager) {
20
20
  * Renders either the configured content or a dummy div that will be replaced after rendering
21
21
  *
22
22
  * @param {sap.ui.core.RenderManager} [oRM] The RenderManager instance
23
- * @param {sap.ui.core.Control} [oControl] The instance of the invisible control
23
+ * @param {sap.ui.core.HTML} [oControl] The instance of the invisible control
24
24
  */
25
25
  render : function(oRM, oControl) {
26
26
  // render an invisible, but easily identifiable placeholder for the content
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/ui/util/Storage"],
22
22
  *
23
23
  * @extends sap.ui.base.Object
24
24
  * @author SAP SE
25
- * @version 1.98.0
25
+ * @version 1.101.0
26
26
  * @alias sap.ui.core.History
27
27
  * @protected
28
28
  */