@openui5/sap.ui.core 1.113.0 → 1.114.1

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 (375) hide show
  1. package/.dtsgenrc +86 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +10 -4
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/jquery.sap.trace.js +14 -14
  10. package/src/sap/base/Log.js +92 -8
  11. package/src/sap/base/assert.js +1 -1
  12. package/src/sap/base/config/MemoryConfigurationProvider.js +22 -0
  13. package/src/sap/base/config.js +54 -0
  14. package/src/sap/base/util/Deferred.js +3 -2
  15. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  16. package/src/sap/base/util/restricted/_castArray.js +1 -1
  17. package/src/sap/base/util/restricted/_compact.js +1 -1
  18. package/src/sap/base/util/restricted/_curry.js +1 -1
  19. package/src/sap/base/util/restricted/_debounce.js +1 -1
  20. package/src/sap/base/util/restricted/_difference.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_flatten.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  29. package/src/sap/base/util/restricted/_intersection.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isNil.js +1 -1
  35. package/src/sap/base/util/restricted/_max.js +1 -1
  36. package/src/sap/base/util/restricted/_merge.js +1 -1
  37. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  38. package/src/sap/base/util/restricted/_min.js +1 -1
  39. package/src/sap/base/util/restricted/_omit.js +1 -1
  40. package/src/sap/base/util/restricted/_pick.js +1 -1
  41. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  42. package/src/sap/base/util/restricted/_throttle.js +1 -1
  43. package/src/sap/base/util/restricted/_toArray.js +1 -1
  44. package/src/sap/base/util/restricted/_union.js +1 -1
  45. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  46. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  47. package/src/sap/base/util/restricted/_uniq.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  50. package/src/sap/base/util/restricted/_without.js +1 -1
  51. package/src/sap/base/util/restricted/_xor.js +1 -1
  52. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  53. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  56. package/src/sap/ui/Device.js +8 -3
  57. package/src/sap/ui/Global.js +4 -4
  58. package/src/sap/ui/base/BindingParser.js +79 -18
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +1 -1
  61. package/src/sap/ui/base/Interface.js +1 -1
  62. package/src/sap/ui/base/ManagedObject.js +13 -12
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +26 -24
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +1 -1
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/core/.library +1 -1
  68. package/src/sap/ui/core/BusyIndicator.js +4 -4
  69. package/src/sap/ui/core/Component.js +3 -3
  70. package/src/sap/ui/core/ComponentContainer.js +1 -1
  71. package/src/sap/ui/core/ComponentMetadata.js +3 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +47 -37
  74. package/src/sap/ui/core/Control.js +2 -2
  75. package/src/sap/ui/core/Core.js +36 -15
  76. package/src/sap/ui/core/CustomData.js +1 -1
  77. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  78. package/src/sap/ui/core/Element.js +1 -1
  79. package/src/sap/ui/core/ElementMetadata.js +17 -3
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +4 -4
  82. package/src/sap/ui/core/Fragment.js +1 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/History.js +1 -1
  85. package/src/sap/ui/core/Icon.js +1 -1
  86. package/src/sap/ui/core/IconPool.js +17 -2
  87. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  88. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  89. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +1 -1
  92. package/src/sap/ui/core/Item.js +1 -1
  93. package/src/sap/ui/core/LabelEnablement.js +1 -1
  94. package/src/sap/ui/core/LayoutData.js +1 -1
  95. package/src/sap/ui/core/Lib.js +27 -1
  96. package/src/sap/ui/core/ListItem.js +1 -1
  97. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  98. package/src/sap/ui/core/Locale.js +1 -1
  99. package/src/sap/ui/core/LocaleData.js +2 -2
  100. package/src/sap/ui/core/Manifest.js +2 -2
  101. package/src/sap/ui/core/Message.js +1 -1
  102. package/src/sap/ui/core/Popup.js +15 -9
  103. package/src/sap/ui/core/RenderManager.js +2 -2
  104. package/src/sap/ui/core/Renderer.js +1 -1
  105. package/src/sap/ui/core/Rendering.js +2 -3
  106. package/src/sap/ui/core/ResizeHandler.js +2 -2
  107. package/src/sap/ui/core/ScrollBar.js +1 -1
  108. package/src/sap/ui/core/SeparatorItem.js +1 -1
  109. package/src/sap/ui/core/Title.js +1 -1
  110. package/src/sap/ui/core/TooltipBase.js +1 -1
  111. package/src/sap/ui/core/UIArea.js +9 -2
  112. package/src/sap/ui/core/UIComponent.js +14 -12
  113. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  114. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  115. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  116. package/src/sap/ui/core/XMLComposite.js +1 -1
  117. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  118. package/src/sap/ui/core/XMLTemplateProcessor.js +30 -6
  119. package/src/sap/ui/core/date/UI5Date.js +14 -8
  120. package/src/sap/ui/core/date/UniversalDate.js +15 -53
  121. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  122. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  123. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  124. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  125. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  126. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  127. package/src/sap/ui/core/format/DateFormat.js +63 -29
  128. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  129. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  130. package/src/sap/ui/core/library.js +3 -3
  131. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  132. package/src/sap/ui/core/message/Message.js +1 -1
  133. package/src/sap/ui/core/message/MessageManager.js +1 -1
  134. package/src/sap/ui/core/message/MessageParser.js +1 -1
  135. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  136. package/src/sap/ui/core/messagebundle.properties +2 -0
  137. package/src/sap/ui/core/messagebundle_ar.properties +1 -0
  138. package/src/sap/ui/core/messagebundle_bg.properties +1 -0
  139. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  140. package/src/sap/ui/core/messagebundle_cs.properties +1 -0
  141. package/src/sap/ui/core/messagebundle_cy.properties +1 -0
  142. package/src/sap/ui/core/messagebundle_da.properties +1 -0
  143. package/src/sap/ui/core/messagebundle_de.properties +1 -0
  144. package/src/sap/ui/core/messagebundle_el.properties +1 -0
  145. package/src/sap/ui/core/messagebundle_en.properties +1 -0
  146. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
  147. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  148. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  149. package/src/sap/ui/core/messagebundle_es.properties +1 -0
  150. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
  151. package/src/sap/ui/core/messagebundle_et.properties +1 -0
  152. package/src/sap/ui/core/messagebundle_fi.properties +1 -0
  153. package/src/sap/ui/core/messagebundle_fr.properties +1 -0
  154. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
  155. package/src/sap/ui/core/messagebundle_hi.properties +1 -0
  156. package/src/sap/ui/core/messagebundle_hr.properties +1 -0
  157. package/src/sap/ui/core/messagebundle_hu.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_id.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_it.properties +1 -0
  160. package/src/sap/ui/core/messagebundle_iw.properties +1 -0
  161. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  162. package/src/sap/ui/core/messagebundle_kk.properties +1 -0
  163. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  164. package/src/sap/ui/core/messagebundle_lt.properties +1 -0
  165. package/src/sap/ui/core/messagebundle_lv.properties +1 -0
  166. package/src/sap/ui/core/messagebundle_ms.properties +2 -1
  167. package/src/sap/ui/core/messagebundle_nl.properties +1 -0
  168. package/src/sap/ui/core/messagebundle_no.properties +1 -0
  169. package/src/sap/ui/core/messagebundle_pl.properties +1 -0
  170. package/src/sap/ui/core/messagebundle_pt.properties +1 -0
  171. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_ro.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_ru.properties +2 -1
  174. package/src/sap/ui/core/messagebundle_sh.properties +1 -0
  175. package/src/sap/ui/core/messagebundle_sk.properties +1 -0
  176. package/src/sap/ui/core/messagebundle_sl.properties +1 -0
  177. package/src/sap/ui/core/messagebundle_sv.properties +1 -0
  178. package/src/sap/ui/core/messagebundle_th.properties +1 -0
  179. package/src/sap/ui/core/messagebundle_tr.properties +1 -0
  180. package/src/sap/ui/core/messagebundle_uk.properties +1 -0
  181. package/src/sap/ui/core/messagebundle_vi.properties +1 -0
  182. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
  183. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
  184. package/src/sap/ui/core/mvc/Controller.js +2 -3
  185. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  186. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  187. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  188. package/src/sap/ui/core/mvc/JSView.js +1 -1
  189. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  190. package/src/sap/ui/core/mvc/View.js +22 -15
  191. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  192. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  193. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  194. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  195. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  196. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  197. package/src/sap/ui/core/routing/Route.js +30 -22
  198. package/src/sap/ui/core/routing/Router.js +5 -3
  199. package/src/sap/ui/core/routing/Target.js +169 -2
  200. package/src/sap/ui/core/routing/Targets.js +4 -213
  201. package/src/sap/ui/core/routing/Views.js +1 -1
  202. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  203. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  204. package/src/sap/ui/core/service/Service.js +1 -1
  205. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  206. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  207. package/src/sap/ui/core/support/Plugin.js +1 -1
  208. package/src/sap/ui/core/support/Support.js +1 -1
  209. package/src/sap/ui/core/support/controls/InteractionTree.js +5 -3
  210. package/src/sap/ui/core/support/plugins/Breakpoint.js +2 -2
  211. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  212. package/src/sap/ui/core/support/plugins/Interaction.js +6 -4
  213. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  214. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  215. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  216. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  217. package/src/sap/ui/core/support/plugins/Trace.js +4 -3
  218. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  219. package/src/sap/ui/core/themes/base/base.less +1133 -90
  220. package/src/sap/ui/core/themes/base/global.less +114 -8
  221. package/src/sap/ui/core/themes/sap_hcb/global.less +114 -8
  222. package/src/sap/ui/core/theming/Parameters.js +10 -2
  223. package/src/sap/ui/core/theming/ThemeManager.js +10 -9
  224. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  225. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  226. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  227. package/src/sap/ui/core/tmpl/Template.js +1 -1
  228. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  229. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  230. package/src/sap/ui/core/util/Export.js +1 -1
  231. package/src/sap/ui/core/util/ExportCell.js +1 -1
  232. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  233. package/src/sap/ui/core/util/ExportRow.js +1 -1
  234. package/src/sap/ui/core/util/ExportType.js +1 -1
  235. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  236. package/src/sap/ui/core/util/File.js +1 -1
  237. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  238. package/src/sap/ui/core/util/MockServer.js +1 -1
  239. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  240. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
  241. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  242. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  243. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  244. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  245. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  246. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  247. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  248. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  249. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  250. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  251. package/src/sap/ui/debug/ControlTree.js +1 -1
  252. package/src/sap/ui/debug/DebugEnv.js +1 -1
  253. package/src/sap/ui/debug/PropertyList.js +1 -1
  254. package/src/sap/ui/dom/includeScript.js +3 -3
  255. package/src/sap/ui/dom/includeStylesheet.js +3 -3
  256. package/src/sap/ui/events/ControlEvents.js +2 -2
  257. package/src/sap/ui/events/PseudoEvents.js +4 -2
  258. package/src/sap/ui/model/ClientModel.js +1 -1
  259. package/src/sap/ui/model/CompositeDataState.js +1 -1
  260. package/src/sap/ui/model/CompositeType.js +1 -1
  261. package/src/sap/ui/model/DataState.js +1 -1
  262. package/src/sap/ui/model/ManagedObjectBindingSupport.js +19 -2
  263. package/src/sap/ui/model/MetaModel.js +1 -1
  264. package/src/sap/ui/model/Model.js +1 -1
  265. package/src/sap/ui/model/SelectionModel.js +1 -1
  266. package/src/sap/ui/model/SimpleType.js +1 -1
  267. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  268. package/src/sap/ui/model/Type.js +1 -1
  269. package/src/sap/ui/model/base/ManagedObjectModel.js +12 -4
  270. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +2 -0
  271. package/src/sap/ui/model/json/JSONModel.js +1 -1
  272. package/src/sap/ui/model/message/MessageModel.js +1 -1
  273. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  274. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  275. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  276. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  277. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  278. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  279. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  280. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  281. package/src/sap/ui/model/odata/type/Date.js +49 -21
  282. package/src/sap/ui/model/odata/type/DateTime.js +51 -8
  283. package/src/sap/ui/model/odata/type/DateTimeBase.js +20 -26
  284. package/src/sap/ui/model/odata/type/DateTimeOffset.js +42 -1
  285. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +34 -21
  286. package/src/sap/ui/model/odata/type/Decimal.js +28 -33
  287. package/src/sap/ui/model/odata/type/Double.js +21 -26
  288. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  289. package/src/sap/ui/model/odata/type/Int.js +15 -20
  290. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  291. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  292. package/src/sap/ui/model/odata/type/Int64.js +16 -21
  293. package/src/sap/ui/model/odata/type/ODataType.js +33 -6
  294. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  295. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  296. package/src/sap/ui/model/odata/type/Single.js +20 -25
  297. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  298. package/src/sap/ui/model/odata/type/String.js +1 -1
  299. package/src/sap/ui/model/odata/type/Time.js +60 -21
  300. package/src/sap/ui/model/odata/type/TimeOfDay.js +52 -24
  301. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  302. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  303. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  304. package/src/sap/ui/model/odata/v2/ODataModel.js +65 -21
  305. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  306. package/src/sap/ui/model/odata/v4/Context.js +6 -2
  307. package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -3
  308. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +7 -25
  309. package/src/sap/ui/model/odata/v4/ODataListBinding.js +90 -24
  310. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +4 -1
  311. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  312. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +7 -3
  313. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -12
  314. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -3
  315. package/src/sap/ui/model/odata/v4/lib/_Cache.js +14 -0
  316. package/src/sap/ui/model/odata/v4/lib/_Helper.js +18 -0
  317. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -0
  318. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  319. package/src/sap/ui/model/type/Boolean.js +1 -1
  320. package/src/sap/ui/model/type/Currency.js +1 -1
  321. package/src/sap/ui/model/type/Date.js +15 -1
  322. package/src/sap/ui/model/type/DateInterval.js +15 -1
  323. package/src/sap/ui/model/type/DateTime.js +1 -1
  324. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  325. package/src/sap/ui/model/type/FileSize.js +1 -1
  326. package/src/sap/ui/model/type/Float.js +1 -1
  327. package/src/sap/ui/model/type/Integer.js +1 -1
  328. package/src/sap/ui/model/type/String.js +1 -1
  329. package/src/sap/ui/model/type/Time.js +1 -1
  330. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  331. package/src/sap/ui/model/type/Unit.js +1 -1
  332. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  333. package/src/sap/ui/performance/Measurement.js +9 -9
  334. package/src/sap/ui/performance/trace/Interaction.js +50 -4
  335. package/src/sap/ui/performance/trace/initTraces.js +20 -14
  336. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  337. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  338. package/src/sap/ui/test/OpaPlugin.js +19 -25
  339. package/src/sap/ui/test/PageObjectFactory.js +17 -7
  340. package/src/sap/ui/test/_ParameterValidator.js +3 -3
  341. package/src/sap/ui/test/_UsageReport.js +3 -3
  342. package/src/sap/ui/test/_ValidationParameters.js +8 -10
  343. package/src/sap/ui/test/actions/Action.js +3 -3
  344. package/src/sap/ui/test/actions/Press.js +4 -4
  345. package/src/sap/ui/test/autowaiter/WaiterBase.js +5 -3
  346. package/src/sap/ui/test/autowaiter/_autoWaiter.js +6 -3
  347. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +3 -3
  348. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +3 -3
  349. package/src/sap/ui/test/autowaiter/_fetchWaiter.js +73 -0
  350. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +2 -2
  351. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +4 -4
  352. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +2 -2
  353. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +4 -4
  354. package/src/sap/ui/test/generic/TestBase.js +1 -1
  355. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +424 -423
  356. package/src/sap/ui/test/gherkin/StepDefinitions.js +160 -158
  357. package/src/sap/ui/test/gherkin/dataTableUtils.js +387 -385
  358. package/src/sap/ui/test/gherkin/opa5TestHarness.js +188 -189
  359. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +74 -71
  360. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +195 -193
  361. package/src/sap/ui/test/launchers/componentLauncher.js +11 -9
  362. package/src/sap/ui/test/launchers/iFrameLauncher.js +34 -20
  363. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  364. package/src/sap/ui/test/matchers/Interactable.js +2 -2
  365. package/src/sap/ui/test/matchers/LabelFor.js +2 -2
  366. package/src/sap/ui/test/matchers/MatcherFactory.js +10 -9
  367. package/src/sap/ui/test/matchers/Properties.js +5 -4
  368. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  369. package/src/sap/ui/test/matchers/matchers.js +35 -3
  370. package/src/sap/ui/test/qunitPause.js +3 -2
  371. package/src/sap/ui/test/starter/_utils.js +3 -3
  372. package/src/sap/ui/util/Mobile.js +8 -1
  373. package/src/sap/ui/util/Storage.js +1 -1
  374. package/src/ui5loader-autoconfig.js +661 -51
  375. package/src/ui5loader.js +18 -5
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.113.0
20
+ * @version 1.114.1
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.113.0
22
+ * @version 1.114.1
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.113.0
27
+ * @version 1.114.1
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.113.0
15
+ * @version 1.114.1
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.113.0
28
+ * @version 1.114.1
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -33,7 +33,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
33
33
  * @class Control Tree used for the Debug Environment
34
34
  * @extends sap.ui.base.EventProvider
35
35
  * @author Martin Schaus, Frank Weigel
36
- * @version 1.113.0
36
+ * @version 1.114.1
37
37
  * @alias sap.ui.debug.ControlTree
38
38
  * @private
39
39
  */
@@ -16,7 +16,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', ['sap/ui/base/Interface', './ControlTree'
16
16
  * @class Central Class for the Debug Environment
17
17
  *
18
18
  * @author Martin Schaus, Frank Weigel
19
- * @version 1.113.0
19
+ * @version 1.114.1
20
20
  * @private
21
21
  * @alias sap.ui.debug.DebugEnv
22
22
  */
@@ -32,7 +32,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
32
32
  *
33
33
  * @extends sap.ui.base.EventProvider
34
34
  * @author Martin Schaus
35
- * @version 1.113.0
35
+ * @version 1.114.1
36
36
  *
37
37
  * @param {sap.ui.core.Core}
38
38
  * oCore Core instance of the app; version might differ!
@@ -56,9 +56,9 @@ sap.ui.define(["sap/base/assert"], function(assert) {
56
56
  * @param {string} [vUrl.id] id that should be used for the script tag
57
57
  * @param {object} [vUrl.attributes] map of attributes that should be used for the script tag
58
58
  * @param {string|object} [vId] id that should be used for the script tag or map of attributes
59
- * @param {function} [fnLoadCallback] callback function to get notified once the script has been loaded
60
- * @param {function} [fnErrorCallback] callback function to get notified once the script loading failed
61
- * @return {void|Promise} When using the configuration object a <code>Promise</code> will be returned. The
59
+ * @param {function(Event)} [fnLoadCallback] callback function to get notified once the script has been loaded
60
+ * @param {function(Event)} [fnErrorCallback] callback function to get notified once the script loading failed
61
+ * @return {void|Promise<Event>} When using the configuration object a <code>Promise</code> will be returned. The
62
62
  * documentation for the <code>fnLoadCallback</code> applies to the <code>resolve</code>
63
63
  * handler of the <code>Promise</code> and the one for the <code>fnErrorCallback</code>
64
64
  * applies to the <code>reject</code> handler of the <code>Promise</code>.
@@ -95,9 +95,9 @@ sap.ui.define(["sap/base/assert"],
95
95
  * @param {string} [vUrl.id] id that should be used for the link tag
96
96
  * @param {object} [vUrl.attributes] map of attributes that should be used for the script tag
97
97
  * @param {string|object} [vId] id that should be used for the link tag or map of attributes
98
- * @param {function} [fnLoadCallback] callback function to get notified once the stylesheet has been loaded
99
- * @param {function} [fnErrorCallback] callback function to get notified once the stylesheet loading failed.
100
- * @return {void|Promise} When using the configuration object a <code>Promise</code> will be returned. The
98
+ * @param {function(Event)} [fnLoadCallback] callback function to get notified once the stylesheet has been loaded
99
+ * @param {function(Event)} [fnErrorCallback] callback function to get notified once the stylesheet loading failed.
100
+ * @return {void|Promise<Event>} When using the configuration object a <code>Promise</code> will be returned. The
101
101
  * documentation for the <code>fnLoadCallback</code> applies to the <code>resolve</code>
102
102
  * handler of the <code>Promise</code> and the one for the <code>fnErrorCallback</code>
103
103
  * applies to the <code>reject</code> handler of the <code>Promise</code>.
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  /**
65
65
  * Binds all events for listening with the given callback function.
66
66
  *
67
- * @param {function} fnCallback Callback function
67
+ * @param {function(Event)} fnCallback Callback function
68
68
  * @static
69
69
  * @public
70
70
  */
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  /**
78
78
  * Unbinds all events for listening with the given callback function.
79
79
  *
80
- * @param {function} fnCallback Callback function
80
+ * @param {function(Event)} fnCallback Callback function
81
81
  * @static
82
82
  * @public
83
83
  */
@@ -43,9 +43,11 @@ sap.ui.define(['sap/ui/events/KeyCodes', 'sap/ui/thirdparty/jquery'], function(K
43
43
 
44
44
 
45
45
  /**
46
- * Enumeration of all so called "pseudo events", a useful classification
46
+ * Map of all so called "pseudo events", a useful classification
47
47
  * of standard browser events as implied by SAP product standards.
48
48
  *
49
+ * This map is intended to be used internally in UI5 framework and UI5 Controls.
50
+ *
49
51
  * Whenever a browser event is recognized as one or more pseudo events, then this
50
52
  * classification is attached to the original {@link jQuery.Event} object and thereby
51
53
  * delivered to any jQuery-style listeners registered for that browser event.
@@ -58,7 +60,7 @@ sap.ui.define(['sap/ui/events/KeyCodes', 'sap/ui/thirdparty/jquery'], function(K
58
60
  * be invoked only when that specific pseudo event has been recognized. This simplifies event
59
61
  * dispatching even further.
60
62
  *
61
- * @enum {object}
63
+ * @type {Object<string, {sName: string, aTypes: string[], fnCheck: function(Event):boolean}>}
62
64
  * @public
63
65
  */
64
66
  PseudoEvents.events = { // IMPORTANT: update the public documentation when extending this list
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.113.0
32
+ * @version 1.114.1
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.113.0
17
+ * @version 1.114.1
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.113.0
42
+ * @version 1.114.1
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.113.0
68
+ * @version 1.114.1
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -660,6 +660,23 @@ sap.ui.define([
660
660
  if (that.refreshDataState) {
661
661
  that.refreshDataState(sName, oDataState);
662
662
  }
663
+ },
664
+ fnResolveTypeClass = function(sTypeName) {
665
+ var sModulePath = sTypeName.replace(/\./g, "/");
666
+ // 1. require probing
667
+ var TypeClass = sap.ui.require(sModulePath);
668
+ if (!TypeClass) {
669
+ // 2. Global lookup
670
+ TypeClass = ObjectPath.get(sTypeName);
671
+ if (typeof TypeClass === "function" && !TypeClass._sapUiLazyLoader) {
672
+ Log.error("[FUTURE] The type class '" + sTypeName + "' is exported to the global namespace without being set as an export value of a UI5 module. " +
673
+ "This scenario will not be supported in the future and a separate UI5 module needs to be created which exports this type class.");
674
+ } else {
675
+ // 3. requireSync fallback
676
+ TypeClass = sap.ui.requireSync(sModulePath); // legacy-relevant
677
+ }
678
+ }
679
+ return TypeClass;
663
680
  };
664
681
 
665
682
  oBindingInfo.parts.forEach(function(oPart) {
@@ -670,7 +687,7 @@ sap.ui.define([
670
687
  // Create type instance if needed
671
688
  oType = oPart.type;
672
689
  if (typeof oType == "string") {
673
- clType = ObjectPath.get(oType);
690
+ clType = fnResolveTypeClass(oType);
674
691
  if (typeof clType !== "function") {
675
692
  throw new Error("Cannot find type \"" + oType + "\" used in control \"" + that.getId() + "\"!");
676
693
  }
@@ -704,7 +721,7 @@ sap.ui.define([
704
721
  // Create type instance if needed
705
722
  oType = oBindingInfo.type;
706
723
  if (typeof oType == "string") {
707
- clType = ObjectPath.get(oType);
724
+ clType = fnResolveTypeClass(oType);
708
725
  oType = new clType(oBindingInfo.formatOptions, oBindingInfo.constraints);
709
726
  }
710
727
  oBinding = new CompositeBinding(aBindings, oBindingInfo.useRawValues, oBindingInfo.useInternalValues);
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.113.0
19
+ * @version 1.114.1
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.message.MessageProcessor
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.113.0
54
+ * @version 1.114.1
55
55
  *
56
56
  * @public
57
57
  * @alias sap.ui.model.Model
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.113.0
49
+ * @version 1.114.1
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.113.0
15
+ * @version 1.114.1
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.113.0
22
+ * @version 1.114.1
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- '../json/JSONModel', '../json/JSONPropertyBinding', '../json/JSONListBinding', 'sap/ui/base/ManagedObject', 'sap/ui/base/ManagedObjectObserver', '../Context', '../ChangeReason', "sap/base/util/uid", "sap/base/Log", "sap/base/util/isPlainObject", "sap/base/util/deepClone"
8
- ], function (JSONModel, JSONPropertyBinding, JSONListBinding, ManagedObject, ManagedObjectObserver, Context, ChangeReason, uid, Log, isPlainObject, deepClone) {
7
+ '../json/JSONModel', '../json/JSONPropertyBinding', '../json/JSONListBinding', 'sap/ui/base/ManagedObject', 'sap/ui/base/ManagedObjectObserver', '../Context', '../ChangeReason', "sap/base/util/uid", "sap/base/Log", "sap/base/util/isPlainObject", "sap/base/util/deepClone", "sap/base/util/deepEqual"
8
+ ], function (JSONModel, JSONPropertyBinding, JSONListBinding, ManagedObject, ManagedObjectObserver, Context, ChangeReason, uid, Log, isPlainObject, deepClone, deepEqual) {
9
9
  "use strict";
10
10
 
11
11
  var CUSTOMDATAKEY = "@custom",
@@ -423,7 +423,7 @@ sap.ui.define([
423
423
  if (oObject instanceof ManagedObject) {
424
424
  var oProperty = oObject.getMetadata().getManagedProperty(sProperty);
425
425
  if (oProperty) {
426
- if (oProperty.get(oObject) !== oValue) {
426
+ if (!deepEqual(oProperty.get(oObject), oValue)) {
427
427
  oProperty.set(oObject, oValue);
428
428
  //update only property and sub properties
429
429
  var fnFilter = function (oBinding) {
@@ -984,7 +984,15 @@ sap.ui.define([
984
984
  });
985
985
  }
986
986
 
987
- this.checkUpdate();
987
+ var fnFilter;
988
+ if (oChange.object === this._oObject) { // if root object, only bindings starting with the changed property/aggregation are from interest
989
+ fnFilter = function (oBinding) { // update only bindings that might be affected
990
+ var sPath = this.resolve(oBinding.sPath, oBinding.oContext);
991
+ return sPath ? sPath.startsWith("/" + oChange.name) : true;
992
+ }.bind(this);
993
+ }
994
+
995
+ this.checkUpdate(false, false, fnFilter);
988
996
  };
989
997
 
990
998
  /**
@@ -436,6 +436,7 @@ sap.ui.define(["sap/base/assert", "sap/base/Log"], function (assert, Log) {
436
436
  /**
437
437
  * Sets the root level.
438
438
  * @param {int} iRootLevel root level
439
+ * @deprecated As of version 1.76
439
440
  */
440
441
  TreeBindingProxy.prototype.setRootLevel = function(iRootLevel) {
441
442
  var oBinding = this._oControl.getBinding();
@@ -463,6 +464,7 @@ sap.ui.define(["sap/base/assert", "sap/base/Log"], function (assert, Log) {
463
464
  /**
464
465
  * Sets recursive collapse.
465
466
  * @param {boolean} bCollapseRecursive collapseRecursive
467
+ * @deprecated As of version 1.76
466
468
  */
467
469
  TreeBindingProxy.prototype.setCollapseRecursive = function(bCollapseRecursive) {
468
470
  var oBinding = this._oControl.getBinding();
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.model.ClientModel
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.113.0
47
+ * @version 1.114.1
48
48
  * @public
49
49
  * @alias sap.ui.model.json.JSONModel
50
50
  */
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.113.0
32
+ * @version 1.114.1
33
33
  *
34
34
  * @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
35
35
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @author SAP SE
29
29
  * @version
30
- * 1.113.0
30
+ * 1.114.1
31
31
  *
32
32
  * @public
33
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -84,7 +84,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
84
  * @extends sap.ui.core.message.MessageParser
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.113.0
87
+ * @version 1.114.1
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */
@@ -209,7 +209,7 @@ sap.ui.define([
209
209
  * {@link #loaded loaded} has been resolved!
210
210
  *
211
211
  * @author SAP SE
212
- * @version 1.113.0
212
+ * @version 1.114.1
213
213
  * @alias sap.ui.model.odata.ODataMetaModel
214
214
  * @extends sap.ui.model.MetaModel
215
215
  * @public
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * Implementation to access OData metadata
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.113.0
48
+ * @version 1.114.1
49
49
  *
50
50
  * @public
51
51
  * @alias sap.ui.model.odata.ODataMetadata
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  *
78
78
  *
79
79
  * @author SAP SE
80
- * @version 1.113.0
80
+ * @version 1.114.1
81
81
  *
82
82
  * @public
83
83
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  * @extends sap.ui.model.odata.type.ODataType
88
88
  *
89
89
  * @author SAP SE
90
- * @version 1.113.0
90
+ * @version 1.114.1
91
91
  *
92
92
  * @alias sap.ui.model.odata.type.Boolean
93
93
  * @param {object} [oFormatOptions]
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.model.odata.type.Int
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.113.0
27
+ * @version 1.114.1
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Byte
30
30
  * @param {object} [oFormatOptions]
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.model.type.Currency
66
66
  * @public
67
67
  * @since 1.63.0
68
- * @version 1.113.0
68
+ * @version 1.114.1
69
69
  */
70
70
  var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
71
71
  constructor : function (oFormatOptions, oConstraints) {
@@ -21,24 +21,6 @@ sap.ui.define([
21
21
  var rDate = /\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])/,
22
22
  oModelFormatter;
23
23
 
24
- /**
25
- * Returns the formatter. Creates it lazily.
26
- * @param {sap.ui.model.odata.type.Date} oType
27
- * the type instance
28
- * @returns {sap.ui.core.format.DateFormat}
29
- * the formatter
30
- */
31
- function getFormatter(oType) {
32
- var oFormatOptions;
33
-
34
- if (!oType.oFormat) {
35
- oFormatOptions = extend({strictParsing : true}, oType.oFormatOptions);
36
- oFormatOptions.UTC = true;
37
- oType.oFormat = DateFormat.getDateInstance(oFormatOptions);
38
- }
39
- return oType.oFormat;
40
- }
41
-
42
24
  /**
43
25
  * Returns a formatter that formats the date into yyyy-MM-dd. Creates it lazily.
44
26
  *
@@ -93,7 +75,7 @@ sap.ui.define([
93
75
  * @extends sap.ui.model.odata.type.ODataType
94
76
  *
95
77
  * @author SAP SE
96
- * @version 1.113.0
78
+ * @version 1.114.1
97
79
  *
98
80
  * @alias sap.ui.model.odata.type.Date
99
81
  * @param {object} [oFormatOptions]
@@ -160,7 +142,7 @@ sap.ui.define([
160
142
  : getModelFormatter().parse(vValue, false);
161
143
  case "string":
162
144
  oDate = vValue instanceof Date ? vValue : getModelFormatter().parse(vValue);
163
- return oDate ? getFormatter(this).format(oDate) : vValue;
145
+ return oDate ? this.getFormat().format(oDate) : vValue;
164
146
  default:
165
147
  throw new FormatException("Don't know how to format " + this.getName() + " to "
166
148
  + sTargetType);
@@ -200,6 +182,35 @@ sap.ui.define([
200
182
  return sModelValue ? UI5Date.getInstance(sModelValue + "T00:00") : null;
201
183
  };
202
184
 
185
+ /**
186
+ * @override
187
+ */
188
+ EdmDate.prototype.getFormat = function () {
189
+ if (!this.oFormat) {
190
+ var oFormatOptions = extend({strictParsing : true}, this.oFormatOptions);
191
+ oFormatOptions.UTC = true;
192
+ this.oFormat = DateFormat.getDateInstance(oFormatOptions);
193
+ }
194
+
195
+ return this.oFormat;
196
+ };
197
+
198
+ /**
199
+ * Returns the ISO string for the given model value.
200
+ *
201
+ * @param {string|null} sModelValue
202
+ * The model value, as returned by {@link #getModelValue}
203
+ * @returns {string|null}
204
+ * A date string according to ISO 8601, or <code>null</code> if the given model value is falsy
205
+ *
206
+ * @since 1.114.0
207
+ * @private
208
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
209
+ */
210
+ EdmDate.prototype.getISOStringFromModelValue = function (sModelValue) {
211
+ return sModelValue ? sModelValue : null;
212
+ };
213
+
203
214
  /**
204
215
  * Returns a formatter that converts between the model format and a Javascript Date. It has two
205
216
  * methods: <code>format</code> takes a Date and returns a date as a String in the format
@@ -249,6 +260,23 @@ sap.ui.define([
249
260
  return vResult;
250
261
  };
251
262
 
263
+ /**
264
+ * Returns the model value for the given ISO string.
265
+ *
266
+ * @param {string|null} sISOString
267
+ * A string according to ISO 8601, as returned by {@link #getISOStringFromModelValue}
268
+ * @returns {string|null}
269
+ * The model representation for the given ISO string for this type,
270
+ * or <code>null</code> if the given ISO string is falsy
271
+ *
272
+ * @since 1.114.0
273
+ * @private
274
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
275
+ */
276
+ EdmDate.prototype.getModelValueFromISOString = function (sISOString) {
277
+ return sISOString ? sISOString : null;
278
+ };
279
+
252
280
  /**
253
281
  * Returns the type's name.
254
282
  *
@@ -287,7 +315,7 @@ sap.ui.define([
287
315
  case "object":
288
316
  return getModelFormatter().format(vValue, false);
289
317
  case "string":
290
- oResult = getFormatter(this).parse(vValue);
318
+ oResult = this.getFormat().parse(vValue);
291
319
  if (!oResult) {
292
320
  throw new ParseException(this._getErrorMessage());
293
321
  }