@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
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.model.odata.type.DateTimeBase
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.113.0
64
+ * @version 1.114.1
65
65
  *
66
66
  * @alias sap.ui.model.odata.type.DateTime
67
67
  * @param {object} [oFormatOptions]
@@ -98,14 +98,25 @@ sap.ui.define([
98
98
  };
99
99
 
100
100
  /**
101
- * Returns the type's name.
101
+ * Returns the ISO string for the given model value.
102
102
  *
103
- * @returns {string}
104
- * the type's name
105
- * @public
103
+ * @param {Date|module:sap/ui/core/date/UI5Date|null} oModelValue
104
+ * The model value, as returned by {@link #getModelValue}
105
+ * @returns {string|null}
106
+ * A timestamp or date string according to ISO 8601 if the <code>displayFormat: "Date"</code>
107
+ * constraint is set, or <code>null</code> if the given model value is falsy
108
+ *
109
+ * @since 1.114.0
110
+ * @private
111
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
106
112
  */
107
- DateTime.prototype.getName = function () {
108
- return "sap.ui.model.odata.type.DateTime";
113
+ DateTime.prototype.getISOStringFromModelValue = function (oModelValue) {
114
+ if (!oModelValue) {
115
+ return null;
116
+ }
117
+
118
+ var sISOString = oModelValue.toISOString();
119
+ return this.oConstraints && this.oConstraints.isDateOnly ? sISOString.split("T")[0] : sISOString;
109
120
  };
110
121
 
111
122
  /**
@@ -124,7 +135,7 @@ sap.ui.define([
124
135
  * If the constraints of this type instance are violated
125
136
  *
126
137
  * @public
127
- * @see {@link sap.ui.core.Configuration.getTimezone}
138
+ * @see {@link sap.ui.core.Configuration#getTimezone}
128
139
  * @since 1.111.0
129
140
  */
130
141
  DateTime.prototype.getModelValue = function (oDate) {
@@ -135,5 +146,37 @@ sap.ui.define([
135
146
  return oResult;
136
147
  };
137
148
 
149
+ /**
150
+ * Returns the model value for the given ISO string.
151
+ *
152
+ * @param {string|null} sISOString
153
+ * A string according to ISO 8601, as returned by {@link #getISOStringFromModelValue}
154
+ * @returns {Date|module:sap/ui/core/date/UI5Date|null}
155
+ * The model representation for the given ISO string for this type,
156
+ * or <code>null</code> if the given ISO string is falsy
157
+ *
158
+ * @since 1.114.0
159
+ * @private
160
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
161
+ */
162
+ DateTime.prototype.getModelValueFromISOString = function (sISOString) {
163
+ if (!sISOString) {
164
+ return null;
165
+ }
166
+
167
+ return UI5Date.getInstance(sISOString);
168
+ };
169
+
170
+ /**
171
+ * Returns the type's name.
172
+ *
173
+ * @returns {string}
174
+ * the type's name
175
+ * @public
176
+ */
177
+ DateTime.prototype.getName = function () {
178
+ return "sap.ui.model.odata.type.DateTime";
179
+ };
180
+
138
181
  return DateTime;
139
182
  });
@@ -27,29 +27,6 @@ sap.ui.define([
27
27
  return oType.oConstraints && oType.oConstraints.isDateOnly;
28
28
  }
29
29
 
30
- /*
31
- * Returns the formatter. Creates it lazily.
32
- *
33
- * @param {sap.ui.model.odata.type.DateTimeBase} oType
34
- * The type instance
35
- * @returns {sap.ui.core.format.DateFormat}
36
- * The formatter
37
- */
38
- function getFormatter(oType) {
39
- var oFormatOptions;
40
-
41
- if (!oType.oFormat) {
42
- oFormatOptions = extend({strictParsing : true}, oType.oFormatOptions);
43
- if (isDateOnly(oType)) {
44
- oFormatOptions.UTC = true;
45
- oType.oFormat = DateFormat.getDateInstance(oFormatOptions);
46
- } else {
47
- oType.oFormat = DateFormat.getDateTimeInstance(oFormatOptions);
48
- }
49
- }
50
- return oType.oFormat;
51
- }
52
-
53
30
  /*
54
31
  * Sets the constraints.
55
32
  *
@@ -115,7 +92,7 @@ sap.ui.define([
115
92
  * @extends sap.ui.model.odata.type.ODataType
116
93
  * @public
117
94
  * @since 1.27.0
118
- * @version 1.113.0
95
+ * @version 1.114.1
119
96
  */
120
97
  var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
121
98
  constructor : function (oFormatOptions, oConstraints) {
@@ -196,13 +173,30 @@ sap.ui.define([
196
173
  if (!(oValue instanceof Date)) {
197
174
  throw new FormatException("Illegal " + this.getName() + " value: " + oValue);
198
175
  }
199
- return getFormatter(this).format(oValue);
176
+ return this.getFormat().format(oValue);
200
177
  default:
201
178
  throw new FormatException("Don't know how to format " + this.getName() + " to "
202
179
  + sTargetType);
203
180
  }
204
181
  };
205
182
 
183
+ /**
184
+ * @override
185
+ */
186
+ DateTimeBase.prototype.getFormat = function () {
187
+ if (!this.oFormat) {
188
+ var oFormatOptions = extend({strictParsing : true}, this.oFormatOptions);
189
+ if (isDateOnly(this)) {
190
+ oFormatOptions.UTC = true;
191
+ this.oFormat = DateFormat.getDateInstance(oFormatOptions);
192
+ } else {
193
+ this.oFormat = DateFormat.getDateTimeInstance(oFormatOptions);
194
+ }
195
+ }
196
+
197
+ return this.oFormat;
198
+ };
199
+
206
200
  /**
207
201
  * Returns the matching locale-dependent error message for the type based on the constraints.
208
202
  *
@@ -253,7 +247,7 @@ sap.ui.define([
253
247
  case "object":
254
248
  return vValue;
255
249
  case "string":
256
- oResult = getFormatter(this).parse(vValue);
250
+ oResult = this.getFormat().parse(vValue);
257
251
  if (!oResult) {
258
252
  throw new ParseException(this._getErrorMessage());
259
253
  }
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.odata.type.DateTimeBase
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.113.0
32
+ * @version 1.114.1
33
33
  *
34
34
  * @alias sap.ui.model.odata.type.DateTimeOffset
35
35
  * @param {object} [oFormatOptions]
@@ -165,6 +165,26 @@ sap.ui.define([
165
165
  return oConstraints;
166
166
  };
167
167
 
168
+ /**
169
+ * Returns the ISO string for the given model value.
170
+ *
171
+ * @param {string|Date|module:sap/ui/core/date/UI5Date|null} vModelValue
172
+ * The model value, as returned by {@link #getModelValue}
173
+ * @returns {string|null}
174
+ * A timestamp according to ISO 8601, or <code>null</code> if the given model value is falsy
175
+ *
176
+ * @since 1.114.0
177
+ * @private
178
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
179
+ */
180
+ DateTimeOffset.prototype.getISOStringFromModelValue = function (vModelValue) {
181
+ if (!vModelValue) {
182
+ return null;
183
+ }
184
+
185
+ return this.bV4 ? vModelValue : vModelValue.toISOString();
186
+ };
187
+
168
188
  /**
169
189
  * Returns a formatter that converts between the model format and a Javascript Date. It has two
170
190
  * methods: <code>format</code> and <code>parse</code>.
@@ -216,6 +236,27 @@ sap.ui.define([
216
236
  return oResult;
217
237
  };
218
238
 
239
+ /**
240
+ * Returns the model value for the given ISO string.
241
+ *
242
+ * @param {string|null} sISOString
243
+ * A string according to ISO 8601, as returned by {@link #getISOStringFromModelValue}
244
+ * @returns {string|Date|module:sap/ui/core/date/UI5Date|null}
245
+ * The model representation for the given ISO string for this type,
246
+ * or <code>null</code> if the given ISO string is falsy
247
+ *
248
+ * @since 1.114.0
249
+ * @private
250
+ * @ui5-restricted sap.fe, sap.suite.ui.generic.template, sap.ui.comp, sap.ui.generic
251
+ */
252
+ DateTimeOffset.prototype.getModelValueFromISOString = function (sISOString) {
253
+ if (!sISOString) {
254
+ return null;
255
+ }
256
+
257
+ return this.bV4 ? sISOString : UI5Date.getInstance(sISOString);
258
+ };
259
+
219
260
  /**
220
261
  * Returns the type's name.
221
262
  *
@@ -17,24 +17,6 @@ sap.ui.define([
17
17
  var sDateOrTimeRequired = "For type 'object', at least one of the format options 'showDate' or"
18
18
  + " 'showTime' must be enabled";
19
19
 
20
- /*
21
- * Returns the formatter. Creates it lazily.
22
- *
23
- * @param {sap.ui.model.odata.type.DateTimeWithTimezone} oType
24
- * The type instance
25
- * @returns {sap.ui.core.format.DateFormat}
26
- * The formatter
27
- */
28
- function getFormatter(oType) {
29
- var oFormatOptions;
30
-
31
- if (!oType.oFormat) {
32
- oFormatOptions = _Helper.extend({strictParsing : true}, oType.oFormatOptions);
33
- oType.oFormat = DateFormat.getDateTimeWithTimezoneInstance(oFormatOptions);
34
- }
35
- return oType.oFormat;
36
- }
37
-
38
20
  /**
39
21
  * Constructor for a <code>DateTimeWithTimezone</code> composite type.
40
22
  *
@@ -63,7 +45,7 @@ sap.ui.define([
63
45
  * @public
64
46
  * @see {sap.ui.model.odata.v2.ODataModel#bindProperty}
65
47
  * @since 1.99.0
66
- * @version 1.113.0
48
+ * @version 1.114.1
67
49
  */
68
50
  var DateTimeWithTimezone = CompositeType.extend("sap.ui.model.odata.type.DateTimeWithTimezone",
69
51
  {
@@ -173,13 +155,30 @@ sap.ui.define([
173
155
 
174
156
  return oTimestamp;
175
157
  case "string":
176
- return getFormatter(this).format(oTimestamp, sTimezone);
158
+ return this.getFormat().format(oTimestamp, sTimezone);
177
159
  default:
178
160
  throw new FormatException("Don't know how to format " + this.getName() + " to "
179
161
  + sTargetType);
180
162
  }
181
163
  };
182
164
 
165
+ /**
166
+ * Returns a format converting between the internal and external representation of a value for this type.
167
+ *
168
+ * @returns {sap.ui.core.format.DateFormat.DateTimeWithTimezone}
169
+ * A format converting between the internal and external representation
170
+ *
171
+ * @private
172
+ */
173
+ DateTimeWithTimezone.prototype.getFormat = function () {
174
+ if (!this.oFormat) {
175
+ var oFormatOptions = _Helper.extend({strictParsing : true}, this.oFormatOptions);
176
+ this.oFormat = DateFormat.getDateTimeWithTimezoneInstance(oFormatOptions);
177
+ }
178
+
179
+ return this.oFormat;
180
+ };
181
+
183
182
  /**
184
183
  * Returns the type's name.
185
184
  *
@@ -222,6 +221,20 @@ sap.ui.define([
222
221
  return [];
223
222
  };
224
223
 
224
+ /**
225
+ * Returns a language-dependent placeholder text such as "e.g. <sample value>" where <sample value> is formatted
226
+ * using this type.
227
+ *
228
+ * @returns {string|undefined}
229
+ * The language-dependent placeholder text or <code>undefined</code> if the type does not offer a placeholder
230
+ *
231
+ * @experimental As of version 1.114.0
232
+ * @public
233
+ */
234
+ DateTimeWithTimezone.prototype.getPlaceholderText = function () {
235
+ return this.getFormat().getPlaceholderText();
236
+ };
237
+
225
238
  /**
226
239
  * Parses the given value.
227
240
  *
@@ -291,7 +304,7 @@ sap.ui.define([
291
304
  }
292
305
 
293
306
  try {
294
- aDateWithTimezone = getFormatter(this).parse(vValue, aCurrentValues[1]);
307
+ aDateWithTimezone = this.getFormat().parse(vValue, aCurrentValues[1]);
295
308
  } catch (oError) { // wrap technical error to show the error at the control
296
309
  throw new ParseException(oError.message);
297
310
  }
@@ -19,36 +19,6 @@ sap.ui.define([
19
19
  var rDecimal = /^[-+]?(\d+)(?:\.(\d+))?$/,
20
20
  rTrailingZeroes = /(?:(\.[0-9]*[1-9]+)0+|\.0*)$/;
21
21
 
22
- /**
23
- * Returns the formatter. Creates it lazily.
24
- * @param {sap.ui.model.odata.type.Decimal} oType
25
- * the type instance
26
- * @returns {sap.ui.core.format.NumberFormat}
27
- * the formatter
28
- */
29
- function getFormatter(oType) {
30
- var oFormatOptions, iScale, oTypeFormatOptions;
31
-
32
- if (!oType.oFormat) {
33
- oFormatOptions = {
34
- groupingEnabled : true,
35
- maxIntegerDigits : Infinity
36
- };
37
- iScale = getScale(oType);
38
- if (iScale !== Infinity) {
39
- oFormatOptions.minFractionDigits = oFormatOptions.maxFractionDigits = iScale;
40
- }
41
- oTypeFormatOptions = oType.oFormatOptions || {};
42
- if (oTypeFormatOptions.style !== "short" && oTypeFormatOptions.style !== "long") {
43
- oFormatOptions.preserveDecimals = true;
44
- }
45
- Object.assign(oFormatOptions, oType.oFormatOptions);
46
- oFormatOptions.parseAsString = true;
47
- oType.oFormat = NumberFormat.getFloatInstance(oFormatOptions);
48
- }
49
- return oType.oFormat;
50
- }
51
-
52
22
  /**
53
23
  * Returns the type's scale constraint.
54
24
  *
@@ -201,7 +171,7 @@ sap.ui.define([
201
171
  * @extends sap.ui.model.odata.type.ODataType
202
172
  *
203
173
  * @author SAP SE
204
- * @version 1.113.0
174
+ * @version 1.114.1
205
175
  *
206
176
  * @alias sap.ui.model.odata.type.Decimal
207
177
  * @param {object} [oFormatOptions]
@@ -281,13 +251,38 @@ sap.ui.define([
281
251
  case "int":
282
252
  return Math.floor(parseFloat(sValue));
283
253
  case "string":
284
- return getFormatter(this).format(removeTrailingZeroes(String(sValue)));
254
+ return this.getFormat().format(removeTrailingZeroes(String(sValue)));
285
255
  default:
286
256
  throw new FormatException("Don't know how to format " + this.getName() + " to "
287
257
  + sTargetType);
288
258
  }
289
259
  };
290
260
 
261
+ /**
262
+ * @override
263
+ */
264
+ Decimal.prototype.getFormat = function () {
265
+ if (!this.oFormat) {
266
+ var oFormatOptions = {
267
+ groupingEnabled : true,
268
+ maxIntegerDigits : Infinity
269
+ },
270
+ iScale = getScale(this);
271
+ if (iScale !== Infinity) {
272
+ oFormatOptions.minFractionDigits = oFormatOptions.maxFractionDigits = iScale;
273
+ }
274
+ var oTypeFormatOptions = this.oFormatOptions || {};
275
+ if (oTypeFormatOptions.style !== "short" && oTypeFormatOptions.style !== "long") {
276
+ oFormatOptions.preserveDecimals = true;
277
+ }
278
+ Object.assign(oFormatOptions, this.oFormatOptions);
279
+ oFormatOptions.parseAsString = true;
280
+ this.oFormat = NumberFormat.getFloatInstance(oFormatOptions);
281
+ }
282
+
283
+ return this.oFormat;
284
+ };
285
+
291
286
  /**
292
287
  * Parses the given value, which is expected to be of the given type, to a decimal in
293
288
  * <code>string</code> representation.
@@ -315,7 +310,7 @@ sap.ui.define([
315
310
  }
316
311
  switch (this.getPrimitiveType(sSourceType)) {
317
312
  case "string":
318
- sResult = getFormatter(this).parse(vValue);
313
+ sResult = this.getFormat().parse(vValue);
319
314
  if (!sResult) {
320
315
  throw new ParseException(sap.ui.getCore().getLibraryResourceBundle()
321
316
  .getText("EnterNumber"));
@@ -24,28 +24,6 @@ sap.ui.define([
24
24
  return sap.ui.getCore().getLibraryResourceBundle().getText("EnterNumber");
25
25
  }
26
26
 
27
- /**
28
- * Returns the formatter. Creates it lazily.
29
- * @param {sap.ui.model.odata.type.Double} oType
30
- * the type instance
31
- * @returns {sap.ui.core.format.NumberFormat}
32
- * the formatter
33
- */
34
- function getFormatter(oType) {
35
- var oFormatOptions, oTypeFormatOptions;
36
-
37
- if (!oType.oFormat) {
38
- oFormatOptions = {groupingEnabled : true};
39
- oTypeFormatOptions = oType.oFormatOptions || {};
40
- if (oTypeFormatOptions.style !== "short" && oTypeFormatOptions.style !== "long") {
41
- oFormatOptions.preserveDecimals = true;
42
- }
43
- Object.assign(oFormatOptions, oType.oFormatOptions);
44
- oType.oFormat = NumberFormat.getFloatInstance(oFormatOptions);
45
- }
46
- return oType.oFormat;
47
- }
48
-
49
27
  /**
50
28
  * Returns the type's nullable constraint.
51
29
  *
@@ -95,7 +73,7 @@ sap.ui.define([
95
73
  * @extends sap.ui.model.odata.type.ODataType
96
74
  *
97
75
  * @author SAP SE
98
- * @version 1.113.0
76
+ * @version 1.114.1
99
77
  *
100
78
  * @alias sap.ui.model.odata.type.Double
101
79
  * @param {object} [oFormatOptions]
@@ -163,20 +141,37 @@ sap.ui.define([
163
141
  return Math.floor(fValue);
164
142
  case "string":
165
143
  if (fValue && (Math.abs(fValue) >= 1e15 || Math.abs(fValue) < 1e-4)) {
166
- oFormatOptions = getFormatter(this).oFormatOptions;
144
+ oFormatOptions = this.getFormat().oFormatOptions;
167
145
  return fValue.toExponential()
168
146
  .replace("e", "\u00a0E") // non-breaking space
169
147
  .replace(".", oFormatOptions.decimalSeparator)
170
148
  .replace("+", oFormatOptions.plusSign)
171
149
  .replace("-", oFormatOptions.minusSign);
172
150
  }
173
- return getFormatter(this).format(fValue);
151
+ return this.getFormat().format(fValue);
174
152
  default:
175
153
  throw new FormatException("Don't know how to format " + this.getName() + " to "
176
154
  + sTargetType);
177
155
  }
178
156
  };
179
157
 
158
+ /**
159
+ * @override
160
+ */
161
+ Double.prototype.getFormat = function () {
162
+ if (!this.oFormat) {
163
+ var oFormatOptions = {groupingEnabled : true},
164
+ oTypeFormatOptions = this.oFormatOptions || {};
165
+ if (oTypeFormatOptions.style !== "short" && oTypeFormatOptions.style !== "long") {
166
+ oFormatOptions.preserveDecimals = true;
167
+ }
168
+ Object.assign(oFormatOptions, this.oFormatOptions);
169
+ this.oFormat = NumberFormat.getFloatInstance(oFormatOptions);
170
+ }
171
+
172
+ return this.oFormat;
173
+ };
174
+
180
175
  /**
181
176
  * Parses the given value, which is expected to be of the given type, to an Edm.Double in
182
177
  * <code>number</code> representation.
@@ -206,7 +201,7 @@ sap.ui.define([
206
201
  }
207
202
  switch (this.getPrimitiveType(sSourceType)) {
208
203
  case "string":
209
- fResult = getFormatter(this).parse(vValue);
204
+ fResult = this.getFormat().parse(vValue);
210
205
  if (isNaN(fResult)) {
211
206
  throw new ParseException(getErrorMessage());
212
207
  }
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @extends sap.ui.model.odata.type.ODataType
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.113.0
65
+ * @version 1.114.1
66
66
  *
67
67
  * @alias sap.ui.model.odata.type.Guid
68
68
  * @param {object} [oFormatOptions]
@@ -16,23 +16,6 @@ sap.ui.define([
16
16
  ODataType) {
17
17
  "use strict";
18
18
 
19
- /**
20
- * Returns the formatter. Creates it lazily.
21
- * @param {sap.ui.model.odata.type.Int} oType
22
- * the type instance
23
- * @returns {sap.ui.core.format.NumberFormat}
24
- * the formatter
25
- */
26
- function getFormatter(oType) {
27
- var oFormatOptions;
28
-
29
- if (!oType.oFormat) {
30
- oFormatOptions = extend({groupingEnabled : true}, oType.oFormatOptions);
31
- oType.oFormat = NumberFormat.getIntegerInstance(oFormatOptions);
32
- }
33
- return oType.oFormat;
34
- }
35
-
36
19
  /**
37
20
  * Fetches a text from the message bundle and formats it using the parameters.
38
21
  *
@@ -80,7 +63,7 @@ sap.ui.define([
80
63
  * @extends sap.ui.model.odata.type.ODataType
81
64
  *
82
65
  * @author SAP SE
83
- * @version 1.113.0
66
+ * @version 1.114.1
84
67
  *
85
68
  * @abstract
86
69
  * @alias sap.ui.model.odata.type.Int
@@ -141,7 +124,7 @@ sap.ui.define([
141
124
  }
142
125
  switch (this.getPrimitiveType(sTargetType)) {
143
126
  case "string":
144
- return getFormatter(this).format(iValue);
127
+ return this.getFormat().format(iValue);
145
128
  case "int":
146
129
  return Math.floor(iValue);
147
130
  case "float":
@@ -153,6 +136,18 @@ sap.ui.define([
153
136
  }
154
137
  };
155
138
 
139
+ /**
140
+ * @override
141
+ */
142
+ Int.prototype.getFormat = function () {
143
+ if (!this.oFormat) {
144
+ var oFormatOptions = extend({groupingEnabled : true}, this.oFormatOptions);
145
+ this.oFormat = NumberFormat.getIntegerInstance(oFormatOptions);
146
+ }
147
+
148
+ return this.oFormat;
149
+ };
150
+
156
151
  /**
157
152
  * Parses the given value, which is expected to be of the given source type, to an Int in
158
153
  * number representation.
@@ -179,7 +174,7 @@ sap.ui.define([
179
174
  }
180
175
  switch (this.getPrimitiveType(sSourceType)) {
181
176
  case "string":
182
- iResult = getFormatter(this).parse(vValue);
177
+ iResult = this.getFormat().parse(vValue);
183
178
  if (isNaN(iResult)) {
184
179
  throw new ParseException(getText("EnterInt"));
185
180
  }
@@ -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.Int16
30
30
  * @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.Int32
30
30
  * @param {object} [oFormatOptions]
@@ -57,24 +57,6 @@ sap.ui.define([
57
57
  return getText("EnterInt");
58
58
  }
59
59
 
60
- /**
61
- * Returns the formatter. Creates it lazily.
62
- * @param {sap.ui.model.odata.type.Int64} oType
63
- * the type instance
64
- * @returns {sap.ui.core.format.NumberFormat}
65
- * the formatter
66
- */
67
- function getFormatter(oType) {
68
- var oFormatOptions;
69
-
70
- if (!oType.oFormat) {
71
- oFormatOptions = extend({groupingEnabled : true}, oType.oFormatOptions);
72
- oFormatOptions.parseAsString = true;
73
- oType.oFormat = NumberFormat.getIntegerInstance(oFormatOptions);
74
- }
75
- return oType.oFormat;
76
- }
77
-
78
60
  /**
79
61
  * Fetches a text from the message bundle and formats it using the parameters.
80
62
  *
@@ -137,7 +119,7 @@ sap.ui.define([
137
119
  * @extends sap.ui.model.odata.type.ODataType
138
120
  *
139
121
  * @author SAP SE
140
- * @version 1.113.0
122
+ * @version 1.114.1
141
123
  *
142
124
  * @alias sap.ui.model.odata.type.Int64
143
125
  * @param {object} [oFormatOptions]
@@ -194,13 +176,26 @@ sap.ui.define([
194
176
  }
195
177
  return parseInt(sValue);
196
178
  case "string":
197
- return getFormatter(this).format(sValue);
179
+ return this.getFormat().format(sValue);
198
180
  default:
199
181
  throw new FormatException("Don't know how to format " + this.getName() + " to "
200
182
  + sTargetType);
201
183
  }
202
184
  };
203
185
 
186
+ /**
187
+ * @override
188
+ */
189
+ Int64.prototype.getFormat = function () {
190
+ if (!this.oFormat) {
191
+ var oFormatOptions = extend({groupingEnabled : true}, this.oFormatOptions);
192
+ oFormatOptions.parseAsString = true;
193
+ this.oFormat = NumberFormat.getIntegerInstance(oFormatOptions);
194
+ }
195
+
196
+ return this.oFormat;
197
+ };
198
+
204
199
  /**
205
200
  * Returns the type's name.
206
201
  *
@@ -247,7 +242,7 @@ sap.ui.define([
247
242
  }
248
243
  switch (this.getPrimitiveType(sSourceType)) {
249
244
  case "string":
250
- sResult = getFormatter(this).parse(vValue);
245
+ sResult = this.getFormat().parse(vValue);
251
246
  if (!sResult) {
252
247
  throw new ParseException(getText("EnterInt"));
253
248
  }