@openui5/sap.ui.core 1.136.4 → 1.139.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/.eslintrc.json +3 -3
  2. package/README.md +1 -1
  3. package/REUSE.toml +8 -29
  4. package/THIRDPARTY.txt +72 -90
  5. package/package.json +2 -2
  6. package/src/jquery.sap.global.js +1 -1
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +3 -3
  11. package/src/sap/base/Event.js +1 -1
  12. package/src/sap/base/Eventing.js +1 -1
  13. package/src/sap/base/config.js +1 -1
  14. package/src/sap/base/i18n/LanguageFallback.js +18 -2
  15. package/src/sap/base/i18n/LanguageTag.js +1 -1
  16. package/src/sap/base/i18n/Localization.js +5 -3
  17. package/src/sap/base/i18n/ResourceBundle.js +59 -35
  18. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  19. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  20. package/src/sap/base/util/restricted/_castArray.js +1 -1
  21. package/src/sap/base/util/restricted/_compact.js +1 -1
  22. package/src/sap/base/util/restricted/_curry.js +1 -1
  23. package/src/sap/base/util/restricted/_debounce.js +1 -1
  24. package/src/sap/base/util/restricted/_difference.js +1 -1
  25. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  26. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_flatten.js +1 -1
  31. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_intersection.js +1 -1
  34. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  35. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  37. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  38. package/src/sap/base/util/restricted/_isNil.js +1 -1
  39. package/src/sap/base/util/restricted/_max.js +1 -1
  40. package/src/sap/base/util/restricted/_merge.js +1 -1
  41. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  42. package/src/sap/base/util/restricted/_min.js +1 -1
  43. package/src/sap/base/util/restricted/_omit.js +1 -1
  44. package/src/sap/base/util/restricted/_pick.js +1 -1
  45. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  46. package/src/sap/base/util/restricted/_throttle.js +1 -1
  47. package/src/sap/base/util/restricted/_toArray.js +1 -1
  48. package/src/sap/base/util/restricted/_union.js +1 -1
  49. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  50. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  51. package/src/sap/base/util/restricted/_uniq.js +1 -1
  52. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  53. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  54. package/src/sap/base/util/restricted/_without.js +1 -1
  55. package/src/sap/base/util/restricted/_xor.js +1 -1
  56. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  57. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  58. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  59. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  60. package/src/sap/ui/Device.js +3 -3
  61. package/src/sap/ui/Global.js +3 -3
  62. package/src/sap/ui/base/BindingInfo.js +18 -9
  63. package/src/sap/ui/base/BindingParser.js +13 -6
  64. package/src/sap/ui/base/Event.js +1 -1
  65. package/src/sap/ui/base/EventProvider.js +1 -8
  66. package/src/sap/ui/base/Interface.js +1 -1
  67. package/src/sap/ui/base/ManagedObject.js +37 -27
  68. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  69. package/src/sap/ui/base/Metadata.js +1 -1
  70. package/src/sap/ui/base/Object.js +1 -1
  71. package/src/sap/ui/base/ObjectPool.js +1 -1
  72. package/src/sap/ui/base/OwnStatics.js +49 -0
  73. package/src/sap/ui/core/.library +9 -31
  74. package/src/sap/ui/core/BusyIndicator.js +8 -8
  75. package/src/sap/ui/core/Component.js +63 -73
  76. package/src/sap/ui/core/ComponentContainer.js +34 -4
  77. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  78. package/src/sap/ui/core/ComponentSupport.js +1 -1
  79. package/src/sap/ui/core/Configuration.js +1 -1
  80. package/src/sap/ui/core/Control.js +1 -1
  81. package/src/sap/ui/core/Core.js +2 -2
  82. package/src/sap/ui/core/CustomData.js +1 -1
  83. package/src/sap/ui/core/DeclarativeSupport.js +13 -11
  84. package/src/sap/ui/core/Element.js +1 -3
  85. package/src/sap/ui/core/ElementMetadata.js +1 -1
  86. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  87. package/src/sap/ui/core/EventBus.js +1 -1
  88. package/src/sap/ui/core/ExtensionPoint.js +4 -4
  89. package/src/sap/ui/core/Fragment.js +10 -6
  90. package/src/sap/ui/core/HTML.js +1 -1
  91. package/src/sap/ui/core/History.js +1 -1
  92. package/src/sap/ui/core/Icon.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +1 -1
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/Lib.js +39 -24
  102. package/src/sap/ui/core/ListItem.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +1 -1
  106. package/src/sap/ui/core/Manifest.js +1 -1
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/Popup.js +39 -178
  109. package/src/sap/ui/core/RenderManager.js +1 -1
  110. package/src/sap/ui/core/Renderer.js +1 -1
  111. package/src/sap/ui/core/ResizeHandler.js +1 -1
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/Theming.js +2 -2
  115. package/src/sap/ui/core/Title.js +1 -1
  116. package/src/sap/ui/core/TooltipBase.js +1 -1
  117. package/src/sap/ui/core/UIArea.js +1 -1
  118. package/src/sap/ui/core/UIComponent.js +16 -57
  119. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  120. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  121. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  122. package/src/sap/ui/core/XMLComposite.js +1 -1
  123. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  124. package/src/sap/ui/core/XMLTemplateProcessor.js +5 -1
  125. package/src/sap/ui/core/_IconRegistry.js +2 -0
  126. package/src/sap/ui/core/date/UI5Date.js +1 -1
  127. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  128. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  129. package/src/sap/ui/core/dnd/DragDropBase.js +12 -2
  130. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  131. package/src/sap/ui/core/dnd/DragInfo.js +5 -3
  132. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  133. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  134. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  135. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  136. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  137. package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +64 -37
  138. package/src/sap/ui/core/library.js +3 -3
  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 +1 -1
  142. package/src/sap/ui/core/message/MessageParser.js +1 -1
  143. package/src/sap/ui/core/message/MessageProcessor.js +6 -6
  144. package/src/sap/ui/core/messagebundle.properties +58 -28
  145. package/src/sap/ui/core/messagebundle_mk.properties +3 -3
  146. package/src/sap/ui/core/mvc/Controller.js +5 -1
  147. package/src/sap/ui/core/mvc/HTMLView.js +6 -2
  148. package/src/sap/ui/core/mvc/JSONView.js +6 -2
  149. package/src/sap/ui/core/mvc/JSView.js +6 -3
  150. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  151. package/src/sap/ui/core/mvc/View.js +69 -195
  152. package/src/sap/ui/core/mvc/XMLView.js +7 -2
  153. package/src/sap/ui/core/mvc/_ViewFactory.js +196 -0
  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/Route.js +197 -13
  160. package/src/sap/ui/core/routing/Router.js +19 -8
  161. package/src/sap/ui/core/routing/RouterHashChanger.js +12 -3
  162. package/src/sap/ui/core/routing/Target.js +714 -61
  163. package/src/sap/ui/core/routing/TargetCache.js +205 -25
  164. package/src/sap/ui/core/routing/Targets.js +162 -67
  165. package/src/sap/ui/core/routing/Views.js +1 -0
  166. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  167. package/src/sap/ui/core/routing/sync/Target.js +11 -1
  168. package/src/sap/ui/core/routing/sync/TargetCache.js +3 -3
  169. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  170. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  171. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  172. package/src/sap/ui/core/service/Service.js +1 -48
  173. package/src/sap/ui/core/service/ServiceFactory.js +44 -4
  174. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  175. package/src/sap/ui/core/support/Plugin.js +1 -1
  176. package/src/sap/ui/core/support/Support.js +356 -353
  177. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  178. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  179. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  180. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  181. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  182. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  183. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  184. package/src/sap/ui/core/support/plugins/ViewInfo.js +4 -2
  185. package/src/sap/ui/core/themes/base/base.less +20 -20
  186. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  187. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  188. package/src/sap/ui/core/themes/base/global.less +4 -0
  189. package/src/sap/ui/core/themes/base/skeleton.less +3 -3
  190. package/src/sap/ui/core/theming/ThemeHelper.js +1 -18
  191. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  192. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  193. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +4 -4
  194. package/src/sap/ui/core/tmpl/Template.js +1 -1
  195. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  196. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  197. package/src/sap/ui/core/util/Export.js +1 -1
  198. package/src/sap/ui/core/util/ExportCell.js +1 -1
  199. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  200. package/src/sap/ui/core/util/ExportRow.js +1 -1
  201. package/src/sap/ui/core/util/ExportType.js +1 -1
  202. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  203. package/src/sap/ui/core/util/File.js +1 -1
  204. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  205. package/src/sap/ui/core/util/MockServer.js +1 -1
  206. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  207. package/src/sap/ui/core/util/XMLPreprocessor.js +8 -1
  208. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +4 -4
  209. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  210. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  211. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  212. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  213. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  214. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  215. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  216. package/src/sap/ui/core/webc/WebComponent.js +2 -3
  217. package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -3
  218. package/src/sap/ui/core/webc/WebComponentRenderer.js +1 -1
  219. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  220. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  221. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  222. package/src/sap/ui/debug/ControlTree.js +1 -1
  223. package/src/sap/ui/debug/DebugEnv.js +1 -1
  224. package/src/sap/ui/debug/PropertyList.js +1 -1
  225. package/src/sap/ui/model/ClientModel.js +2 -2
  226. package/src/sap/ui/model/CompositeDataState.js +1 -1
  227. package/src/sap/ui/model/CompositeType.js +1 -1
  228. package/src/sap/ui/model/DataState.js +1 -1
  229. package/src/sap/ui/model/Filter.js +55 -35
  230. package/src/sap/ui/model/FilterOperator.js +79 -9
  231. package/src/sap/ui/model/MetaModel.js +1 -1
  232. package/src/sap/ui/model/Model.js +1 -1
  233. package/src/sap/ui/model/SelectionModel.js +1 -1
  234. package/src/sap/ui/model/SimpleType.js +1 -1
  235. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  236. package/src/sap/ui/model/Type.js +1 -1
  237. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -1
  238. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +2 -1
  239. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  240. package/src/sap/ui/model/analytics/odata4analytics.js +2 -1
  241. package/src/sap/ui/model/json/JSONModel.js +1 -1
  242. package/src/sap/ui/model/message/MessageModel.js +1 -1
  243. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  244. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  245. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  246. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  247. package/src/sap/ui/model/odata/ODataModel.js +3 -3
  248. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +2 -1
  249. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +3 -3
  250. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  251. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  252. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  253. package/src/sap/ui/model/odata/type/Date.js +1 -1
  254. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  255. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  256. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  257. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  258. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  259. package/src/sap/ui/model/odata/type/Double.js +1 -1
  260. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  261. package/src/sap/ui/model/odata/type/Int.js +1 -1
  262. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  263. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  264. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  265. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  266. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  267. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  268. package/src/sap/ui/model/odata/type/Single.js +1 -1
  269. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  270. package/src/sap/ui/model/odata/type/String.js +1 -1
  271. package/src/sap/ui/model/odata/type/Time.js +1 -1
  272. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  273. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  274. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  275. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  276. package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
  277. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  278. package/src/sap/ui/model/odata/v4/Context.js +20 -17
  279. package/src/sap/ui/model/odata/v4/ODataBinding.js +2 -2
  280. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +4 -4
  281. package/src/sap/ui/model/odata/v4/ODataListBinding.js +34 -22
  282. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +60 -22
  283. package/src/sap/ui/model/odata/v4/ODataModel.js +9 -8
  284. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +2 -2
  285. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  286. package/src/sap/ui/model/odata/v4/ODataUtils.js +2 -2
  287. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +4 -4
  288. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +98 -89
  289. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +39 -7
  290. package/src/sap/ui/model/odata/v4/lib/_Cache.js +32 -26
  291. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +10 -4
  292. package/src/sap/ui/model/odata/v4/lib/_Helper.js +44 -24
  293. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  294. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +50 -19
  295. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  296. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  297. package/src/sap/ui/model/type/Boolean.js +1 -1
  298. package/src/sap/ui/model/type/Currency.js +1 -1
  299. package/src/sap/ui/model/type/Date.js +1 -1
  300. package/src/sap/ui/model/type/DateInterval.js +1 -1
  301. package/src/sap/ui/model/type/DateTime.js +1 -1
  302. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  303. package/src/sap/ui/model/type/FileSize.js +1 -1
  304. package/src/sap/ui/model/type/Float.js +1 -1
  305. package/src/sap/ui/model/type/Integer.js +1 -1
  306. package/src/sap/ui/model/type/String.js +1 -1
  307. package/src/sap/ui/model/type/Time.js +1 -1
  308. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  309. package/src/sap/ui/model/type/Unit.js +1 -4
  310. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  311. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  312. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  313. package/src/sap/ui/test/Opa.js +14 -2
  314. package/src/sap/ui/test/Opa5.js +61 -10
  315. package/src/sap/ui/test/TestUtils.js +6 -2
  316. package/src/sap/ui/test/generic/GenericTestCollection.js +11 -1
  317. package/src/sap/ui/test/generic/TestBase.js +1 -1
  318. package/src/sap/ui/thirdparty/datajs.js +13 -10
  319. package/src/sap/ui/thirdparty/jquery.js +1 -1
  320. package/src/sap/ui/util/Storage.js +1 -1
  321. package/src/ui5loader-autoconfig.js +49 -59
  322. package/src/ui5loader.js +1 -1
  323. package/src/sap/ui/core/routing/async/Route.js +0 -186
  324. package/src/sap/ui/core/routing/async/Target.js +0 -712
  325. package/src/sap/ui/core/routing/async/TargetCache.js +0 -196
  326. package/src/sap/ui/core/routing/async/Targets.js +0 -130
  327. package/src/sap/ui/thirdparty/iscroll-lite.js +0 -603
  328. package/src/sap/ui/thirdparty/iscroll.js +0 -1104
  329. package/src/sap/ui/thirdparty/mobiscroll/css/mobiscroll-core.css +0 -416
  330. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-core.js +0 -127
  331. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-datetime.js +0 -818
  332. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-scroller.js +0 -1264
  333. package/src/sap/ui/thirdparty/swipe-view.js +0 -560
@@ -31,6 +31,7 @@ sap.ui.define([
31
31
  "use strict";
32
32
 
33
33
  var sClassName = "sap.ui.model.odata.v4.ODataListBinding",
34
+ rLambdaOperators = /All|Any|NotAll|NotAny/,
34
35
  mSupportedEvents = {
35
36
  AggregatedDataStateChange : true,
36
37
  change : true,
@@ -59,7 +60,7 @@ sap.ui.define([
59
60
  * @mixes sap.ui.model.odata.v4.ODataParentBinding
60
61
  * @public
61
62
  * @since 1.37.0
62
- * @version 1.136.4
63
+ * @version 1.139.0
63
64
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
64
65
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
65
66
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -580,8 +581,8 @@ sap.ui.define([
580
581
  * <code>start</code> and <code>length</code> parameters can be used to retrieve the received
581
582
  * data via {@link #requestContexts}.
582
583
  *
583
- * If the request fails, the <code>errorMessage</code> is a UI5 message containing the back-end
584
- * error. It is reported to the message model by default unless
584
+ * If the request fails, the <code>messagesOnError</code> is an array of UI5 messages containing
585
+ * the back-end messages. They are reported to the message model by default unless
585
586
  * {@link sap.ui.base.Event#preventDefault} is called.
586
587
  *
587
588
  * @param {sap.ui.base.Event} oEvent
@@ -596,12 +597,12 @@ sap.ui.define([
596
597
  * The start index of the requested range
597
598
  * @param {number} oEvent.getParameters.length
598
599
  * The length of the requested range
599
- * @param {sap.ui.core.message.Message} [oEvent.getParameters.errorMessage]
600
- * A UI5 message of type {@link module:sap/ui/core/message/MessageType MessageType.Error}
600
+ * @param {sap.ui.core.message.Message[]} [oEvent.getParameters.messagesOnError]
601
+ * An array of UI5 messages if the request failed; <code>undefined</code> otherwise
601
602
  *
602
603
  * @event sap.ui.model.odata.v4.ODataListBinding#separateReceived
603
- * @experimental As of version 1.131.0
604
604
  * @public
605
+ * @since 1.137.0
605
606
  */
606
607
 
607
608
  /**
@@ -2077,11 +2078,14 @@ sap.ui.define([
2077
2078
  }
2078
2079
 
2079
2080
  sOperator = oFilter.getOperator();
2080
- if (sOperator === FilterOperator.All || sOperator === FilterOperator.Any) {
2081
+ if (rLambdaOperators.test(sOperator)) {
2082
+ const bNot = sOperator.startsWith("Not");
2083
+ sOperator = sOperator.replace("Not", "");
2084
+ const sPrefix = (bNot ? "not " : "") + oFilter.getPath() + "/";
2081
2085
  oCondition = oFilter.getCondition();
2082
2086
  sLambdaVariable = oFilter.getVariable();
2083
- if (sOperator === FilterOperator.Any && !oCondition) {
2084
- return oFilter.getPath() + "/any()";
2087
+ if (sOperator === "Any" && !oCondition) {
2088
+ return sPrefix + "any()";
2085
2089
  }
2086
2090
  // multifilters are processed in parallel, so clone mLambdaVariableToPath
2087
2091
  // to allow same lambda variables in different filters
@@ -2089,10 +2093,8 @@ sap.ui.define([
2089
2093
  mLambdaVariableToPath[sLambdaVariable]
2090
2094
  = replaceLambdaVariables(oFilter.getPath(), mLambdaVariableToPath);
2091
2095
 
2092
- return fetchFilter(
2093
- oCondition, mLambdaVariableToPath
2094
- ).then(function (sFilterValue) {
2095
- return oFilter.getPath() + "/" + oFilter.getOperator().toLowerCase()
2096
+ return fetchFilter(oCondition, mLambdaVariableToPath).then((sFilterValue) => {
2097
+ return sPrefix + sOperator.toLowerCase()
2096
2098
  + "(" + sLambdaVariable + ":" + sFilterValue + ")";
2097
2099
  });
2098
2100
  }
@@ -2532,14 +2534,14 @@ sap.ui.define([
2532
2534
  length : iEnd - iStart
2533
2535
  };
2534
2536
  if (oError) {
2535
- oParameters.errorMessage = this.oModel.reportTransitionMessages(
2536
- _Helper.extractMessages(oError), oError.resourcePath, /*bSilent*/true)[0];
2537
+ oParameters.messagesOnError = this.oModel.reportTransitionMessages(
2538
+ _Helper.extractMessages(oError), oError.resourcePath, /*bSilent*/true);
2537
2539
  }
2538
2540
 
2539
2541
  const bDefaultAction = this.fireEvent("separateReceived", oParameters, true);
2540
2542
 
2541
2543
  if (oError && bDefaultAction) {
2542
- Messaging.updateMessages(undefined, [oParameters.errorMessage]);
2544
+ Messaging.updateMessages(undefined, oParameters.messagesOnError);
2543
2545
  }
2544
2546
  };
2545
2547
 
@@ -2622,7 +2624,7 @@ sap.ui.define([
2622
2624
  * @param {string} sResourcePath
2623
2625
  * The resource path for the cache
2624
2626
  * @param {object} mQueryOptions
2625
- * The query options for the cache
2627
+ * The query options for the cache (requires "copy on write"!)
2626
2628
  * @returns {sap.ui.model.odata.v4.lib._CollectionCache|undefined}
2627
2629
  * The cache or <code>undefined</code> if the model has no matching temporary binding
2628
2630
  *
@@ -3423,7 +3425,7 @@ sap.ui.define([
3423
3425
  * because the binding may have acquired them via autoExpandSelect.
3424
3426
  *
3425
3427
  * @param {object} mQueryOptions
3426
- * The query options
3428
+ * A map of key-value pairs representing the query string (requires "copy on write"!)
3427
3429
  * @param {sap.ui.model.Context} [oContext]
3428
3430
  * The context instance to be used, must be <code>undefined</code> for absolute bindings
3429
3431
  * @returns {object} The merged query options
@@ -3630,6 +3632,10 @@ sap.ui.define([
3630
3632
  */
3631
3633
  ODataListBinding.prototype.isUnchangedParameter = function (sName, vOtherValue) {
3632
3634
  if (sName === "$$aggregation") {
3635
+ if (!vOtherValue) {
3636
+ return this.mParameters.$$aggregation === vOtherValue;
3637
+ }
3638
+
3633
3639
  // Note: $fetchMetadata is lost here, but never mind - $apply does not matter, only
3634
3640
  // normalization is needed
3635
3641
  vOtherValue = _Helper.clone(vOtherValue); // avoid modification due to normalization
@@ -4760,7 +4766,7 @@ sap.ui.define([
4760
4766
 
4761
4767
  /**
4762
4768
  * Sets a new data aggregation object and derives the system query option <code>$apply</code>
4763
- * implicitly from it.
4769
+ * implicitly from it. If the aggregation is unchanged, nothing happens.
4764
4770
  *
4765
4771
  * @param {object} [oAggregation]
4766
4772
  * An object holding the information needed for data aggregation; see also
@@ -4811,7 +4817,9 @@ sap.ui.define([
4811
4817
  * <code>hierarchyQualifier</code> is given. Root nodes are on the first level. By default,
4812
4818
  * only root nodes are available; they are not yet expanded. Since 1.120.0,
4813
4819
  * <code>expandTo >= Number.MAX_SAFE_INTEGER</code> can be used to expand all levels
4814
- * (<code>1E16</code> is recommended inside XML views for simplicity).
4820
+ * (<code>1E16</code> is recommended inside XML views for simplicity). Since 1.139.0,
4821
+ * {@link #getAggregation} returns <code>expandTo : Number.MAX_SAFE_INTEGER</code> instead of
4822
+ * values greater than this. These differences do not count as changes.
4815
4823
  * @param {boolean} [oAggregation.grandTotalAtBottomOnly]
4816
4824
  * Tells whether the grand totals for aggregatable properties are displayed at the bottom only
4817
4825
  * (since 1.86.0); <code>true</code> for bottom only, <code>false</code> for top and bottom,
@@ -4881,12 +4889,13 @@ sap.ui.define([
4881
4889
  * <li> the binding has a {@link sap.ui.model.odata.v4.Context#isKeepAlive kept-alive}
4882
4890
  * context when switching the use case of data aggregation (recursive hierarchy, pure data
4883
4891
  * aggregation, or none at all),
4884
- * <li> there are pending changes,
4892
+ * <li> there are pending changes (unless the aggregation is unchanged),
4885
4893
  * <li> a recursive hierarchy is requested, but the model does not use the
4886
4894
  * <code>autoExpandSelect</code> parameter,
4887
4895
  * <li> the binding is part of a {@link #create deep create} because it is relative to a
4888
4896
  * {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
4889
- * <li> the binding has {@link sap.ui.model.Filter.NONE}
4897
+ * <li> the binding has {@link sap.ui.model.Filter.NONE} (unless the aggregation is
4898
+ * unchanged)
4890
4899
  * </ul>
4891
4900
  *
4892
4901
  * @example <caption>First group level is product category including subtotals for the net
@@ -4930,6 +4939,9 @@ sap.ui.define([
4930
4939
  }
4931
4940
 
4932
4941
  this.checkTransient();
4942
+ if (this.isUnchangedParameter("$$aggregation", oAggregation)) {
4943
+ return;
4944
+ }
4933
4945
  if (this.hasFilterNone()) {
4934
4946
  throw new Error("Cannot combine Filter.NONE with $$aggregation");
4935
4947
  }
@@ -60,6 +60,10 @@ sap.ui.define([
60
60
  oBooleanType,
61
61
  mCodeListUrl2Promise = {},
62
62
  DEBUG = Log.Level.DEBUG,
63
+ oDynamicProperty = Object.freeze({
64
+ $kind : "Property",
65
+ $Type : "Edm.Untyped" // inspired by 4.01
66
+ }),
63
67
  oGeoJSON = {
64
68
  $kind : "ComplexType",
65
69
  $OpenType : true,
@@ -195,7 +199,7 @@ sap.ui.define([
195
199
  * @hideconstructor
196
200
  * @public
197
201
  * @since 1.37.0
198
- * @version 1.136.4
202
+ * @version 1.139.0
199
203
  */
200
204
  ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
201
205
  constructor : constructor
@@ -570,6 +574,7 @@ sap.ui.define([
570
574
  ? [vAnnotationUri] : vAnnotationUri;
571
575
  this.sDefaultBindingMode = BindingMode.OneTime;
572
576
  this.mETags = {};
577
+ this.sForbiddenSchema = undefined; // data service's schema in case of a value help service
573
578
  this.sLanguage = sLanguage;
574
579
  // no need to use UI5Date.getInstance as only the timestamp is relevant
575
580
  this.oLastModified = new Date(0);
@@ -593,8 +598,8 @@ sap.ui.define([
593
598
  this.mSupportedBindingModes = {OneTime : true, OneWay : true};
594
599
  this.bSupportReferences = bSupportReferences !== false; // default is true
595
600
  // ClientListBinding#filter calls checkFilter on the model; ClientModel does
596
- // not support "All" and "Any" filters
597
- this.mUnsupportedFilterOperators = {All : true, Any : true};
601
+ // not support "All", "Any", "NotAll", and "NotAny" filters
602
+ this.mUnsupportedFilterOperators = {All : true, Any : true, NotAll : true, NotAny : true};
598
603
  this.sUrl = sUrl;
599
604
  }
600
605
 
@@ -917,6 +922,21 @@ sap.ui.define([
917
922
  throw oError;
918
923
  };
919
924
 
925
+ /**
926
+ * Tells this meta model to not include the given schema. Use this to prevent inclusion of the
927
+ * data service's schema into a value help service, which would be possible due to a
928
+ * "cross-service reference" but would violate the constraints of {@link #requestValueListInfo}
929
+ * regarding "Unexpected annotation ... with namespace of data service ...".
930
+ *
931
+ * @param {string} sSchema
932
+ * A namespace of a schema, for example "foo.bar."
933
+ *
934
+ * @private
935
+ */
936
+ ODataMetaModel.prototype._setForbiddenSchema = function (sSchema) {
937
+ this.sForbiddenSchema = sSchema;
938
+ };
939
+
920
940
  /**
921
941
  * See {@link sap.ui.base.EventProvider#attachEvent}
922
942
  *
@@ -1184,6 +1204,7 @@ sap.ui.define([
1184
1204
  vLocation, // {string[]|string} location of indirection
1185
1205
  sName, // what "@sapui.name" refers to: OData or annotation name
1186
1206
  bODataMode, // OData navigation mode with scope lookup etc.
1207
+ bOpenType, // schema child is an open (entity or complex) type
1187
1208
  // parent for next "17.2 SimpleIdentifier"...
1188
1209
  // (normally the schema child containing the current object)
1189
1210
  oSchemaChild, // ...as object
@@ -1229,8 +1250,8 @@ sap.ui.define([
1229
1250
  if (vBindingParameterType) {
1230
1251
  oSchemaChild = aOverloads = vResult.filter(isRightOverload);
1231
1252
  if (aOverloads.length !== 1) {
1232
- return log(WARNING, "Expected a single overload, but found "
1233
- + aOverloads.length);
1253
+ return log(WARNING, "Expected a single overload, but found ",
1254
+ aOverloads.length);
1234
1255
  }
1235
1256
  if (vBindingParameterType !== UNBOUND) {
1236
1257
  sSignature = aOverloads[0].$Parameter[0].$isCollection
@@ -1443,6 +1464,10 @@ sap.ui.define([
1443
1464
  }
1444
1465
  // unknown qualified name: maybe schema is referenced and can be included?
1445
1466
  sSchema = schema(sQualifiedName);
1467
+ if (sSchema === that.sForbiddenSchema) {
1468
+ return logWithLocation(WARNING, "Must not access schema '", sSchema,
1469
+ "' from meta model for ", that.sUrl);
1470
+ }
1446
1471
  vResult = that._getOrFetchSchema(mScope, sSchema, logWithLocation);
1447
1472
  }
1448
1473
 
@@ -1450,6 +1475,7 @@ sap.ui.define([
1450
1475
  sTarget = sName = sSchemaChildName = sQualifiedName;
1451
1476
  vResult = oSchemaChild = mScope[sSchemaChildName];
1452
1477
  if (!SyncPromise.isThenable(vResult)) {
1478
+ bOpenType = vResult.$OpenType;
1453
1479
  return true; // qualified name found, steps may continue
1454
1480
  }
1455
1481
  }
@@ -1537,7 +1563,10 @@ sap.ui.define([
1537
1563
  return scopeLookup(sSegment);
1538
1564
  } else if (bResultIsObject && "$Type" in vResult) {
1539
1565
  // implicit $Type insertion, e.g. at (navigation) property
1540
- if (!scopeLookup(vResult.$Type, "$Type")) {
1566
+ if (bOpenType && vResult.$Type === "Edm.Untyped") {
1567
+ // no use to lookup, type continues to be open
1568
+ sName = undefined; // block "@sapui.name"
1569
+ } else if (!scopeLookup(vResult.$Type, "$Type")) {
1541
1570
  return false;
1542
1571
  }
1543
1572
  } else if (bResultIsObject && "$Action" in vResult) {
@@ -1651,9 +1680,9 @@ sap.ui.define([
1651
1680
  function terminal(vValue) {
1652
1681
  vResult = vValue;
1653
1682
  if (vResult === undefined) {
1654
- log(WARNING, "Unsupported path before " + sSegment);
1683
+ log(WARNING, "Unsupported path before ", sSegment);
1655
1684
  } else if (i + 1 < aSegments.length) {
1656
- log(WARNING, "Unsupported path after " + sSegment);
1685
+ log(WARNING, "Unsupported path after ", sSegment);
1657
1686
  }
1658
1687
  return false;
1659
1688
  }
@@ -1698,7 +1727,9 @@ sap.ui.define([
1698
1727
  }
1699
1728
  sName = bODataMode || sSegment[0] === "@" ? sSegment : undefined;
1700
1729
  sTarget = bODataMode ? sTarget + "/" + sSegment : undefined;
1701
- vResult = vResult[sSegment];
1730
+ vResult = bOpenType && !bInsideAnnotation && !(sSegment in vResult)
1731
+ ? oDynamicProperty
1732
+ : vResult[sSegment];
1702
1733
  }
1703
1734
  return true;
1704
1735
  }
@@ -1956,7 +1987,7 @@ sap.ui.define([
1956
1987
  sNavigationPath = _Helper.buildPath(sNavigationPath, sPropertyName);
1957
1988
  oProperty = bInsideAnnotation ? {} : oType[sPropertyName];
1958
1989
  if (!oProperty) {
1959
- if (sPropertyName.includes("@")) {
1990
+ if (sPropertyName.includes("@") || oType.$OpenType) {
1960
1991
  if (sPropertyName.includes("@$ui5.")
1961
1992
  && sPropertyName !== "@$ui5.context.isSelected") {
1962
1993
  error("Read-only path must not be updated");
@@ -2556,13 +2587,17 @@ sap.ui.define([
2556
2587
  * list model!
2557
2588
  * @param {boolean} [bAutoExpandSelect]
2558
2589
  * Whether the model is to be created with autoExpandSelect
2590
+ * @param {string} [sQualifiedParentName]
2591
+ * Only in case of a value list model: The qualified name of the structured type containing
2592
+ * the property or the operation containing the parameter where value list info was requested.
2593
+ * Used to derive the {@link #_setForbiddenSchema forbidden schema}.
2559
2594
  * @returns {sap.ui.model.odata.v4.ODataModel}
2560
2595
  * The shared model
2561
2596
  *
2562
2597
  * @private
2563
2598
  */
2564
2599
  ODataMetaModel.prototype.getOrCreateSharedModel = function (sUrl, bCopyAnnotations,
2565
- bAutoExpandSelect) {
2600
+ bAutoExpandSelect, sQualifiedParentName) {
2566
2601
  sUrl = this.getAbsoluteServiceUrl(sUrl);
2567
2602
  const sMapKey = !!bAutoExpandSelect + sUrl; // no separator needed as sUrl.startsWith("/")
2568
2603
  let mSharedModelByUrl = this.mSharedModelByUrl;
@@ -2584,6 +2619,9 @@ sap.ui.define([
2584
2619
  if (bCopyAnnotations) {
2585
2620
  oSharedModel.getMetaModel()._copyAnnotations(this.oMetaModelForAnnotations ?? this);
2586
2621
  }
2622
+ if (sQualifiedParentName) {
2623
+ oSharedModel.getMetaModel()._setForbiddenSchema(schema(sQualifiedParentName));
2624
+ }
2587
2625
  oSharedModel.setRetryAfterHandler((oError) => {
2588
2626
  return this.oModel.getOrCreateRetryAfterPromise(oError);
2589
2627
  });
@@ -3117,7 +3155,7 @@ sap.ui.define([
3117
3155
  * "&lt;7.2.1 Attribute Property>@...", "$OnDelete@...", "&lt;10.2.1 Attribute Name>@..." and
3118
3156
  * "&lt;14.5.14.2.1 Attribute Property>@..." (where angle brackets denote a variable part and
3119
3157
  * sections refer to specification <a href=
3120
- * "https://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part3-csdl.htm"
3158
+ * "https://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part3-csdl.html"
3121
3159
  * >"OData Version 4.0 Part 3: Common Schema Definition Language"</a>).
3122
3160
  *
3123
3161
  * Annotations starting with "@@", for example
@@ -3224,7 +3262,9 @@ sap.ui.define([
3224
3262
  * placeholder for one. In this way, "/EMPLOYEES/" addresses the same entity type as
3225
3263
  * "/EMPLOYEES/$Type/". That entity type in turn is a map of all its OData children (that is,
3226
3264
  * structural and navigation properties) and determines the set of possible child names that
3227
- * might be used after the trailing slash.
3265
+ * might be used after the trailing slash. Since 1.137.0, open (complex or entity) types are
3266
+ * supported as follows: A simple identifier that does not refer to an OData child is valid and
3267
+ * treated as a dynamic property of type "Edm.Untyped".
3228
3268
  *
3229
3269
  * "$" can be used as the last segment to continue a path and thus force scope lookup, but no
3230
3270
  * OData simple identifier preparations. In this way, it serves as a placeholder for a technical
@@ -3470,11 +3510,9 @@ sap.ui.define([
3470
3510
  // flag for "fixed values"
3471
3511
  this.requestObject(sPropertyMetaPath + sValueListWithFixedValues),
3472
3512
  this.requestObject(sParentMetaPath + "/@$ui5.overload")
3473
- ]).then(function (aResults) {
3474
- var mAnnotationByTerm = aResults[2],
3475
- bFixedValues = aResults[3],
3476
- mMappingUrlByQualifier = {},
3477
- oProperty = aResults[1],
3513
+ ]).then(function ([sQualifiedParentName, oProperty, mAnnotationByTerm, bFixedValues,
3514
+ aOverloads]) {
3515
+ var mMappingUrlByQualifier = {},
3478
3516
  oValueListInfo = {};
3479
3517
 
3480
3518
  /*
@@ -3489,7 +3527,7 @@ sap.ui.define([
3489
3527
  function addMapping(mValueListMapping, sQualifier, sMappingUrl, oModel) {
3490
3528
  if ("CollectionRoot" in mValueListMapping) {
3491
3529
  oModel = that.getOrCreateSharedModel(mValueListMapping.CollectionRoot,
3492
- /*bCopyAnnotations*/true, bAutoExpandSelect);
3530
+ /*bCopyAnnotations*/true, bAutoExpandSelect, sQualifiedParentName);
3493
3531
  if (oValueListInfo[sQualifier]
3494
3532
  && oValueListInfo[sQualifier].$model === oModel) {
3495
3533
  // same model -> allow overriding the qualifier
@@ -3524,11 +3562,11 @@ sap.ui.define([
3524
3562
  // fetch mappings for each entry and wait for all
3525
3563
  return Promise.all(aMappingUrls.map(function (sMappingUrl) {
3526
3564
  var oValueListModel = that.getOrCreateSharedModel(sMappingUrl,
3527
- /*bCopyAnnotations*/true, bAutoExpandSelect);
3565
+ /*bCopyAnnotations*/true, bAutoExpandSelect, sQualifiedParentName);
3528
3566
 
3529
3567
  // fetch the mappings for the given mapping URL
3530
- return that.fetchValueListMappings(oValueListModel,
3531
- /*sQualifiedParentName*/aResults[0], oProperty, /*aOverloads*/aResults[4]
3568
+ return that.fetchValueListMappings(oValueListModel, sQualifiedParentName,
3569
+ oProperty, aOverloads
3532
3570
  ).then(function (mValueListMappingByQualifier) {
3533
3571
  // enrich with oValueListModel
3534
3572
  return {
@@ -240,7 +240,7 @@ sap.ui.define([
240
240
  * @extends sap.ui.model.Model
241
241
  * @public
242
242
  * @since 1.37.0
243
- * @version 1.136.4
243
+ * @version 1.139.0
244
244
  */
245
245
  ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
246
246
  /** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
@@ -962,11 +962,11 @@ sap.ui.define([
962
962
  * Whether the binding always uses an own service request to read its data; only the value
963
963
  * <code>true</code> is allowed.
964
964
  * @param {string[]} [mParameters.$$separate]
965
- * An array of navigation property names which are omitted from the main list request and
966
- * loaded in a separate request instead (@experimental as of version 1.129.0). This results in
967
- * the main list becoming available faster, while the separate properties are merged as soon
968
- * as the data is received. Note that the separate properties must be single valued and part
969
- * of the '$expand' system query option, either automatically via the "autoExpandSelect" model
965
+ * An array of navigation property names which are omitted from the main list request (since
966
+ * 1.137.0). Instead, each of them is loaded in a separate request. This results in the main
967
+ * list becoming available faster, while the separate properties are merged as soon as the
968
+ * data is received. Note that the separate properties must be single valued and part of the
969
+ * '$expand' system query option, either automatically via the "autoExpandSelect" model
970
970
  * parameter (see {@link #constructor}) or manually. The <code>$$separate</code> parameter
971
971
  * must not be combined with <code>$$aggregation</code>.
972
972
  * @param {boolean} [mParameters.$$sharedRequest]
@@ -1266,7 +1266,7 @@ sap.ui.define([
1266
1266
  * and missing headers remain unchanged. The following headers must not be used:
1267
1267
  * <ul>
1268
1268
  * <li> OData V4 requests headers as specified in <a href=
1269
- * "https://docs.oasis-open.org/odata/odata/v4.0/os/part1-protocol/odata-v4.0-os-part1-protocol.html#_Common_Headers"
1269
+ * "https://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html#_Common_Headers"
1270
1270
  * >"8.1 Common Headers"</a> and "8.2 Request Headers" of the specification "OData Version
1271
1271
  * 4.0 Part 1: Protocol"
1272
1272
  * <li> OData V2 request headers as specified in "2.2.5 HTTP Header Fields" of the
@@ -2880,7 +2880,8 @@ sap.ui.define([
2880
2880
  * but take care to replace dashes with underscores.
2881
2881
  * @throws {Error}
2882
2882
  * If the given group ID is not a valid group ID or has
2883
- * {@link sap.ui.model.odata.v4.SubmitMode.Direct}
2883
+ * {@link sap.ui.model.odata.v4.SubmitMode.Direct} or if multiple requests that apply the
2884
+ * preference "handling=strict" already exist in the same change set of the batch request
2884
2885
  *
2885
2886
  * @private
2886
2887
  * @since 1.134.0
@@ -1097,7 +1097,7 @@ sap.ui.define([
1097
1097
  * @private
1098
1098
  */
1099
1099
  ODataParentBinding.prototype.getGeneration = function () {
1100
- return this.bRelative && this.oContext.getGeneration && this.oContext.getGeneration() || 0;
1100
+ return this.bRelative && this.oContext?.getGeneration?.() || 0;
1101
1101
  };
1102
1102
 
1103
1103
  /**
@@ -1263,7 +1263,7 @@ sap.ui.define([
1263
1263
  * "unchanged" when compared to the given other value.
1264
1264
  *
1265
1265
  * @param {string} sName - The parameter's name
1266
- * @param {any} vOtherValue - The parameter's other value
1266
+ * @param {any} [vOtherValue] - The parameter's other value
1267
1267
  * @returns {boolean} Whether the parameter is "unchanged"
1268
1268
  *
1269
1269
  * @private
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @mixes sap.ui.model.odata.v4.ODataBinding
43
43
  * @public
44
44
  * @since 1.37.0
45
- * @version 1.136.4
45
+ * @version 1.139.0
46
46
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
47
47
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
48
48
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  ], function (CalendarType, DateFormat, BaseODataUtils, _Batch, _Helper) {
15
15
  "use strict";
16
16
 
17
- // see http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/abnf/odata-abnf-construction-rules.txt
17
+ // see https://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/
18
18
  var oDateFormatter,
19
19
  oDateTimeOffsetFormatter,
20
20
  sDateValue = "\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])",
@@ -140,7 +140,7 @@ sap.ui.define([
140
140
  *
141
141
  * @param {any} vValue
142
142
  * The value according to <a href=
143
- * "https://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html#_Primitive_Value"
143
+ * "https://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html#_Primitive_Value"
144
144
  * >"OData JSON Format Version 4.0" section "7.1 Primitive Value"</a>
145
145
  * @param {string} sType
146
146
  * The OData primitive type, for example "Edm.String"
@@ -9,14 +9,14 @@
9
9
  sap.ui.define([
10
10
  "../_AnnotationHelperBasics",
11
11
  "sap/base/Log",
12
+ "sap/ui/base/BindingInfo",
12
13
  "sap/ui/base/BindingParser",
13
- "sap/ui/base/ManagedObject",
14
14
  "sap/ui/base/SyncPromise",
15
15
  "sap/ui/performance/Measurement"
16
- ], function (Basics, Log, BindingParser, ManagedObject, SyncPromise, Measurement) {
16
+ ], function (Basics, Log, BindingInfo, BindingParser, SyncPromise, Measurement) {
17
17
  "use strict";
18
18
 
19
- // see http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/abnf/odata-abnf-construction-rules.txt
19
+ // see https://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/abnf/
20
20
  var sAnnotationHelper = "sap.ui.model.odata.v4.AnnotationHelper",
21
21
  aPerformanceCategories = [sAnnotationHelper],
22
22
  sPerformanceGetExpression = sAnnotationHelper + "/getExpression",
@@ -680,7 +680,7 @@ sap.ui.define([
680
680
  Measurement.average(sPerformanceGetExpression, "", aPerformanceCategories);
681
681
 
682
682
  if (!bSimpleParserWarningLogged
683
- && ManagedObject.bindingParser === BindingParser.simpleParser) {
683
+ && BindingInfo.parse === BindingParser.simpleParser) {
684
684
  Log.warning("Complex binding syntax not active", null, sAnnotationHelper);
685
685
  bSimpleParserWarningLogged = true;
686
686
  }