@openui5/sap.ui.core 1.107.0 → 1.108.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 (287) hide show
  1. package/.dtsgenrc +63 -0
  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/i18n/ResourceBundle.js +10 -0
  10. package/src/sap/base/security/URLListValidator.js +36 -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 +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 +2 -2
  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 +50 -50
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/BusyIndicatorUtils.js +22 -8
  65. package/src/sap/ui/core/Component.js +21 -4
  66. package/src/sap/ui/core/ComponentContainer.js +5 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +2 -15
  70. package/src/sap/ui/core/Control.js +20 -2
  71. package/src/sap/ui/core/Core.js +311 -413
  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/FocusHandler.js +12 -14
  79. package/src/sap/ui/core/Fragment.js +5 -2
  80. package/src/sap/ui/core/HTML.js +1 -1
  81. package/src/sap/ui/core/History.js +1 -1
  82. package/src/sap/ui/core/Icon.js +1 -1
  83. package/src/sap/ui/core/IconPool.js +7 -1
  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 +1 -1
  96. package/src/sap/ui/core/Manifest.js +16 -83
  97. package/src/sap/ui/core/Message.js +1 -1
  98. package/src/sap/ui/core/Popup.js +14 -4
  99. package/src/sap/ui/core/RenderManager.js +111 -109
  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 +1 -1
  103. package/src/sap/ui/core/SeparatorItem.js +1 -1
  104. package/src/sap/ui/core/ShortcutHintsMixin.js +20 -0
  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 +4 -2
  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/_IconRegistry.js +11 -7
  115. package/src/sap/ui/core/_UrlResolver.js +139 -0
  116. package/src/sap/ui/core/date/CalendarUtils.js +87 -0
  117. package/src/sap/ui/core/date/CalendarWeekNumbering.js +73 -0
  118. package/src/sap/ui/core/date/UniversalDate.js +198 -74
  119. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  120. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  122. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  124. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  125. package/src/sap/ui/core/format/DateFormat.js +187 -57
  126. package/src/sap/ui/core/format/NumberFormat.js +64 -23
  127. package/src/sap/ui/core/format/TimezoneUtil.js +3 -1
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +19 -10
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +5 -3
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  136. package/src/sap/ui/core/mvc/HTMLView.js +10 -2
  137. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  138. package/src/sap/ui/core/mvc/JSView.js +1 -1
  139. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  140. package/src/sap/ui/core/mvc/View.js +1 -1
  141. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  142. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  143. package/src/sap/ui/core/plugin/LessSupport.js +21 -20
  144. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  145. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  146. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  147. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  148. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  149. package/src/sap/ui/core/service/Service.js +1 -1
  150. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  151. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  152. package/src/sap/ui/core/support/Plugin.js +1 -1
  153. package/src/sap/ui/core/support/Support.js +1 -1
  154. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  156. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  158. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  159. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  160. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  161. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  162. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +3 -3
  163. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  164. package/src/sap/ui/core/theming/Parameters.js +31 -12
  165. package/src/sap/ui/core/theming/ThemeHelper.js +56 -1
  166. package/src/sap/ui/core/theming/ThemeManager.js +817 -0
  167. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  168. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  169. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  170. package/src/sap/ui/core/tmpl/Template.js +1 -1
  171. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  172. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  173. package/src/sap/ui/core/util/Export.js +1 -1
  174. package/src/sap/ui/core/util/ExportCell.js +1 -1
  175. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  176. package/src/sap/ui/core/util/ExportRow.js +1 -1
  177. package/src/sap/ui/core/util/ExportType.js +1 -1
  178. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  179. package/src/sap/ui/core/util/File.js +1 -1
  180. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  181. package/src/sap/ui/core/util/MockServer.js +1 -1
  182. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  183. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -1
  184. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  189. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  190. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  191. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  192. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  193. package/src/sap/ui/debug/ControlTree.js +1 -1
  194. package/src/sap/ui/debug/DebugEnv.js +1 -1
  195. package/src/sap/ui/debug/PropertyList.js +1 -1
  196. package/src/sap/ui/dom/getFirstEditableInput.js +25 -6
  197. package/src/sap/ui/dom/includeStylesheet.js +2 -2
  198. package/src/sap/ui/model/ClientListBinding.js +11 -4
  199. package/src/sap/ui/model/ClientModel.js +1 -1
  200. package/src/sap/ui/model/ClientTreeBinding.js +60 -5
  201. package/src/sap/ui/model/CompositeDataState.js +1 -1
  202. package/src/sap/ui/model/CompositeType.js +1 -1
  203. package/src/sap/ui/model/DataState.js +1 -1
  204. package/src/sap/ui/model/Filter.js +6 -6
  205. package/src/sap/ui/model/MetaModel.js +1 -1
  206. package/src/sap/ui/model/Model.js +1 -1
  207. package/src/sap/ui/model/SelectionModel.js +1 -1
  208. package/src/sap/ui/model/SimpleType.js +1 -1
  209. package/src/sap/ui/model/Sorter.js +6 -4
  210. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  211. package/src/sap/ui/model/TreeBinding.js +18 -0
  212. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  213. package/src/sap/ui/model/Type.js +1 -1
  214. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +28 -34
  215. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +590 -0
  216. package/src/sap/ui/model/json/JSONModel.js +1 -1
  217. package/src/sap/ui/model/message/MessageModel.js +1 -1
  218. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  219. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  220. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  221. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  222. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  223. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  224. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  225. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  226. package/src/sap/ui/model/odata/type/Date.js +1 -1
  227. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  228. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  229. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  230. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  231. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  232. package/src/sap/ui/model/odata/type/Double.js +1 -1
  233. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  234. package/src/sap/ui/model/odata/type/Int.js +1 -1
  235. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  236. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  237. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  238. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  239. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  240. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  241. package/src/sap/ui/model/odata/type/Single.js +1 -1
  242. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  243. package/src/sap/ui/model/odata/type/String.js +1 -1
  244. package/src/sap/ui/model/odata/type/Time.js +1 -1
  245. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  246. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  247. package/src/sap/ui/model/odata/v2/BatchMode.js +2 -2
  248. package/src/sap/ui/model/odata/v2/Context.js +169 -4
  249. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  250. package/src/sap/ui/model/odata/v2/ODataListBinding.js +39 -17
  251. package/src/sap/ui/model/odata/v2/ODataModel.js +219 -82
  252. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  253. package/src/sap/ui/model/odata/v4/Context.js +35 -22
  254. package/src/sap/ui/model/odata/v4/ODataBinding.js +28 -22
  255. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
  256. package/src/sap/ui/model/odata/v4/ODataListBinding.js +111 -89
  257. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +5 -4
  258. package/src/sap/ui/model/odata/v4/ODataModel.js +84 -46
  259. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +19 -20
  260. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  261. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  262. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +12 -5
  263. package/src/sap/ui/model/odata/v4/lib/_Cache.js +130 -64
  264. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  265. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +56 -15
  266. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  267. package/src/sap/ui/model/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/type/Currency.js +1 -1
  269. package/src/sap/ui/model/type/Date.js +1 -1
  270. package/src/sap/ui/model/type/DateInterval.js +1 -1
  271. package/src/sap/ui/model/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  273. package/src/sap/ui/model/type/FileSize.js +1 -1
  274. package/src/sap/ui/model/type/Float.js +1 -1
  275. package/src/sap/ui/model/type/Integer.js +1 -1
  276. package/src/sap/ui/model/type/String.js +1 -1
  277. package/src/sap/ui/model/type/Time.js +1 -1
  278. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  279. package/src/sap/ui/model/type/Unit.js +1 -1
  280. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  281. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  282. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  283. package/src/sap/ui/test/TestUtils.js +20 -0
  284. package/src/sap/ui/test/generic/TestBase.js +1 -1
  285. package/src/sap/ui/thirdparty/mobify-carousel.js +0 -4
  286. package/src/sap/ui/util/Storage.js +1 -1
  287. package/src/sap/ui/core/ThemeCheck.js +0 -389
@@ -342,7 +342,9 @@ sap.ui.define([
342
342
  * are ignored if they relate to a
343
343
  * {@link sap.ui.model.odata.v4.Context#isKeepAlive kept-alive} context of this binding.
344
344
  * Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient} contexts
345
- * of a {@link #getRootBinding root binding} do not count as pending changes.
345
+ * of a {@link #getRootBinding root binding} do not count as pending changes. Since 1.108.0,
346
+ * {@link sap.ui.model.odata.v4.Context#delete deleted} contexts do not count as pending
347
+ * changes.
346
348
  *
347
349
  * @public
348
350
  * @since 1.45.0
@@ -601,7 +603,7 @@ sap.ui.define([
601
603
  * A lock for the group ID to be used for the DELETE request; w/o a lock, no DELETE is sent.
602
604
  * For a transient entity, the lock is ignored (use NULL)!
603
605
  * @param {string} sEditUrl
604
- * The entity's edit URL to be used for the DELETE request; w/o a lock, this is mostly
606
+ * The entity's edit URL to be used for the DELETE request; w/o a lock, this is mostly
605
607
  * ignored.
606
608
  * @param {string} sPath
607
609
  * The path of the entity relative to this binding
@@ -609,10 +611,6 @@ sap.ui.define([
609
611
  * An entity with the ETag of the binding for which the deletion was requested. This is
610
612
  * provided if the deletion is delegated from a context binding with empty path to a list
611
613
  * binding. W/o a lock, this is ignored.
612
- * @param {boolean} [bDoNotRequestCount]
613
- * Whether not to request the new count from the server; useful in case of
614
- * {@link sap.ui.model.odata.v4.Context#replaceWith} where it is known that the count remains
615
- * unchanged; only relevant for the list binding
616
614
  * @param {function} [fnCallback]
617
615
  * A function which is called immediately when an entity has been deleted from the cache, or
618
616
  * when it was re-inserted due to an error; only used in the list binding; the index of the
@@ -627,10 +625,9 @@ sap.ui.define([
627
625
  * @private
628
626
  */
629
627
  ODataParentBinding.prototype.deleteFromCache = function (oGroupLock, sEditUrl, sPath,
630
- oETagEntity, bDoNotRequestCount, fnCallback) {
628
+ oETagEntity, fnCallback) {
631
629
  return this.withCache(function (oCache, sCachePath) {
632
- return oCache._delete(oGroupLock, sEditUrl, sCachePath, oETagEntity, bDoNotRequestCount,
633
- fnCallback);
630
+ return oCache._delete(oGroupLock, sEditUrl, sCachePath, oETagEntity, fnCallback);
634
631
  }, sPath, /*bSync*/true);
635
632
  };
636
633
 
@@ -1097,7 +1094,7 @@ sap.ui.define([
1097
1094
  * Whether the dataRequested and dataReceived events related to the refresh must not be bubbled
1098
1095
  * up to the model.
1099
1096
  *
1100
- * @returns {boolean} Whether to prevent bubbling
1097
+ * @returns {boolean} Whether to prevent bubbling
1101
1098
  *
1102
1099
  * @private
1103
1100
  * @see #createRefreshPromise
@@ -1301,10 +1298,10 @@ sap.ui.define([
1301
1298
  * @throws {Error}
1302
1299
  * If this binding
1303
1300
  * <ul>
1304
- * <li>is relative to a {@link sap.ui.model.odata.v4.Context},
1305
- * <li>is an operation binding,
1306
- * <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>false</code>,
1307
- * <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding.
1301
+ * <li> is relative to a {@link sap.ui.model.odata.v4.Context},
1302
+ * <li> is an operation binding,
1303
+ * <li> has {@link sap.ui.model.Binding#isSuspended} set to <code>false</code>,
1304
+ * <li> is not a root binding. Use {@link #getRootBinding} to determine the root binding.
1308
1305
  * </ul>
1309
1306
  *
1310
1307
  * @public
@@ -1360,16 +1357,18 @@ sap.ui.define([
1360
1357
  * was not supported and threw an error. Since 1.97.0, pending changes are ignored if they
1361
1358
  * relate to a {@link sap.ui.model.odata.v4.Context#isKeepAlive kept-alive} context of this
1362
1359
  * binding. Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient} contexts
1363
- * of a {@link #getRootBinding root binding} do not count as pending changes.
1360
+ * of a {@link #getRootBinding root binding} do not count as pending changes. Since 1.108.0
1361
+ * {@link sap.ui.model.odata.v4.Context#delete deleted} contexts do not count as pending
1362
+ * changes.
1364
1363
  *
1365
1364
  * @throws {Error}
1366
1365
  * If this binding
1367
1366
  * <ul>
1368
- * <li>is relative to a {@link sap.ui.model.odata.v4.Context},
1369
- * <li>is an operation binding,
1370
- * <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>true</code>,
1371
- * <li>has pending changes that cannot be ignored,
1372
- * <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding.
1367
+ * <li> is relative to a {@link sap.ui.model.odata.v4.Context},
1368
+ * <li> is an operation binding,
1369
+ * <li> has {@link sap.ui.model.Binding#isSuspended} set to <code>true</code>,
1370
+ * <li> has pending changes that cannot be ignored,
1371
+ * <li> is not a root binding. Use {@link #getRootBinding} to determine the root binding.
1373
1372
  * </ul>
1374
1373
  *
1375
1374
  * @public
@@ -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.107.0
45
+ * @version 1.108.0
46
46
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
47
47
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
48
48
  * @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
@@ -746,11 +746,11 @@ sap.ui.define([
746
746
  */
747
747
  ODataPropertyBinding.prototype.setValue = function (vValue, sGroupId) {
748
748
  var oGroupLock,
749
+ sResolvedPath = this.getResolvedPath(),
749
750
  that = this;
750
751
 
751
752
  function reportError(oError) {
752
- that.oModel.reportError("Failed to update path " + that.getResolvedPath(), sClassName,
753
- oError);
753
+ that.oModel.reportError("Failed to update path " + sResolvedPath, sClassName, oError);
754
754
 
755
755
  return oError;
756
756
  }
@@ -105,7 +105,7 @@ sap.ui.define([
105
105
  * <li> when "constant": {any} the constant value (not escaped if string)
106
106
  * <li> when "expression": {string} the expression unwrapped (no "{=" and "}")
107
107
  * </ul>
108
- * <li> <code>type</code>: the EDM data type (like "Edm.String") if it could be
108
+ * <li> <code>type</code>: the EDM data type (like "Edm.String") if it could be
109
109
  * determined
110
110
  * <li> <code>constraints</code>: {object} type constraints if result is "binding"
111
111
  * <li> <code>formatOptions</code>: {object} format options if result is "binding"
@@ -328,7 +328,7 @@ sap.ui.define([
328
328
 
329
329
  if (sPredicate) {
330
330
  that.aElements.$byPredicate[sPredicate] = oElement;
331
- if (_Helper.getPrivateAnnotation(oElement, "expanding")) {
331
+ if (_Helper.hasPrivateAnnotation(oElement, "expanding")) {
332
332
  _Helper.deletePrivateAnnotation(oElement, "expanding");
333
333
  iCount += that.expand(_GroupLock.$cached, oElement).getResult();
334
334
  }
@@ -476,7 +476,7 @@ sap.ui.define([
476
476
  }
477
477
 
478
478
  aAllElements = this.aElements.map(function (oElement) {
479
- return _Helper.getPrivateAnnotation(oElement, "parent") ? undefined : oElement;
479
+ return _Helper.hasPrivateAnnotation(oElement, "parent") ? undefined : oElement;
480
480
  });
481
481
  aAllElements.$count = this.aElements.$count;
482
482
 
@@ -686,7 +686,7 @@ sap.ui.define([
686
686
  for (i = iIndex, n = Math.min(iIndex + iLength, this.aElements.length); i < n; i += 1) {
687
687
  oCurrentParent = _Helper.getPrivateAnnotation(this.aElements[i], "parent");
688
688
  if (oCurrentParent !== oGapParent) {
689
- if (iGapStart) { // end of gap
689
+ if (iGapStart !== undefined) { // end of gap
690
690
  readGap(iGapStart, i);
691
691
  oGapParent = iGapStart = undefined;
692
692
  }
@@ -696,7 +696,7 @@ sap.ui.define([
696
696
  }
697
697
  }
698
698
  }
699
- if (iGapStart) { // gap at end
699
+ if (iGapStart !== undefined) { // gap at end
700
700
  readGap(iGapStart, i);
701
701
  }
702
702
  oGroupLock.unlock();
@@ -895,7 +895,8 @@ sap.ui.define([
895
895
  * are combined with min/max or with grouping via sorter, or if the system query options
896
896
  * "$expand" or "$select" are combined with pure data aggregation (no recursive hierarchy), or
897
897
  * if the system query option "$search" is combined with grand totals or group levels or a
898
- * recursive hierarchy
898
+ * recursive hierarchy, or if shared requests are combined with min/max or with grand totals
899
+ * or group levels or recursive hierarchy
899
900
  *
900
901
  * @public
901
902
  */
@@ -926,6 +927,9 @@ sap.ui.define([
926
927
  if (oAggregation.hierarchyQualifier) {
927
928
  throw new Error("Unsupported recursive hierarchy together with min/max");
928
929
  }
930
+ if (bSharedRequest) {
931
+ throw new Error("Unsupported $$sharedRequest together with min/max");
932
+ }
929
933
  checkExpandSelect();
930
934
 
931
935
  return _MinMaxHelper.createCache(oRequestor, sResourcePath, oAggregation,
@@ -948,6 +952,9 @@ sap.ui.define([
948
952
  if (bIsGrouped) {
949
953
  throw new Error("Unsupported grouping via sorter");
950
954
  }
955
+ if (bSharedRequest) {
956
+ throw new Error("Unsupported $$sharedRequest");
957
+ }
951
958
 
952
959
  return new _AggregationCache(oRequestor, sResourcePath, oAggregation, mQueryOptions,
953
960
  bHasGrandTotal);