@openui5/sap.ui.core 1.120.5 → 1.120.6

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 (308) 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/sap/base/Event.js +1 -1
  8. package/src/sap/base/Eventing.js +1 -1
  9. package/src/sap/base/config.js +1 -1
  10. package/src/sap/base/i18n/LanguageTag.js +1 -1
  11. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  12. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  13. package/src/sap/base/util/restricted/_castArray.js +1 -1
  14. package/src/sap/base/util/restricted/_compact.js +1 -1
  15. package/src/sap/base/util/restricted/_curry.js +1 -1
  16. package/src/sap/base/util/restricted/_debounce.js +1 -1
  17. package/src/sap/base/util/restricted/_difference.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_flatten.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_intersection.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isNil.js +1 -1
  32. package/src/sap/base/util/restricted/_max.js +1 -1
  33. package/src/sap/base/util/restricted/_merge.js +1 -1
  34. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  35. package/src/sap/base/util/restricted/_min.js +1 -1
  36. package/src/sap/base/util/restricted/_omit.js +1 -1
  37. package/src/sap/base/util/restricted/_pick.js +1 -1
  38. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  39. package/src/sap/base/util/restricted/_throttle.js +1 -1
  40. package/src/sap/base/util/restricted/_toArray.js +1 -1
  41. package/src/sap/base/util/restricted/_union.js +1 -1
  42. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  43. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  44. package/src/sap/base/util/restricted/_uniq.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  47. package/src/sap/base/util/restricted/_without.js +1 -1
  48. package/src/sap/base/util/restricted/_xor.js +1 -1
  49. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  50. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  53. package/src/sap/ui/Device.js +3 -3
  54. package/src/sap/ui/Global.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/Metadata.js +1 -1
  61. package/src/sap/ui/base/Object.js +1 -1
  62. package/src/sap/ui/base/ObjectPool.js +1 -1
  63. package/src/sap/ui/core/.library +1 -1
  64. package/src/sap/ui/core/BusyIndicator.js +1 -1
  65. package/src/sap/ui/core/Component.js +1 -1
  66. package/src/sap/ui/core/ComponentContainer.js +1 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +1 -1
  70. package/src/sap/ui/core/Control.js +1 -1
  71. package/src/sap/ui/core/Core.js +1 -1
  72. package/src/sap/ui/core/CustomData.js +1 -1
  73. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  74. package/src/sap/ui/core/Element.js +1 -1
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  77. package/src/sap/ui/core/EventBus.js +1 -1
  78. package/src/sap/ui/core/Fragment.js +1 -1
  79. package/src/sap/ui/core/HTML.js +1 -1
  80. package/src/sap/ui/core/History.js +1 -1
  81. package/src/sap/ui/core/Icon.js +1 -1
  82. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  83. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  84. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  85. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  86. package/src/sap/ui/core/InvisibleText.js +1 -1
  87. package/src/sap/ui/core/Item.js +1 -1
  88. package/src/sap/ui/core/LabelEnablement.js +1 -1
  89. package/src/sap/ui/core/LayoutData.js +1 -1
  90. package/src/sap/ui/core/ListItem.js +1 -1
  91. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  92. package/src/sap/ui/core/Locale.js +1 -1
  93. package/src/sap/ui/core/LocaleData.js +1 -1
  94. package/src/sap/ui/core/Manifest.js +1 -1
  95. package/src/sap/ui/core/Message.js +1 -1
  96. package/src/sap/ui/core/RenderManager.js +1 -1
  97. package/src/sap/ui/core/Renderer.js +1 -1
  98. package/src/sap/ui/core/ResizeHandler.js +1 -1
  99. package/src/sap/ui/core/ScrollBar.js +1 -1
  100. package/src/sap/ui/core/SeparatorItem.js +1 -1
  101. package/src/sap/ui/core/Title.js +1 -1
  102. package/src/sap/ui/core/TooltipBase.js +1 -1
  103. package/src/sap/ui/core/UIArea.js +1 -1
  104. package/src/sap/ui/core/UIComponent.js +1 -1
  105. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  106. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  107. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  108. package/src/sap/ui/core/XMLComposite.js +1 -1
  109. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  110. package/src/sap/ui/core/date/UI5Date.js +1 -1
  111. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  112. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  113. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  115. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  117. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  118. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  119. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  120. package/src/sap/ui/core/library.js +3 -3
  121. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  122. package/src/sap/ui/core/message/Message.js +1 -1
  123. package/src/sap/ui/core/message/MessageManager.js +1 -1
  124. package/src/sap/ui/core/message/MessageParser.js +1 -1
  125. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  126. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  127. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  128. package/src/sap/ui/core/mvc/JSView.js +1 -1
  129. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  130. package/src/sap/ui/core/mvc/View.js +1 -1
  131. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  132. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  133. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  134. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  135. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  136. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  137. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  138. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  139. package/src/sap/ui/core/service/Service.js +1 -1
  140. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  141. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  142. package/src/sap/ui/core/support/Plugin.js +1 -1
  143. package/src/sap/ui/core/support/Support.js +1 -1
  144. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  145. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  146. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  147. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  148. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  149. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  150. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  151. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  152. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  153. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  154. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  155. package/src/sap/ui/core/tmpl/Template.js +1 -1
  156. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  157. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  158. package/src/sap/ui/core/util/Export.js +1 -1
  159. package/src/sap/ui/core/util/ExportCell.js +1 -1
  160. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  161. package/src/sap/ui/core/util/ExportRow.js +1 -1
  162. package/src/sap/ui/core/util/ExportType.js +1 -1
  163. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  164. package/src/sap/ui/core/util/File.js +1 -1
  165. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  166. package/src/sap/ui/core/util/MockServer.js +1 -1
  167. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  168. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  169. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  170. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  171. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  172. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  173. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  174. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  175. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  176. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  177. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  178. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  179. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  180. package/src/sap/ui/debug/ControlTree.js +1 -1
  181. package/src/sap/ui/debug/DebugEnv.js +1 -1
  182. package/src/sap/ui/debug/PropertyList.js +1 -1
  183. package/src/sap/ui/model/ClientModel.js +1 -1
  184. package/src/sap/ui/model/CompositeDataState.js +1 -1
  185. package/src/sap/ui/model/CompositeType.js +1 -1
  186. package/src/sap/ui/model/DataState.js +1 -1
  187. package/src/sap/ui/model/MetaModel.js +1 -1
  188. package/src/sap/ui/model/Model.js +1 -1
  189. package/src/sap/ui/model/SelectionModel.js +1 -1
  190. package/src/sap/ui/model/SimpleType.js +1 -1
  191. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  192. package/src/sap/ui/model/Type.js +1 -1
  193. package/src/sap/ui/model/json/JSONModel.js +1 -1
  194. package/src/sap/ui/model/message/MessageModel.js +1 -1
  195. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  196. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  197. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  198. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  199. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  200. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  201. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  202. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  203. package/src/sap/ui/model/odata/type/Date.js +1 -1
  204. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  205. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  206. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  207. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  208. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  209. package/src/sap/ui/model/odata/type/Double.js +1 -1
  210. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  211. package/src/sap/ui/model/odata/type/Int.js +1 -1
  212. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  213. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  214. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  215. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  216. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  217. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  218. package/src/sap/ui/model/odata/type/Single.js +1 -1
  219. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  220. package/src/sap/ui/model/odata/type/String.js +1 -1
  221. package/src/sap/ui/model/odata/type/Time.js +1 -1
  222. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  223. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  224. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  225. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  226. package/src/sap/ui/model/odata/v2/ODataModel.js +54 -4
  227. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  228. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  229. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  230. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  231. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  232. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  233. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  234. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  235. package/src/sap/ui/model/type/Boolean.js +1 -1
  236. package/src/sap/ui/model/type/Currency.js +1 -1
  237. package/src/sap/ui/model/type/Date.js +1 -1
  238. package/src/sap/ui/model/type/DateInterval.js +1 -1
  239. package/src/sap/ui/model/type/DateTime.js +1 -1
  240. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  241. package/src/sap/ui/model/type/FileSize.js +1 -1
  242. package/src/sap/ui/model/type/Float.js +1 -1
  243. package/src/sap/ui/model/type/Integer.js +1 -1
  244. package/src/sap/ui/model/type/String.js +1 -1
  245. package/src/sap/ui/model/type/Time.js +1 -1
  246. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  247. package/src/sap/ui/model/type/Unit.js +1 -1
  248. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  249. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  250. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  251. package/src/sap/ui/test/generic/TestBase.js +1 -1
  252. package/src/sap/ui/util/Storage.js +1 -1
  253. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  254. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  255. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  256. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  257. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  258. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  259. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  260. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  261. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  262. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  263. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  264. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  265. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  266. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  267. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  268. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  269. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  270. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  271. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  272. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  273. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  274. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  275. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  276. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  277. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  278. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  279. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  280. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  281. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  282. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  283. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  284. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  285. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  287. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  288. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  289. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  291. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  292. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  293. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  295. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  301. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  303. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  304. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  305. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  306. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +110 -0
  307. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +98 -11
  308. package/test/sap/ui/core/relnotes/changes-1.120.json +10 -0
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.120.5" #MainVersion#
7
+ version: "1.120.6" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -21981,4 +21981,114 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
21981
21981
 
21982
21982
  return this.createView(assert, sView, oModel);
21983
21983
  });
21984
+
21985
+ //*********************************************************************************************
21986
+ // Scenario: Custom headers are applied to *all* change requests when the $batch containing them is sent on
21987
+ // ODataModel#submitChangesWithChangeHeaders.
21988
+ // SNOW: CS20230004859105
21989
+ QUnit.test("ODataModel#submitChangesWithChangeHeaders: Custom headers for change requests", function (assert) {
21990
+ var oModel = createSalesOrdersModel({
21991
+ defaultBindingMode : BindingMode.TwoWay,
21992
+ refreshAfterChange : false // suppress GETs on collection after POST to reduce test complexity
21993
+ }),
21994
+ mModelHeaders = {
21995
+ "my-custom0" : "~custom0Global",
21996
+ "my-custom1" : "~custom1Global",
21997
+ "my-custom2" : "~custom2Global"
21998
+ },
21999
+ sView = '\
22000
+ <t:Table id="table" rows="{/SalesOrderSet}" visibleRowCount="2">\
22001
+ <Text id="id" text="{SalesOrderID}" />\
22002
+ <Input id="note" value="{Note}" />\
22003
+ </t:Table>',
22004
+ that = this;
22005
+
22006
+ this.expectHeadRequest(mModelHeaders)
22007
+ .expectRequest({
22008
+ headers : mModelHeaders,
22009
+ requestUri : "SalesOrderSet?$skip=0&$top=102"
22010
+ }, {
22011
+ results : [{
22012
+ __metadata : { uri : "/SalesOrderSet('1')" },
22013
+ SalesOrderID : "1",
22014
+ Note : "foo"
22015
+ }, {
22016
+ __metadata : { uri : "/SalesOrderSet('2')" },
22017
+ SalesOrderID : "2",
22018
+ Note : "bar"
22019
+ }]
22020
+ })
22021
+ .expectValue("id", ["1", "2"])
22022
+ .expectValue("note", ["foo", "bar"]);
22023
+
22024
+ oModel.setHeaders(mModelHeaders); // set global custom headers
22025
+ return this.createView(assert, sView, oModel).then(function () {
22026
+ that.expectRequest({
22027
+ data : {
22028
+ __metadata : { "uri": "/SalesOrderSet('1')" },
22029
+ Note : "baz"
22030
+ },
22031
+ headers : {
22032
+ "my-custom0" : "~custom0Global",
22033
+ "my-custom1" : "~custom1Global",
22034
+ "my-custom2" : "~custom2Change",
22035
+ "my-custom-change" : "~customChange"
22036
+ },
22037
+ key : "SalesOrderSet('1')",
22038
+ method : "MERGE",
22039
+ requestUri : "SalesOrderSet('1')"
22040
+ }, NO_CONTENT)
22041
+ .expectRequest({
22042
+ created : true,
22043
+ data : {
22044
+ __metadata : { type : "GWSAMPLE_BASIC.SalesOrder" }
22045
+ },
22046
+ headers : {
22047
+ "my-create" : "~create",
22048
+ "my-custom0" : "~custom0Create",
22049
+ "my-custom1" : "~custom1Global",
22050
+ "my-custom2" : "~custom2Change",
22051
+ "my-custom-change" : "~customChange"
22052
+ },
22053
+ method : "POST",
22054
+ requestUri : "SalesOrderSet"
22055
+ }, {
22056
+ data : {
22057
+ __metadata : { uri : "SalesOrderSet('3')" },
22058
+ SalesOrderID : "3"
22059
+ },
22060
+ statusCode : 201
22061
+ })
22062
+ .expectRequest({
22063
+ headers : {
22064
+ "my-remove" : "~remove",
22065
+ "my-custom0" : "~custom0Remove",
22066
+ "my-custom1" : "~custom1Global",
22067
+ "my-custom2" : "~custom2Change",
22068
+ "my-custom-change" : "~customChange"
22069
+ },
22070
+ method : "DELETE",
22071
+ requestUri : "SalesOrderSet('2')"
22072
+ }, NO_CONTENT)
22073
+ .expectValue("id", "", 1)
22074
+ .expectValue("note", ["baz", ""]);
22075
+
22076
+ // code under test: update (via two-way binding), createEntry, remove apply headers from
22077
+ // global model headers, headers from API calls and submitChangesWithChangeHeaders in expected prio
22078
+ that.oView.byId("table").getRows()[0].getCells()[1].setValue("baz");
22079
+ oModel.createEntry("/SalesOrderSet", {
22080
+ properties : {},
22081
+ headers : {"my-create" : "~create", "my-custom0" : "~custom0Create"}
22082
+ });
22083
+ oModel.remove("/SalesOrderSet('2')", {
22084
+ groupId : "changes", // use same batch group as update and create
22085
+ headers : {"my-remove" : "~remove", "my-custom0" : "~custom0Remove"}
22086
+ });
22087
+ oModel.submitChangesWithChangeHeaders(
22088
+ {changeHeaders : {"my-custom-change" : "~customChange", "my-custom2" : "~custom2Change"}}
22089
+ );
22090
+
22091
+ return that.waitForChanges(assert);
22092
+ });
22093
+ });
21984
22094
  });
@@ -2905,10 +2905,13 @@ sap.ui.define([
2905
2905
 
2906
2906
  //*********************************************************************************************
2907
2907
  [false, true].forEach(function (bExpandRequest, i) {
2908
- QUnit.test("_processRequestQueue: push expandRequest to queue, " + i, function (assert) {
2908
+ var sTitle = "_processRequestQueue: push expandRequest to queue, " + i + ", consider change headers";
2909
+
2910
+ QUnit.test(sTitle, function (assert) {
2909
2911
  var oRequest = {
2910
2912
  data : "~data",
2911
- expandRequest : bExpandRequest ? "~expandRequest" : undefined
2913
+ expandRequest : bExpandRequest ? "~expandRequest" : undefined,
2914
+ headers : "~headers"
2912
2915
  },
2913
2916
  oChange = {
2914
2917
  parts : [{
@@ -2938,6 +2941,7 @@ sap.ui.define([
2938
2941
 
2939
2942
  this.mock(oModel).expects("_collectChangedEntities")
2940
2943
  .withExactArgs(sinon.match.same(oRequestGroup), {}, {});
2944
+ this.mock(_Helper).expects("extend").withExactArgs("~headers", "~changeHeaders");
2941
2945
  this.mock(oModel).expects("getKey").withExactArgs("~data").returns("~key");
2942
2946
  this.mock(oModel).expects("increaseLaundering").withExactArgs("/~key", "~data");
2943
2947
  this.mock(oModel).expects("removeInternalMetadata").withExactArgs("~data");
@@ -2955,7 +2959,7 @@ sap.ui.define([
2955
2959
 
2956
2960
  // code under test
2957
2961
  ODataModel.prototype._processRequestQueue.call(oModel, mRequests, "~sGroupId", "~fnSuccess",
2958
- "~fnError");
2962
+ "~fnError", "~changeHeaders");
2959
2963
  });
2960
2964
  });
2961
2965
 
@@ -7019,7 +7023,7 @@ sap.ui.define([
7019
7023
  this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns(oMetadataPromise);
7020
7024
 
7021
7025
  // code under test
7022
- ODataModel.prototype.submitChanges.call(oModel);
7026
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel);
7023
7027
 
7024
7028
  // async, after metadata loaded promise is resolved
7025
7029
  this.mock(oModel).expects("getContext").withExactArgs("/~sKey").returns(oContext);
@@ -7035,7 +7039,7 @@ sap.ui.define([
7035
7039
  /*oRequestHandle*/sinon.match.object, oFixture.expectedRefreshAfterChange);
7036
7040
  this.mock(oModel).expects("_processRequestQueue")
7037
7041
  .withExactArgs(sinon.match.same(oModel.mDeferredRequests), undefined, undefined,
7038
- undefined);
7042
+ undefined, undefined);
7039
7043
 
7040
7044
  return oMetadataPromise.then(function () {
7041
7045
  assert.strictEqual(oRequest.key, "~sKey");
@@ -7095,7 +7099,7 @@ sap.ui.define([
7095
7099
  this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns(oMetadataPromise);
7096
7100
 
7097
7101
  // code under test
7098
- ODataModel.prototype.submitChanges.call(oModel, /*mParameters*/undefined);
7102
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel, /*mParameters*/undefined);
7099
7103
 
7100
7104
  // async, after metadata loaded promise is resolved
7101
7105
  this.mock(oModel).expects("getContext").withExactArgs("/~sKey").returns(oContext);
@@ -7113,7 +7117,7 @@ sap.ui.define([
7113
7117
  /*oRequestHandle*/sinon.match.object, "~bRefreshAfterChangeFromModel");
7114
7118
  this.mock(oModel).expects("_processRequestQueue")
7115
7119
  .withExactArgs(sinon.match.same(oModel.mDeferredRequests), undefined,
7116
- sinon.match.func, undefined)
7120
+ sinon.match.func, undefined, undefined)
7117
7121
  .callsFake(function (mDeferredRequests, sGroupId, fnSuccess0, fnError) {
7118
7122
  fnSuccess = fnSuccess0;
7119
7123
  });
@@ -7182,7 +7186,7 @@ sap.ui.define([
7182
7186
  this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns(oMetadataPromise);
7183
7187
 
7184
7188
  // code under test
7185
- ODataModel.prototype.submitChanges.call(oModel, mParameters);
7189
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel, mParameters);
7186
7190
 
7187
7191
  // async, after metadata loaded promise is resolved
7188
7192
  this.mock(oModel).expects("getContext").withExactArgs("/~sKey").returns(oContext);
@@ -7200,7 +7204,7 @@ sap.ui.define([
7200
7204
  /*oRequestHandle*/sinon.match.object, "~bRefreshAfterChangeFromModel");
7201
7205
  this.mock(oModel).expects("_processRequestQueue")
7202
7206
  .withExactArgs(sinon.match.same(oModel.mDeferredRequests), "~groupId",
7203
- sinon.match.func, undefined)
7207
+ sinon.match.func, undefined, undefined)
7204
7208
  .callsFake(function (mDeferredRequests, sGroupId, fnSuccess0, fnError) {
7205
7209
  fnSuccess = fnSuccess0;
7206
7210
  });
@@ -7239,7 +7243,7 @@ sap.ui.define([
7239
7243
  this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns(oMetadataPromise);
7240
7244
 
7241
7245
  // code under test
7242
- ODataModel.prototype.submitChanges.call(oModel);
7246
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel);
7243
7247
 
7244
7248
  // async, after metadata loaded promise is resolved
7245
7249
  this.mock(oModel).expects("getContext").withExactArgs("/~sKey").returns(oContext);
@@ -7251,12 +7255,95 @@ sap.ui.define([
7251
7255
  assert.deepEqual(mDeferredRequests, {});
7252
7256
 
7253
7257
  return oModel.mDeferredRequests === mDeferredRequests;
7254
- }), undefined, undefined, undefined);
7258
+ }), undefined, undefined, undefined, undefined);
7255
7259
 
7256
7260
  return oMetadataPromise;
7257
7261
  });
7258
7262
  });
7259
7263
 
7264
+ //*********************************************************************************************
7265
+ QUnit.test("submitChanges: delegate to submitChangesWithHeaders", function (assert) {
7266
+ var oModel = {
7267
+ submitChangesWithChangeHeaders : function () {}
7268
+ },
7269
+ oModelMock = this.mock(oModel),
7270
+ mParameters = {
7271
+ batchGroupId : "~batchGroupId",
7272
+ changeHeaders : "~changeHeaders", // only considered in direct call to submitChangesWithChangeHeaders
7273
+ error : "~error",
7274
+ groupId : "~groupId",
7275
+ merge : "~merge",
7276
+ success : "~success",
7277
+ unknown : "~unknown"
7278
+ },
7279
+ mPassedParameters = {
7280
+ batchGroupId : "~batchGroupId",
7281
+ error : "~error",
7282
+ groupId : "~groupId",
7283
+ merge : "~merge",
7284
+ success : "~success"
7285
+ };
7286
+
7287
+ oModelMock.expects("submitChangesWithChangeHeaders").withExactArgs(undefined).returns("~requestHandle");
7288
+
7289
+ // code under test
7290
+ assert.strictEqual(ODataModel.prototype.submitChanges.call(oModel), "~requestHandle");
7291
+
7292
+ oModelMock.expects("submitChangesWithChangeHeaders").withExactArgs(mPassedParameters).returns("~requestHandle");
7293
+
7294
+ // code under test
7295
+ assert.strictEqual(ODataModel.prototype.submitChanges.call(oModel, mParameters), "~requestHandle");
7296
+ });
7297
+
7298
+ //*********************************************************************************************
7299
+ QUnit.test("submitChangesWithHeaders: propagates change headers", function (assert) {
7300
+ var mChangeHeaders = {header : "headerValue"},
7301
+ oMetadataPromise = Promise.resolve(),
7302
+ oModel = {
7303
+ mChangedEntities : {},
7304
+ mDeferredRequests : {},
7305
+ oMetadata : {
7306
+ loaded : function () {}
7307
+ },
7308
+ _isHeaderPrivate : function () {},
7309
+ _processRequestQueue : function () {},
7310
+ getBindings : function () {}
7311
+ };
7312
+
7313
+ this.mock(oModel).expects("_isHeaderPrivate").withExactArgs("header").returns(false);
7314
+ this.mock(oModel).expects("getBindings").withExactArgs().returns([]);
7315
+ this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns(oMetadataPromise);
7316
+ this.mock(oModel).expects("_processRequestQueue")
7317
+ .withExactArgs(sinon.match.same(oModel.mDeferredRequests), undefined, undefined, undefined,
7318
+ sinon.match.same(mChangeHeaders));
7319
+
7320
+ // code under test
7321
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel, {changeHeaders : mChangeHeaders});
7322
+
7323
+ return oMetadataPromise;
7324
+ });
7325
+
7326
+ //*********************************************************************************************
7327
+ QUnit.test("submitChangesWithHeaders: disallow private headers as change headers", function (assert) {
7328
+ var mChangeHeaders = {
7329
+ notPrivate0 : "n0",
7330
+ private0 : "p0",
7331
+ notPrivate1 : "n1"
7332
+ },
7333
+ oModel = {
7334
+ _isHeaderPrivate : function () {}
7335
+ },
7336
+ oModelMock = this.mock(oModel);
7337
+
7338
+ oModelMock.expects("_isHeaderPrivate").withExactArgs("notPrivate0").returns(false);
7339
+ oModelMock.expects("_isHeaderPrivate").withExactArgs("private0").returns(true);
7340
+
7341
+ // code under test
7342
+ assert.throws(function () {
7343
+ ODataModel.prototype.submitChangesWithChangeHeaders.call(oModel, {changeHeaders : mChangeHeaders});
7344
+ }, new Error("Must not use private header: private0"));
7345
+ });
7346
+
7260
7347
  //*********************************************************************************************
7261
7348
  QUnit.test("setProperty: deferred request", function (assert) {
7262
7349
  var oRequestQueuedPromise,
@@ -715,5 +715,15 @@
715
715
  "text": " sap.ui.model.analytics.AnalyticalBinding: handle properties of type Edm.time in grouping"
716
716
  }
717
717
  ]
718
+ },
719
+ "1.120.6": {
720
+ "date": "February 2024",
721
+ "notes": [
722
+ {
723
+ "id": "e6ce2912af430cea8ae775464d9c588f1433704a",
724
+ "type": "FIX",
725
+ "text": " sap.ui.model.odata.v2.ODataModel#submitChangesWithHeaders: ensure change requests use custom headers"
726
+ }
727
+ ]
718
728
  }
719
729
  }