@openui5/sap.ui.core 1.96.5 → 1.99.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 (426) hide show
  1. package/.eslintrc.json +93 -3
  2. package/.reuse/dep5 +26 -31
  3. package/THIRDPARTY.txt +15 -21
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.mobile.js +29 -19
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +2 -2
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +3 -3
  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 +81 -169
  53. package/src/sap/ui/Global.js +11 -16
  54. package/src/sap/ui/VersionInfo.js +13 -10
  55. package/src/sap/ui/base/BindingParser.js +34 -7
  56. package/src/sap/ui/base/Event.js +1 -1
  57. package/src/sap/ui/base/EventProvider.js +1 -1
  58. package/src/sap/ui/base/Interface.js +1 -1
  59. package/src/sap/ui/base/ManagedObject.js +50 -29
  60. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  61. package/src/sap/ui/base/Metadata.js +1 -3
  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 -27
  65. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  66. package/src/sap/ui/core/BusyIndicator.js +1 -1
  67. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  68. package/src/sap/ui/core/Component.js +33 -11
  69. package/src/sap/ui/core/ComponentContainer.js +1 -1
  70. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  71. package/src/sap/ui/core/ComponentSupport.js +1 -1
  72. package/src/sap/ui/core/Configuration.js +79 -13
  73. package/src/sap/ui/core/Control.js +4 -3
  74. package/src/sap/ui/core/Core.js +4 -7
  75. package/src/sap/ui/core/CustomData.js +1 -1
  76. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  77. package/src/sap/ui/core/Element.js +6 -12
  78. package/src/sap/ui/core/ElementMetadata.js +1 -1
  79. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  80. package/src/sap/ui/core/EventBus.js +1 -1
  81. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  82. package/src/sap/ui/core/FocusHandler.js +1 -1
  83. package/src/sap/ui/core/Fragment.js +1 -1
  84. package/src/sap/ui/core/HTML.js +3 -3
  85. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  86. package/src/sap/ui/core/History.js +1 -1
  87. package/src/sap/ui/core/Icon.js +2 -3
  88. package/src/sap/ui/core/IconRenderer.js +1 -1
  89. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  90. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  91. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  92. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  93. package/src/sap/ui/core/InvisibleText.js +1 -1
  94. package/src/sap/ui/core/Item.js +1 -1
  95. package/src/sap/ui/core/LabelEnablement.js +9 -2
  96. package/src/sap/ui/core/LayoutData.js +1 -1
  97. package/src/sap/ui/core/ListItem.js +1 -1
  98. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  99. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
  100. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
  101. package/src/sap/ui/core/Locale.js +1 -1
  102. package/src/sap/ui/core/LocaleData.js +39 -4
  103. package/src/sap/ui/core/Manifest.js +1 -1
  104. package/src/sap/ui/core/Message.js +1 -1
  105. package/src/sap/ui/core/Placeholder.js +28 -28
  106. package/src/sap/ui/core/Popup.js +3 -3
  107. package/src/sap/ui/core/RenderManager.js +3 -3
  108. package/src/sap/ui/core/Renderer.js +1 -1
  109. package/src/sap/ui/core/ResizeHandler.js +1 -1
  110. package/src/sap/ui/core/ScrollBar.js +4 -3
  111. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/ThemeCheck.js +2 -2
  114. package/src/sap/ui/core/Title.js +1 -1
  115. package/src/sap/ui/core/TooltipBase.js +2 -2
  116. package/src/sap/ui/core/UIArea.js +3 -3
  117. package/src/sap/ui/core/UIComponent.js +1 -1
  118. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  119. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  120. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  121. package/src/sap/ui/core/XMLComposite.js +1 -1
  122. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  123. package/src/sap/ui/core/XMLTemplateProcessor.js +26 -5
  124. package/src/sap/ui/core/_IconRegistry.js +10 -1
  125. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
  126. package/src/sap/ui/core/date/Japanese.js +1 -1
  127. package/src/sap/ui/core/date/UniversalDateUtils.js +205 -2
  128. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  129. package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
  130. package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
  131. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  132. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  133. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  134. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  135. package/src/sap/ui/core/format/DateFormat.js +562 -174
  136. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +43 -0
  137. package/src/sap/ui/core/format/ListFormat.js +2 -2
  138. package/src/sap/ui/core/format/NumberFormat.js +1 -1
  139. package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
  140. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  141. package/src/sap/ui/core/library.js +47 -10
  142. package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
  143. package/src/sap/ui/core/message/Message.js +1 -1
  144. package/src/sap/ui/core/message/MessageManager.js +1 -1
  145. package/src/sap/ui/core/message/MessageMixin.js +2 -1
  146. package/src/sap/ui/core/message/MessageParser.js +1 -1
  147. package/src/sap/ui/core/message/MessageProcessor.js +22 -12
  148. package/src/sap/ui/core/messagebundle.properties +4 -0
  149. package/src/sap/ui/core/messagebundle_ar.properties +2 -0
  150. package/src/sap/ui/core/messagebundle_bg.properties +7 -5
  151. package/src/sap/ui/core/messagebundle_ca.properties +2 -0
  152. package/src/sap/ui/core/messagebundle_cs.properties +2 -0
  153. package/src/sap/ui/core/messagebundle_cy.properties +2 -0
  154. package/src/sap/ui/core/messagebundle_da.properties +2 -0
  155. package/src/sap/ui/core/messagebundle_de.properties +3 -1
  156. package/src/sap/ui/core/messagebundle_el.properties +2 -0
  157. package/src/sap/ui/core/messagebundle_en.properties +2 -0
  158. package/src/sap/ui/core/messagebundle_en_GB.properties +2 -0
  159. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
  160. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  161. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +2 -0
  162. package/src/sap/ui/core/messagebundle_es.properties +2 -0
  163. package/src/sap/ui/core/messagebundle_es_MX.properties +2 -0
  164. package/src/sap/ui/core/messagebundle_et.properties +2 -0
  165. package/src/sap/ui/core/messagebundle_fi.properties +2 -0
  166. package/src/sap/ui/core/messagebundle_fr.properties +9 -7
  167. package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -0
  168. package/src/sap/ui/core/messagebundle_hi.properties +2 -0
  169. package/src/sap/ui/core/messagebundle_hr.properties +2 -0
  170. package/src/sap/ui/core/messagebundle_hu.properties +2 -0
  171. package/src/sap/ui/core/messagebundle_id.properties +4 -2
  172. package/src/sap/ui/core/messagebundle_it.properties +3 -1
  173. package/src/sap/ui/core/messagebundle_iw.properties +2 -0
  174. package/src/sap/ui/core/messagebundle_ja.properties +2 -0
  175. package/src/sap/ui/core/messagebundle_kk.properties +2 -0
  176. package/src/sap/ui/core/messagebundle_ko.properties +2 -0
  177. package/src/sap/ui/core/messagebundle_lt.properties +2 -0
  178. package/src/sap/ui/core/messagebundle_lv.properties +3 -1
  179. package/src/sap/ui/core/messagebundle_ms.properties +2 -0
  180. package/src/sap/ui/core/messagebundle_nl.properties +2 -0
  181. package/src/sap/ui/core/messagebundle_no.properties +6 -4
  182. package/src/sap/ui/core/messagebundle_pl.properties +2 -0
  183. package/src/sap/ui/core/messagebundle_pt.properties +2 -0
  184. package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -0
  185. package/src/sap/ui/core/messagebundle_ro.properties +2 -0
  186. package/src/sap/ui/core/messagebundle_ru.properties +23 -21
  187. package/src/sap/ui/core/messagebundle_sh.properties +2 -0
  188. package/src/sap/ui/core/messagebundle_sk.properties +2 -0
  189. package/src/sap/ui/core/messagebundle_sl.properties +2 -0
  190. package/src/sap/ui/core/messagebundle_sv.properties +2 -0
  191. package/src/sap/ui/core/messagebundle_th.properties +2 -0
  192. package/src/sap/ui/core/messagebundle_tr.properties +2 -0
  193. package/src/sap/ui/core/messagebundle_uk.properties +2 -0
  194. package/src/sap/ui/core/messagebundle_vi.properties +2 -0
  195. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -0
  196. package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -0
  197. package/src/sap/ui/core/mvc/Controller.js +4 -4
  198. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  199. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  200. package/src/sap/ui/core/mvc/JSONView.js +2 -1
  201. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  202. package/src/sap/ui/core/mvc/JSView.js +1 -1
  203. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  204. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  205. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  206. package/src/sap/ui/core/mvc/View.js +2 -1
  207. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  208. package/src/sap/ui/core/mvc/XMLView.js +16 -3
  209. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  210. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  211. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  212. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  213. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  214. package/src/sap/ui/core/routing/Route.js +6 -6
  215. package/src/sap/ui/core/routing/Router.js +4 -3
  216. package/src/sap/ui/core/routing/Targets.js +17 -13
  217. package/src/sap/ui/core/rules/Misc.support.js +51 -1
  218. package/src/sap/ui/core/rules/Model.support.js +95 -8
  219. package/src/sap/ui/core/rules/Rendering.support.js +1 -4
  220. package/src/sap/ui/core/rules/View.support.js +14 -46
  221. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  222. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  223. package/src/sap/ui/core/service/Service.js +1 -1
  224. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  225. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  226. package/src/sap/ui/core/support/Plugin.js +2 -2
  227. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
  228. package/src/sap/ui/core/support/Support.js +1 -1
  229. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  230. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  231. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  232. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  233. package/src/sap/ui/core/support/plugins/Performance.js +1 -2
  234. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  235. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  236. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  237. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  238. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +2 -6
  239. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  240. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  241. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  242. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  243. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  244. package/src/sap/ui/core/tmpl/Template.js +1 -1
  245. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  246. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  247. package/src/sap/ui/core/util/DraftEnabledMockServer.js +21 -16
  248. package/src/sap/ui/core/util/Export.js +1 -1
  249. package/src/sap/ui/core/util/ExportCell.js +1 -1
  250. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  251. package/src/sap/ui/core/util/ExportRow.js +1 -1
  252. package/src/sap/ui/core/util/ExportType.js +1 -1
  253. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  254. package/src/sap/ui/core/util/File.js +1 -1
  255. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  256. package/src/sap/ui/core/util/MockServer.js +157 -58
  257. package/src/sap/ui/core/util/PasteHelper.js +4 -4
  258. package/src/sap/ui/core/util/XMLPreprocessor.js +16 -4
  259. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  260. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  261. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  262. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  263. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  264. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  265. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  266. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  267. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  268. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  269. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  270. package/src/sap/ui/debug/ControlTree.js +1 -1
  271. package/src/sap/ui/debug/DebugEnv.js +1 -1
  272. package/src/sap/ui/debug/PropertyList.js +1 -1
  273. package/src/sap/ui/dom/includeStylesheet.js +8 -3
  274. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  275. package/src/sap/ui/events/jquery/EventSimulation.js +3 -13
  276. package/src/sap/ui/model/Binding.js +4 -3
  277. package/src/sap/ui/model/ChangeReason.js +1 -1
  278. package/src/sap/ui/model/ClientListBinding.js +7 -0
  279. package/src/sap/ui/model/ClientModel.js +6 -5
  280. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  281. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  282. package/src/sap/ui/model/CompositeBinding.js +1 -1
  283. package/src/sap/ui/model/CompositeDataState.js +26 -4
  284. package/src/sap/ui/model/CompositeType.js +1 -1
  285. package/src/sap/ui/model/ContextBinding.js +1 -1
  286. package/src/sap/ui/model/DataState.js +27 -6
  287. package/src/sap/ui/model/ListBinding.js +24 -5
  288. package/src/sap/ui/model/MetaModel.js +2 -3
  289. package/src/sap/ui/model/Model.js +6 -11
  290. package/src/sap/ui/model/SelectionModel.js +1 -1
  291. package/src/sap/ui/model/SimpleType.js +1 -1
  292. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  293. package/src/sap/ui/model/TreeBindingAdapter.js +0 -2
  294. package/src/sap/ui/model/TreeBindingUtils.js +2 -0
  295. package/src/sap/ui/model/Type.js +1 -1
  296. package/src/sap/ui/model/analytics/AnalyticalBinding.js +13 -8
  297. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
  298. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -15
  299. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  300. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  301. package/src/sap/ui/model/json/JSONModel.js +7 -7
  302. package/src/sap/ui/model/json/JSONPropertyBinding.js +2 -2
  303. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  304. package/src/sap/ui/model/message/MessageModel.js +3 -3
  305. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  306. package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
  307. package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
  308. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  309. package/src/sap/ui/model/odata/ODataListBinding.js +62 -39
  310. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  311. package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
  312. package/src/sap/ui/model/odata/ODataMetadata.js +138 -87
  313. package/src/sap/ui/model/odata/ODataModel.js +443 -216
  314. package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
  315. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  316. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
  317. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
  318. package/src/sap/ui/model/odata/ODataUtils.js +24 -9
  319. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +3 -2
  320. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +11 -9
  321. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +7 -5
  322. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  323. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  324. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  325. package/src/sap/ui/model/odata/type/Date.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  327. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  328. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  329. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +338 -0
  330. package/src/sap/ui/model/odata/type/Decimal.js +5 -1
  331. package/src/sap/ui/model/odata/type/Double.js +1 -1
  332. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int.js +1 -1
  334. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  335. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  336. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  337. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  338. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  339. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  340. package/src/sap/ui/model/odata/type/Single.js +1 -1
  341. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  342. package/src/sap/ui/model/odata/type/String.js +1 -1
  343. package/src/sap/ui/model/odata/type/Time.js +1 -1
  344. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  345. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  346. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -2
  347. package/src/sap/ui/model/odata/v2/Context.js +98 -14
  348. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  349. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
  350. package/src/sap/ui/model/odata/v2/ODataListBinding.js +418 -172
  351. package/src/sap/ui/model/odata/v2/ODataModel.js +242 -138
  352. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +164 -92
  353. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +117 -7
  354. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +21 -22
  355. package/src/sap/ui/model/odata/v4/Context.js +249 -83
  356. package/src/sap/ui/model/odata/v4/ODataBinding.js +100 -43
  357. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +309 -228
  358. package/src/sap/ui/model/odata/v4/ODataListBinding.js +573 -278
  359. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +131 -100
  360. package/src/sap/ui/model/odata/v4/ODataModel.js +342 -259
  361. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +113 -100
  362. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +87 -81
  363. package/src/sap/ui/model/odata/v4/ODataUtils.js +5 -5
  364. package/src/sap/ui/model/odata/v4/SubmitMode.js +0 -1
  365. package/src/sap/ui/model/odata/v4/ValueListType.js +0 -1
  366. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +20 -20
  367. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +3 -5
  368. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -4
  369. package/src/sap/ui/model/odata/v4/lib/_Batch.js +21 -20
  370. package/src/sap/ui/model/odata/v4/lib/_Cache.js +278 -103
  371. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
  372. package/src/sap/ui/model/odata/v4/lib/_Helper.js +55 -21
  373. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +62 -61
  374. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
  375. package/src/sap/ui/model/odata/v4/lib/_Parser.js +52 -43
  376. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +61 -41
  377. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +147 -147
  378. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
  379. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +66 -67
  380. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  381. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  382. package/src/sap/ui/model/type/Boolean.js +1 -1
  383. package/src/sap/ui/model/type/Currency.js +1 -1
  384. package/src/sap/ui/model/type/Date.js +1 -1
  385. package/src/sap/ui/model/type/DateInterval.js +1 -1
  386. package/src/sap/ui/model/type/DateTime.js +1 -1
  387. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  388. package/src/sap/ui/model/type/FileSize.js +1 -1
  389. package/src/sap/ui/model/type/Float.js +1 -1
  390. package/src/sap/ui/model/type/Integer.js +1 -1
  391. package/src/sap/ui/model/type/String.js +1 -1
  392. package/src/sap/ui/model/type/Time.js +1 -1
  393. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  394. package/src/sap/ui/model/type/Unit.js +1 -1
  395. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  396. package/src/sap/ui/model/xml/XMLModel.js +5 -5
  397. package/src/sap/ui/model/xml/XMLPropertyBinding.js +2 -2
  398. package/src/sap/ui/performance/trace/Passport.js +3 -3
  399. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  400. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  401. package/src/sap/ui/test/BlanketReporter.js +1 -1
  402. package/src/sap/ui/test/Opa5.js +1 -1
  403. package/src/sap/ui/test/TestUtils.js +2 -2
  404. package/src/sap/ui/test/_LogCollector.js +1 -1
  405. package/src/sap/ui/test/actions/Action.js +11 -2
  406. package/src/sap/ui/test/actions/Press.js +79 -3
  407. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
  408. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  409. package/src/sap/ui/test/starter/createSuite.js +1 -2
  410. package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
  411. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
  412. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
  413. package/src/sap/ui/util/Mobile.js +28 -39
  414. package/src/sap/ui/util/Storage.js +1 -1
  415. package/src/sap/ui/util/XMLHelper.js +53 -30
  416. package/src/ui5loader.js +9 -9
  417. package/ui5.yaml +244 -1
  418. package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
  419. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  420. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  421. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  422. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  423. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  424. package/src/sap/ui/thirdparty/flexie.js +0 -1
  425. package/src/sap/ui/thirdparty/unorm.js +0 -1
  426. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -166,6 +166,7 @@ sap.ui.define([
166
166
  }
167
167
  break;
168
168
  case "$$canonicalPath":
169
+ case "$$getKeepAliveContext":
169
170
  case "$$noPatch":
170
171
  case "$$ownRequest":
171
172
  case "$$patchWithoutSideEffects":
@@ -214,15 +215,13 @@ sap.ui.define([
214
215
  */
215
216
  // @override sap.ui.model.Binding#checkUpdate
216
217
  ODataBinding.prototype.checkUpdate = function (bForceUpdate) {
217
- var that = this;
218
-
219
218
  if (arguments.length > 1) {
220
219
  throw new Error("Only the parameter bForceUpdate is supported");
221
220
  }
222
221
 
223
- this.checkUpdateInternal(bForceUpdate).catch(function (oError) {
224
- that.oModel.reportError("Failed to update " + that, sClassName, oError);
225
- });
222
+ this.checkUpdateInternal(bForceUpdate).catch(this.oModel.getReporter());
223
+ // do not rethrow, ManagedObject doesn't react on this either
224
+ // throwing an error would cause "Uncaught (in promise)" in Chrome
226
225
  };
227
226
 
228
227
  /**
@@ -234,7 +233,7 @@ sap.ui.define([
234
233
  * Whether the change event is fired in any case (only allowed for property bindings)
235
234
  * @returns {sap.ui.base.SyncPromise}
236
235
  * A promise resolving without a defined result when the check is finished, or rejecting in
237
- * case of an error (e.g. thrown by the change event handler of a control)
236
+ * case of an error
238
237
  * @throws {Error} If called with illegal parameters
239
238
  *
240
239
  * @abstract
@@ -255,12 +254,18 @@ sap.ui.define([
255
254
  * The resource path
256
255
  * @param {sap.ui.model.Context} [oContext]
257
256
  * The context instance to be used, undefined for absolute bindings
258
- * @returns {sap.ui.model.odata.lib._Cache}
259
- * The cache
257
+ * @param {boolean} [bOldCacheReadOnly]
258
+ * Whether the old cache is read-only and must be kept intact - not reset and reused!
259
+ * @param {sap.ui.model.odata.v4.lib._Cache} [oOldCache]
260
+ * The old cache, in case it may be reused
261
+ * @returns {sap.ui.model.odata.v4.lib._Cache}
262
+ * The cache or <code>null</code> if the binding is relative and the given context is
263
+ * transient
260
264
  *
261
265
  * @private
262
266
  */
263
- ODataBinding.prototype.createAndSetCache = function (mQueryOptions, sResourcePath, oContext) {
267
+ ODataBinding.prototype.createAndSetCache = function (mQueryOptions, sResourcePath, oContext,
268
+ bOldCacheReadOnly, oOldCache) {
264
269
  var oCache, sDeepResourcePath, iGeneration;
265
270
 
266
271
  this.mCacheQueryOptions = Object.assign({}, this.oModel.mUriParameters, mQueryOptions);
@@ -282,9 +287,9 @@ sap.ui.define([
282
287
  if (oCache && oCache.$generation >= iGeneration) {
283
288
  oCache.setActive(true);
284
289
  } else {
285
- sDeepResourcePath = _Helper.buildPath(oContext.getPath(), this.sPath).slice(1);
290
+ sDeepResourcePath = this.oModel.resolve(this.sPath, oContext).slice(1);
286
291
  oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions, oContext,
287
- sDeepResourcePath);
292
+ sDeepResourcePath, bOldCacheReadOnly, oOldCache);
288
293
  if (!(this.mParameters && this.mParameters.$$sharedRequest)) {
289
294
  this.mCacheByResourcePath = this.mCacheByResourcePath || {};
290
295
  this.mCacheByResourcePath[sResourcePath] = oCache;
@@ -293,10 +298,16 @@ sap.ui.define([
293
298
  oCache.$generation = iGeneration;
294
299
  }
295
300
  } else { // absolute binding
296
- oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions);
301
+ oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions, undefined,
302
+ undefined, bOldCacheReadOnly, oOldCache);
297
303
  }
298
- if (this.mLateQueryOptions) {
299
- oCache.setLateQueryOptions(this.mLateQueryOptions);
304
+ if (oOldCache !== oCache) {
305
+ if (oOldCache) {
306
+ oOldCache.setActive(false);
307
+ }
308
+ if (this.mLateQueryOptions) {
309
+ oCache.setLateQueryOptions(this.mLateQueryOptions);
310
+ }
300
311
  }
301
312
  this.oCache = oCache;
302
313
 
@@ -337,6 +348,10 @@ sap.ui.define([
337
348
  * The context instance to be used, must be <code>undefined</code> for absolute bindings
338
349
  * @param {string} [sDeepResourcePath=sResourcePath]
339
350
  * The deep resource path to be used to build the target path for bound messages
351
+ * @param {boolean} [bOldCacheReadOnly]
352
+ * Whether the old cache is read-only and must be kept intact - not reset and reused!
353
+ * @param {sap.ui.model.odata.v4.lib._Cache} [oOldCache]
354
+ * The old cache, in case it may be reused
340
355
  * @returns {sap.ui.model.odata.v4.lib._Cache}
341
356
  * The new cache instance
342
357
  *
@@ -387,15 +402,22 @@ sap.ui.define([
387
402
  * @param {boolean} [bKeepQueryOptions]
388
403
  * Whether to keep existing (late) query options and not to run auto-$expand/$select again
389
404
  * (cannot be combined with <code>bIgnoreParentCache</code>!)
405
+ * @param {boolean} [bKeepCacheOnError]
406
+ * If <code>true</code>, the binding data remains unchanged if the refresh fails. This implies
407
+ * that the old cache must be kept intact - not reset and reused!
390
408
  * @throws {Error}
391
409
  * If auto-$expand/$select is still running and query options shall be kept (this case is just
392
410
  * not yet implemented and should not be needed)
393
411
  *
394
412
  * @private
395
413
  */
396
- ODataBinding.prototype.fetchCache = function (oContext, bIgnoreParentCache, bKeepQueryOptions) {
414
+ ODataBinding.prototype.fetchCache = function (oContext, bIgnoreParentCache, bKeepQueryOptions,
415
+ bKeepCacheOnError) {
397
416
  var oCache = this.oCache,
398
- oCallToken = {},
417
+ oCallToken = {
418
+ // propagate old cache from first call of fetchCache to the latest call
419
+ oOldCache : oCache === undefined ? this.oFetchCacheCallToken.oOldCache : oCache
420
+ },
399
421
  aPromises,
400
422
  that = this;
401
423
 
@@ -403,25 +425,21 @@ sap.ui.define([
403
425
  oContext = undefined;
404
426
  }
405
427
 
406
- if (oCache) {
407
- // if oCachePromise is pending no cache will be created because of oFetchCacheCallToken
408
- oCache.setActive(false);
409
- } else if (bKeepQueryOptions) {
428
+ if (!oCache && bKeepQueryOptions) {
410
429
  if (oCache === undefined) {
411
430
  throw new Error("Unsupported bKeepQueryOptions while oCachePromise is pending");
412
431
  }
413
- this.oFetchCacheCallToken = undefined;
414
432
  return;
415
433
  }
416
434
 
417
435
  this.oCache = undefined;
436
+ this.oFetchCacheCallToken = oCallToken;
418
437
  if (bKeepQueryOptions) {
419
438
  // asynchronously re-create an equivalent cache
420
439
  this.oCachePromise = SyncPromise.resolve(Promise.resolve()).then(function () {
421
440
  return that.createAndSetCache(that.mCacheQueryOptions, oCache.getResourcePath(),
422
- oContext);
441
+ oContext, bKeepCacheOnError, oCache);
423
442
  });
424
- this.oFetchCacheCallToken = undefined;
425
443
  return;
426
444
  }
427
445
 
@@ -430,7 +448,6 @@ sap.ui.define([
430
448
  this.oModel.oRequestor.ready()
431
449
  ];
432
450
  this.mCacheQueryOptions = undefined;
433
- this.oFetchCacheCallToken = oCallToken;
434
451
  this.oCachePromise = SyncPromise.all(aPromises).then(function (aResult) {
435
452
  var mQueryOptions = aResult[0].mQueryOptions;
436
453
 
@@ -447,7 +464,8 @@ sap.ui.define([
447
464
  oError.canceled = true;
448
465
  throw oError;
449
466
  }
450
- return that.createAndSetCache(mQueryOptions, sResourcePath, oContext);
467
+ return that.createAndSetCache(mQueryOptions, sResourcePath, oContext,
468
+ bKeepCacheOnError, oCallToken.oOldCache);
451
469
  });
452
470
  }
453
471
  that.oCache = null;
@@ -516,7 +534,7 @@ sap.ui.define([
516
534
  // With $$aggregation, no auto-$expand/$select is needed
517
535
  oQueryOptionsPromise = this.doFetchQueryOptions(oContext);
518
536
  if (this.oModel.bAutoExpandSelect && this.aChildCanUseCachePromises
519
- && !(this.mParameters && this.mParameters.$$aggregation)) {
537
+ && !this.mParameters.$$aggregation) {
520
538
  // For auto-$expand/$select, wait for query options of dependent bindings:
521
539
  // Promise.resolve() ensures all dependent bindings are created and have sent their
522
540
  // query options promise to this binding via fetchIfChildCanUseCache.
@@ -535,7 +553,7 @@ sap.ui.define([
535
553
  }
536
554
 
537
555
  // parent cache is ignored or (quasi-)absolute binding
538
- if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue) {
556
+ if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue) {
539
557
  // the binding shall create its own cache
540
558
  return wrapQueryOptions(oQueryOptionsPromise);
541
559
  }
@@ -550,7 +568,8 @@ sap.ui.define([
550
568
  return wrapQueryOptions(oQueryOptionsPromise);
551
569
  }
552
570
  return oContext.getBinding()
553
- .fetchIfChildCanUseCache(oContext, that.sPath, oQueryOptionsPromise)
571
+ .fetchIfChildCanUseCache(oContext, that.sPath, oQueryOptionsPromise,
572
+ !this.mParameters) // duck typing for property binding
554
573
  .then(function (sReducedPath) {
555
574
  return wrapQueryOptions(sReducedPath ? undefined : oQueryOptionsPromise,
556
575
  sReducedPath);
@@ -661,7 +680,7 @@ sap.ui.define([
661
680
  *
662
681
  * @param {string} sPath
663
682
  * A path (absolute or relative to this binding)
664
- * @returns {string}
683
+ * @returns {string|undefined}
665
684
  * The given path, if it is already relative; otherwise the path relative to the binding's
666
685
  * resolved path or return value context path; <code>undefined</code> if the path does not
667
686
  * start with either of these paths.
@@ -689,7 +708,7 @@ sap.ui.define([
689
708
  * Returns the "strongest" change reason that {@link #resume} would fire for this binding or any
690
709
  * of its dependents.
691
710
  *
692
- * @returns {sap.ui.model.ChangeReason}
711
+ * @returns {sap.ui.model.ChangeReason|undefined}
693
712
  * The "strongest" change reason, or <code>undefined</code>
694
713
  *
695
714
  * @private
@@ -714,7 +733,7 @@ sap.ui.define([
714
733
  /**
715
734
  * Returns a promise which resolves as soon as this binding is resumed.
716
735
  *
717
- * @returns {sap.ui.base.SyncPromise}
736
+ * @returns {sap.ui.base.SyncPromise|undefined}
718
737
  * This binding's current promise for {@link sap.ui.model.odata.v4.ODataParentBinding#resume},
719
738
  * or <code>undefined</code> in case it is not currently suspended.
720
739
  *
@@ -729,7 +748,8 @@ sap.ui.define([
729
748
  * Returns the root binding of this binding's hierarchy, see binding
730
749
  * {@link topic:54e0ddf695af4a6c978472cecb01c64d Initialization and Read Requests}.
731
750
  *
732
- * @returns {sap.ui.model.odata.v4.ODataContextBinding|sap.ui.model.odata.v4.ODataListBinding|sap.ui.model.odata.v4.ODataPropertyBinding}
751
+ * @returns {sap.ui.model.odata.v4.ODataContextBinding|sap.ui.model.odata.v4.ODataListBinding|
752
+ * sap.ui.model.odata.v4.ODataPropertyBinding|undefined}
733
753
  * The root binding or <code>undefined</code> if this binding is unresolved (see
734
754
  * {@link sap.ui.model.Binding#isResolved}).
735
755
  *
@@ -796,22 +816,35 @@ sap.ui.define([
796
816
  * changes or created entities which have not been sent successfully to the server. This
797
817
  * function does not take into account the deletion of entities (see
798
818
  * {@link sap.ui.model.odata.v4.Context#delete}) and the execution of OData operations
799
- * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}).
819
+ * (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}). Since 1.98.0,
820
+ * {@link sap.ui.model.odata.v4.Context#isInactive inactive} contexts are ignored.
800
821
  *
801
822
  * Note: If this binding is relative, its data is cached separately for each parent context
802
823
  * path. This method returns <code>true</code> if there are pending changes for the current
803
824
  * parent context path of this binding. If this binding is unresolved (see
804
825
  * {@link sap.ui.model.Binding#isResolved}), it returns <code>false</code>.
805
826
  *
827
+ * @param {boolean} [bIgnoreKeptAlive]
828
+ * Whether to ignore changes which will not be lost by APIs like
829
+ * {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters changeParameters},
830
+ * {@link sap.ui.model.odata.v4.ODataListBinding#filter filter},
831
+ * {@link sap.ui.model.odata.v4.ODataListBinding#sort sort}, or
832
+ * {@link sap.ui.model.odata.v4.ODataListBinding#suspend suspend} because they relate to a
833
+ * {@link sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context of this binding.
834
+ * Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient} contexts
835
+ * of a {@link #getRootBinding root binding} are treated as kept-alive by this flag.
836
+ * Since 1.99.0, the same happens for bindings using the <code>$$ownRequest</code> parameter
837
+ * (see {@link sap.ui.model.odata.v4.ODataModel#bindList}).
806
838
  * @returns {boolean}
807
839
  * <code>true</code> if the binding is resolved and has pending changes
808
840
  *
809
841
  * @public
810
842
  * @since 1.39.0
811
843
  */
812
- ODataBinding.prototype.hasPendingChanges = function () {
844
+ ODataBinding.prototype.hasPendingChanges = function (bIgnoreKeptAlive) {
813
845
  return this.isResolved()
814
- && (this.hasPendingChangesForPath("") || this.hasPendingChangesInDependents());
846
+ && (this.hasPendingChangesForPath("", bIgnoreKeptAlive)
847
+ || this.hasPendingChangesInDependents(bIgnoreKeptAlive));
815
848
  };
816
849
 
817
850
  /**
@@ -820,20 +853,24 @@ sap.ui.define([
820
853
  *
821
854
  * @param {string} sPath
822
855
  * The path (absolute or relative to this binding)
856
+ * @param {boolean} [bIgnoreKeptAlive]
857
+ * Whether to ignore changes which will not be lost by APIs like sort or filter because they
858
+ * relate to a context which is kept alive.
823
859
  * @returns {boolean}
824
860
  * <code>true</code> if there are pending changes for the path
825
861
  *
826
862
  * @private
827
863
  */
828
- ODataBinding.prototype.hasPendingChangesForPath = function (sPath) {
829
- return this.withCache(function (oCache, sCachePath) {
830
- return oCache.hasPendingChangesForPath(sCachePath);
864
+ ODataBinding.prototype.hasPendingChangesForPath = function (sPath, bIgnoreKeptAlive) {
865
+ return this.withCache(function (oCache, sCachePath, oBinding) {
866
+ return oCache.hasPendingChangesForPath(sCachePath, bIgnoreKeptAlive,
867
+ bIgnoreKeptAlive && (oBinding.isRoot() || oBinding.mParameters.$$ownRequest));
831
868
  }, sPath, true).unwrap();
832
869
  };
833
870
 
834
871
  /**
835
872
  * Checks whether there are pending changes in caches stored by resource path at this binding
836
- * which have the given resource path as prefix.
873
+ * which have the given resource path as prefix. Called for unresolved bindings only.
837
874
  *
838
875
  * @param {string} sResourcePathPrefix
839
876
  * The resource path prefix to identify the relevant caches
@@ -859,6 +896,9 @@ sap.ui.define([
859
896
  /**
860
897
  * Returns whether any dependent binding of this binding has pending changes
861
898
  *
899
+ * @param {boolean} [bIgnoreKeptAlive]
900
+ * Whether to ignore changes which will not be lost by APIs like sort or filter because they
901
+ * relate to a context which is kept alive.
862
902
  * @returns {boolean}
863
903
  * <code>true</code> if this binding has pending changes
864
904
  *
@@ -1012,6 +1052,24 @@ sap.ui.define([
1012
1052
  * @private
1013
1053
  */
1014
1054
 
1055
+ /**
1056
+ * Refreshes the binding; expects it to be suspended.
1057
+ *
1058
+ * @param {string} sGroupId
1059
+ * The group ID to be used for the refresh
1060
+ * @throws {Error}
1061
+ * If a group ID different from the binding's group ID is given
1062
+
1063
+ * @private
1064
+ */
1065
+ ODataBinding.prototype.refreshSuspended = function (sGroupId) {
1066
+ if (sGroupId && sGroupId !== this.getGroupId()) {
1067
+ throw new Error(this + ": Cannot refresh a suspended binding with group ID '"
1068
+ + sGroupId + "' (own group ID is '" + this.getGroupId() + "')");
1069
+ }
1070
+ this.setResumeChangeReason(ChangeReason.Refresh);
1071
+ };
1072
+
1015
1073
  /**
1016
1074
  * Remove this binding's caches and non-persistent messages. The binding's active cache removes
1017
1075
  * only its own messages. Inactive caches with a deep resource path starting with the given
@@ -1052,7 +1110,7 @@ sap.ui.define([
1052
1110
  * The effective group ID
1053
1111
  * @param {string[]} aAbsolutePaths
1054
1112
  * The absolute paths to request side effects for
1055
- * @returns {sap.ui.base.SyncPromise}
1113
+ * @returns {sap.ui.base.SyncPromise|undefined}
1056
1114
  * A promise resolving without a defined result, or rejecting with an error if loading of side
1057
1115
  * effects fails, or <code>undefined</code> if there is nothing to do
1058
1116
  *
@@ -1077,7 +1135,7 @@ sap.ui.define([
1077
1135
  if (this.requestSideEffects) {
1078
1136
  return this.requestSideEffects(sGroupId, aPaths);
1079
1137
  }
1080
- return this.refreshInternal("", sGroupId, true);
1138
+ return this.refreshInternal("", sGroupId, true, true);
1081
1139
  }
1082
1140
  // return undefined;
1083
1141
  };
@@ -1203,7 +1261,7 @@ sap.ui.define([
1203
1261
  * @since 1.37.0
1204
1262
  */
1205
1263
  ODataBinding.prototype.toString = function () {
1206
- return this.getMetadata().getName() + ": " + (this.bRelative ? this.oContext + "|" : "")
1264
+ return this.getMetadata().getName() + ": " + (this.bRelative ? this.oContext + "|" : "")
1207
1265
  + this.sPath;
1208
1266
  };
1209
1267
 
@@ -1298,7 +1356,6 @@ sap.ui.define([
1298
1356
  "adjustPredicate",
1299
1357
  "destroy",
1300
1358
  "doDeregisterChangeListener",
1301
- "fetchCache",
1302
1359
  "hasPendingChangesForPath"
1303
1360
  ].forEach(function (sMethod) { // method not final, allow for "super" calls
1304
1361
  asODataBinding.prototype[sMethod] = ODataBinding.prototype[sMethod];