@openui5/sap.ui.core 1.106.0 → 1.107.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 (307) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/jquery.sap.ui.js +5 -7
  8. package/src/sap/base/util/LoaderExtensions.js +6 -6
  9. package/src/sap/base/util/fetch.js +3 -0
  10. package/src/sap/base/util/mixedFetch.js +1 -1
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +3 -3
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/base/DataType.js +4 -4
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +1 -1
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  60. package/src/sap/ui/base/ManagedObjectRegistry.js +4 -3
  61. package/src/sap/ui/base/Metadata.js +1 -1
  62. package/src/sap/ui/base/Object.js +1 -1
  63. package/src/sap/ui/base/ObjectPool.js +1 -1
  64. package/src/sap/ui/core/.library +1 -1
  65. package/src/sap/ui/core/AppCacheBuster.js +3 -4
  66. package/src/sap/ui/core/BusyIndicator.js +1 -1
  67. package/src/sap/ui/core/BusyIndicatorUtils.js +5 -6
  68. package/src/sap/ui/core/CalendarType.js +0 -1
  69. package/src/sap/ui/core/Component.js +12 -10
  70. package/src/sap/ui/core/ComponentContainer.js +6 -5
  71. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +1 -1
  74. package/src/sap/ui/core/Control.js +7 -7
  75. package/src/sap/ui/core/Core.js +31 -304
  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 +6 -6
  79. package/src/sap/ui/core/ElementMetadata.js +1 -1
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +1 -1
  82. package/src/sap/ui/core/FocusHandler.js +50 -2
  83. package/src/sap/ui/core/Fragment.js +1 -1
  84. package/src/sap/ui/core/HTML.js +1 -2
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +1 -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 -2
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +5 -5
  92. package/src/sap/ui/core/Item.js +1 -2
  93. package/src/sap/ui/core/LabelEnablement.js +1 -1
  94. package/src/sap/ui/core/LayoutData.js +1 -2
  95. package/src/sap/ui/core/ListItem.js +1 -2
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -2
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +11 -9
  99. package/src/sap/ui/core/Manifest.js +8 -6
  100. package/src/sap/ui/core/Message.js +4 -6
  101. package/src/sap/ui/core/Popup.js +62 -5
  102. package/src/sap/ui/core/RenderManager.js +7 -5
  103. package/src/sap/ui/core/Renderer.js +5 -4
  104. package/src/sap/ui/core/Rendering.js +251 -0
  105. package/src/sap/ui/core/ResizeHandler.js +1 -1
  106. package/src/sap/ui/core/ScrollBar.js +6 -9
  107. package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
  108. package/src/sap/ui/core/SeparatorItem.js +1 -2
  109. package/src/sap/ui/core/Title.js +1 -2
  110. package/src/sap/ui/core/TooltipBase.js +1 -2
  111. package/src/sap/ui/core/UIArea.js +389 -121
  112. package/src/sap/ui/core/UIComponent.js +1 -2
  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 -2
  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 +5 -3
  119. package/src/sap/ui/core/cache/CacheManager.js +7 -6
  120. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -4
  121. package/src/sap/ui/core/date/Islamic.js +4 -4
  122. package/src/sap/ui/core/date/UniversalDate.js +8 -8
  123. package/src/sap/ui/core/date/UniversalDateUtils.js +3 -3
  124. package/src/sap/ui/core/delegate/ItemNavigation.js +5 -5
  125. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  126. package/src/sap/ui/core/dnd/DragAndDrop.js +4 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -2
  129. package/src/sap/ui/core/dnd/DragInfo.js +1 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -2
  131. package/src/sap/ui/core/format/DateFormat.js +9 -7
  132. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +0 -1
  133. package/src/sap/ui/core/format/FileSizeFormat.js +4 -3
  134. package/src/sap/ui/core/format/ListFormat.js +4 -3
  135. package/src/sap/ui/core/format/NumberFormat.js +6 -5
  136. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  137. package/src/sap/ui/core/hyphenation/Hyphenation.js +7 -6
  138. package/src/sap/ui/core/library.js +3 -55
  139. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  140. package/src/sap/ui/core/message/Message.js +1 -1
  141. package/src/sap/ui/core/message/MessageManager.js +13 -23
  142. package/src/sap/ui/core/message/MessageParser.js +1 -1
  143. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  144. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  145. package/src/sap/ui/core/mvc/Controller.js +3 -3
  146. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -3
  147. package/src/sap/ui/core/mvc/HTMLView.js +1 -2
  148. package/src/sap/ui/core/mvc/JSONView.js +1 -2
  149. package/src/sap/ui/core/mvc/JSView.js +1 -2
  150. package/src/sap/ui/core/mvc/TemplateView.js +1 -2
  151. package/src/sap/ui/core/mvc/View.js +21 -20
  152. package/src/sap/ui/core/mvc/ViewType.js +0 -1
  153. package/src/sap/ui/core/mvc/XMLView.js +18 -18
  154. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  155. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  157. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  158. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  159. package/src/sap/ui/core/routing/async/Target.js +4 -3
  160. package/src/sap/ui/core/rules/Config.support.js +6 -4
  161. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  162. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -2
  163. package/src/sap/ui/core/search/SearchProvider.js +1 -3
  164. package/src/sap/ui/core/service/Service.js +1 -1
  165. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  166. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  167. package/src/sap/ui/core/support/Plugin.js +1 -1
  168. package/src/sap/ui/core/support/Support.js +1 -1
  169. package/src/sap/ui/core/support/ToolsAPI.js +11 -13
  170. package/src/sap/ui/core/support/plugins/ControlTree.js +4 -4
  171. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  172. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  173. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  174. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  175. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  176. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  177. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  178. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +7 -5
  179. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -2
  180. package/src/sap/ui/core/tmpl/DOMElement.js +1 -4
  181. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  182. package/src/sap/ui/core/tmpl/Template.js +1 -2
  183. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -2
  184. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  185. package/src/sap/ui/core/util/Export.js +1 -1
  186. package/src/sap/ui/core/util/ExportCell.js +1 -1
  187. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  188. package/src/sap/ui/core/util/ExportRow.js +1 -1
  189. package/src/sap/ui/core/util/ExportType.js +1 -1
  190. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  191. package/src/sap/ui/core/util/File.js +1 -1
  192. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  193. package/src/sap/ui/core/util/MockServer.js +4 -2
  194. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  195. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  196. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  197. package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
  198. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  199. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  200. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  201. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  202. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  203. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  204. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  205. package/src/sap/ui/debug/ControlTree.js +3 -3
  206. package/src/sap/ui/debug/DebugEnv.js +4 -4
  207. package/src/sap/ui/debug/PropertyList.js +1 -1
  208. package/src/sap/ui/model/ClientModel.js +1 -1
  209. package/src/sap/ui/model/ClientTreeBinding.js +3 -1
  210. package/src/sap/ui/model/CompositeDataState.js +1 -1
  211. package/src/sap/ui/model/CompositeType.js +1 -1
  212. package/src/sap/ui/model/DataState.js +1 -1
  213. package/src/sap/ui/model/MetaModel.js +1 -1
  214. package/src/sap/ui/model/Model.js +1 -1
  215. package/src/sap/ui/model/SelectionModel.js +1 -1
  216. package/src/sap/ui/model/SimpleType.js +1 -1
  217. package/src/sap/ui/model/Sorter.js +22 -17
  218. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  219. package/src/sap/ui/model/TreeBindingAdapter.js +3 -7
  220. package/src/sap/ui/model/Type.js +1 -1
  221. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -0
  222. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +5 -7
  223. package/src/sap/ui/model/json/JSONModel.js +8 -6
  224. package/src/sap/ui/model/message/MessageModel.js +1 -1
  225. package/src/sap/ui/model/odata/ODataAnnotations.js +5 -3
  226. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  227. package/src/sap/ui/model/odata/ODataMetaModel.js +31 -8
  228. package/src/sap/ui/model/odata/ODataMetadata.js +5 -4
  229. package/src/sap/ui/model/odata/ODataModel.js +6 -5
  230. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +0 -1
  231. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  232. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  233. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  234. package/src/sap/ui/model/odata/type/Date.js +1 -1
  235. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  236. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  237. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  238. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  239. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  240. package/src/sap/ui/model/odata/type/Double.js +1 -1
  241. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  242. package/src/sap/ui/model/odata/type/Int.js +1 -1
  243. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  244. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  245. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  246. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  247. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  248. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  249. package/src/sap/ui/model/odata/type/Single.js +1 -1
  250. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  251. package/src/sap/ui/model/odata/type/String.js +1 -1
  252. package/src/sap/ui/model/odata/type/Time.js +1 -1
  253. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  254. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  255. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  256. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
  257. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +24 -15
  258. package/src/sap/ui/model/odata/v2/ODataListBinding.js +45 -27
  259. package/src/sap/ui/model/odata/v2/ODataModel.js +94 -36
  260. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -5
  261. package/src/sap/ui/model/odata/v4/Context.js +23 -19
  262. package/src/sap/ui/model/odata/v4/ODataBinding.js +7 -3
  263. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -3
  264. package/src/sap/ui/model/odata/v4/ODataListBinding.js +121 -57
  265. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -11
  266. package/src/sap/ui/model/odata/v4/ODataModel.js +111 -69
  267. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +12 -4
  268. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
  269. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  270. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +41 -29
  271. package/src/sap/ui/model/odata/v4/lib/_Cache.js +59 -20
  272. package/src/sap/ui/model/odata/v4/lib/_Helper.js +135 -4
  273. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +21 -7
  274. package/src/sap/ui/model/resource/ResourceModel.js +7 -6
  275. package/src/sap/ui/model/type/Boolean.js +1 -1
  276. package/src/sap/ui/model/type/Currency.js +1 -1
  277. package/src/sap/ui/model/type/Date.js +1 -1
  278. package/src/sap/ui/model/type/DateInterval.js +1 -1
  279. package/src/sap/ui/model/type/DateTime.js +1 -1
  280. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  281. package/src/sap/ui/model/type/FileSize.js +1 -1
  282. package/src/sap/ui/model/type/Float.js +1 -1
  283. package/src/sap/ui/model/type/Integer.js +1 -1
  284. package/src/sap/ui/model/type/String.js +1 -1
  285. package/src/sap/ui/model/type/Time.js +1 -1
  286. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  287. package/src/sap/ui/model/type/Unit.js +5 -4
  288. package/src/sap/ui/model/xml/XMLModel.js +8 -6
  289. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  290. package/src/sap/ui/qunit/QUnitUtils.js +2 -1
  291. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  292. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  293. package/src/sap/ui/test/Opa.js +7 -5
  294. package/src/sap/ui/test/Opa5.js +9 -15
  295. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  296. package/src/sap/ui/test/TestUtils.js +83 -1
  297. package/src/sap/ui/test/autowaiter/_autoWaiter.js +9 -0
  298. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +114 -0
  299. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +99 -0
  300. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +70 -0
  301. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +3 -12
  302. package/src/sap/ui/test/autowaiter/_utils.js +13 -1
  303. package/src/sap/ui/test/generic/TestBase.js +1 -1
  304. package/src/sap/ui/test/matchers/Ancestor.js +1 -0
  305. package/src/sap/ui/test/matchers/Descendant.js +1 -0
  306. package/src/sap/ui/test/matchers/Sibling.js +1 -0
  307. package/src/sap/ui/util/Storage.js +1 -1
@@ -12,8 +12,10 @@ sap.ui.define([
12
12
  "sap/base/util/extend",
13
13
  "sap/base/util/isEmptyObject",
14
14
  "sap/ui/base/EventProvider",
15
+ "sap/ui/core/Configuration",
15
16
  "sap/ui/thirdparty/jquery"
16
- ], function (AnnotationParser, assert, Log, extend, isEmptyObject, EventProvider, jQuery) {
17
+ ], function (AnnotationParser, assert, Log, extend, isEmptyObject, EventProvider, Configuration,
18
+ jQuery) {
17
19
  "use strict";
18
20
 
19
21
  /**
@@ -25,7 +27,7 @@ sap.ui.define([
25
27
  *
26
28
  * @author SAP SE
27
29
  * @version
28
- * 1.106.0
30
+ * 1.107.1
29
31
  *
30
32
  * @public
31
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -493,7 +495,7 @@ sap.ui.define([
493
495
  url: sUrl,
494
496
  async: that.bAsync,
495
497
  headers: extend({}, that.mCustomHeaders, {
496
- "Accept-Language": sap.ui.getCore().getConfiguration().getLanguageTag() // Always overwrite
498
+ "Accept-Language": Configuration.getLanguageTag() // Always overwrite
497
499
  })
498
500
  };
499
501
 
@@ -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.106.0
87
+ * @version 1.107.1
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */
@@ -9,6 +9,7 @@ sap.ui.define([
9
9
  "sap/base/Log",
10
10
  "sap/base/util/extend",
11
11
  "sap/base/util/isEmptyObject",
12
+ "sap/base/util/UriParameters",
12
13
  "sap/ui/base/BindingParser",
13
14
  "sap/ui/base/ManagedObject",
14
15
  "sap/ui/base/SyncPromise",
@@ -22,9 +23,9 @@ sap.ui.define([
22
23
  "sap/ui/model/json/JSONPropertyBinding",
23
24
  "sap/ui/model/json/JSONTreeBinding",
24
25
  "sap/ui/performance/Measurement"
25
- ], function (Utils, Log, extend, isEmptyObject, BindingParser, ManagedObject, SyncPromise,
26
- BindingMode, ClientContextBinding, Context, FilterProcessor, MetaModel, JSONListBinding,
27
- JSONModel, JSONPropertyBinding, JSONTreeBinding, Measurement) {
26
+ ], function (Utils, Log, extend, isEmptyObject, UriParameters, BindingParser, ManagedObject,
27
+ SyncPromise, BindingMode, ClientContextBinding, Context, FilterProcessor, MetaModel,
28
+ JSONListBinding, JSONModel, JSONPropertyBinding, JSONTreeBinding, Measurement) {
28
29
  "use strict";
29
30
 
30
31
  var // maps the metadata URL with query parameters concatenated with the code list collection
@@ -207,7 +208,7 @@ sap.ui.define([
207
208
  * {@link #loaded loaded} has been resolved!
208
209
  *
209
210
  * @author SAP SE
210
- * @version 1.106.0
211
+ * @version 1.107.1
211
212
  * @alias sap.ui.model.odata.ODataMetaModel
212
213
  * @extends sap.ui.model.MetaModel
213
214
  * @public
@@ -556,8 +557,8 @@ sap.ui.define([
556
557
  var that = this;
557
558
 
558
559
  return this.oLoadedPromiseSync.then(function () {
559
- var sCacheKey, oCodeListModel, oCodeListModelCache, sCollectionPath, oMappingPromise,
560
- sMetaDataUrl, oPromise, oReadPromise,
560
+ var sCacheKey, sCacheKeyWithModel, oCodeListModel, oCodeListModelCache, sCollectionPath,
561
+ oMappingPromise, sMetaDataUrl, oPromise, oReadPromise,
561
562
  sCodeListAnnotation = "com.sap.vocabularies.CodeList.v1." + sTerm,
562
563
  oCodeListAnnotation = that.getODataEntityContainer()[sCodeListAnnotation];
563
564
 
@@ -578,19 +579,37 @@ sap.ui.define([
578
579
  sCollectionPath = oCodeListAnnotation.CollectionPath.String;
579
580
  sMetaDataUrl = that.oDataModel.getMetadataUrl();
580
581
  sCacheKey = sMetaDataUrl + "#" + sCollectionPath;
582
+ // check for global cache entry
581
583
  oPromise = mCodeListUrl2Promise.get(sCacheKey);
582
584
  if (oPromise) {
583
585
  return oPromise;
584
586
  }
587
+ // check for an ODataModel related cache entry
588
+ sCacheKeyWithModel = sCacheKey + "#" + that.getId();
589
+ oPromise = mCodeListUrl2Promise.get(sCacheKeyWithModel);
590
+ if (oPromise) {
591
+ return oPromise;
592
+ }
585
593
 
586
594
  oCodeListModelCache = that._getOrCreateSharedModelCache();
587
595
  oCodeListModel = oCodeListModelCache.oModel;
588
596
 
589
597
  oReadPromise = new SyncPromise(function (fnResolve, fnReject) {
598
+ var oUriParams = UriParameters.fromURL(sMetaDataUrl),
599
+ sClient = oUriParams.get("sap-client"),
600
+ sLanguage = oUriParams.get("sap-language"),
601
+ mUrlParameters = {$skip : 0, $top : 5000}; // avoid server-driven paging
602
+
603
+ if (sClient) {
604
+ mUrlParameters["sap-client"] = sClient;
605
+ }
606
+ if (sLanguage) {
607
+ mUrlParameters["sap-language"] = sLanguage;
608
+ }
590
609
  oCodeListModel.read("/" + sCollectionPath, {
591
610
  error : fnReject,
592
611
  success : fnResolve,
593
- urlParameters : {$skip : 0, $top : 5000} // avoid server-driven paging
612
+ urlParameters : mUrlParameters
594
613
  });
595
614
  });
596
615
  oMappingPromise = new SyncPromise(function (fnResolve, fnReject) {
@@ -607,6 +626,9 @@ sap.ui.define([
607
626
  var aData = aResults[0].results,
608
627
  mMapping = aResults[1];
609
628
 
629
+ mCodeListUrl2Promise.set(sCacheKey, oPromise);
630
+ mCodeListUrl2Promise.delete(sCacheKeyWithModel); // not needed any more
631
+
610
632
  return aData.reduce(function (mCode2Customizing, oEntity) {
611
633
  var sCode = oEntity[mMapping.code],
612
634
  oCustomizing = {
@@ -633,6 +655,7 @@ sap.ui.define([
633
655
  if (oCodeListModel.bDestroyed) {
634
656
  // do not cache rejected Promise caused by a destroyed code list model
635
657
  mCodeListUrl2Promise.delete(sCacheKey);
658
+ mCodeListUrl2Promise.delete(sCacheKeyWithModel);
636
659
  } else {
637
660
  Log.error("Couldn't load code list: " + sCollectionPath + " for "
638
661
  + that.oDataModel.getCodeListModelParameters().serviceUrl,
@@ -649,7 +672,7 @@ sap.ui.define([
649
672
  oCodeListModelCache.bFirstCodeListRequested = true;
650
673
  }
651
674
  });
652
- mCodeListUrl2Promise.set(sCacheKey, oPromise);
675
+ mCodeListUrl2Promise.set(sCacheKeyWithModel, oPromise);
653
676
 
654
677
  return oPromise;
655
678
  });
@@ -16,11 +16,12 @@ sap.ui.define([
16
16
  "sap/base/util/isEmptyObject",
17
17
  "sap/base/util/uid",
18
18
  "sap/ui/base/EventProvider",
19
+ "sap/ui/core/Configuration",
19
20
  "sap/ui/core/cache/CacheManager",
20
21
  "sap/ui/thirdparty/datajs"
21
22
  ],
22
- function(Utils, assert, Log, each, extend, isEmptyObject, uid, EventProvider, CacheManager,
23
- OData) {
23
+ function(Utils, assert, Log, each, extend, isEmptyObject, uid, EventProvider, Configuration,
24
+ CacheManager, OData) {
24
25
  "use strict";
25
26
  /*eslint max-nested-callbacks: 0*/
26
27
 
@@ -44,7 +45,7 @@ sap.ui.define([
44
45
  * Implementation to access OData metadata
45
46
  *
46
47
  * @author SAP SE
47
- * @version 1.106.0
48
+ * @version 1.107.1
48
49
  *
49
50
  * @public
50
51
  * @alias sap.ui.model.odata.ODataMetadata
@@ -1275,7 +1276,7 @@ sap.ui.define([
1275
1276
  "sap-cancel-on-close": true
1276
1277
  },
1277
1278
  oLangHeader = {
1278
- "Accept-Language": sap.ui.getCore().getConfiguration().getLanguageTag()
1279
+ "Accept-Language": Configuration.getLanguageTag()
1279
1280
  };
1280
1281
 
1281
1282
  extend(oDefaultHeaders, this.mHeaders, oLangHeader);
@@ -30,6 +30,7 @@ sap.ui.define([
30
30
  "sap/base/util/isPlainObject",
31
31
  "sap/base/util/merge",
32
32
  "sap/base/util/uid",
33
+ "sap/ui/core/Configuration",
33
34
  "sap/ui/model/BindingMode",
34
35
  "sap/ui/model/Context",
35
36
  "sap/ui/model/FilterProcessor",
@@ -40,8 +41,8 @@ sap.ui.define([
40
41
  "sap/ui/thirdparty/URI"
41
42
  ], function(CountMode, ODataContextBinding, ODataListBinding, ODataMetadata, ODataPropertyBinding,
42
43
  ODataTreeBinding, ODataUtils, assert, Log, encodeURL, each, extend, isEmptyObject,
43
- isPlainObject, merge, uid, BindingMode, Context, FilterProcessor, Model, ODataAnnotations,
44
- ODataMetaModel, OData, URI) {
44
+ isPlainObject, merge, uid, Configuration, BindingMode, Context, FilterProcessor, Model,
45
+ ODataAnnotations, ODataMetaModel, OData, URI) {
45
46
  "use strict";
46
47
 
47
48
  /**
@@ -76,7 +77,7 @@ sap.ui.define([
76
77
  *
77
78
  *
78
79
  * @author SAP SE
79
- * @version 1.106.0
80
+ * @version 1.107.1
80
81
  *
81
82
  * @public
82
83
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
@@ -168,7 +169,7 @@ sap.ui.define([
168
169
  }
169
170
  }
170
171
 
171
- if (sap.ui.getCore().getConfiguration().getStatistics()) {
172
+ if (Configuration.getStatisticsEnabled()) {
172
173
  // add statistics parameter to every request (supported only on Gateway servers)
173
174
  this.aUrlParams.push("sap-statistics=true");
174
175
  }
@@ -193,7 +194,7 @@ sap.ui.define([
193
194
  this.sUser = sUser;
194
195
  this.sPassword = sPassword;
195
196
 
196
- this.oHeaders["Accept-Language"] = sap.ui.getCore().getConfiguration().getLanguageTag();
197
+ this.oHeaders["Accept-Language"] = Configuration.getLanguageTag();
197
198
 
198
199
  if (!this.oServiceData.oMetadata) {
199
200
  //create Metadata object
@@ -156,7 +156,6 @@ sap.ui.define([
156
156
  return [];
157
157
  }
158
158
 
159
- // make sure the input parameters are not undefined
160
159
  iStartIndex = iStartIndex || 0;
161
160
  iLength = iLength || this.oModel.iSizeLimit;
162
161
  iThreshold = iThreshold || 0;
@@ -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.106.0
90
+ * @version 1.107.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.106.0
27
+ * @version 1.107.1
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Byte
30
30
  * @param {object} [oFormatOptions]
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.model.type.Currency
62
62
  * @public
63
63
  * @since 1.63.0
64
- * @version 1.106.0
64
+ * @version 1.107.1
65
65
  */
66
66
  var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
67
67
  constructor : function (oFormatOptions, oConstraints) {
@@ -106,7 +106,7 @@ sap.ui.define([
106
106
  * @extends sap.ui.model.odata.type.ODataType
107
107
  *
108
108
  * @author SAP SE
109
- * @version 1.106.0
109
+ * @version 1.107.1
110
110
  *
111
111
  * @alias sap.ui.model.odata.type.Date
112
112
  * @param {object} [oFormatOptions]
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.ui.model.odata.type.DateTimeBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.106.0
62
+ * @version 1.107.1
63
63
  *
64
64
  * @alias sap.ui.model.odata.type.DateTime
65
65
  * @param {object} [oFormatOptions]
@@ -132,7 +132,7 @@ sap.ui.define([
132
132
  * @extends sap.ui.model.odata.type.ODataType
133
133
  * @public
134
134
  * @since 1.27.0
135
- * @version 1.106.0
135
+ * @version 1.107.1
136
136
  */
137
137
  var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
138
138
  constructor : function (oFormatOptions, oConstraints) {
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.model.odata.type.DateTimeBase
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.106.0
31
+ * @version 1.107.1
32
32
  *
33
33
  * @alias sap.ui.model.odata.type.DateTimeOffset
34
34
  * @param {object} [oFormatOptions]
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @public
61
61
  * @see {sap.ui.model.odata.v2.ODataModel#bindProperty}
62
62
  * @since 1.99.0
63
- * @version 1.106.0
63
+ * @version 1.107.1
64
64
  */
65
65
  var DateTimeWithTimezone = CompositeType.extend("sap.ui.model.odata.type.DateTimeWithTimezone",
66
66
  {
@@ -201,7 +201,7 @@ sap.ui.define([
201
201
  * @extends sap.ui.model.odata.type.ODataType
202
202
  *
203
203
  * @author SAP SE
204
- * @version 1.106.0
204
+ * @version 1.107.1
205
205
  *
206
206
  * @alias sap.ui.model.odata.type.Decimal
207
207
  * @param {object} [oFormatOptions]
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @extends sap.ui.model.odata.type.ODataType
96
96
  *
97
97
  * @author SAP SE
98
- * @version 1.106.0
98
+ * @version 1.107.1
99
99
  *
100
100
  * @alias sap.ui.model.odata.type.Double
101
101
  * @param {object} [oFormatOptions]
@@ -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.106.0
65
+ * @version 1.107.1
66
66
  *
67
67
  * @alias sap.ui.model.odata.type.Guid
68
68
  * @param {object} [oFormatOptions]
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.model.odata.type.ODataType
81
81
  *
82
82
  * @author SAP SE
83
- * @version 1.106.0
83
+ * @version 1.107.1
84
84
  *
85
85
  * @abstract
86
86
  * @alias sap.ui.model.odata.type.Int
@@ -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.106.0
27
+ * @version 1.107.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.106.0
27
+ * @version 1.107.1
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Int32
30
30
  * @param {object} [oFormatOptions]
@@ -137,7 +137,7 @@ sap.ui.define([
137
137
  * @extends sap.ui.model.odata.type.ODataType
138
138
  *
139
139
  * @author SAP SE
140
- * @version 1.106.0
140
+ * @version 1.107.1
141
141
  *
142
142
  * @alias sap.ui.model.odata.type.Int64
143
143
  * @param {object} [oFormatOptions]
@@ -115,7 +115,7 @@ sap.ui.define([
115
115
  * @extends sap.ui.model.SimpleType
116
116
  *
117
117
  * @author SAP SE
118
- * @version 1.106.0
118
+ * @version 1.107.1
119
119
  *
120
120
  * @abstract
121
121
  * @alias sap.ui.model.odata.type.ODataType
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.model.odata.type.ODataType
31
31
  * @public
32
32
  * @since 1.37.0
33
- * @version 1.106.0
33
+ * @version 1.107.1
34
34
  */
35
35
  var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
36
36
  constructor : function (oFormatOptions, oConstraints) {
@@ -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.106.0
27
+ * @version 1.107.1
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.SByte
30
30
  * @param {object} [oFormatOptions]
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @extends sap.ui.model.odata.type.ODataType
96
96
  *
97
97
  * @author SAP SE
98
- * @version 1.106.0
98
+ * @version 1.107.1
99
99
  *
100
100
  * @alias sap.ui.model.odata.type.Single
101
101
  * @param {object} [oFormatOptions]
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.model.odata.type.ODataType
61
61
  * @public
62
62
  * @since 1.51.0
63
- * @version 1.106.0
63
+ * @version 1.107.1
64
64
  */
65
65
  var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
66
66
  constructor : function (oFormatOptions, oConstraints) {
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  * @extends sap.ui.model.odata.type.ODataType
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.106.0
87
+ * @version 1.107.1
88
88
  *
89
89
  * @alias sap.ui.model.odata.type.String
90
90
  * @param {object} [oFormatOptions]
@@ -154,7 +154,7 @@ sap.ui.define([
154
154
  * @extends sap.ui.model.odata.type.ODataType
155
155
  *
156
156
  * @author SAP SE
157
- * @version 1.106.0
157
+ * @version 1.107.1
158
158
  *
159
159
  * @alias sap.ui.model.odata.type.Time
160
160
  * @param {object} [oFormatOptions]
@@ -110,7 +110,7 @@ sap.ui.define([
110
110
  * @extends sap.ui.model.odata.type.ODataType
111
111
  * @public
112
112
  * @since 1.37.0
113
- * @version 1.106.0
113
+ * @version 1.107.1
114
114
  */
115
115
  var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
116
116
  constructor : function (oFormatOptions, oConstraints) {
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.model.type.Unit
64
64
  * @public
65
65
  * @since 1.63.0
66
- * @version 1.106.0
66
+ * @version 1.107.1
67
67
  */
68
68
  var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
69
69
  constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @hideconstructor
61
61
  * @public
62
62
  * @since 1.93.0
63
- * @version 1.106.0
63
+ * @version 1.107.1
64
64
  */
65
65
  var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
66
66
  constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive) {
@@ -9,10 +9,11 @@ sap.ui.define([
9
9
  "sap/base/assert",
10
10
  "sap/base/util/extend",
11
11
  "sap/ui/base/EventProvider",
12
+ "sap/ui/core/Configuration",
12
13
  "sap/ui/core/cache/CacheManager",
13
14
  "sap/ui/model/odata/AnnotationParser",
14
15
  "sap/ui/thirdparty/jquery"
15
- ], function(assert, extend, EventProvider, CacheManager, AnnotationParser, jQuery) {
16
+ ], function(assert, extend, EventProvider, Configuration, CacheManager, AnnotationParser, jQuery) {
16
17
  "use strict";
17
18
 
18
19
  ///////////////////////////////////////////////// Class Definition /////////////////////////////////////////////////
@@ -35,7 +36,7 @@ sap.ui.define([
35
36
  * @class Annotation loader for OData V2 services
36
37
  *
37
38
  * @author SAP SE
38
- * @version 1.106.0
39
+ * @version 1.107.1
39
40
  *
40
41
  * @public
41
42
  * @since 1.37.0
@@ -836,7 +837,7 @@ sap.ui.define([
836
837
  ODataAnnotations.prototype._getHeaders = function() {
837
838
  //The 'sap-cancel-on-close' header marks the OData annotation request as cancelable. This helps to save resources at the back-end.
838
839
  return extend({"sap-cancel-on-close": true}, this.getHeaders(), {
839
- "Accept-Language": sap.ui.getCore().getConfiguration().getLanguageTag() // Always overwrite
840
+ "Accept-Language": Configuration.getLanguageTag() // Always overwrite
840
841
  });
841
842
  };
842
843
 
@@ -15,26 +15,35 @@ sap.ui.define([
15
15
  "use strict";
16
16
 
17
17
  /**
18
- * Constructor for odata.ODataContextBinding
19
- *
20
18
  * @class
21
- * The ContextBinding is a specific binding for a setting context for the model
19
+ * Context binding for an OData V2 model.
22
20
  *
23
- * @param {sap.ui.model.Model} oModel
24
- * @param {string} sPath
25
- * @param {sap.ui.model.Context} oContext
21
+ * @param {sap.ui.model.odata.v2.ODataModel} oModel The OData V2 model
22
+ * @param {string} sPath The binding path in the model
23
+ * @param {sap.ui.model.Context} [oContext]
24
+ * The context which is required as base for a relative path.
26
25
  * @param {object} [mParameters] A map which contains additional parameters for the binding.
27
- * @param {string} [mParameters.expand] For the OData <code>$expand</code> query option parameter which should be included in the request
28
- * @param {string} [mParameters.select] For the OData <code>$select</code> query option parameter which should be included in the request
29
- * @param {Object<string,string>} [mParameters.custom] An optional map of custom query parameters. Custom parameters must not start with <code>$</code>.
30
26
  * @param {boolean} [mParameters.createPreliminaryContext]
31
- * Whether a preliminary context will be created
27
+ * Whether a preliminary context is created
28
+ * @param {Object<string,string>} [mParameters.custom]
29
+ * An optional map of custom query parameters. Custom parameters must not start with
30
+ * <code>$</code>.
31
+ * @param {string} [mParameters.expand]
32
+ * Value for the OData <code>$expand</code> query option parameter which is included in the
33
+ * request after URL encoding of the given value.
34
+ * @param {string} [mParameters.groupId]
35
+ * The group id to be used for requests originating from the binding
36
+ * @param {string} [mParameters.select]
37
+ * Value for the OData <code>$select</code> query option parameter which is included in the
38
+ * request after URL encoding of the given value.
32
39
  * @param {boolean} [mParameters.usePreliminaryContext]
33
- * Whether a preliminary context will be used. When set to <code>true</code>, the model can
34
- * bundle the OData calls for dependent bindings into fewer $batch requests. For more
35
- * information, see
36
- * {@link topic:6c47b2b39db9404582994070ec3d57a2#loio62149734b5c24507868e722fe87a75db Optimizing Dependent Bindings}
37
- * @abstract
40
+ * Whether a preliminary context is used. When set to <code>true</code>, the model can bundle
41
+ * the OData calls for dependent bindings into fewer $batch requests. For more information,
42
+ * see {@link topic:6c47b2b39db9404582994070ec3d57a2#loio62149734b5c24507868e722fe87a75db
43
+ * Optimizing Dependent Bindings}.
44
+ * @param {string} [mParameters.batchGroupId]
45
+ * <b>Deprecated</b>, use <code>groupId</code> instead. Sets the batch group id to be used for
46
+ * requests originating from the binding.
38
47
  * @public
39
48
  * @alias sap.ui.model.odata.v2.ODataContextBinding
40
49
  * @extends sap.ui.model.ContextBinding