@openui5/sap.ui.core 1.96.2 → 1.97.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 (302) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.reuse/dep5 +1 -1
  3. package/THIRDPARTY.txt +2 -1
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +2 -2
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  11. package/src/sap/base/util/restricted/_castArray.js +1 -1
  12. package/src/sap/base/util/restricted/_compact.js +1 -1
  13. package/src/sap/base/util/restricted/_curry.js +1 -1
  14. package/src/sap/base/util/restricted/_debounce.js +1 -1
  15. package/src/sap/base/util/restricted/_difference.js +1 -1
  16. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  21. package/src/sap/base/util/restricted/_flatten.js +1 -1
  22. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_intersection.js +1 -1
  25. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  27. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isNil.js +1 -1
  30. package/src/sap/base/util/restricted/_max.js +1 -1
  31. package/src/sap/base/util/restricted/_merge.js +1 -1
  32. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  33. package/src/sap/base/util/restricted/_min.js +1 -1
  34. package/src/sap/base/util/restricted/_omit.js +1 -1
  35. package/src/sap/base/util/restricted/_pick.js +1 -1
  36. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  37. package/src/sap/base/util/restricted/_throttle.js +1 -1
  38. package/src/sap/base/util/restricted/_toArray.js +1 -1
  39. package/src/sap/base/util/restricted/_union.js +1 -1
  40. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  41. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  42. package/src/sap/base/util/restricted/_uniq.js +1 -1
  43. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  45. package/src/sap/base/util/restricted/_without.js +1 -1
  46. package/src/sap/base/util/restricted/_xor.js +1 -1
  47. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  48. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  49. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  51. package/src/sap/ui/Device.js +4 -4
  52. package/src/sap/ui/Global.js +11 -16
  53. package/src/sap/ui/base/Event.js +1 -1
  54. package/src/sap/ui/base/EventProvider.js +1 -1
  55. package/src/sap/ui/base/Interface.js +1 -1
  56. package/src/sap/ui/base/ManagedObject.js +3 -3
  57. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  58. package/src/sap/ui/base/Metadata.js +1 -3
  59. package/src/sap/ui/base/Object.js +1 -1
  60. package/src/sap/ui/base/ObjectPool.js +1 -1
  61. package/src/sap/ui/core/.library +1 -27
  62. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/Component.js +31 -9
  65. package/src/sap/ui/core/ComponentContainer.js +1 -1
  66. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  67. package/src/sap/ui/core/ComponentSupport.js +1 -1
  68. package/src/sap/ui/core/Control.js +2 -2
  69. package/src/sap/ui/core/Core.js +2 -2
  70. package/src/sap/ui/core/CustomData.js +1 -1
  71. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  72. package/src/sap/ui/core/Element.js +2 -6
  73. package/src/sap/ui/core/ElementMetadata.js +1 -1
  74. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  75. package/src/sap/ui/core/EventBus.js +1 -1
  76. package/src/sap/ui/core/Fragment.js +1 -1
  77. package/src/sap/ui/core/HTML.js +3 -3
  78. package/src/sap/ui/core/History.js +1 -1
  79. package/src/sap/ui/core/Icon.js +1 -1
  80. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  81. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  82. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  83. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  84. package/src/sap/ui/core/InvisibleText.js +1 -1
  85. package/src/sap/ui/core/Item.js +1 -1
  86. package/src/sap/ui/core/LabelEnablement.js +1 -1
  87. package/src/sap/ui/core/LayoutData.js +1 -1
  88. package/src/sap/ui/core/ListItem.js +1 -1
  89. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  90. package/src/sap/ui/core/Locale.js +1 -1
  91. package/src/sap/ui/core/LocaleData.js +3 -3
  92. package/src/sap/ui/core/Manifest.js +1 -1
  93. package/src/sap/ui/core/Message.js +1 -1
  94. package/src/sap/ui/core/RenderManager.js +3 -3
  95. package/src/sap/ui/core/Renderer.js +1 -1
  96. package/src/sap/ui/core/ResizeHandler.js +1 -1
  97. package/src/sap/ui/core/ScrollBar.js +4 -3
  98. package/src/sap/ui/core/SeparatorItem.js +1 -1
  99. package/src/sap/ui/core/ThemeCheck.js +2 -2
  100. package/src/sap/ui/core/Title.js +1 -1
  101. package/src/sap/ui/core/TooltipBase.js +1 -1
  102. package/src/sap/ui/core/UIArea.js +3 -3
  103. package/src/sap/ui/core/UIComponent.js +1 -1
  104. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  105. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  106. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  107. package/src/sap/ui/core/XMLComposite.js +1 -1
  108. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  109. package/src/sap/ui/core/XMLTemplateProcessor.js +19 -5
  110. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
  111. package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
  112. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  113. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  115. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  117. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  118. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  119. package/src/sap/ui/core/library.js +5 -5
  120. package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
  121. package/src/sap/ui/core/message/Message.js +1 -1
  122. package/src/sap/ui/core/message/MessageManager.js +1 -1
  123. package/src/sap/ui/core/message/MessageParser.js +1 -1
  124. package/src/sap/ui/core/message/MessageProcessor.js +22 -12
  125. package/src/sap/ui/core/messagebundle_fr.properties +7 -7
  126. package/src/sap/ui/core/messagebundle_ru.properties +21 -21
  127. package/src/sap/ui/core/mvc/Controller.js +4 -4
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  134. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  137. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  138. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  139. package/src/sap/ui/core/rules/Misc.support.js +51 -1
  140. package/src/sap/ui/core/rules/Rendering.support.js +1 -4
  141. package/src/sap/ui/core/rules/View.support.js +14 -46
  142. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  143. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  144. package/src/sap/ui/core/service/Service.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  146. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  147. package/src/sap/ui/core/support/Plugin.js +2 -2
  148. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
  149. package/src/sap/ui/core/support/Support.js +1 -1
  150. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  151. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  153. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  154. package/src/sap/ui/core/support/plugins/Performance.js +1 -2
  155. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  156. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  158. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  159. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  160. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  161. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  162. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  163. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  164. package/src/sap/ui/core/tmpl/Template.js +1 -1
  165. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  166. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  167. package/src/sap/ui/core/util/Export.js +1 -1
  168. package/src/sap/ui/core/util/ExportCell.js +1 -1
  169. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  170. package/src/sap/ui/core/util/ExportRow.js +1 -1
  171. package/src/sap/ui/core/util/ExportType.js +1 -1
  172. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  173. package/src/sap/ui/core/util/File.js +1 -1
  174. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  175. package/src/sap/ui/core/util/MockServer.js +2 -2
  176. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  177. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +4 -4
  178. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  179. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  180. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  181. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  182. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  183. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  184. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  185. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  186. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  187. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  188. package/src/sap/ui/debug/ControlTree.js +1 -1
  189. package/src/sap/ui/debug/DebugEnv.js +1 -1
  190. package/src/sap/ui/debug/PropertyList.js +1 -1
  191. package/src/sap/ui/model/ChangeReason.js +1 -1
  192. package/src/sap/ui/model/ClientListBinding.js +7 -0
  193. package/src/sap/ui/model/ClientModel.js +6 -5
  194. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  195. package/src/sap/ui/model/CompositeDataState.js +1 -1
  196. package/src/sap/ui/model/CompositeType.js +1 -1
  197. package/src/sap/ui/model/DataState.js +1 -1
  198. package/src/sap/ui/model/ListBinding.js +24 -5
  199. package/src/sap/ui/model/MetaModel.js +1 -1
  200. package/src/sap/ui/model/Model.js +5 -10
  201. package/src/sap/ui/model/SelectionModel.js +1 -1
  202. package/src/sap/ui/model/SimpleType.js +1 -1
  203. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  204. package/src/sap/ui/model/TreeBindingAdapter.js +0 -2
  205. package/src/sap/ui/model/TreeBindingUtils.js +2 -0
  206. package/src/sap/ui/model/Type.js +1 -1
  207. package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -6
  208. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
  209. package/src/sap/ui/model/json/JSONModel.js +7 -7
  210. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  211. package/src/sap/ui/model/message/MessageModel.js +3 -3
  212. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  213. package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
  214. package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
  215. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  216. package/src/sap/ui/model/odata/ODataListBinding.js +61 -38
  217. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  218. package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
  219. package/src/sap/ui/model/odata/ODataMetadata.js +136 -85
  220. package/src/sap/ui/model/odata/ODataModel.js +442 -215
  221. package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
  222. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
  223. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
  224. package/src/sap/ui/model/odata/ODataUtils.js +24 -9
  225. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
  226. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +10 -8
  227. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
  228. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  229. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  230. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  231. package/src/sap/ui/model/odata/type/Date.js +1 -1
  232. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  233. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  234. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  235. package/src/sap/ui/model/odata/type/Decimal.js +5 -1
  236. package/src/sap/ui/model/odata/type/Double.js +1 -1
  237. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int.js +1 -1
  239. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  240. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  241. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  242. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  243. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  244. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  245. package/src/sap/ui/model/odata/type/Single.js +1 -1
  246. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  247. package/src/sap/ui/model/odata/type/String.js +1 -1
  248. package/src/sap/ui/model/odata/type/Time.js +1 -1
  249. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  250. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  251. package/src/sap/ui/model/odata/type/UnitMixin.js +0 -1
  252. package/src/sap/ui/model/odata/v2/Context.js +42 -11
  253. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  254. package/src/sap/ui/model/odata/v2/ODataListBinding.js +205 -88
  255. package/src/sap/ui/model/odata/v2/ODataModel.js +154 -89
  256. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +162 -89
  257. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +52 -2
  258. package/src/sap/ui/model/odata/v4/Context.js +48 -7
  259. package/src/sap/ui/model/odata/v4/ODataBinding.js +55 -24
  260. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +67 -19
  261. package/src/sap/ui/model/odata/v4/ODataListBinding.js +211 -78
  262. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  263. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -1
  264. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +36 -23
  265. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  266. package/src/sap/ui/model/odata/v4/lib/_Cache.js +106 -11
  267. package/src/sap/ui/model/odata/v4/lib/_Helper.js +33 -3
  268. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -2
  269. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  270. package/src/sap/ui/model/type/Boolean.js +1 -1
  271. package/src/sap/ui/model/type/Currency.js +1 -1
  272. package/src/sap/ui/model/type/Date.js +1 -1
  273. package/src/sap/ui/model/type/DateInterval.js +1 -1
  274. package/src/sap/ui/model/type/DateTime.js +1 -1
  275. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  276. package/src/sap/ui/model/type/FileSize.js +1 -1
  277. package/src/sap/ui/model/type/Float.js +1 -1
  278. package/src/sap/ui/model/type/Integer.js +1 -1
  279. package/src/sap/ui/model/type/String.js +1 -1
  280. package/src/sap/ui/model/type/Time.js +1 -1
  281. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  282. package/src/sap/ui/model/type/Unit.js +1 -1
  283. package/src/sap/ui/model/xml/XMLModel.js +5 -5
  284. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  285. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  286. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  287. package/src/sap/ui/test/actions/Action.js +9 -2
  288. package/src/sap/ui/test/actions/Press.js +28 -1
  289. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  290. package/src/sap/ui/util/Mobile.js +28 -39
  291. package/src/sap/ui/util/Storage.js +1 -1
  292. package/src/ui5loader.js +6 -6
  293. package/ui5.yaml +244 -1
  294. package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
  295. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  296. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  297. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  298. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  299. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  300. package/src/sap/ui/thirdparty/flexie.js +0 -1
  301. package/src/sap/ui/thirdparty/unorm.js +0 -1
  302. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -73,7 +73,7 @@ sap.ui.define([
73
73
  ODataUtils.createSortParams = function(aSorters) {
74
74
  var sSortParam;
75
75
  if (!aSorters || aSorters.length == 0) {
76
- return;
76
+ return undefined;
77
77
  }
78
78
  sSortParam = "$orderby=";
79
79
  for (var i = 0; i < aSorters.length; i++) {
@@ -122,7 +122,7 @@ sap.ui.define([
122
122
  }
123
123
 
124
124
  if (!oFilter) {
125
- return;
125
+ return undefined;
126
126
  }
127
127
  return "$filter=" + this._createFilterParams(oFilter, oMetadata, oEntityType);
128
128
  };
@@ -180,18 +180,20 @@ sap.ui.define([
180
180
  }
181
181
 
182
182
  if (!oFilter) {
183
- return;
183
+ return undefined;
184
184
  }
185
185
 
186
186
  return create(oFilter, true);
187
187
  };
188
188
 
189
189
  /**
190
- * Converts a string or object-map with URL Parameters into an array.
191
- * If vParams is an object map, it will be also encoded properly.
190
+ * Converts a string or object-map with URL parameters into an array.
191
+ * If <code>vParams</code> is an object map, it will be also encoded properly.
192
+ *
193
+ * @param {string|object|array} vParams URL parameters
194
+ * @returns {string[]} Encoded URL parameters
192
195
  *
193
196
  * @private
194
- * @param {string|object|array} vParams parameters
195
197
  */
196
198
  ODataUtils._createUrlParamsArray = function(vParams) {
197
199
  var aUrlParams, sType = typeof vParams, sParams;
@@ -387,7 +389,12 @@ sap.ui.define([
387
389
 
388
390
 
389
391
  /**
390
- * convert multi filter to filter string
392
+ * Convert multi filter to filter string.
393
+ *
394
+ * @param {object} oMultiFilter A multi filter
395
+ * @param {sap.ui.model.odata.ODataMetadata} oMetadata The metadata
396
+ * @param {object} oEntityType The entity type to filter
397
+ * @returns {string} A filter string
391
398
  *
392
399
  * @private
393
400
  */
@@ -419,7 +426,16 @@ sap.ui.define([
419
426
  };
420
427
 
421
428
  /**
422
- * Create a single filter segment of the OData filter parameters
429
+ * Create a single filter segment of the OData filter parameters.
430
+ *
431
+ * @param {string} sPath The path to the value
432
+ * @param {sap.ui.model.odata.ODataMetadata} oMetadata The metadata
433
+ * @param {object} oEntityType The value's entity type
434
+ * @param {string} sOperator The filter operator
435
+ * @param {object} oValue1 The first value
436
+ * @param {object} oValue2 The second value
437
+ * @param {boolean} [bCaseSensitive=true] Whether the case should be considered
438
+ * @returns {string} The encoded string representation of the given filter
423
439
  *
424
440
  * @private
425
441
  */
@@ -455,7 +471,6 @@ sap.ui.define([
455
471
  sPath = "toupper(" + sPath + ")";
456
472
  }
457
473
 
458
- // TODO embed 2nd value
459
474
  switch (sOperator) {
460
475
  case "EQ":
461
476
  case "NE":
@@ -419,7 +419,8 @@ sap.ui.define([
419
419
  case "expression":
420
420
  return bExpression ? vValue : "{=" + vValue + "}";
421
421
 
422
- // no default
422
+ default:
423
+ return undefined;
423
424
  }
424
425
  },
425
426
 
@@ -187,11 +187,11 @@ sap.ui.define([
187
187
  * Handling of "14.5.3 Expression edm:Apply".
188
188
  *
189
189
  * @param {sap.ui.core.util.XMLPreprocessor.IContext|sap.ui.model.Context} oInterface
190
- * the callback interface related to the current formatter call
190
+ * The callback interface related to the current formatter call
191
191
  * @param {object} oPathValue
192
- * path and value information pointing to the apply (see Expression object)
193
- * @returns {object}
194
- * the result object
192
+ * Path and value information pointing to the apply (see Expression object)
193
+ * @returns {object|undefined}
194
+ * The result object or <code>undefined</code> in error cases
195
195
  */
196
196
  apply : function (oInterface, oPathValue) {
197
197
  var oName = Basics.descend(oPathValue, "Name", "string"),
@@ -206,6 +206,7 @@ sap.ui.define([
206
206
  return Expression.uriEncode(oInterface, oParameters);
207
207
  default:
208
208
  Basics.error(oName, "unknown function: " + oName.value);
209
+ return undefined;
209
210
  }
210
211
  },
211
212
 
@@ -360,11 +361,11 @@ sap.ui.define([
360
361
  * Calculates an expression.
361
362
  *
362
363
  * @param {sap.ui.core.util.XMLPreprocessor.IContext|sap.ui.model.Context} oInterface
363
- * the callback interface related to the current formatter call
364
+ * The callback interface related to the current formatter call
364
365
  * @param {object} oPathValue
365
- * path and value information pointing to the parameters array (see Expression object)
366
- * @returns {object}
367
- * the result object
366
+ * Path and value information pointing to the parameters array (see Expression object)
367
+ * @returns {object|undefined}
368
+ * The result object or <code>undefined</code> in error cases
368
369
  */
369
370
  expression : function (oInterface, oPathValue) {
370
371
  var oRawValue = oPathValue.value,
@@ -428,6 +429,7 @@ sap.ui.define([
428
429
  };
429
430
  default:
430
431
  Basics.error(oPathValue, "Unsupported OData expression");
432
+ return undefined;
431
433
  }
432
434
  },
433
435
 
@@ -702,11 +702,12 @@ sap.ui.define([
702
702
  if (oSchema) {
703
703
  aArray = oSchema[sArrayName];
704
704
  if (aArray) {
705
- aArray.forEach(function (oThing) {
705
+ aArray.some(function (oThing) {
706
706
  if (oThing.name === sName) {
707
707
  vResult = bAsPath ? oThing.$path : oThing;
708
- return false; // break
708
+ return true;
709
709
  }
710
+ return false;
710
711
  });
711
712
  }
712
713
  }
@@ -731,11 +732,12 @@ sap.ui.define([
731
732
  : vModel.getObject("/dataServices/schema");
732
733
 
733
734
  if (aSchemas) {
734
- aSchemas.forEach(function (o) {
735
+ aSchemas.some(function (o) {
735
736
  if (o.namespace === sNamespace) {
736
737
  oSchema = o;
737
- return false; // break
738
+ return true;
738
739
  }
740
+ return false;
739
741
  });
740
742
  }
741
743
 
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  * @extends sap.ui.model.odata.type.ODataType
88
88
  *
89
89
  * @author SAP SE
90
- * @version 1.96.2
90
+ * @version 1.97.0
91
91
  *
92
92
  * @alias sap.ui.model.odata.type.Boolean
93
93
  * @param {object} [oFormatOptions]
@@ -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.96.2
27
+ * @version 1.97.0
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Byte
30
30
  * @param {object} [oFormatOptions]
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.model.type.Currency
62
62
  * @public
63
63
  * @since 1.63.0
64
- * @version 1.96.2
64
+ * @version 1.97.0
65
65
  */
66
66
  var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
67
67
  constructor : function (oFormatOptions, oConstraints) {
@@ -106,7 +106,7 @@ sap.ui.define([
106
106
  * @extends sap.ui.model.odata.type.ODataType
107
107
  *
108
108
  * @author SAP SE
109
- * @version 1.96.2
109
+ * @version 1.97.0
110
110
  *
111
111
  * @alias sap.ui.model.odata.type.Date
112
112
  * @param {object} [oFormatOptions]
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.ui.model.odata.type.DateTimeBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.96.2
62
+ * @version 1.97.0
63
63
  *
64
64
  * @alias sap.ui.model.odata.type.DateTime
65
65
  * @param {object} [oFormatOptions]
@@ -132,7 +132,7 @@ sap.ui.define([
132
132
  * @extends sap.ui.model.odata.type.ODataType
133
133
  * @public
134
134
  * @since 1.27.0
135
- * @version 1.96.2
135
+ * @version 1.97.0
136
136
  */
137
137
  var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
138
138
  constructor : function (oFormatOptions, oConstraints) {
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.model.odata.type.DateTimeBase
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.96.2
31
+ * @version 1.97.0
32
32
  *
33
33
  * @alias sap.ui.model.odata.type.DateTimeOffset
34
34
  * @param {object} [oFormatOptions]
@@ -135,6 +135,8 @@ sap.ui.define([
135
135
  }
136
136
  logWarning(sValue, sName);
137
137
  }
138
+
139
+ return undefined;
138
140
  }
139
141
 
140
142
  function validateBoolean(vValue, sName) {
@@ -144,6 +146,8 @@ sap.ui.define([
144
146
  if (vValue !== undefined && vValue !== false && vValue !== "false") {
145
147
  logWarning(vValue, sName);
146
148
  }
149
+
150
+ return undefined;
147
151
  }
148
152
 
149
153
  function setConstraint(sName, vValue, vDefault) {
@@ -197,7 +201,7 @@ sap.ui.define([
197
201
  * @extends sap.ui.model.odata.type.ODataType
198
202
  *
199
203
  * @author SAP SE
200
- * @version 1.96.2
204
+ * @version 1.97.0
201
205
  *
202
206
  * @alias sap.ui.model.odata.type.Decimal
203
207
  * @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.96.2
98
+ * @version 1.97.0
99
99
  *
100
100
  * @alias sap.ui.model.odata.type.Double
101
101
  * @param {object} [oFormatOptions]
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @extends sap.ui.model.odata.type.ODataType
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.96.2
65
+ * @version 1.97.0
66
66
  *
67
67
  * @alias sap.ui.model.odata.type.Guid
68
68
  * @param {object} [oFormatOptions]
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.model.odata.type.ODataType
81
81
  *
82
82
  * @author SAP SE
83
- * @version 1.96.2
83
+ * @version 1.97.0
84
84
  *
85
85
  * @abstract
86
86
  * @alias sap.ui.model.odata.type.Int
@@ -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.96.2
27
+ * @version 1.97.0
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Int16
30
30
  * @param {object} [oFormatOptions]
@@ -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.96.2
27
+ * @version 1.97.0
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Int32
30
30
  * @param {object} [oFormatOptions]
@@ -137,7 +137,7 @@ sap.ui.define([
137
137
  * @extends sap.ui.model.odata.type.ODataType
138
138
  *
139
139
  * @author SAP SE
140
- * @version 1.96.2
140
+ * @version 1.97.0
141
141
  *
142
142
  * @alias sap.ui.model.odata.type.Int64
143
143
  * @param {object} [oFormatOptions]
@@ -115,7 +115,7 @@ sap.ui.define([
115
115
  * @extends sap.ui.model.SimpleType
116
116
  *
117
117
  * @author SAP SE
118
- * @version 1.96.2
118
+ * @version 1.97.0
119
119
  *
120
120
  * @abstract
121
121
  * @alias sap.ui.model.odata.type.ODataType
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.model.odata.type.ODataType
31
31
  * @public
32
32
  * @since 1.37.0
33
- * @version 1.96.2
33
+ * @version 1.97.0
34
34
  */
35
35
  var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
36
36
  constructor : function (oFormatOptions, oConstraints) {
@@ -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.96.2
27
+ * @version 1.97.0
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.96.2
98
+ * @version 1.97.0
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.96.2
63
+ * @version 1.97.0
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.96.2
87
+ * @version 1.97.0
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.96.2
157
+ * @version 1.97.0
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.96.2
113
+ * @version 1.97.0
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.96.2
66
+ * @version 1.97.0
67
67
  */
68
68
  var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
69
69
  constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
@@ -11,7 +11,6 @@ sap.ui.define([
11
11
  "sap/ui/model/ValidateException"
12
12
  ], function (ParseException, ValidateException) {
13
13
  "use strict";
14
- /*global Map */
15
14
 
16
15
  var mCodeList2CustomUnits = new Map(),
17
16
  rDecimals = /\.(\d+)$/,
@@ -21,7 +21,8 @@ sap.ui.define([
21
21
  * The absolute deep path including all intermediate paths of the binding hierarchy
22
22
  * @param {sap.ui.base.SyncPromise} [oCreatePromise]
23
23
  * A sync promise that is given when this context has been created by
24
- * {@link sap.ui.model.odata.v2.ODataModel#createEntry}.
24
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} or
25
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create}.
25
26
  *
26
27
  * When the entity represented by this context has been successfully persisted in the back
27
28
  * end, the given promise resolves.
@@ -43,6 +44,7 @@ sap.ui.define([
43
44
  * <ul>
44
45
  * <li>an OData binding</li>
45
46
  * <li>a view element</li>
47
+ * <li>{@link sap.ui.model.odata.v2.ODataListBinding#create}</li>
46
48
  * <li>{@link sap.ui.model.odata.v2.ODataModel#callFunction}</li>
47
49
  * <li>{@link sap.ui.model.odata.v2.ODataModel#createBindingContext}</li>
48
50
  * <li>{@link sap.ui.model.odata.v2.ODataModel#createEntry}</li>
@@ -52,7 +54,7 @@ sap.ui.define([
52
54
  * @hideconstructor
53
55
  * @public
54
56
  * @since 1.93.0
55
- * @version 1.96.2
57
+ * @version 1.97.0
56
58
  */
57
59
  var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
58
60
  constructor : function (oModel, sPath, sDeepPath, oCreatePromise) {
@@ -81,7 +83,8 @@ sap.ui.define([
81
83
 
82
84
  /**
83
85
  * Returns a promise on the creation state of this context if it has been created via
84
- * {@link sap.ui.model.odata.v2.ODataModel#createEntry}; otherwise returns
86
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} or
87
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create}; otherwise returns
85
88
  * <code>undefined</code>.
86
89
  *
87
90
  * As long as the promise is not yet resolved or rejected, the entity represented by this
@@ -90,9 +93,18 @@ sap.ui.define([
90
93
  * Once the promise is resolved, the entity for this context is stored in the back end and
91
94
  * {@link #getPath} returns a path including the key predicate of the new entity.
92
95
  *
96
+ * If the context has been created via {@link sap.ui.model.odata.v2.ODataListBinding#create} and
97
+ * the entity for this context has been stored in the back end, {@link #created} returns
98
+ * <code>undefined</code> after the data has been re-read from the back end and inserted at the
99
+ * right position based on the list binding's filters and sorters.
100
+ * If the context has been created via {@link sap.ui.model.odata.v2.ODataModel#createEntry} and
101
+ * the entity for this context has been stored in the back end, {@link #created} returns
102
+ * <code>undefined</code>.
103
+ *
93
104
  * @returns {Promise}
94
105
  * A promise for a context which has been created via
95
- * {@link sap.ui.model.odata.v2.ODataModel#createEntry}, otherwise <code>undefined</code>.
106
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} or
107
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create}, otherwise <code>undefined</code>.
96
108
  *
97
109
  * When the entity represented by this context has been persisted in the back end, the promise
98
110
  * resolves without data.
@@ -164,15 +176,24 @@ sap.ui.define([
164
176
  };
165
177
 
166
178
  /**
167
- * For a context created using {@link sap.ui.model.odata.v2.ODataModel#createEntry}, the method
168
- * returns <code>true</code> if the context is transient or <code>false</code> if the context is
169
- * not transient. A transient context represents an entity created on the client which has not
170
- * been persisted in the back end.
179
+ * For a context created using {@link sap.ui.model.odata.v2.ODataModel#createEntry} or
180
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create}, the method returns <code>true</code>
181
+ * if the context is transient or <code>false</code> if the context is not transient. A
182
+ * transient context represents an entity created on the client which has not been persisted in
183
+ * the back end.
171
184
  *
172
185
  * @returns {boolean}
173
- * Whether this context is transient if it has been created using
174
- * {@link sap.ui.model.odata.v2.ODataModel#createEntry}; returns <code>undefined</code> if the
175
- * context has not been created using {@link sap.ui.model.odata.v2.ODataModel#createEntry}
186
+ * <ul>
187
+ * <li><code>true</code>: if the context has been created via
188
+ * {@link sap.ui.model.odata.v2.ODataModel#createEntry} or
189
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create} and is not yet persisted in the
190
+ * back end,</li>
191
+ * <li><code>false</code>: if the context has been created via
192
+ * {@link sap.ui.model.odata.v2.ODataListBinding#create}, data has been successfully
193
+ * persisted in the back end and the data is still displayed in the area of the inline
194
+ * creation rows, and</li>
195
+ * <li><code>undefined</code>: otherwise</li>
196
+ * </ul>
176
197
  *
177
198
  * @public
178
199
  * @since 1.94.0
@@ -192,6 +213,16 @@ sap.ui.define([
192
213
  return this.bUpdated;
193
214
  };
194
215
 
216
+ /**
217
+ * Resets the created promise to indicate that the entity has been re-read from the back end.
218
+ *
219
+ * @private
220
+ */
221
+ Context.prototype.resetCreatedPromise = function () {
222
+ this.oCreatePromise = undefined;
223
+ this.oSyncCreatePromise = undefined;
224
+ };
225
+
195
226
  /**
196
227
  * Sets the absolute deep path; see {@link #getDeepPath} for details.
197
228
  *
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @class Annotation loader for OData V2 services
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.96.2
38
+ * @version 1.97.0
39
39
  *
40
40
  * @public
41
41
  * @since 1.37.0