@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
@@ -65,12 +65,15 @@ sap.ui.define([
65
65
  * @class
66
66
  * Icon uses embedded font instead of pixel image. Comparing to image, Icon is easily scalable, color can be altered live and various effects can be added using css.
67
67
  *
68
- * A set of built in Icons is available and they can be fetched by calling sap.ui.core.IconPool.getIconURI and set this value to the src property on the Icon.
68
+ * A set of built in Icons is available in the <a href="test-resources/sap/m/demokit/iconExplorer/webapp/index.html">Icon Explorer</a>.
69
+ *
70
+ * For further information, see {@link topic:21ea0ea94614480d9a910b2e93431291 Icon and Icon Pool}.
71
+ *
69
72
  * @extends sap.ui.core.Control
70
73
  * @implements sap.ui.core.IFormContent
71
74
  *
72
75
  * @author SAP SE
73
- * @version 1.98.0
76
+ * @version 1.101.0
74
77
  *
75
78
  * @public
76
79
  * @since 1.11.1
@@ -86,7 +89,18 @@ sap.ui.define([
86
89
  properties : {
87
90
 
88
91
  /**
89
- * This property should be set by the return value of calling sap.ui.core.IconPool.getIconURI with an Icon name parameter and an optional collection parameter which is required when using application extended Icons. A list of standard FontIcon is available here.
92
+ * This property can be set by following options:
93
+ *
94
+ * <b>Option 1:</b></br>
95
+ * The value has to be matched by following pattern <code>sap-icon://collection-name/icon-name</code> where
96
+ * <code>collection-name</code> and <code>icon-name</code> have to be replaced by the desired values.
97
+ * In case the default UI5 icons are used the <code>collection-name</code> can be omited.</br>
98
+ * <i>Example:</i> <code>sap-icon://accept</code>
99
+ *
100
+ * <b>Option 2:</b>
101
+ * The value is determined by using {@link sap.ui.core.IconPool.getIconURI} with an Icon name parameter
102
+ * and an optional collection parameter which is required when using application extended Icons.</br>
103
+ * <i>Example:</i> <code>IconPool.getIconURI("accept")</code>
90
104
  */
91
105
  src : {type : "sap.ui.core.URI", group : "Data", defaultValue : null},
92
106
 
@@ -22,7 +22,7 @@ sap.ui.define(['./_IconRegistry', './library', "sap/base/security/encodeCSS"], f
22
22
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
23
23
  *
24
24
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
25
- * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
25
+ * @param {sap.ui.core.Icon} oControl An object representation of the control that should be rendered.
26
26
  */
27
27
  IconRenderer.render = function(oRm, oControl) {
28
28
  // write the HTML into the render manager
@@ -16,7 +16,7 @@ sap.ui.define(['./library'],
16
16
  * Helper functionality for indication color support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.98.0
19
+ * @version 1.101.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.IndicationColorSupport
22
22
  * @since 1.66
@@ -23,7 +23,7 @@ sap.ui.define(['../base/Object', './EventBus', "sap/base/assert"],
23
23
  *
24
24
  * @extends sap.ui.base.Object
25
25
  * @author SAP SE
26
- * @version 1.98.0
26
+ * @version 1.101.0
27
27
  * @public
28
28
  * @since 1.11.0
29
29
  * @alias sap.ui.core.IntervalTrigger
@@ -32,7 +32,7 @@ function (coreLibrary, ManagedObject, Log) {
32
32
  * @extends sap.ui.base.ManagedObject
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.98.0
35
+ * @version 1.101.0
36
36
  * @hideconstructor
37
37
  * @public
38
38
  * @since 1.78
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  * Provides the default renderer for the controls that have set their <code>visible</code> property to <code>false</code>.
13
13
  *
14
14
  * @author SAP SE
15
- * @version 1.98.0
15
+ * @version 1.101.0
16
16
  * @alias module:sap/ui/core/InvisibleRenderer
17
17
  * @since 1.66.0
18
18
  * @protected
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.core.Control
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.98.0
32
+ * @version 1.101.0
33
33
  *
34
34
  * @public
35
35
  * @since 1.27.0
@@ -24,7 +24,7 @@ sap.ui.define(['./Element', './library'],
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.98.0
27
+ * @version 1.101.0
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.Item
@@ -14,7 +14,14 @@ sap.ui.define(['../base/ManagedObject', "sap/base/assert"],
14
14
 
15
15
  // The controls which should not be referenced by a "for" attribute (Specified in the HTML standard).
16
16
  // Extend when needed.
17
- var NON_LABELABLE_CONTROLS = ["sap.ui.comp.navpopover.SmartLink", "sap.m.Link", "sap.m.Label", "sap.m.Text"];
17
+ var NON_LABELABLE_CONTROLS = [
18
+ "sap.ui.comp.navpopover.SmartLink",
19
+ "sap.m.Link",
20
+ "sap.m.Label",
21
+ "sap.m.Text",
22
+ "sap.ui.webc.main.Label",
23
+ "sap.ui.webc.main.Link"
24
+ ];
18
25
 
19
26
  // Returns the control for the given id (if available) and invalidates it if desired
20
27
  function toControl(sId, bInvalidate) {
@@ -129,7 +136,7 @@ sap.ui.define(['../base/ManagedObject', "sap/base/assert"],
129
136
  * @see sap.ui.core.LabelEnablement#enrich
130
137
  *
131
138
  * @author SAP SE
132
- * @version 1.98.0
139
+ * @version 1.101.0
133
140
  * @protected
134
141
  * @alias sap.ui.core.LabelEnablement
135
142
  * @namespace
@@ -23,7 +23,7 @@ sap.ui.define(['./Element', "sap/ui/thirdparty/jquery", './library'],
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.98.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.LayoutData
@@ -23,7 +23,7 @@ sap.ui.define(['./Item', './library'],
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.98.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.ListItem
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.98.0
35
+ * @version 1.101.0
36
36
  *
37
37
  * @public
38
38
  * @since 1.11.0
@@ -13,7 +13,7 @@ sap.ui.define(function() {
13
13
  * @param {sap.ui.core.RenderManager}
14
14
  * oRm the RenderManager that can be used for writing to the
15
15
  * render output buffer
16
- * @param {sap.ui.core.Control}
16
+ * @param {sap.ui.core.LocalBusyIndicator}
17
17
  * oControl an object representation of the control that should
18
18
  * be rendered
19
19
  * @private
@@ -53,7 +53,7 @@ sap.ui.define(function() {
53
53
  * @param {sap.ui.core.RenderManager}
54
54
  * oRm the RenderManager that can be used for writing to the
55
55
  * render output buffer
56
- * @param {sap.ui.core.Control}
56
+ * @param {sap.ui.core.LocalBusyIndicator}
57
57
  * oControl an object representation of the control that should
58
58
  * be rendered
59
59
  */
@@ -38,7 +38,7 @@ sap.ui.define(['sap/ui/base/Object', 'sap/base/assert', './CalendarType'],
38
38
  *
39
39
  * @extends sap.ui.base.Object
40
40
  * @author SAP SE
41
- * @version 1.98.0
41
+ * @version 1.101.0
42
42
  * @public
43
43
  * @alias sap.ui.core.Locale
44
44
  */
@@ -18,7 +18,7 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
18
18
  *
19
19
  * @extends sap.ui.base.Object
20
20
  * @author SAP SE
21
- * @version 1.98.0
21
+ * @version 1.101.0
22
22
  * @public
23
23
  * @alias sap.ui.core.LocaleData
24
24
  */
@@ -27,7 +27,9 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
27
27
  constructor: function(oLocale) {
28
28
  this.oLocale = oLocale;
29
29
  BaseObject.apply(this);
30
- this.mData = getData(oLocale);
30
+ var oDataLoaded = getData(oLocale);
31
+ this.mData = oDataLoaded.mData;
32
+ this.sCLDRLocaleId = oDataLoaded.sCLDRLocaleId;
31
33
  },
32
34
 
33
35
  /**
@@ -285,7 +287,7 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
285
287
  },
286
288
 
287
289
  /**
288
- * Get combined datetime pattern with given date and and time style.
290
+ * Get combined datetime pattern with given date and time style.
289
291
  *
290
292
  * @param {string} sDateStyle the required style for the date part
291
293
  * @param {string} sTimeStyle the required style for the time part
@@ -302,6 +304,54 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
302
304
  return sDateTimePattern.replace("{0}", sTimePattern).replace("{1}", sDatePattern);
303
305
  },
304
306
 
307
+ /**
308
+ * Get combined pattern with datetime and timezone for the given date and time style.
309
+ *
310
+ * @example
311
+ * // locale de
312
+ * oLocaleData.getCombinedDateTimeWithTimezonePattern("long", "long");
313
+ * // "d. MMMM y 'um' HH:mm:ss z VV"
314
+ *
315
+ * // locale en_GB
316
+ * oLocaleData.getCombinedDateTimeWithTimezonePattern("long", "long");
317
+ * // "d MMMM y 'at' HH:mm:ss z VV"
318
+ *
319
+ * @param {string} sDateStyle The required style for the date part
320
+ * @param {string} sTimeStyle The required style for the time part
321
+ * @param {sap.ui.core.CalendarType} [sCalendarType] The type of calendar. If it's not set,
322
+ * it falls back to the calendar type either set in the configuration or calculated from
323
+ * the locale.
324
+ * @returns {string} the combined pattern with datetime and timezone
325
+ * @private
326
+ * @ui5-restricted sap.ui.core.format.DateFormat
327
+ * @since 1.101
328
+ */
329
+ getCombinedDateTimeWithTimezonePattern: function(sDateStyle, sTimeStyle, sCalendarType) {
330
+ return this.applyTimezonePattern(this.getCombinedDateTimePattern(sDateStyle, sTimeStyle, sCalendarType));
331
+ },
332
+
333
+ /**
334
+ * Applies the timezone to the pattern
335
+ *
336
+ * @param {string} sPattern pattern, e.g. <code>y</code>
337
+ * @returns {string} applied timezone, e.g. <code>y VV</code>
338
+ * @private
339
+ * @ui5-restricted sap.ui.core.format.DateFormat
340
+ * @since 1.101
341
+ */
342
+ applyTimezonePattern: function(sPattern) {
343
+ var aPatterns = [sPattern];
344
+ var aMissingTokens = [{
345
+ group: "Timezone",
346
+ length: 2,
347
+ field: "zone",
348
+ symbol: "V"
349
+ }];
350
+ this._appendItems(aPatterns, aMissingTokens);
351
+ return aPatterns[0];
352
+ },
353
+
354
+
305
355
  /**
306
356
  * Get custom datetime pattern for a given skeleton format.
307
357
  *
@@ -2047,7 +2097,13 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
2047
2097
  sLanguage = "sr_Latn";
2048
2098
  }
2049
2099
 
2050
- var sId = sLanguage + "_" + sRegion; // the originally requested locale; this is the key under which the result (even a fallback one) will be stored in the end
2100
+ // sId is the originally requested locale.
2101
+ // this is the key under which the result (even a fallback one) will be stored in the end
2102
+ var sId = sLanguage + "_" + sRegion;
2103
+
2104
+ // the locale of the loaded json file
2105
+ var sCLDRLocaleId = sId;
2106
+
2051
2107
  // first try: load CLDR data for specific language / region combination
2052
2108
  if ( sLanguage && sRegion ) {
2053
2109
  mData = getOrLoad(sId);
@@ -2055,11 +2111,22 @@ sap.ui.define(['sap/base/util/extend', 'sap/ui/base/Object', './CalendarType', '
2055
2111
  // second try: load data for language only
2056
2112
  if ( !mData && sLanguage ) {
2057
2113
  mData = getOrLoad(sLanguage);
2114
+ sCLDRLocaleId = sLanguage;
2058
2115
  }
2059
2116
  // last try: load data for default language "en" (english)
2060
- mLocaleDatas[sId] = mData || getOrLoad("en");
2117
+ if (!mData) {
2118
+ mData = getOrLoad("en");
2119
+ sCLDRLocaleId = "en";
2120
+ }
2121
+
2122
+ // store in cache
2123
+ mLocaleDatas[sId] = mData;
2061
2124
 
2062
- return mLocaleDatas[sId];
2125
+ sCLDRLocaleId = sCLDRLocaleId.replace(/_/g, "-");
2126
+ return {
2127
+ mData: mData,
2128
+ sCLDRLocaleId: sCLDRLocaleId
2129
+ };
2063
2130
  }
2064
2131
 
2065
2132
 
@@ -8,6 +8,7 @@
8
8
  sap.ui.define([
9
9
  'sap/ui/base/Object',
10
10
  'sap/ui/thirdparty/URI',
11
+ 'sap/ui/VersionInfo',
11
12
  'sap/base/util/Version',
12
13
  'sap/base/Log',
13
14
  'sap/ui/dom/includeStylesheet',
@@ -21,6 +22,7 @@ sap.ui.define([
21
22
  function(
22
23
  BaseObject,
23
24
  URI,
25
+ VersionInfo,
24
26
  Version,
25
27
  Log,
26
28
  includeStylesheet,
@@ -137,7 +139,7 @@ sap.ui.define([
137
139
  * @class The Manifest class.
138
140
  * @extends sap.ui.base.Object
139
141
  * @author SAP SE
140
- * @version 1.98.0
142
+ * @version 1.101.0
141
143
  * @alias sap.ui.core.Manifest
142
144
  * @since 1.33.0
143
145
  */
@@ -378,14 +380,14 @@ sap.ui.define([
378
380
  if (sMinUI5Version &&
379
381
  Log.isLoggable(Log.Level.WARNING) &&
380
382
  sap.ui.getCore().getConfiguration().getDebug()) {
381
- sap.ui.getVersionInfo({async: true}).then(function(oVersionInfo) {
383
+ VersionInfo.load().then(function(oVersionInfo) {
382
384
  var oMinVersion = getVersionWithoutSuffix(sMinUI5Version);
383
385
  var oVersion = getVersionWithoutSuffix(oVersionInfo && oVersionInfo.version);
384
386
  if (oMinVersion.compareTo(oVersion) > 0) {
385
387
  Log.warning("Component \"" + this.getComponentName() + "\" requires at least version \"" + oMinVersion.toString() + "\" but running on \"" + oVersion.toString() + "\"!");
386
388
  }
387
389
  }.bind(this), function(e) {
388
- Log.warning("The validation of the version for Component \"" + this.getComponentName() + "\" failed! Reasion: " + e);
390
+ Log.warning("The validation of the version for Component \"" + this.getComponentName() + "\" failed! Reason: " + e);
389
391
  }.bind(this));
390
392
  }
391
393
 
@@ -26,7 +26,7 @@ sap.ui.define(['./Element', './library', "sap/base/Log"],
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.98.0
29
+ * @version 1.101.0
30
30
  *
31
31
  * @public
32
32
  * @alias sap.ui.core.Message
@@ -304,7 +304,7 @@ sap.ui.define([
304
304
  * This is only valid when called between <code>openStart/voidStart</code> and <code>openEnd/voidEnd</code>.
305
305
  * Case-insensitive attribute names must all be set in lowercase.
306
306
  *
307
- * @param {string} vAttr Name of the attribute
307
+ * @param {string} sAttr Name of the attribute
308
308
  * @param {*} vValue Value of the attribute; any non-string value specified is converted automatically into a string
309
309
  * @return {this} Reference to <code>this</code> in order to allow method chaining
310
310
  */
@@ -361,8 +361,8 @@ sap.ui.define([
361
361
  *
362
362
  * This is only valid when called between <code>openStart/voidStart</code> and <code>openEnd/voidEnd</code>.
363
363
  *
364
- * @param {string} sStyle Name of the style property
365
- * @param {string} sValue Value of the style property
364
+ * @param {string} sName Name of the style property
365
+ * @param {string} vValue Value of the style property
366
366
  * @return {this} Reference to <code>this</code> in order to allow method chaining
367
367
  */
368
368
  Patcher.prototype.style = function(sName, vValue) {
@@ -479,7 +479,9 @@ sap.ui.define([
479
479
  Patcher.prototype.close = function(sTagName) {
480
480
  if (this._iTagOpenState) {
481
481
  this._iTagOpenState = 0; /* Closed */
482
- this._oCurrent.textContent = "";
482
+ if (this._oCurrent.lastChild) {
483
+ this._oCurrent.textContent = "";
484
+ }
483
485
  } else {
484
486
  var oParent = this._oCurrent.parentNode;
485
487
  for (var oLastChild = oParent.lastChild; oLastChild && oLastChild != this._oCurrent; oLastChild = oParent.lastChild) {
@@ -66,6 +66,9 @@ sap.ui.define([
66
66
  // shortcut for sap.ui.core.OpenState
67
67
  var OpenState = library.OpenState;
68
68
 
69
+ // shortcut for sap.ui.core.Collision
70
+ var Collision = library.Collision;
71
+
69
72
  var oStaticUIArea;
70
73
 
71
74
  var vGlobalWithinArea;
@@ -758,7 +761,7 @@ sap.ui.define([
758
761
  /**
759
762
  * Opens the popup's content at the position either specified here or beforehand via {@link #setPosition}.
760
763
  * Content must be capable of being positioned via "position:absolute;"
761
- * All parameters are optional (open() may be called without any parameters). iDuration may just be omitted, but if any of "at", "of", "offset", "collision" is given, also the preceding positioning parameters ("my", at",...) must be given.
764
+ * All parameters are optional (open() may be called without any parameters). iDuration may just be omitted, but if any of "at", "of", "offset", "collision" is given, also the preceding positional parameters ("my", at",...) must be given.
762
765
  *
763
766
  * If the Popup's OpenState is different from "CLOSED" (i.e. if the Popup is already open, opening or closing), the call is ignored.
764
767
  *
@@ -767,9 +770,9 @@ sap.ui.define([
767
770
  * @param {sap.ui.core.Popup.Dock} [at=sap.ui.core.Popup.Dock.CenterCenter] the "of" element's reference point for docking to
768
771
  * @param {string | sap.ui.core.Element | Element | jQuery | jQuery.Event} [of=document] specifies the reference element to which the given content should dock to
769
772
  * @param {string} [offset='0 0'] the offset relative to the docking point, specified as a string with space-separated pixel values (e.g. "10 0" to move the popup 10 pixels to the right). If the docking of both "my" and "at" are both RTL-sensitive ("begin" or "end"), this offset is automatically mirrored in the RTL case as well.
770
- * @param {string} [collision='flip'] defines how the position of an element should be adjusted in case it overflows the within area in some direction.
773
+ * @param {sap.ui.core.Collision} [collision='flip'] defines how the position of an element should be adjusted in case it overflows the within area in some direction.
771
774
  * @param {string | sap.ui.core.Element | Element | Window} [within=Window] defines the area the popup should be placed in. This affects the collision detection.
772
- * @param {boolean} [followOf=false] defines whether the popup should follow the dock reference when the reference changes its position.
775
+ * @param {boolean | function | null} [followOf=false] defines whether the popup should follow the dock reference when the reference changes its position.
773
776
  * @public
774
777
  */
775
778
  Popup.prototype.open = function(iDuration, my, at, of, offset, collision, within, followOf) {
@@ -811,7 +814,7 @@ sap.ui.define([
811
814
  assert(at === undefined || typeof at === "string", "at must be a string or empty");
812
815
  assert(!of || typeof of === "object" || typeof of === "function", "of must be empty or an object");
813
816
  assert(!offset || typeof offset === "string", "offset must be empty or a string");
814
- assert(!collision || typeof collision === "string", "collision must be empty or a string");
817
+ assert(!collision || Collision.isValid(collision), "collision must be empty or of type sap.ui.core.Collision");
815
818
  assert(!within || within === window || typeof within === "string" || within instanceof Element || within instanceof HTMLElement, "within must be either empty, or the global window object, or a string, or a sap.ui.core.Element, or a DOM element");
816
819
  assert(!followOf || typeof followOf === "boolean" || typeof followOf === "function" || followOf === Popup.CLOSE_ON_SCROLL, "followOf must be either empty or a boolean");
817
820
 
@@ -1600,7 +1603,7 @@ sap.ui.define([
1600
1603
  * @param {sap.ui.core.Popup.Dock | {left: sap.ui.core.CSSSize, top: sap.ui.core.CSSSize}} at specifies the point of the reference element to which the given Content should be aligned
1601
1604
  * @param {string | sap.ui.core.Element | Element | jQuery | jQuery.Event} [of=document] specifies the reference element to which the given content should be aligned as specified in the other parameters
1602
1605
  * @param {string} [offset='0 0'] the offset relative to the docking point, specified as a string with space-separated pixel values (e.g. "0 10" to move the popup 10 pixels to the right). If the docking of both "my" and "at" are both RTL-sensitive ("begin" or "end"), this offset is automatically mirrored in the RTL case as well.
1603
- * @param {string} [collision] defines how the position of an element should be adjusted in case it overflows the within area in some direction. The valid values that refer to jQuery-UI's position parameters are "flip", "fit" and "none".
1606
+ * @param {sap.ui.core.Collision} [collision] defines how the position of an element should be adjusted in case it overflows the within area in some direction.
1604
1607
  * @param {string | sap.ui.core.Element | Element | Window} [within=Window] defines the area the popup should be placed in. This affects the collision detection.
1605
1608
  * @return {this} <code>this</code> to allow method chaining
1606
1609
  * @public
@@ -1610,7 +1613,7 @@ sap.ui.define([
1610
1613
  assert(typeof at === "string" || (typeof at === "object" && (typeof at.left === "number") && (typeof at.top === "number")), "my must be a string or an object with 'left' and 'top' properties");
1611
1614
  assert(!of || typeof of === "object" || typeof of === "function", "of must be empty or an object");
1612
1615
  assert(!offset || typeof offset === "string", "offset must be empty or a string");
1613
- assert(!collision || typeof collision === "string", "collision must be empty or a string");
1616
+ assert(!collision || Collision.isValid(collision), "collision must be empty or of type sap.ui.core.Collision");
1614
1617
  assert(!within || within === window || typeof within === "string" || within instanceof Element || within instanceof HTMLElement, "within must be either empty, or the global window object, or a string, or a sap.ui.core.Element, or a DOM element");
1615
1618
 
1616
1619
  this._oPosition = this._createPosition(my, at, of, offset, collision, within);
@@ -1794,7 +1797,7 @@ sap.ui.define([
1794
1797
  /**
1795
1798
  * Calculates the rect information of the given parameter.
1796
1799
  *
1797
- * @param {String| DomNode | jQuery |sap.ui.core.Element | Event | jQuery.Event} oOf the DOM Element, UI Element instance on which the calculation is done
1800
+ * @param {string| Element | jQuery |sap.ui.core.Element | Event | jQuery.Event} oOf the DOM Element, UI Element instance on which the calculation is done
1798
1801
  * @returns {object} the rect information which contains the top, left, width, height of the given object. If Event or jQuery.Event type parameter is given, null is returned because there's no way to calculate the rect info based on an event object.
1799
1802
  * @private
1800
1803
  */
@@ -1811,7 +1814,7 @@ sap.ui.define([
1811
1814
  /**
1812
1815
  * Get the DOM reference of the given parameter. The "of" parameter can be different types. This methods returns the referred DOM reference based on the given parameter. If Event or jQuery.Event type parameter is given, null is returned.
1813
1816
  *
1814
- * @param {String| DomNode | jQuery |sap.ui.core.Element | Event | jQuery.Event} oOf the DOM Element, UI Element instance on which the calculation is done
1817
+ * @param {string| Element | jQuery |sap.ui.core.Element | Event | jQuery.Event} oOf the DOM Element, UI Element instance on which the calculation is done
1815
1818
  * @returns {DomNode} the DOM reference calculated based on the given parameter. If Event, or jQuery Event type parameter is given, null is returned.
1816
1819
  * @private
1817
1820
  */
@@ -182,7 +182,7 @@ sap.ui.define([
182
182
  *
183
183
  * @extends Object
184
184
  * @author SAP SE
185
- * @version 1.98.0
185
+ * @version 1.101.0
186
186
  * @alias sap.ui.core.RenderManager
187
187
  * @public
188
188
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @classdesc Base Class for a Renderer.
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.98.0
21
+ * @version 1.101.0
22
22
  * @namespace
23
23
  * @public
24
24
  * @alias sap.ui.core.Renderer
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @alias sap.ui.core.ResizeHandler
35
35
  * @extends sap.ui.base.Object
36
36
  * @author SAP SE
37
- * @version 1.98.0
37
+ * @version 1.101.0
38
38
  * @public
39
39
  */
40
40
 
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * The ScrollBar control can be used for virtual scrolling of a certain area.
45
45
  * This means: to simulate a very large scrollable area when technically the area is small and the control takes care of displaying the respective part only. E.g. a Table control can take care of only rendering the currently visible rows and use this ScrollBar control to make the user think he actually scrolls through a long list.
46
46
  * @extends sap.ui.core.Control
47
- * @version 1.98.0
47
+ * @version 1.101.0
48
48
  *
49
49
  * @public
50
50
  * @deprecated as of version 1.56
@@ -24,7 +24,7 @@ sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize"],
24
24
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
25
25
  *
26
26
  * @param {sap.ui.core.RenderManager} oRM RenderManager that can be used for writing to the Render-Output-Buffer
27
- * @param {sap.ui.core.Control} oControl Object representation of the control that should be rendered
27
+ * @param {sap.ui.core.ScrollBar} oControl Object representation of the control that should be rendered
28
28
  */
29
29
  ScrollBarRenderer.render = function(oRM, oScrollBar){
30
30
  var bRTL = sap.ui.getCore().getConfiguration().getRTL();
@@ -23,7 +23,7 @@ sap.ui.define(['./Item', './library'],
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.98.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.SeparatorItem
@@ -25,7 +25,7 @@ sap.ui.define(['./Element', './library'],
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.98.0
28
+ * @version 1.101.0
29
29
  *
30
30
  * @public
31
31
  * @since 1.16.0
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @class
32
32
  * Abstract class that can be extended in order to implement any extended tooltip. For example, RichTooltip Control is based on it. It provides the opening/closing behavior and the main "text" property.
33
33
  * @extends sap.ui.core.Control
34
- * @version 1.98.0
34
+ * @version 1.101.0
35
35
  *
36
36
  * @public
37
37
  * @alias sap.ui.core.TooltipBase
@@ -175,7 +175,7 @@ sap.ui.define([
175
175
  *
176
176
  * @extends sap.ui.base.ManagedObject
177
177
  * @author SAP SE
178
- * @version 1.98.0
178
+ * @version 1.101.0
179
179
  * @param {sap.ui.core.Core} oCore internal API of the <core>Core</code> that manages this UIArea
180
180
  * @param {object} [oRootNode] reference to the DOM element that should be 'hosting' the UI Area.
181
181
  * @public
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  * @extends sap.ui.core.Component
55
55
  * @abstract
56
56
  * @author SAP SE
57
- * @version 1.98.0
57
+ * @version 1.101.0
58
58
  * @alias sap.ui.core.UIComponent
59
59
  * @since 1.9.2
60
60
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
@@ -18,7 +18,7 @@ sap.ui.define(['./ComponentMetadata', 'sap/ui/core/mvc/ViewType'],
18
18
  * @experimental Since 1.15.1. The Component concept is still under construction, so some implementation details can be changed in future.
19
19
  * @class
20
20
  * @author SAP SE
21
- * @version 1.98.0
21
+ * @version 1.101.0
22
22
  * @since 1.15.1
23
23
  * @alias sap.ui.core.UIComponentMetadata
24
24
  * @extends sap.ui.core.ComponentMetadata
@@ -16,7 +16,7 @@ sap.ui.define(['./Element', './library', "sap/base/assert"],
16
16
  * Helper functionality for value state support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.98.0
19
+ * @version 1.101.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.ValueStateSupport
22
22
  */
@@ -20,7 +20,7 @@ sap.ui.define(['./LayoutData', './library'],
20
20
  * @class
21
21
  * Allows to add multiple LayoutData to one control in case that an easy switch of layouts (e.g. in a Form) is needed.
22
22
  * @extends sap.ui.core.LayoutData
23
- * @version 1.98.0
23
+ * @version 1.101.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.9.2
@@ -143,7 +143,7 @@ sap.ui.define([
143
143
  * @extends sap.ui.core.Control
144
144
  *
145
145
  * @author SAP SE
146
- * @version 1.98.0
146
+ * @version 1.101.0
147
147
  * @since 1.56.0
148
148
  * @alias sap.ui.core.XMLComposite
149
149
  * @see {@link topic:b83a4dcb7d0e46969027345b8d32fd44 XML Composite Controls}
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @param {object} oClassInfo static info to construct the metadata from
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.98.0
33
+ * @version 1.101.0
34
34
  * @since 1.50.0
35
35
  * @alias sap.ui.core.XMLCompositeMetadata
36
36
  * @extends sap.ui.core.ElementMetadata