@openui5/sap.ui.core 1.108.19 → 1.108.20

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 (246) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +1 -1
  4. package/src/jquery.sap.properties.js +1 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +1 -1
  7. package/src/jquery.sap.storage.js +3 -3
  8. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  9. package/src/sap/base/util/restricted/_castArray.js +1 -1
  10. package/src/sap/base/util/restricted/_compact.js +1 -1
  11. package/src/sap/base/util/restricted/_curry.js +1 -1
  12. package/src/sap/base/util/restricted/_debounce.js +1 -1
  13. package/src/sap/base/util/restricted/_difference.js +1 -1
  14. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  15. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  16. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  17. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  19. package/src/sap/base/util/restricted/_flatten.js +1 -1
  20. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_intersection.js +1 -1
  23. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  24. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  25. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  26. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  27. package/src/sap/base/util/restricted/_isNil.js +1 -1
  28. package/src/sap/base/util/restricted/_max.js +1 -1
  29. package/src/sap/base/util/restricted/_merge.js +1 -1
  30. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  31. package/src/sap/base/util/restricted/_min.js +1 -1
  32. package/src/sap/base/util/restricted/_omit.js +1 -1
  33. package/src/sap/base/util/restricted/_pick.js +1 -1
  34. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  35. package/src/sap/base/util/restricted/_throttle.js +1 -1
  36. package/src/sap/base/util/restricted/_toArray.js +1 -1
  37. package/src/sap/base/util/restricted/_union.js +1 -1
  38. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  39. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  40. package/src/sap/base/util/restricted/_uniq.js +1 -1
  41. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  42. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  43. package/src/sap/base/util/restricted/_without.js +1 -1
  44. package/src/sap/base/util/restricted/_xor.js +1 -1
  45. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  46. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  47. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  48. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  49. package/src/sap/ui/Device.js +3 -3
  50. package/src/sap/ui/Global.js +4 -4
  51. package/src/sap/ui/base/Event.js +1 -1
  52. package/src/sap/ui/base/EventProvider.js +1 -1
  53. package/src/sap/ui/base/Interface.js +1 -1
  54. package/src/sap/ui/base/ManagedObject.js +1 -1
  55. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  56. package/src/sap/ui/base/Metadata.js +1 -1
  57. package/src/sap/ui/base/Object.js +1 -1
  58. package/src/sap/ui/base/ObjectPool.js +1 -1
  59. package/src/sap/ui/core/.library +1 -1
  60. package/src/sap/ui/core/BusyIndicator.js +1 -1
  61. package/src/sap/ui/core/Component.js +1 -1
  62. package/src/sap/ui/core/ComponentContainer.js +1 -1
  63. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  64. package/src/sap/ui/core/ComponentSupport.js +1 -1
  65. package/src/sap/ui/core/Configuration.js +1 -1
  66. package/src/sap/ui/core/Control.js +1 -1
  67. package/src/sap/ui/core/Core.js +1 -1
  68. package/src/sap/ui/core/CustomData.js +1 -1
  69. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  70. package/src/sap/ui/core/Element.js +1 -1
  71. package/src/sap/ui/core/ElementMetadata.js +1 -1
  72. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  73. package/src/sap/ui/core/EventBus.js +1 -1
  74. package/src/sap/ui/core/Fragment.js +1 -1
  75. package/src/sap/ui/core/HTML.js +1 -1
  76. package/src/sap/ui/core/History.js +1 -1
  77. package/src/sap/ui/core/Icon.js +1 -1
  78. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  79. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  80. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  81. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  82. package/src/sap/ui/core/InvisibleText.js +1 -1
  83. package/src/sap/ui/core/Item.js +1 -1
  84. package/src/sap/ui/core/LabelEnablement.js +1 -1
  85. package/src/sap/ui/core/LayoutData.js +1 -1
  86. package/src/sap/ui/core/ListItem.js +1 -1
  87. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  88. package/src/sap/ui/core/Locale.js +1 -1
  89. package/src/sap/ui/core/LocaleData.js +1 -1
  90. package/src/sap/ui/core/Manifest.js +1 -1
  91. package/src/sap/ui/core/Message.js +1 -1
  92. package/src/sap/ui/core/RenderManager.js +1 -1
  93. package/src/sap/ui/core/Renderer.js +1 -1
  94. package/src/sap/ui/core/ResizeHandler.js +1 -1
  95. package/src/sap/ui/core/ScrollBar.js +1 -1
  96. package/src/sap/ui/core/SeparatorItem.js +1 -1
  97. package/src/sap/ui/core/Title.js +1 -1
  98. package/src/sap/ui/core/TooltipBase.js +1 -1
  99. package/src/sap/ui/core/UIArea.js +1 -1
  100. package/src/sap/ui/core/UIComponent.js +1 -1
  101. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  102. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  103. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  104. package/src/sap/ui/core/XMLComposite.js +1 -1
  105. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  106. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  107. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  108. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  109. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  110. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  111. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  112. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  113. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  114. package/src/sap/ui/core/library.js +3 -3
  115. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  116. package/src/sap/ui/core/message/Message.js +1 -1
  117. package/src/sap/ui/core/message/MessageManager.js +1 -1
  118. package/src/sap/ui/core/message/MessageParser.js +1 -1
  119. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  120. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  121. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  122. package/src/sap/ui/core/mvc/JSView.js +1 -1
  123. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  124. package/src/sap/ui/core/mvc/View.js +1 -1
  125. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  126. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  127. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  128. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  129. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  130. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  131. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  132. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  133. package/src/sap/ui/core/service/Service.js +1 -1
  134. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  135. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  136. package/src/sap/ui/core/support/Plugin.js +1 -1
  137. package/src/sap/ui/core/support/Support.js +1 -1
  138. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  139. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  140. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  141. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  142. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  143. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  144. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  145. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  146. package/src/sap/ui/core/themes/base/base.less +275 -269
  147. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  148. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  149. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  150. package/src/sap/ui/core/tmpl/Template.js +1 -1
  151. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  152. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  153. package/src/sap/ui/core/util/Export.js +1 -1
  154. package/src/sap/ui/core/util/ExportCell.js +1 -1
  155. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  156. package/src/sap/ui/core/util/ExportRow.js +1 -1
  157. package/src/sap/ui/core/util/ExportType.js +1 -1
  158. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  159. package/src/sap/ui/core/util/File.js +1 -1
  160. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  161. package/src/sap/ui/core/util/MockServer.js +1 -1
  162. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  163. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  164. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  165. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  166. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  167. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  168. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  169. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  170. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  171. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  172. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  173. package/src/sap/ui/debug/ControlTree.js +1 -1
  174. package/src/sap/ui/debug/DebugEnv.js +1 -1
  175. package/src/sap/ui/debug/PropertyList.js +1 -1
  176. package/src/sap/ui/model/ClientModel.js +1 -1
  177. package/src/sap/ui/model/CompositeDataState.js +1 -1
  178. package/src/sap/ui/model/CompositeType.js +1 -1
  179. package/src/sap/ui/model/DataState.js +1 -1
  180. package/src/sap/ui/model/MetaModel.js +1 -1
  181. package/src/sap/ui/model/Model.js +1 -1
  182. package/src/sap/ui/model/SelectionModel.js +1 -1
  183. package/src/sap/ui/model/SimpleType.js +1 -1
  184. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  185. package/src/sap/ui/model/Type.js +1 -1
  186. package/src/sap/ui/model/json/JSONModel.js +1 -1
  187. package/src/sap/ui/model/message/MessageModel.js +1 -1
  188. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  189. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  190. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  191. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  192. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  193. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  194. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  195. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  196. package/src/sap/ui/model/odata/type/Date.js +1 -1
  197. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  198. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  199. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  200. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  201. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  202. package/src/sap/ui/model/odata/type/Double.js +1 -1
  203. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  204. package/src/sap/ui/model/odata/type/Int.js +1 -1
  205. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  206. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  207. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  208. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  209. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  210. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  211. package/src/sap/ui/model/odata/type/Single.js +1 -1
  212. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  213. package/src/sap/ui/model/odata/type/String.js +1 -1
  214. package/src/sap/ui/model/odata/type/Time.js +1 -1
  215. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  216. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  217. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  218. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  219. package/src/sap/ui/model/odata/v2/ODataListBinding.js +78 -44
  220. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  221. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  222. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  223. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  224. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  225. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  226. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  227. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  228. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  229. package/src/sap/ui/model/type/Boolean.js +1 -1
  230. package/src/sap/ui/model/type/Currency.js +1 -1
  231. package/src/sap/ui/model/type/Date.js +1 -1
  232. package/src/sap/ui/model/type/DateInterval.js +1 -1
  233. package/src/sap/ui/model/type/DateTime.js +1 -1
  234. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  235. package/src/sap/ui/model/type/FileSize.js +1 -1
  236. package/src/sap/ui/model/type/Float.js +1 -1
  237. package/src/sap/ui/model/type/Integer.js +1 -1
  238. package/src/sap/ui/model/type/String.js +1 -1
  239. package/src/sap/ui/model/type/Time.js +1 -1
  240. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  241. package/src/sap/ui/model/type/Unit.js +1 -1
  242. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  243. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  244. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  245. package/src/sap/ui/test/generic/TestBase.js +1 -1
  246. package/src/sap/ui/util/Storage.js +1 -1
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.model.odata.type.Int
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.108.19
27
+ * @version 1.108.20
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.SByte
30
30
  * @param {object} [oFormatOptions]
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @extends sap.ui.model.odata.type.ODataType
96
96
  *
97
97
  * @author SAP SE
98
- * @version 1.108.19
98
+ * @version 1.108.20
99
99
  *
100
100
  * @alias sap.ui.model.odata.type.Single
101
101
  * @param {object} [oFormatOptions]
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.model.odata.type.ODataType
61
61
  * @public
62
62
  * @since 1.51.0
63
- * @version 1.108.19
63
+ * @version 1.108.20
64
64
  */
65
65
  var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
66
66
  constructor : function (oFormatOptions, oConstraints) {
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  * @extends sap.ui.model.odata.type.ODataType
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.108.19
87
+ * @version 1.108.20
88
88
  *
89
89
  * @alias sap.ui.model.odata.type.String
90
90
  * @param {object} [oFormatOptions]
@@ -154,7 +154,7 @@ sap.ui.define([
154
154
  * @extends sap.ui.model.odata.type.ODataType
155
155
  *
156
156
  * @author SAP SE
157
- * @version 1.108.19
157
+ * @version 1.108.20
158
158
  *
159
159
  * @alias sap.ui.model.odata.type.Time
160
160
  * @param {object} [oFormatOptions]
@@ -110,7 +110,7 @@ sap.ui.define([
110
110
  * @extends sap.ui.model.odata.type.ODataType
111
111
  * @public
112
112
  * @since 1.37.0
113
- * @version 1.108.19
113
+ * @version 1.108.20
114
114
  */
115
115
  var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
116
116
  constructor : function (oFormatOptions, oConstraints) {
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.model.type.Unit
64
64
  * @public
65
65
  * @since 1.63.0
66
- * @version 1.108.19
66
+ * @version 1.108.20
67
67
  */
68
68
  var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
69
69
  constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * @hideconstructor
65
65
  * @public
66
66
  * @since 1.93.0
67
- * @version 1.108.19
67
+ * @version 1.108.20
68
68
  */
69
69
  var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
70
70
  constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive,
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @class Annotation loader for OData V2 services
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.108.19
39
+ * @version 1.108.20
40
40
  *
41
41
  * @public
42
42
  * @since 1.37.0
@@ -101,10 +101,8 @@ sap.ui.define([
101
101
 
102
102
  this.sFilterParams = null;
103
103
  this.sSortParams = null;
104
- this.sRangeParams = null;
105
104
  this.sCustomParams = this.oModel.createCustomParams(this.mParameters);
106
105
  this.mCustomParams = mParameters && mParameters.custom;
107
- this.iStartIndex = 0;
108
106
  this.iLength = 0;
109
107
  this.bPendingChange = false;
110
108
  this.aAllKeys = null;
@@ -271,6 +269,21 @@ sap.ui.define([
271
269
  return aContexts;
272
270
  };
273
271
 
272
+ /**
273
+ * Returns the context at the given index.
274
+ *
275
+ * @param {number} iIndex The index of the context
276
+ *
277
+ * @returns {sap.ui.model.odata.v2.Context|undefined}
278
+ * The context at the given index or <code>undefined</code> if no context exists at the given index
279
+ *
280
+ * @private
281
+ * @ui5-restricted sap.ui.table
282
+ */
283
+ ODataListBinding.prototype.getContextByIndex = function (iIndex) {
284
+ return this._getContexts(iIndex, 1)[0];
285
+ };
286
+
274
287
  /**
275
288
  * Return contexts for the list.
276
289
  *
@@ -771,48 +784,51 @@ sap.ui.define([
771
784
  /**
772
785
  * Load data for the given range from server.
773
786
  *
774
- * @param {int} iStartIndex The start index
775
- * @param {int} iLength The amount of data to be requested
787
+ * @param {int} [iStartIndex] The start index
788
+ * @param {int} [iLength] The amount of data to be requested
776
789
  * @private
777
790
  */
778
791
  ODataListBinding.prototype.loadData = function(iStartIndex, iLength) {
779
- var sGroupId,
792
+ var sGroupId, oReadParameters,
780
793
  sGuid = uid(),
781
794
  bInlineCountRequested = false,
782
- aParams = [],
795
+ iLimit = this.oModel.iSizeLimit,
783
796
  sPath = this.sPath,
797
+ aResultPages = [],
798
+ bUseClientMode = this.useClientMode(),
784
799
  that = this;
785
800
 
786
- // create range parameters and store start index for sort/filter requests
787
- if (iStartIndex || iLength) {
788
- this.sRangeParams = "$skip=" + iStartIndex + "&$top=" + iLength;
789
- this.iStartIndex = iStartIndex;
790
- } else {
791
- iStartIndex = this.iStartIndex;
792
- }
801
+ function getUrlParameters() {
802
+ var aParameters = [];
803
+ // create range parameters and store start index for sort/filter requests
804
+ if (iLength) {
805
+ aParameters.push("$skip=" + iStartIndex + "&$top=" + iLength);
806
+ } else {
807
+ // For OperationMode.Client and OperationMode.Auto (if the threshold was sufficient)
808
+ // loadData is called without iStartIndex and iLength, try reading all data without
809
+ // $skip and $top
810
+ iStartIndex = 0;
811
+ }
812
+ if (that.sSortParams) {
813
+ aParameters.push(that.sSortParams);
814
+ }
815
+ that._addFilterQueryOption(aParameters, !bUseClientMode);
816
+ if (that.sCustomParams) {
817
+ aParameters.push(that.sCustomParams);
818
+ }
819
+ if (that.sCountMode == CountMode.InlineRepeat
820
+ || !that.bLengthFinal
821
+ && (that.sCountMode === CountMode.Inline || that.sCountMode === CountMode.Both)) {
822
+ aParameters.push("$inlinecount=allpages");
823
+ bInlineCountRequested = true;
824
+ } else {
825
+ bInlineCountRequested = false;
826
+ }
793
827
 
794
- // create the request url
795
- // $skip/$top and are excluded for OperationMode.Client and Auto if the threshold was sufficient
796
- if (this.sRangeParams && !this.useClientMode()) {
797
- aParams.push(this.sRangeParams);
798
- }
799
- if (this.sSortParams) {
800
- aParams.push(this.sSortParams);
801
- }
802
- this._addFilterQueryOption(aParams, !this.useClientMode());
803
- if (this.sCustomParams) {
804
- aParams.push(this.sCustomParams);
805
- }
806
- if (this.sCountMode == CountMode.InlineRepeat ||
807
- !this.bLengthFinal &&
808
- (this.sCountMode === CountMode.Inline ||
809
- this.sCountMode === CountMode.Both)) {
810
- aParams.push("$inlinecount=allpages");
811
- bInlineCountRequested = true;
828
+ return aParameters;
812
829
  }
813
830
 
814
831
  function fnSuccess(oData) {
815
-
816
832
  // update iLength (only when the inline count was requested and is available)
817
833
  if (bInlineCountRequested && oData.__count !== undefined) {
818
834
  that.iLength = parseInt(oData.__count);
@@ -840,12 +856,24 @@ sap.ui.define([
840
856
  }
841
857
  }
842
858
 
843
- if (that.useClientMode()) {
859
+ if (bUseClientMode) {
844
860
  // For clients mode, store all keys separately and set length to final
845
- that.aKeys = [];
861
+ if (!iStartIndex) {
862
+ that.aKeys = [];
863
+ }
846
864
  each(oData.results, function(i, entry) {
847
- that.aKeys[i] = that.oModel._getKey(entry);
865
+ that.aKeys[iStartIndex + i] = that.oModel._getKey(entry);
848
866
  });
867
+ aResultPages.push(oData.results);
868
+ if (oData.__next && that.aKeys.length < iLimit /*first request may return enough*/) {
869
+ // continue reading
870
+ iStartIndex = that.aKeys.length;
871
+ iLength = iLimit - iStartIndex; // read up to model size limit
872
+ oReadParameters.urlParameters = getUrlParameters();
873
+ that.mRequestHandles[sGuid] = that.oModel.read(that.sPath, oReadParameters);
874
+
875
+ return;
876
+ }
849
877
  that.updateExpandedList(that.aKeys);
850
878
  that.aAllKeys = that.aKeys.slice();
851
879
  that.iLength = that.aKeys.length;
@@ -902,9 +930,17 @@ sap.ui.define([
902
930
  that.bNeedsUpdate = true;
903
931
  that.bIgnoreSuspend = true;
904
932
 
905
- //register datareceived call as callAfterUpdate
906
- that.oModel.callAfterUpdate(function() {
907
- that.fireDataReceived({data: oData});
933
+ that.oModel.callAfterUpdate(function () {
934
+ if (aResultPages.length > 1) {
935
+ that.fireDataReceived({
936
+ data: {
937
+ __count: String(that.iLength),
938
+ results: Array.prototype.concat.apply([], aResultPages)
939
+ }
940
+ });
941
+ } else {
942
+ that.fireDataReceived({data: oData});
943
+ }
908
944
  });
909
945
  }
910
946
 
@@ -931,13 +967,11 @@ sap.ui.define([
931
967
  if (!that.bSkipDataEvents) {
932
968
  that.fireDataReceived();
933
969
  }
934
-
935
970
  }
936
971
 
937
972
  if (this.isRelative()){
938
973
  sPath = this.getResolvedPath();
939
974
  }
940
-
941
975
  if (sPath) {
942
976
  // Execute the request and use the metadata if available
943
977
  this.bPendingRequest = true;
@@ -947,20 +981,20 @@ sap.ui.define([
947
981
  this.bSkipDataEvents = false;
948
982
  //if load is triggered by a refresh we have to check the refreshGroup
949
983
  sGroupId = this.sRefreshGroupId ? this.sRefreshGroupId : this.sGroupId;
950
- this.mRequestHandles[sGuid] = this.oModel.read(this.sPath, {
984
+ oReadParameters = {
951
985
  headers: this.bTransitionMessagesOnly
952
986
  ? {"sap-messages" : "transientOnly"}
953
987
  : undefined,
954
988
  context: this.oContext,
955
989
  groupId: sGroupId,
956
- urlParameters: aParams,
990
+ urlParameters: getUrlParameters(),
957
991
  success: fnSuccess,
958
992
  error: fnError,
959
993
  canonicalRequest: this.bCanonicalRequest,
960
994
  updateAggregatedMessages: this.bRefresh
961
- });
995
+ };
996
+ this.mRequestHandles[sGuid] = this.oModel.read(this.sPath, oReadParameters);
962
997
  }
963
-
964
998
  };
965
999
 
966
1000
  ODataListBinding.prototype.isLengthFinal = function() {
@@ -205,7 +205,7 @@ sap.ui.define([
205
205
  * This model is not prepared to be inherited from.
206
206
  *
207
207
  * @author SAP SE
208
- * @version 1.108.19
208
+ * @version 1.108.20
209
209
  *
210
210
  * @public
211
211
  * @alias sap.ui.model.odata.v2.ODataModel
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * @extends sap.ui.model.TreeBinding
95
95
  * @hideconstructor
96
96
  * @public
97
- * @version 1.108.19
97
+ * @version 1.108.20
98
98
  */
99
99
  var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
100
100
 
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @hideconstructor
43
43
  * @public
44
44
  * @since 1.39.0
45
- * @version 1.108.19
45
+ * @version 1.108.20
46
46
  */
47
47
  Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
48
48
  constructor : constructor
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * @mixes sap.ui.model.odata.v4.ODataParentBinding
75
75
  * @public
76
76
  * @since 1.37.0
77
- * @version 1.108.19
77
+ * @version 1.108.20
78
78
  *
79
79
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
80
80
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @mixes sap.ui.model.odata.v4.ODataParentBinding
58
58
  * @public
59
59
  * @since 1.37.0
60
- * @version 1.108.19
60
+ * @version 1.108.20
61
61
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
62
62
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
63
63
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -156,7 +156,7 @@ sap.ui.define([
156
156
  * @hideconstructor
157
157
  * @public
158
158
  * @since 1.37.0
159
- * @version 1.108.19
159
+ * @version 1.108.20
160
160
  */
161
161
  ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
162
162
  constructor : constructor
@@ -218,7 +218,7 @@ sap.ui.define([
218
218
  * @extends sap.ui.model.Model
219
219
  * @public
220
220
  * @since 1.37.0
221
- * @version 1.108.19
221
+ * @version 1.108.20
222
222
  */
223
223
  ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
224
224
  /** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
@@ -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.108.19
45
+ * @version 1.108.20
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
@@ -229,7 +229,7 @@ sap.ui.define([
229
229
  *
230
230
  * @extends sap.ui.model.Model
231
231
  * @public
232
- * @version 1.108.19
232
+ * @version 1.108.20
233
233
  */
234
234
  var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
235
235
 
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/model/SimpleType', 'sap/ui/model/FormatException', 'sap/u
19
19
  * @extends sap.ui.model.SimpleType
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.108.19
22
+ * @version 1.108.20
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions]
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.model.CompositeType
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.108.19
35
+ * @version 1.108.20
36
36
  *
37
37
  * @public
38
38
  * @param {object} [oFormatOptions]
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.model.SimpleType
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.108.19
29
+ * @version 1.108.20
30
30
  *
31
31
  * @public
32
32
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.model.CompositeType
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.108.19
36
+ * @version 1.108.20
37
37
  *
38
38
  * @public
39
39
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.Date
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.108.19
22
+ * @version 1.108.20
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.DateInterval
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.108.19
22
+ * @version 1.108.20
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.model.SimpleType
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.108.19
27
+ * @version 1.108.20
28
28
  *
29
29
  * @public
30
30
  * @param {object} [oFormatOptions] formatting options. Supports the same options as {@link sap.ui.core.format.FileSizeFormat.getInstance FileSizeFormat.getInstance}
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.model.SimpleType
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.108.19
29
+ * @version 1.108.20
30
30
  *
31
31
  * @public
32
32
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.model.SimpleType
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.108.19
29
+ * @version 1.108.20
30
30
  *
31
31
  * @public
32
32
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.model.SimpleType
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.108.19
27
+ * @version 1.108.20
28
28
  *
29
29
  * @alias sap.ui.model.type.String
30
30
  * @param {object} [oFormatOptions]
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.Date
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.108.19
22
+ * @version 1.108.20
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
19
19
  * @extends sap.ui.model.type.DateInterval
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.108.19
22
+ * @version 1.108.20
23
23
  *
24
24
  * @public
25
25
  * @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  *
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.108.19
51
+ * @version 1.108.20
52
52
  *
53
53
  * @public
54
54
  * @param {object} [oFormatOptions]
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.model.ClientModel
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.108.19
50
+ * @version 1.108.20
51
51
  *
52
52
  * @param {XMLDocument|string} oData
53
53
  * Either the URL where to load the XML from or an XML document
@@ -53,7 +53,7 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo"],
53
53
  * @namespace
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.108.19
56
+ * @version 1.108.20
57
57
  *
58
58
  * @public
59
59
  * @since 1.48.0
@@ -27,7 +27,7 @@ sap.ui.define([ 'sap/ui/core/Element', 'sap/ui/core/Control', 'sap/ui/core/Core'
27
27
  * @namespace
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.108.19
30
+ * @version 1.108.20
31
31
  *
32
32
  * @public
33
33
  * @since 1.48.0
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.base.Object
25
25
  * @abstract
26
26
  * @author SAP SE
27
- * @version 1.108.19
27
+ * @version 1.108.20
28
28
  * @since 1.100
29
29
  */
30
30
  return BaseObject.extend("sap.ui.test.generic.TestBase", {
@@ -250,7 +250,7 @@ sap.ui.define(["sap/base/assert"], function (assert) {
250
250
  *
251
251
  * @enum {string}
252
252
  * @public
253
- * @version 1.108.19
253
+ * @version 1.108.20
254
254
  */
255
255
  Storage.Type = {
256
256
  /**