@openui5/sap.ui.core 1.101.0 → 1.102.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 (362) hide show
  1. package/.eslintrc.json +26 -5
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/assert.js +1 -1
  10. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +3 -3
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/base/Event.js +1 -1
  55. package/src/sap/ui/base/EventProvider.js +1 -1
  56. package/src/sap/ui/base/Interface.js +1 -1
  57. package/src/sap/ui/base/ManagedObject.js +1 -1
  58. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  59. package/src/sap/ui/base/Metadata.js +1 -1
  60. package/src/sap/ui/base/Object.js +1 -1
  61. package/src/sap/ui/base/ObjectPool.js +1 -1
  62. package/src/sap/ui/core/.library +2 -1
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/CommandExecution.js +15 -12
  65. package/src/sap/ui/core/Component.js +31 -12
  66. package/src/sap/ui/core/ComponentContainer.js +1 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +27 -12
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +22 -8
  70. package/src/sap/ui/core/Control.js +2 -3
  71. package/src/sap/ui/core/Core.js +95 -27
  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/ExtensionPoint.js +1 -1
  79. package/src/sap/ui/core/FocusHandler.js +2 -3
  80. package/src/sap/ui/core/Fragment.js +1 -1
  81. package/src/sap/ui/core/HTML.js +1 -1
  82. package/src/sap/ui/core/History.js +1 -1
  83. package/src/sap/ui/core/Icon.js +2 -2
  84. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  85. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  86. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  87. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  88. package/src/sap/ui/core/InvisibleText.js +1 -1
  89. package/src/sap/ui/core/Item.js +1 -1
  90. package/src/sap/ui/core/LabelEnablement.js +1 -1
  91. package/src/sap/ui/core/LayoutData.js +1 -1
  92. package/src/sap/ui/core/ListItem.js +1 -1
  93. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  94. package/src/sap/ui/core/Locale.js +1 -1
  95. package/src/sap/ui/core/LocaleData.js +119 -1
  96. package/src/sap/ui/core/Manifest.js +1 -1
  97. package/src/sap/ui/core/Message.js +1 -1
  98. package/src/sap/ui/core/Popup.js +12 -14
  99. package/src/sap/ui/core/RenderManager.js +1 -1
  100. package/src/sap/ui/core/Renderer.js +1 -1
  101. package/src/sap/ui/core/ResizeHandler.js +1 -1
  102. package/src/sap/ui/core/ScrollBar.js +21 -15
  103. package/src/sap/ui/core/SeparatorItem.js +1 -1
  104. package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
  105. package/src/sap/ui/core/Title.js +1 -1
  106. package/src/sap/ui/core/TooltipBase.js +1 -1
  107. package/src/sap/ui/core/UIArea.js +3 -5
  108. package/src/sap/ui/core/UIComponent.js +1 -1
  109. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  110. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  111. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  112. package/src/sap/ui/core/XMLComposite.js +1 -1
  113. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  114. package/src/sap/ui/core/XMLTemplateProcessor.js +512 -387
  115. package/src/sap/ui/core/cache/CacheManager.js +27 -0
  116. package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
  117. package/src/sap/ui/core/cache/LRUPersistentCache.js +74 -3
  118. package/src/sap/ui/core/cldr/ar.json +469 -1
  119. package/src/sap/ui/core/cldr/ar_EG.json +469 -1
  120. package/src/sap/ui/core/cldr/ar_SA.json +469 -1
  121. package/src/sap/ui/core/cldr/bg.json +469 -1
  122. package/src/sap/ui/core/cldr/ca.json +469 -1
  123. package/src/sap/ui/core/cldr/cs.json +469 -1
  124. package/src/sap/ui/core/cldr/cy.json +469 -1
  125. package/src/sap/ui/core/cldr/da.json +469 -1
  126. package/src/sap/ui/core/cldr/de.json +469 -1
  127. package/src/sap/ui/core/cldr/de_AT.json +469 -1
  128. package/src/sap/ui/core/cldr/de_CH.json +469 -1
  129. package/src/sap/ui/core/cldr/el.json +469 -1
  130. package/src/sap/ui/core/cldr/el_CY.json +469 -1
  131. package/src/sap/ui/core/cldr/en.json +469 -1
  132. package/src/sap/ui/core/cldr/en_AU.json +469 -1
  133. package/src/sap/ui/core/cldr/en_GB.json +469 -1
  134. package/src/sap/ui/core/cldr/en_HK.json +469 -1
  135. package/src/sap/ui/core/cldr/en_IE.json +469 -1
  136. package/src/sap/ui/core/cldr/en_IN.json +469 -1
  137. package/src/sap/ui/core/cldr/en_NZ.json +469 -1
  138. package/src/sap/ui/core/cldr/en_PG.json +469 -1
  139. package/src/sap/ui/core/cldr/en_SG.json +469 -1
  140. package/src/sap/ui/core/cldr/en_ZA.json +469 -1
  141. package/src/sap/ui/core/cldr/es.json +469 -1
  142. package/src/sap/ui/core/cldr/es_AR.json +469 -1
  143. package/src/sap/ui/core/cldr/es_BO.json +469 -1
  144. package/src/sap/ui/core/cldr/es_CL.json +469 -1
  145. package/src/sap/ui/core/cldr/es_CO.json +469 -1
  146. package/src/sap/ui/core/cldr/es_MX.json +469 -1
  147. package/src/sap/ui/core/cldr/es_PE.json +469 -1
  148. package/src/sap/ui/core/cldr/es_UY.json +469 -1
  149. package/src/sap/ui/core/cldr/es_VE.json +469 -1
  150. package/src/sap/ui/core/cldr/et.json +469 -1
  151. package/src/sap/ui/core/cldr/fa.json +469 -1
  152. package/src/sap/ui/core/cldr/fi.json +469 -1
  153. package/src/sap/ui/core/cldr/fr.json +469 -1
  154. package/src/sap/ui/core/cldr/fr_BE.json +469 -1
  155. package/src/sap/ui/core/cldr/fr_CA.json +469 -1
  156. package/src/sap/ui/core/cldr/fr_CH.json +469 -1
  157. package/src/sap/ui/core/cldr/fr_LU.json +469 -1
  158. package/src/sap/ui/core/cldr/he.json +469 -1
  159. package/src/sap/ui/core/cldr/hi.json +469 -1
  160. package/src/sap/ui/core/cldr/hr.json +469 -1
  161. package/src/sap/ui/core/cldr/hu.json +469 -1
  162. package/src/sap/ui/core/cldr/id.json +469 -1
  163. package/src/sap/ui/core/cldr/it.json +469 -1
  164. package/src/sap/ui/core/cldr/it_CH.json +469 -1
  165. package/src/sap/ui/core/cldr/ja.json +469 -1
  166. package/src/sap/ui/core/cldr/kk.json +469 -1
  167. package/src/sap/ui/core/cldr/ko.json +469 -1
  168. package/src/sap/ui/core/cldr/lt.json +469 -1
  169. package/src/sap/ui/core/cldr/lv.json +469 -1
  170. package/src/sap/ui/core/cldr/ms.json +469 -1
  171. package/src/sap/ui/core/cldr/nb.json +469 -1
  172. package/src/sap/ui/core/cldr/nl.json +469 -1
  173. package/src/sap/ui/core/cldr/nl_BE.json +469 -1
  174. package/src/sap/ui/core/cldr/pl.json +469 -1
  175. package/src/sap/ui/core/cldr/pt.json +469 -1
  176. package/src/sap/ui/core/cldr/pt_PT.json +469 -1
  177. package/src/sap/ui/core/cldr/ro.json +469 -1
  178. package/src/sap/ui/core/cldr/ru.json +469 -1
  179. package/src/sap/ui/core/cldr/ru_UA.json +469 -1
  180. package/src/sap/ui/core/cldr/sk.json +469 -1
  181. package/src/sap/ui/core/cldr/sl.json +469 -1
  182. package/src/sap/ui/core/cldr/sr.json +469 -1
  183. package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
  184. package/src/sap/ui/core/cldr/sv.json +469 -1
  185. package/src/sap/ui/core/cldr/th.json +469 -1
  186. package/src/sap/ui/core/cldr/tr.json +469 -1
  187. package/src/sap/ui/core/cldr/uk.json +469 -1
  188. package/src/sap/ui/core/cldr/vi.json +469 -1
  189. package/src/sap/ui/core/cldr/zh_CN.json +470 -2
  190. package/src/sap/ui/core/cldr/zh_HK.json +470 -2
  191. package/src/sap/ui/core/cldr/zh_SG.json +470 -2
  192. package/src/sap/ui/core/cldr/zh_TW.json +469 -1
  193. package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
  194. package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
  195. package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
  196. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  197. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  198. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  199. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  200. package/src/sap/ui/core/format/DateFormat.js +41 -26
  201. package/src/sap/ui/core/format/NumberFormat.js +28 -28
  202. package/src/sap/ui/core/format/TimezoneUtil.js +48 -16
  203. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  204. package/src/sap/ui/core/library.js +3 -3
  205. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  206. package/src/sap/ui/core/message/Message.js +1 -1
  207. package/src/sap/ui/core/message/MessageManager.js +1 -1
  208. package/src/sap/ui/core/message/MessageParser.js +1 -1
  209. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  210. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  211. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  212. package/src/sap/ui/core/mvc/JSView.js +2 -2
  213. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  214. package/src/sap/ui/core/mvc/View.js +2 -1
  215. package/src/sap/ui/core/mvc/XMLView.js +12 -20
  216. package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -62
  217. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  218. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  219. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  220. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  221. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  222. package/src/sap/ui/core/routing/Router.js +1 -1
  223. package/src/sap/ui/core/rules/App.support.js +8 -8
  224. package/src/sap/ui/core/rules/Config.support.js +12 -12
  225. package/src/sap/ui/core/rules/Model.support.js +8 -8
  226. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  227. package/src/sap/ui/core/rules/Theming.support.js +4 -4
  228. package/src/sap/ui/core/rules/View.support.js +9 -9
  229. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  230. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  231. package/src/sap/ui/core/service/Service.js +1 -1
  232. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  233. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  234. package/src/sap/ui/core/support/Plugin.js +1 -1
  235. package/src/sap/ui/core/support/Support.js +2 -2
  236. package/src/sap/ui/core/support/plugins/ControlTree.js +7 -3
  237. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  238. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  239. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  240. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  241. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  242. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  243. package/src/sap/ui/core/support/plugins/ViewInfo.js +8 -22
  244. package/src/sap/ui/core/support/support.html +1 -1
  245. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
  246. package/src/sap/ui/core/themes/base/base.less +4 -4
  247. package/src/sap/ui/core/themes/base/global.less +2 -0
  248. package/src/sap/ui/core/themes/sap_hcb/global.less +2 -0
  249. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  250. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  251. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  252. package/src/sap/ui/core/tmpl/Template.js +1 -1
  253. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  254. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  255. package/src/sap/ui/core/util/Export.js +1 -1
  256. package/src/sap/ui/core/util/ExportCell.js +1 -1
  257. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  258. package/src/sap/ui/core/util/ExportRow.js +1 -1
  259. package/src/sap/ui/core/util/ExportType.js +1 -1
  260. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  261. package/src/sap/ui/core/util/File.js +1 -1
  262. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  263. package/src/sap/ui/core/util/MockServer.js +2 -2
  264. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  265. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  266. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  267. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  268. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  269. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  270. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  271. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  272. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  273. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  274. package/src/sap/ui/core/ws/WebSocket.js +7 -8
  275. package/src/sap/ui/debug/ControlTree.js +1 -1
  276. package/src/sap/ui/debug/DebugEnv.js +1 -1
  277. package/src/sap/ui/debug/PropertyList.js +1 -1
  278. package/src/sap/ui/model/ClientListBinding.js +127 -21
  279. package/src/sap/ui/model/ClientModel.js +1 -1
  280. package/src/sap/ui/model/CompositeDataState.js +1 -1
  281. package/src/sap/ui/model/CompositeType.js +1 -1
  282. package/src/sap/ui/model/DataState.js +1 -1
  283. package/src/sap/ui/model/ListBinding.js +32 -13
  284. package/src/sap/ui/model/MetaModel.js +1 -1
  285. package/src/sap/ui/model/Model.js +1 -1
  286. package/src/sap/ui/model/SelectionModel.js +1 -1
  287. package/src/sap/ui/model/SimpleType.js +1 -1
  288. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  289. package/src/sap/ui/model/Type.js +1 -1
  290. package/src/sap/ui/model/_Helper.js +3 -1
  291. package/src/sap/ui/model/json/JSONListBinding.js +0 -58
  292. package/src/sap/ui/model/json/JSONModel.js +1 -1
  293. package/src/sap/ui/model/message/MessageListBinding.js +0 -42
  294. package/src/sap/ui/model/message/MessageModel.js +1 -1
  295. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  296. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  297. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  298. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  299. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  300. package/src/sap/ui/model/odata/OperationMode.js +6 -0
  301. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  302. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  303. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  304. package/src/sap/ui/model/odata/type/Date.js +1 -1
  305. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  306. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  307. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  308. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  309. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  310. package/src/sap/ui/model/odata/type/Double.js +1 -1
  311. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  312. package/src/sap/ui/model/odata/type/Int.js +1 -1
  313. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  314. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  315. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  316. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  317. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  318. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  319. package/src/sap/ui/model/odata/type/Single.js +1 -1
  320. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  321. package/src/sap/ui/model/odata/type/String.js +1 -1
  322. package/src/sap/ui/model/odata/type/Time.js +1 -1
  323. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  324. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  325. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  326. package/src/sap/ui/model/odata/v2/Context.js +13 -4
  327. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  328. package/src/sap/ui/model/odata/v2/ODataListBinding.js +107 -34
  329. package/src/sap/ui/model/odata/v2/ODataModel.js +70 -22
  330. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +8 -4
  331. package/src/sap/ui/model/odata/v4/Context.js +25 -1
  332. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  333. package/src/sap/ui/model/odata/v4/ODataListBinding.js +55 -26
  334. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -6
  335. package/src/sap/ui/model/odata/v4/ODataModel.js +111 -5
  336. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  337. package/src/sap/ui/model/odata/v4/lib/_Cache.js +25 -65
  338. package/src/sap/ui/model/odata/v4/lib/_Helper.js +109 -39
  339. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +57 -28
  340. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  341. package/src/sap/ui/model/type/Boolean.js +1 -1
  342. package/src/sap/ui/model/type/Currency.js +1 -1
  343. package/src/sap/ui/model/type/Date.js +1 -1
  344. package/src/sap/ui/model/type/DateInterval.js +1 -1
  345. package/src/sap/ui/model/type/DateTime.js +1 -1
  346. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  347. package/src/sap/ui/model/type/FileSize.js +1 -1
  348. package/src/sap/ui/model/type/Float.js +1 -1
  349. package/src/sap/ui/model/type/Integer.js +1 -1
  350. package/src/sap/ui/model/type/String.js +1 -1
  351. package/src/sap/ui/model/type/Time.js +1 -1
  352. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  353. package/src/sap/ui/model/type/Unit.js +1 -1
  354. package/src/sap/ui/model/xml/XMLListBinding.js +0 -53
  355. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  356. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  357. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  358. package/src/sap/ui/test/actions/Action.js +3 -3
  359. package/src/sap/ui/test/actions/Press.js +1 -1
  360. package/src/sap/ui/test/generic/TestBase.js +1 -1
  361. package/src/sap/ui/util/Storage.js +1 -1
  362. package/ui5.yaml +1 -1
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.101.0
23
+ * @version 1.102.0
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.101.0
20
+ * @version 1.102.0
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.101.0
22
+ * @version 1.102.0
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.102.0
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.101.0
15
+ * @version 1.102.0
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.101.0
24
+ * @version 1.102.0
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -10,10 +10,9 @@ sap.ui.define([
10
10
  'sap/ui/base/EventProvider',
11
11
  './ReadyState',
12
12
  'sap/ui/thirdparty/URI',
13
- "sap/base/Log",
14
- "sap/ui/thirdparty/jquery"
13
+ "sap/base/Log"
15
14
  ],
16
- function(Device, EventProvider, ReadyState, URI, Log, jQuery) {
15
+ function(Device, EventProvider, ReadyState, URI, Log) {
17
16
  "use strict";
18
17
 
19
18
  /**
@@ -26,7 +25,7 @@ sap.ui.define([
26
25
  * @class Basic WebSocket class.
27
26
  * @extends sap.ui.base.EventProvider
28
27
  * @author SAP SE
29
- * @version 1.101.0
28
+ * @version 1.102.0
30
29
  * @alias sap.ui.core.ws.WebSocket
31
30
  */
32
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -408,10 +407,10 @@ sap.ui.define([
408
407
  this._oWs = (typeof (aProtocols) === 'undefined')
409
408
  ? new window.WebSocket(sUrl)
410
409
  : new window.WebSocket(sUrl, aProtocols);
411
- this._oWs.onopen = jQuery.proxy(this._onopen, this);
412
- this._oWs.onclose = jQuery.proxy(this._onclose, this);
413
- this._oWs.onmessage = jQuery.proxy(this._onmessage, this);
414
- this._oWs.onerror = jQuery.proxy(this._onerror, this);
410
+ this._oWs.onopen = this._onopen.bind(this);
411
+ this._oWs.onclose = this._onclose.bind(this);
412
+ this._oWs.onmessage = this._onmessage.bind(this);
413
+ this._oWs.onerror = this._onerror.bind(this);
415
414
  };
416
415
 
417
416
  // Event-Handlers
@@ -33,7 +33,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
33
33
  * @class Control Tree used for the Debug Environment
34
34
  * @extends sap.ui.base.EventProvider
35
35
  * @author Martin Schaus, Frank Weigel
36
- * @version 1.101.0
36
+ * @version 1.102.0
37
37
  * @alias sap.ui.debug.ControlTree
38
38
  * @private
39
39
  */
@@ -16,7 +16,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', ['sap/ui/base/Interface', './ControlTree'
16
16
  * @class Central Class for the Debug Environment
17
17
  *
18
18
  * @author Martin Schaus, Frank Weigel
19
- * @version 1.101.0
19
+ * @version 1.102.0
20
20
  * @private
21
21
  * @alias sap.ui.debug.DebugEnv
22
22
  */
@@ -35,7 +35,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
35
35
  *
36
36
  * @extends sap.ui.base.EventProvider
37
37
  * @author Martin Schaus
38
- * @version 1.101.0
38
+ * @version 1.102.0
39
39
  *
40
40
  * @param {sap.ui.core.Core}
41
41
  * oCore Core instance of the app; version might differ!
@@ -4,27 +4,18 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  /*eslint-disable max-len */
7
- // Provides the JSON model implementation of a list binding
8
7
  sap.ui.define([
9
- './ChangeReason',
10
- './Filter',
11
- './FilterType',
12
- './ListBinding',
13
- './FilterProcessor',
14
- './Sorter',
15
- './SorterProcessor',
16
- "sap/base/util/each"
17
- ],
18
- function(
19
- ChangeReason,
20
- Filter,
21
- FilterType,
22
- ListBinding,
23
- FilterProcessor,
24
- Sorter,
25
- SorterProcessor,
26
- each
27
- ) {
8
+ "sap/base/Log",
9
+ "sap/base/util/each",
10
+ "sap/ui/model/ChangeReason",
11
+ "sap/ui/model/Filter",
12
+ "sap/ui/model/FilterType",
13
+ "sap/ui/model/ListBinding",
14
+ "sap/ui/model/FilterProcessor",
15
+ "sap/ui/model/Sorter",
16
+ "sap/ui/model/SorterProcessor"
17
+ ], function (Log, each, ChangeReason, Filter, FilterType, ListBinding, FilterProcessor, Sorter,
18
+ SorterProcessor) {
28
19
  "use strict";
29
20
 
30
21
  /**
@@ -56,8 +47,19 @@ sap.ui.define([
56
47
  this.mNormalizeCache = {};
57
48
  this.oModel.checkFilterOperation(this.aApplicationFilters);
58
49
  this.oCombinedFilter = FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
59
-
60
50
  this.bIgnoreSuspend = false;
51
+ // the serialized context data for the contexts returned by the last call of getContexts
52
+ // if extended change detection is enabled
53
+ this.aLastContextData = undefined;
54
+ // the contexts returned by the last call of getContexts if extended change detection is
55
+ // enabled
56
+ this.aLastContexts = undefined;
57
+ // the defaulted value of the given iLength from the last call of getContexts with
58
+ // bKeepCurrent !== true
59
+ this.iLastLength = undefined;
60
+ // the defaulted value of the given iStartIndex from the last call of getContexts with
61
+ // bKeepCurrent !== true
62
+ this.iLastStartIndex = undefined;
61
63
  this.update();
62
64
  },
63
65
 
@@ -103,6 +105,110 @@ sap.ui.define([
103
105
  return aContexts;
104
106
  };
105
107
 
108
+ /**
109
+ * This helper function must be called only by {@link #getContexts}. It updates
110
+ * <code>iLastStartIndex</code> and <code>iLastLength</code> of the current instance with the
111
+ * given start index and length. If <code>bKeepCurrent</code> is set, throw an error if keeping
112
+ * current contexts untouched is not supported, otherwise don't update
113
+ * <code>iLastStartIndex</code> and <code>iLastLength</code>.
114
+ *
115
+ * @param {int} [iStartIndex]
116
+ * The start index
117
+ * @param {int} [iLength]
118
+ * The length
119
+ * @param {int} [iMaximumPrefetchSize]
120
+ * Must not be used
121
+ * @param {boolean} [bKeepCurrent]
122
+ * Whether the result of {@link #getCurrentContexts} keeps untouched
123
+ * @throws {Error}
124
+ * If extended change detection is enabled and <code>bKeepCurrent</code> is set, or if
125
+ * <code>iMaximumPrefetchSize</code> and <code>bKeepCurrent</code> are set
126
+ *
127
+ * @private
128
+ */
129
+ ClientListBinding.prototype._updateLastStartAndLength = function (iStartIndex, iLength,
130
+ iMaximumPrefetchSize, bKeepCurrent) {
131
+ if (bKeepCurrent) {
132
+ this._checkKeepCurrentSupported(iMaximumPrefetchSize);
133
+ } else {
134
+ this.iLastStartIndex = iStartIndex;
135
+ this.iLastLength = iLength;
136
+ }
137
+ };
138
+
139
+ /**
140
+ * Returns an array of binding contexts for the bound target list.
141
+ *
142
+ * In case of extended change detection, the context array may have an additional
143
+ * <code>diff</code> property, see
144
+ * {@link topic:7cdff73f308b4b10bdf7d83b7aba72e7 documentation on extended change detection} for
145
+ * details.
146
+ *
147
+ * <strong>Note:</strong>The public usage of this method is deprecated, as calls from outside of
148
+ * controls will lead to unexpected side effects. To avoid this, use
149
+ * {@link sap.ui.model.ListBinding.prototype.getCurrentContexts} instead.
150
+ *
151
+ * @param {int} [iStartIndex=0]
152
+ * The start index where to start the retrieval of contexts
153
+ * @param {int} [iLength=length of the list]
154
+ * Determines how many contexts to retrieve beginning from the start index; default is the
155
+ * whole list length up to the model's size limit; see {@link sap.ui.model.Model#setSizeLimit}
156
+ * @param {int} [iMaximumPrefetchSize]
157
+ * Must not be used
158
+ * @param {boolean} [bKeepCurrent]
159
+ * Whether this call keeps the result of {@link #getCurrentContexts} untouched; since 1.102.0.
160
+ * @return {sap.ui.model.Context[]}
161
+ * The array of contexts for each row of the bound list
162
+ * @throws {Error}
163
+ * If <code>bKeepCurrent</code> is set and extended change detection is enabled or
164
+ * <code>iMaximumPrefetchSize</code> is set
165
+ *
166
+ * @protected
167
+ */
168
+ ClientListBinding.prototype.getContexts = function (iStartIndex, iLength, iMaximumPrefetchSize,
169
+ bKeepCurrent) {
170
+ var aContextData, aContexts,
171
+ iLastEnd = this.iLastStartIndex + this.iLastLength;
172
+
173
+ iStartIndex = iStartIndex || 0;
174
+ iLength = iLength || Math.min(this.iLength, this.oModel.iSizeLimit);
175
+ this._updateLastStartAndLength(iStartIndex, iLength, iMaximumPrefetchSize, bKeepCurrent);
176
+ aContexts = this._getContexts(iStartIndex, iLength);
177
+ if (this.bUseExtendedChangeDetection) {
178
+ aContextData = [];
179
+ // Use try/catch to detect issues with getting context data
180
+ try {
181
+ for (var i = 0; i < aContexts.length; i++) {
182
+ aContextData.push(this.getContextData(aContexts[i]));
183
+ }
184
+ if (this.aLastContextData && iStartIndex < iLastEnd) {
185
+ aContexts.diff = this.diffData(this.aLastContextData, aContextData);
186
+ }
187
+ this.aLastContextData = aContextData;
188
+ this.aLastContexts = aContexts.slice(0);
189
+ } catch (oError) {
190
+ this.aLastContextData = undefined;
191
+ this.aLastContexts = undefined;
192
+ this.bUseExtendedChangeDetection = false;
193
+ Log.warning(
194
+ "Disabled extended change detection for binding path '" + this.getResolvedPath()
195
+ + "'; context data could not be serialized",
196
+ oError, this.getMetadata().getName());
197
+ }
198
+ }
199
+
200
+ return aContexts;
201
+ };
202
+
203
+ // documented in sap.ui.model.ListBinding#getCurrentContexts
204
+ ClientListBinding.prototype.getCurrentContexts = function() {
205
+ if (this.bUseExtendedChangeDetection) {
206
+ return this.aLastContexts || [];
207
+ } else {
208
+ return this.getContexts(this.iLastStartIndex, this.iLastLength);
209
+ }
210
+ };
211
+
106
212
  /*
107
213
  * @see sap.ui.model.ListBinding#getAllCurrentContexts
108
214
  */
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.101.0
32
+ * @version 1.102.0
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.101.0
17
+ * @version 1.102.0
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.101.0
42
+ * @version 1.102.0
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.101.0
68
+ * @version 1.102.0
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -89,20 +89,13 @@ sap.ui.define(['./Binding', './Filter', './FilterType', './Sorter', 'sap/base/ut
89
89
  /**
90
90
  * Returns an array of binding contexts for the bound target list.
91
91
  *
92
- * <h4>Extended Change Detection</h4>
93
- * If extended change detection is enabled using
94
- * {@link sap.ui.model.ListBinding.prototype.enableExtendedChangeDetection}, the context array
95
- * may carry an additional property named <code>diff</code>, which contains an array of actual
96
- * changes on the context array compared to the last call of <code>getContexts()</code>. In case
97
- * no <code>diff</code> property is available on the context array, the list is completely
98
- * different and needs to be recreated. In case the <code>diff</code> property contains an empty
99
- * array, there have been no changes on the list.
100
- *
101
- * Sample diff array:
102
- * <code>[{index: 1, type: "delete"}, {index: 4, type: "insert}]</code>
92
+ * In case of extended change detection, the context array may have an additional
93
+ * <code>diff</code> property, see
94
+ * {@link topic:7cdff73f308b4b10bdf7d83b7aba72e7 documentation on extended change detection} for
95
+ * details.
103
96
  *
104
97
  * <strong>Note:</strong>The public usage of this method is deprecated, as calls from outside of
105
- * controls will lead to unexpected side effects. To avoid these side effect, use
98
+ * controls will lead to unexpected side effects. To avoid this, use
106
99
  * {@link sap.ui.model.ListBinding.prototype.getCurrentContexts} instead.
107
100
  *
108
101
  * @function
@@ -110,7 +103,8 @@ sap.ui.define(['./Binding', './Filter', './FilterType', './Sorter', 'sap/base/ut
110
103
  * @param {int} [iStartIndex=0]
111
104
  * The startIndex where to start the retrieval of contexts
112
105
  * @param {int} [iLength=length of the list]
113
- * Determines how many contexts to retrieve beginning from the start index.
106
+ * Determines how many contexts to retrieve beginning from the start index; default is the
107
+ * whole list length up to the model's size limit; see {@link sap.ui.model.Model#setSizeLimit}
114
108
  * @param {int} [iMaximumPrefetchSize]
115
109
  * The maximum number of contexts to read before and after the given range; with this,
116
110
  * controls can prefetch data that is likely to be needed soon, e.g. when scrolling down in a
@@ -120,6 +114,9 @@ sap.ui.define(['./Binding', './Filter', './FilterType', './Sorter', 'sap/base/ut
120
114
  * This parameter is model-specific and not implemented by all models
121
115
  * @return {sap.ui.model.Context[]}
122
116
  * The array of contexts for each row of the bound list
117
+ * @throws {Error}
118
+ * If <code>bKeepCurrent</code> is set and extended change detection is enabled or
119
+ * <code>iMaximumPrefetchSize</code> is set
123
120
  *
124
121
  * @protected
125
122
  */
@@ -183,6 +180,28 @@ sap.ui.define(['./Binding', './Filter', './FilterType', './Sorter', 'sap/base/ut
183
180
  * @public
184
181
  */
185
182
 
183
+ /**
184
+ * Checks whether keeping current contexts untouched is supported.
185
+ *
186
+ * @param {int} [iMaximumPrefetchSize]
187
+ * The maximum number of contexts to read before and after the given range
188
+ * @throws {Error}
189
+ * If extended change detection is enabled, or if <code>iMaximumPrefetchSize</code> is set
190
+ *
191
+ * @private
192
+ */
193
+ ListBinding.prototype._checkKeepCurrentSupported = function (iMaximumPrefetchSize) {
194
+ if (this.bUseExtendedChangeDetection) {
195
+ throw new Error("Unsupported operation: " + this.getMetadata().getName()
196
+ + "#getContexts, must not use bKeepCurrent if extended change detection is"
197
+ + " enabled");
198
+ }
199
+ if (iMaximumPrefetchSize) {
200
+ throw new Error("Unsupported operation: " + this.getMetadata().getName()
201
+ + "#getContexts, must not use both iMaximumPrefetchSize and bKeepCurrent");
202
+ }
203
+ };
204
+
186
205
  /**
187
206
  * Returns the contexts of this list binding as last requested by the control and in the same
188
207
  * order the control has received them.
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.101.0
19
+ * @version 1.102.0
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.core.message.MessageProcessor
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.101.0
52
+ * @version 1.102.0
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.Model
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.101.0
23
+ * @version 1.102.0
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.101.0
49
+ * @version 1.102.0
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.101.0
15
+ * @version 1.102.0
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.101.0
22
+ * @version 1.102.0
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -4,9 +4,10 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
+ "sap/base/util/deepEqual",
7
8
  "sap/base/util/extend",
8
9
  "sap/base/util/merge"
9
- ], function (extend, merge) {
10
+ ], function (deepEqual, extend, merge) {
10
11
  "use strict";
11
12
 
12
13
  /**
@@ -16,6 +17,7 @@ sap.ui.define([
16
17
  var _Helper = {
17
18
  // Trampoline properties to allow for mocking in unit tests.
18
19
  // @see sap.base.util.*
20
+ deepEqual : deepEqual,
19
21
  extend : extend,
20
22
  merge : merge
21
23
  };
@@ -39,62 +39,6 @@ sap.ui.define([
39
39
  */
40
40
  var JSONListBinding = ClientListBinding.extend("sap.ui.model.json.JSONListBinding");
41
41
 
42
- /**
43
- * Return contexts for the list or a specified subset of contexts
44
- * @param {int} [iStartIndex=0] the startIndex where to start the retrieval of contexts
45
- * @param {int} [iLength=length of the list] determines how many contexts to retrieve beginning from the start index.
46
- * Default is the whole list length.
47
- *
48
- * @return {Array} the contexts array
49
- * @protected
50
- */
51
- JSONListBinding.prototype.getContexts = function(iStartIndex, iLength) {
52
- this.iLastStartIndex = iStartIndex;
53
- this.iLastLength = iLength;
54
-
55
- if (!iStartIndex) {
56
- iStartIndex = 0;
57
- }
58
- if (!iLength) {
59
- iLength = Math.min(this.iLength, this.oModel.iSizeLimit);
60
- }
61
-
62
- var aContexts = this._getContexts(iStartIndex, iLength),
63
- aContextData = [];
64
-
65
- if (this.bUseExtendedChangeDetection) {
66
- // Use try/catch to detect issues with cyclic references in JS objects,
67
- // in this case diff will be disabled.
68
- try {
69
- for (var i = 0; i < aContexts.length; i++) {
70
- aContextData.push(this.getContextData(aContexts[i]));
71
- }
72
-
73
- //Check diff
74
- if (this.aLastContextData && iStartIndex < this.iLastEndIndex) {
75
- aContexts.diff = this.diffData(this.aLastContextData, aContextData);
76
- }
77
-
78
- this.iLastEndIndex = iStartIndex + iLength;
79
- this.aLastContexts = aContexts.slice(0);
80
- this.aLastContextData = aContextData.slice(0);
81
- } catch (oError) {
82
- this.bUseExtendedChangeDetection = false;
83
- Log.warning("JSONListBinding: Extended change detection has been disabled as JSON data could not be serialized.");
84
- }
85
- }
86
-
87
- return aContexts;
88
- };
89
-
90
- JSONListBinding.prototype.getCurrentContexts = function() {
91
- if (this.bUseExtendedChangeDetection) {
92
- return this.aLastContexts || [];
93
- } else {
94
- return this.getContexts(this.iLastStartIndex, this.iLastLength);
95
- }
96
- };
97
-
98
42
  /**
99
43
  * Get indices of the list
100
44
  */
@@ -199,7 +143,5 @@ sap.ui.define([
199
143
  }
200
144
  };
201
145
 
202
-
203
146
  return JSONListBinding;
204
-
205
147
  });
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.model.ClientModel
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.101.0
47
+ * @version 1.102.0
48
48
  * @public
49
49
  * @alias sap.ui.model.json.JSONModel
50
50
  */
@@ -46,46 +46,6 @@ sap.ui.define([
46
46
  }.bind(this);
47
47
  };
48
48
 
49
- /**
50
- * Return contexts for the list or a specified subset of contexts.
51
- * @param {int} [iStartIndex=0] the startIndex where to start the retrieval of contexts.
52
- * @param {int} [iLength=length of the list] determines how many contexts to retrieve beginning from the start index.
53
- * Default is the whole list length.
54
- *
55
- * @return {Array} the contexts array
56
- * @protected
57
- */
58
- MessageListBinding.prototype.getContexts = function(iStartIndex, iLength) {
59
- this.iLastStartIndex = iStartIndex;
60
- this.iLastLength = iLength;
61
-
62
- if (!iStartIndex) {
63
- iStartIndex = 0;
64
- }
65
- if (!iLength) {
66
- iLength = Math.min(this.iLength, this.oModel.iSizeLimit);
67
- }
68
-
69
- var aContexts = this._getContexts(iStartIndex, iLength), aContextData = [];
70
-
71
- if (this.bUseExtendedChangeDetection) {
72
-
73
- for (var i = 0; i < aContexts.length; i++) {
74
- aContextData.push(this.getContextData(aContexts[i]));
75
- }
76
-
77
- //Check diff
78
- if (this.aLastContexts && iStartIndex < this.iLastEndIndex) {
79
- aContexts.diff = this.diffData(this.aLastContextData, aContexts);
80
- }
81
- this.iLastEndIndex = iStartIndex + iLength;
82
- this.aLastContexts = aContexts.slice(0);
83
- this.aLastContextData = aContextData.slice(0);
84
- }
85
-
86
- return aContexts;
87
- };
88
-
89
49
  /**
90
50
  * Treats the context's object as sap/ui/core/message/Message.
91
51
  * Its processor is removed, it is serialized and then the processor is re-added.
@@ -184,7 +144,5 @@ sap.ui.define([
184
144
  }
185
145
  };
186
146
 
187
-
188
147
  return MessageListBinding;
189
-
190
148
  });
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.101.0
32
+ * @version 1.102.0
33
33
  *
34
34
  * @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
35
35
  * @public
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @author SAP SE
27
27
  * @version
28
- * 1.101.0
28
+ * 1.102.0
29
29
  *
30
30
  * @public
31
31
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -84,7 +84,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
84
  * @extends sap.ui.core.message.MessageParser
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.101.0
87
+ * @version 1.102.0
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */