@openui5/sap.ui.core 1.120.0 → 1.120.1

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 (464) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/Event.js +2 -2
  8. package/src/sap/base/Eventing.js +1 -1
  9. package/src/sap/base/config.js +1 -1
  10. package/src/sap/base/i18n/Formatting.js +30 -14
  11. package/src/sap/base/i18n/LanguageTag.js +1 -1
  12. package/src/sap/base/i18n/Localization.js +1 -2
  13. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/base/Event.js +1 -1
  58. package/src/sap/ui/base/EventProvider.js +1 -1
  59. package/src/sap/ui/base/Interface.js +1 -1
  60. package/src/sap/ui/base/ManagedObject.js +1 -57
  61. package/src/sap/ui/base/ManagedObjectMetadata.js +25 -1
  62. package/src/sap/ui/base/Metadata.js +1 -1
  63. package/src/sap/ui/base/Object.js +1 -1
  64. package/src/sap/ui/base/ObjectPool.js +1 -1
  65. package/src/sap/ui/core/.library +1 -1
  66. package/src/sap/ui/core/BusyIndicator.js +1 -1
  67. package/src/sap/ui/core/Component.js +27 -8
  68. package/src/sap/ui/core/ComponentContainer.js +3 -3
  69. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  70. package/src/sap/ui/core/ComponentSupport.js +1 -1
  71. package/src/sap/ui/core/Configuration.js +9 -7
  72. package/src/sap/ui/core/Control.js +1 -1
  73. package/src/sap/ui/core/Core.js +14 -68
  74. package/src/sap/ui/core/CustomData.js +1 -1
  75. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  76. package/src/sap/ui/core/Element.js +7 -3
  77. package/src/sap/ui/core/ElementMetadata.js +1 -1
  78. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  79. package/src/sap/ui/core/EventBus.js +1 -1
  80. package/src/sap/ui/core/Fragment.js +3 -3
  81. package/src/sap/ui/core/HTML.js +1 -1
  82. package/src/sap/ui/core/History.js +1 -1
  83. package/src/sap/ui/core/Icon.js +1 -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/Lib.js +59 -29
  93. package/src/sap/ui/core/ListItem.js +1 -1
  94. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  95. package/src/sap/ui/core/Locale.js +1 -1
  96. package/src/sap/ui/core/LocaleData.js +1 -1
  97. package/src/sap/ui/core/Manifest.js +1 -1
  98. package/src/sap/ui/core/Message.js +1 -1
  99. package/src/sap/ui/core/RenderManager.js +1 -1
  100. package/src/sap/ui/core/Renderer.js +1 -1
  101. package/src/sap/ui/core/ResizeHandler.js +1 -1
  102. package/src/sap/ui/core/ScrollBar.js +1 -1
  103. package/src/sap/ui/core/SeparatorItem.js +1 -1
  104. package/src/sap/ui/core/Title.js +1 -1
  105. package/src/sap/ui/core/TooltipBase.js +1 -1
  106. package/src/sap/ui/core/UIArea.js +5 -1
  107. package/src/sap/ui/core/UIComponent.js +1 -1
  108. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  109. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  110. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  111. package/src/sap/ui/core/XMLComposite.js +1 -1
  112. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  113. package/src/sap/ui/core/date/Islamic.js +4 -4
  114. package/src/sap/ui/core/date/UI5Date.js +1 -1
  115. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  116. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  117. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  118. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  119. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  120. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  121. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  122. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  123. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  124. package/src/sap/ui/core/library.js +3 -3
  125. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  126. package/src/sap/ui/core/message/Message.js +1 -1
  127. package/src/sap/ui/core/message/MessageManager.js +1 -1
  128. package/src/sap/ui/core/message/MessageParser.js +1 -1
  129. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  130. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  131. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  132. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  133. package/src/sap/ui/core/mvc/JSView.js +1 -1
  134. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  135. package/src/sap/ui/core/mvc/View.js +2 -2
  136. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  137. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  138. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  139. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  140. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  141. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  142. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
  143. package/src/sap/ui/core/search/SearchProvider.js +2 -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 +1 -1
  148. package/src/sap/ui/core/support/Support.js +1 -1
  149. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  150. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  151. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  153. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  154. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  156. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  157. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  158. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  159. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  160. package/src/sap/ui/core/tmpl/Template.js +1 -1
  161. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  162. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  163. package/src/sap/ui/core/util/Export.js +1 -1
  164. package/src/sap/ui/core/util/ExportCell.js +1 -1
  165. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  166. package/src/sap/ui/core/util/ExportRow.js +1 -1
  167. package/src/sap/ui/core/util/ExportType.js +1 -1
  168. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  169. package/src/sap/ui/core/util/File.js +1 -1
  170. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  171. package/src/sap/ui/core/util/MockServer.js +1 -1
  172. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  173. package/src/sap/ui/core/util/_LocalizationHelper.js +122 -0
  174. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  175. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  176. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  177. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  178. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  179. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  180. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  181. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  182. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  183. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  184. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  185. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  186. package/src/sap/ui/debug/ControlTree.js +1 -1
  187. package/src/sap/ui/debug/DebugEnv.js +1 -1
  188. package/src/sap/ui/debug/PropertyList.js +1 -1
  189. package/src/sap/ui/model/ClientListBinding.js +6 -3
  190. package/src/sap/ui/model/ClientModel.js +1 -1
  191. package/src/sap/ui/model/ClientTreeBinding.js +6 -3
  192. package/src/sap/ui/model/CompositeDataState.js +1 -1
  193. package/src/sap/ui/model/CompositeType.js +1 -1
  194. package/src/sap/ui/model/DataState.js +1 -1
  195. package/src/sap/ui/model/FilterProcessor.js +17 -17
  196. package/src/sap/ui/model/MetaModel.js +1 -1
  197. package/src/sap/ui/model/Model.js +10 -8
  198. package/src/sap/ui/model/SelectionModel.js +1 -1
  199. package/src/sap/ui/model/SimpleType.js +1 -1
  200. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  201. package/src/sap/ui/model/Type.js +1 -1
  202. package/src/sap/ui/model/json/JSONModel.js +1 -1
  203. package/src/sap/ui/model/message/MessageModel.js +1 -1
  204. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  205. package/src/sap/ui/model/odata/ODataListBinding.js +5 -2
  206. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  207. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  208. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  209. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  210. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  211. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  212. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  213. package/src/sap/ui/model/odata/type/Date.js +1 -1
  214. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  215. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  216. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  217. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  218. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  219. package/src/sap/ui/model/odata/type/Double.js +1 -1
  220. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  221. package/src/sap/ui/model/odata/type/Int.js +1 -1
  222. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  223. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  224. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  225. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  226. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  227. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  228. package/src/sap/ui/model/odata/type/Single.js +1 -1
  229. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  230. package/src/sap/ui/model/odata/type/String.js +1 -1
  231. package/src/sap/ui/model/odata/type/Time.js +1 -1
  232. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  233. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  234. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  235. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  236. package/src/sap/ui/model/odata/v2/ODataListBinding.js +5 -2
  237. package/src/sap/ui/model/odata/v2/ODataModel.js +6 -55
  238. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -3
  239. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  240. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
  241. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  242. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  243. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
  244. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  245. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  246. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  247. package/src/sap/ui/model/type/Boolean.js +1 -1
  248. package/src/sap/ui/model/type/Currency.js +1 -1
  249. package/src/sap/ui/model/type/Date.js +1 -1
  250. package/src/sap/ui/model/type/DateInterval.js +1 -1
  251. package/src/sap/ui/model/type/DateTime.js +1 -1
  252. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  253. package/src/sap/ui/model/type/FileSize.js +1 -1
  254. package/src/sap/ui/model/type/Float.js +1 -1
  255. package/src/sap/ui/model/type/Integer.js +1 -1
  256. package/src/sap/ui/model/type/String.js +1 -1
  257. package/src/sap/ui/model/type/Time.js +1 -1
  258. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  259. package/src/sap/ui/model/type/Unit.js +1 -1
  260. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  261. package/src/sap/ui/performance/trace/Interaction.js +20 -16
  262. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  263. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  264. package/src/sap/ui/test/actions/EnterText.js +4 -0
  265. package/src/sap/ui/test/generic/TestBase.js +1 -1
  266. package/src/sap/ui/util/Storage.js +1 -1
  267. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
  268. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
  269. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
  270. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
  271. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
  272. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
  273. package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
  274. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
  275. package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
  276. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
  277. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
  278. package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
  279. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
  280. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
  281. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
  282. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
  283. package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
  284. package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
  285. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
  287. package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
  288. package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
  289. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
  291. package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
  292. package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
  293. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
  295. package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
  296. package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
  297. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
  299. package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
  300. package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
  301. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
  303. package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
  304. package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
  305. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  306. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
  307. package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
  308. package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
  309. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  310. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
  311. package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
  312. package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
  313. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  314. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
  315. package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
  316. package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
  317. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  318. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
  319. package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
  320. package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
  321. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  322. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
  323. package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
  324. package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
  325. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  326. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
  327. package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
  328. package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
  329. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  330. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
  331. package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
  332. package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
  333. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  334. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
  335. package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
  336. package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
  337. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  338. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
  339. package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
  340. package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
  341. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  342. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
  343. package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
  344. package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
  345. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  346. package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
  347. package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
  348. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  349. package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
  350. package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
  351. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  352. package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
  353. package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
  354. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  355. package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
  356. package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
  357. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  358. package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
  359. package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
  360. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  361. package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
  362. package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
  363. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  364. package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
  365. package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
  366. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  367. package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
  368. package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
  369. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  370. package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
  371. package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
  372. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  373. package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
  374. package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
  375. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  376. package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
  377. package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
  378. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
  380. package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
  381. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  382. package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
  383. package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
  384. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  385. package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
  386. package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
  387. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  388. package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
  389. package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
  390. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
  392. package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
  393. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  394. package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
  395. package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
  396. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  397. package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
  398. package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
  399. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  400. package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
  401. package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
  402. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  403. package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
  404. package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
  405. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  406. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
  407. package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
  408. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  409. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
  410. package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
  411. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  412. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
  413. package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
  414. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  415. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
  416. package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
  417. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  418. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
  419. package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
  420. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  421. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
  422. package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
  423. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  424. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
  425. package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
  426. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
  428. package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
  429. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  430. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
  431. package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
  432. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  433. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
  434. package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
  435. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  436. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
  437. package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
  438. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  439. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
  440. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
  441. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  442. package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
  443. package/test/sap/ui/core/qunit/Lib.qunit.js +42 -0
  444. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +86 -3
  445. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +19 -0
  446. package/test/sap/ui/core/qunit/component/Component.qunit.js +26 -3
  447. package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +4 -4
  448. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -2
  449. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -2
  450. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +46 -18
  451. package/test/sap/ui/core/qunit/model/Model.qunit.js +43 -2
  452. package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
  453. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
  454. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +16 -16
  455. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +2 -11
  456. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +17 -17
  457. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
  458. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
  459. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
  460. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +37 -0
  461. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +15 -0
  462. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
  463. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
  464. package/test/sap/ui/core/relnotes/changes-1.120.json +82 -0
@@ -0,0 +1,122 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/base/Event",
9
+ "sap/base/Log",
10
+ "sap/base/i18n/Formatting",
11
+ "sap/base/i18n/Localization",
12
+ "sap/ui/thirdparty/jquery"
13
+ ], (
14
+ BaseEvent,
15
+ Log,
16
+ Formatting,
17
+ Localization,
18
+ jQuery
19
+ ) => {
20
+ 'use strict';
21
+
22
+ const mRegistry = {};
23
+
24
+ function getObjectsToUpdate() {
25
+ let aObjectsToUpdate = [];
26
+ for (const fnGetObjects of Object.values(mRegistry)) {
27
+ aObjectsToUpdate = [...aObjectsToUpdate, ...Object.values(fnGetObjects())];
28
+ }
29
+ return aObjectsToUpdate;
30
+ }
31
+
32
+ function handleLocalizationChange(oEvent) {
33
+ let sEventId = "LocalizationChanged";
34
+ /**
35
+ * @deprecated As of Version 1.120
36
+ */
37
+ sEventId = "localizationChanged";
38
+
39
+ const mChanges = BaseEvent.getParameters(oEvent),
40
+ oBrowserEvent = jQuery.Event(sEventId, {changes : mChanges}),
41
+ aObjectsToUpdate = getObjectsToUpdate(),
42
+ bRTLChanged = mChanges.rtl !== undefined;
43
+
44
+ Log.info("localization settings changed: " + Object.keys(mChanges).join(","), null, "sap/ui/core/util/LocalizationHelper");
45
+
46
+ // special handling for changes of the RTL mode
47
+ if (bRTLChanged) {
48
+ // update the dir attribute of the document
49
+ document.documentElement.setAttribute("dir", mChanges.rtl ? "rtl" : "ltr");
50
+ Log.info("RTL mode " + mChanges.rtl ? "activated" : "deactivated");
51
+ }
52
+
53
+ /*
54
+ * phase 1: update the models
55
+ */
56
+ for (const oObject of aObjectsToUpdate) {
57
+ for (const sName in oObject.oModels) {
58
+ const oModel = oObject.oModels[sName];
59
+ oModel?._handleLocalizationChange?.();
60
+ }
61
+ }
62
+
63
+ /*
64
+ * phase 2: update bindings and types
65
+ */
66
+ for (const oObject of aObjectsToUpdate) {
67
+ for (const sName in oObject.mBindingInfos) {
68
+ const oBindingInfo = oObject.mBindingInfos[sName];
69
+ const aParts = oBindingInfo.parts;
70
+ if (aParts) {
71
+ // property or composite binding: visit all parts
72
+ for (let i = 0; i < aParts.length; i++) {
73
+ oBindingInfo.type?._handleLocalizationChange?.();
74
+ }
75
+ oBindingInfo.modelChangeHandler?.();
76
+ }
77
+ }
78
+ // invalidate all UIAreas if RTL changed
79
+ if (bRTLChanged && oObject.isA("sap.ui.core.UIArea")) {
80
+ oObject.invalidate();
81
+ }
82
+ // notify Elements via a pseudo browser event (onLocalizationChanged)
83
+ if (oObject.isA("sap.ui.core.Element")) {
84
+ oObject._handleEvent(oBrowserEvent);
85
+ }
86
+ }
87
+ }
88
+
89
+ Formatting.attachChange(handleLocalizationChange);
90
+ Localization.attachChange(handleLocalizationChange);
91
+
92
+ /**
93
+ * Update all localization dependent objects that this managed object can reach,
94
+ * except for its aggregated children (which will be updated by the Core).
95
+ *
96
+ * To make the update work as smooth as possible, it happens in two phases:
97
+ * <ol>
98
+ * <li>In phase 1 all known models are updated.</li>
99
+ * <li>In phase 2 all bindings are updated.</li>
100
+ * </ol>
101
+ * This separation is necessary as the models for the bindings might be updated
102
+ * in some ManagedObject or in the Core and the order in which the objects are visited
103
+ * is not defined.
104
+ *
105
+ * @private
106
+ * @ui5-restricted sap.ui.core
107
+ */
108
+ const _LocalizationHelper = {
109
+ init() {
110
+ const sDir = Localization.getRTL() ? "rtl" : "ltr";
111
+
112
+ // Set the document's dir property
113
+ document.documentElement.setAttribute("dir", sDir); // webkit does not allow setting document.dir before the body exists
114
+ Log.info("Content direction set to '" + sDir + "'", null, "sap/ui/core/util/_LocalizationHelper");
115
+ },
116
+ registerForUpdate(sType, fnGetObjects) {
117
+ mRegistry[sType] = fnGetObjects;
118
+ }
119
+ };
120
+
121
+ return _LocalizationHelper;
122
+ });
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.120.0
23
+ * @version 1.120.1
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.120.0
24
+ * @version 1.120.1
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.120.0
24
+ * @version 1.120.1
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.120.0
23
+ * @version 1.120.1
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.120.0
20
+ * @version 1.120.1
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.120.0
22
+ * @version 1.120.1
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.120.0
27
+ * @version 1.120.1
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -108,7 +108,7 @@ function(
108
108
  *
109
109
  * @extends sap.ui.core.Control
110
110
  * @author SAP SE
111
- * @version 1.120.0
111
+ * @version 1.120.1
112
112
  * @public
113
113
  * @since 1.118.0
114
114
  * @alias sap.ui.core.webc.WebComponent
@@ -23,7 +23,7 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.120.0
26
+ * @version 1.120.1
27
27
  * @since 1.118.0
28
28
  * @experimental Since 1.118.0 The API might change. It is not intended for productive usage yet!
29
29
  * @alias sap.ui.core.webc.WebComponentMetadata
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.120.0
15
+ * @version 1.120.1
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.120.0
24
+ * @version 1.120.1
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.120.0
28
+ * @version 1.120.1
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -34,7 +34,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
34
34
  * @class Control Tree used for the Debug Environment
35
35
  * @extends sap.ui.base.EventProvider
36
36
  * @author Martin Schaus, Frank Weigel
37
- * @version 1.120.0
37
+ * @version 1.120.1
38
38
  * @alias sap.ui.debug.ControlTree
39
39
  * @private
40
40
  */
@@ -37,7 +37,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', [
37
37
  * @class Central Class for the Debug Environment
38
38
  *
39
39
  * @author Martin Schaus, Frank Weigel
40
- * @version 1.120.0
40
+ * @version 1.120.1
41
41
  * @private
42
42
  * @alias sap.ui.debug.DebugEnv
43
43
  * @deprecated As of Version 1.120
@@ -32,7 +32,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
32
32
  *
33
33
  * @extends sap.ui.base.EventProvider
34
34
  * @author Martin Schaus
35
- * @version 1.120.0
35
+ * @version 1.120.1
36
36
  *
37
37
  * @param {sap.ui.core.Core}
38
38
  * oCore Core instance of the app; version might differ!
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  ListBinding.apply(this, arguments);
48
48
 
49
49
  this.mNormalizeCache = {};
50
- this.oModel.checkFilterOperation(this.aApplicationFilters);
50
+ this.oModel.checkFilter(this.aApplicationFilters);
51
51
  this.oCombinedFilter = FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
52
52
  this.bIgnoreSuspend = false;
53
53
  // the serialized context data for the contexts returned by the last call of getContexts
@@ -324,11 +324,14 @@ sap.ui.define([
324
324
  * be adjusted; if no type is given, then any previously configured application filters are
325
325
  * cleared and the given filters are used as control filters
326
326
  * @returns {this} returns <code>this</code> to facilitate method chaining
327
- * @throws {Error} When one of the filters uses an operator that is not supported by the underlying model implementation
327
+ * @throws {Error} If one of the filters uses an operator that is not supported by the underlying model
328
+ * implementation or if the {@link sap.ui.model.Filter.NONE} filter instance is contained in
329
+ * <code>aFilters</code> together with other filters
330
+ *
328
331
  * @public
329
332
  */
330
333
  ClientListBinding.prototype.filter = function(aFilters, sFilterType){
331
- this.oModel.checkFilterOperation(aFilters);
334
+ this.oModel.checkFilter(aFilters);
332
335
 
333
336
  if (this.bSuspended) {
334
337
  this.checkUpdate(true);
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.120.0
32
+ * @version 1.120.1
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  this.mNormalizeCache = {};
61
61
 
62
62
  if (aApplicationFilters) {
63
- this.oModel.checkFilterOperation(aApplicationFilters);
63
+ this.oModel.checkFilter(aApplicationFilters);
64
64
 
65
65
  if (this.oModel._getObject(this.sPath, this.oContext)) {
66
66
  this.filter(aApplicationFilters, FilterType.Application);
@@ -269,7 +269,10 @@ sap.ui.define([
269
269
  * is given, any previously configured application filters are cleared, and the given filters
270
270
  * are used as control filters
271
271
  * @return {this} <code>this</code> to facilitate method chaining
272
- * @throws {Error} When one of the filters uses an operator that is not supported by the underlying model implementation
272
+ * @throws {Error} If one of the filters uses an operator that is not supported by the underlying model
273
+ * implementation or if the {@link sap.ui.model.Filter.NONE} filter instance is contained in
274
+ * <code>aFilters</code> together with other filters
275
+ *
273
276
  * @public
274
277
  */
275
278
  ClientTreeBinding.prototype.filter = function(aFilters, sFilterType){
@@ -281,7 +284,7 @@ sap.ui.define([
281
284
  }
282
285
 
283
286
  // check filter integrity
284
- this.oModel.checkFilterOperation(aFilters);
287
+ this.oModel.checkFilter(aFilters);
285
288
 
286
289
  if (sFilterType == FilterType.Application) {
287
290
  this.aApplicationFilters = aFilters || [];
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.120.0
17
+ * @version 1.120.1
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.120.0
42
+ * @version 1.120.1
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.120.0
68
+ * @version 1.120.1
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -23,8 +23,11 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
23
23
  * Groups filters according to their path and combines filters on the same path using "OR" and filters on
24
24
  * different paths using "AND", all multi-filters contained are ANDed.
25
25
  *
26
- * @param {sap.ui.model.Filter[]} aFilters the filters to be grouped
27
- * @return {sap.ui.model.Filter} Single Filter containing all filters of the array combined or undefined
26
+ * @param {sap.ui.model.Filter[]} [aFilters] The filters to be grouped
27
+ * @return {sap.ui.model.Filter|undefined} A single filter containing all filters of the array combined or
28
+ * <code>undefined</code> if no filters are given
29
+ * @throws {Error} If the {@link sap.ui.model.Filter.NONE} is contained in <code>aFilters</code> together
30
+ * with other filters
28
31
  * @public
29
32
  * @since 1.71
30
33
  * @static
@@ -49,11 +52,9 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
49
52
  if (aFilters.length === 1) {
50
53
  return aFilters[0];
51
54
  }
55
+ Filter.checkFilterNone(aFilters);
52
56
  // Collect filters on same path, make sure to keep order as before for compatibility with tests
53
- if (aFilters.some(function(oFilter) {
54
- if (oFilter === Filter.NONE) {
55
- return true;
56
- }
57
+ aFilters.forEach(function(oFilter) {
57
58
  if (oFilter.aFilters || oFilter.sVariable) { // multi/lambda filter
58
59
  sCurPath = "__multiFilter";
59
60
  } else {
@@ -63,11 +64,7 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
63
64
  mSamePath[sCurPath] = [];
64
65
  }
65
66
  mSamePath[sCurPath].push(oFilter);
66
-
67
- return false;
68
- })) {
69
- return Filter.NONE;
70
- }
67
+ });
71
68
  // Create ORed multifilters for all filter groups
72
69
  for (var sPath in mSamePath) {
73
70
  aResult.push(getFilter(mSamePath[sPath], sPath === "__multiFilter")); // multi filters are ANDed
@@ -79,9 +76,13 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
79
76
  /**
80
77
  * Combines control filters and application filters using AND and returns the resulting filter
81
78
  *
82
- * @param {sap.ui.model.Filter[]} aFilters control filters
83
- * @param {sap.ui.model.Filter[]} aApplicationFilters application filters
84
- * @return {sap.ui.model.Filter} Single Filter containing all filters of the array combined or undefined
79
+ * @param {sap.ui.model.Filter[]} [aFilters] The control filters
80
+ * @param {sap.ui.model.Filter[]} [aApplicationFilters] The application filters
81
+ * @return {sap.ui.model.Filter|undefined} A single filter containing all filters of the array combined or
82
+ * <code>undefined</code> if no filters are given
83
+ * @throws {Error} If the {@link sap.ui.model.Filter.NONE} is contained in <code>aFilters</code> or
84
+ * <code>aApplicationFilters</code> together with other filters; if {@link sap.ui.model.Filter.NONE} is combined
85
+ * with another filter, see {@link sap.ui.model.Filter}
85
86
  * @private
86
87
  * @since 1.58
87
88
  * @static
@@ -91,9 +92,6 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
91
92
 
92
93
  oGroupedFilter = this.groupFilters(aFilters);
93
94
  oGroupedApplicationFilter = this.groupFilters(aApplicationFilters);
94
- if (oGroupedFilter === Filter.NONE || oGroupedApplicationFilter === Filter.NONE) {
95
- return Filter.NONE;
96
- }
97
95
 
98
96
  if (oGroupedFilter) {
99
97
  aCombinedFilters.push(oGroupedFilter);
@@ -119,6 +117,8 @@ sap.ui.define(['./Filter', 'sap/base/Log'],
119
117
  * @param {function} fnGetValue the method to get the actual value to filter on
120
118
  * @param {object} [mNormalizeCache] cache for normalized filter values
121
119
  * @return {array} a new array instance containing the filtered data set
120
+ * @throws {Error} If the {@link sap.ui.model.Filter.NONE} is contained in <code>vFilters</code> together
121
+ * with other filters
122
122
  * @private
123
123
  * @static
124
124
  */
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.120.0
19
+ * @version 1.120.1
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.message.MessageProcessor
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.120.0
54
+ * @version 1.120.1
55
55
  *
56
56
  * @public
57
57
  * @alias sap.ui.model.Model
@@ -1164,12 +1164,14 @@ sap.ui.define([
1164
1164
  * Single filter or an array of filter instances
1165
1165
  * @throws {Error}
1166
1166
  * If at least one filter uses an <code>sap.ui.model.FilterOperator</code> that is not
1167
- * supported by the related model instance
1167
+ * supported by the related model instance or if the {@link sap.ui.model.Filter.NONE} filter instance is contained
1168
+ * in <code>vFilters</code> together with other filters
1168
1169
  * @private
1169
1170
  * @ui5-restricted sap.ui.model
1170
1171
  */
1171
- Model.prototype.checkFilterOperation = function(vFilters) {
1172
- _traverseFilter(vFilters, function (oFilter) {
1172
+ Model.prototype.checkFilter = function(vFilters) {
1173
+ Filter.checkFilterNone(vFilters);
1174
+ Model._traverseFilter(vFilters, function (oFilter) {
1173
1175
  if (this.mUnsupportedFilterOperators[oFilter.sOperator]) {
1174
1176
  throw new Error("Filter instances contain an unsupported FilterOperator: " + oFilter.sOperator);
1175
1177
  }
@@ -1204,7 +1206,7 @@ sap.ui.define([
1204
1206
  * Check function which is called for each filter instance in the tree
1205
1207
  * @private
1206
1208
  */
1207
- function _traverseFilter (vFilters, fnCheck) {
1209
+ Model._traverseFilter = function(vFilters, fnCheck) {
1208
1210
  vFilters = vFilters || [];
1209
1211
 
1210
1212
  if (vFilters instanceof Filter) {
@@ -1218,12 +1220,12 @@ sap.ui.define([
1218
1220
  fnCheck(oFilter);
1219
1221
 
1220
1222
  // check subfilter for lambda expressions (e.g. Any, All, ...)
1221
- _traverseFilter(oFilter.oCondition, fnCheck);
1223
+ Model._traverseFilter(oFilter.oCondition, fnCheck);
1222
1224
 
1223
1225
  // check multi filter if necessary
1224
- _traverseFilter(oFilter.aFilters, fnCheck);
1226
+ Model._traverseFilter(oFilter.aFilters, fnCheck);
1225
1227
  }
1226
- }
1228
+ };
1227
1229
 
1228
1230
  /**
1229
1231
  * Introduces data binding support on the ManagedObject prototype via mixin.
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.120.0
23
+ * @version 1.120.1
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.120.0
49
+ * @version 1.120.1
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.120.0
15
+ * @version 1.120.1
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.120.0
22
+ * @version 1.120.1
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @extends sap.ui.model.ClientModel
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.120.0
51
+ * @version 1.120.1
52
52
  * @public
53
53
  * @alias sap.ui.model.json.JSONModel
54
54
  */
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.120.0
32
+ * @version 1.120.1
33
33
  *
34
34
  * @public
35
35
  * @alias sap.ui.model.message.MessageModel
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @author SAP SE
29
29
  * @version
30
- * 1.120.0
30
+ * 1.120.1
31
31
  *
32
32
  * @public
33
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  this.oCombinedFilter = null;
70
70
 
71
71
  // check filter integrity
72
- this.oModel.checkFilterOperation(this.aApplicationFilters);
72
+ this.oModel.checkFilter(this.aApplicationFilters);
73
73
 
74
74
  // load the entity type for the collection only once and not e.g. every time when filtering
75
75
  if (!this.oModel.getServiceMetadata()) {
@@ -873,6 +873,9 @@ sap.ui.define([
873
873
  * depending on whether the filtering has been done
874
874
  * @return {this}
875
875
  * Returns <code>this</code> to facilitate method chaining or the success state
876
+ * @throws {Error} If one of the filters uses an operator that is not supported by the underlying model
877
+ * implementation or if the {@link sap.ui.model.Filter.NONE} filter instance is contained in
878
+ * <code>aFilters</code> together with other filters
876
879
  *
877
880
  * @public
878
881
  */
@@ -889,7 +892,7 @@ sap.ui.define([
889
892
  }
890
893
 
891
894
  // check filter integrity
892
- this.oModel.checkFilterOperation(aFilters);
895
+ this.oModel.checkFilter(aFilters);
893
896
 
894
897
  if (sFilterType == FilterType.Application) {
895
898
  this.aApplicationFilters = aFilters;
@@ -85,7 +85,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
85
85
  * @extends sap.ui.core.message.MessageParser
86
86
  *
87
87
  * @author SAP SE
88
- * @version 1.120.0
88
+ * @version 1.120.1
89
89
  * @public
90
90
  * @alias sap.ui.model.odata.ODataMessageParser
91
91
  */
@@ -881,7 +881,7 @@ sap.ui.define([
881
881
  * {@link #loaded loaded} has been resolved!
882
882
  *
883
883
  * @author SAP SE
884
- * @version 1.120.0
884
+ * @version 1.120.1
885
885
  * @alias sap.ui.model.odata.ODataMetaModel
886
886
  * @extends sap.ui.model.MetaModel
887
887
  * @public
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * Implementation to access OData metadata
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.120.0
52
+ * @version 1.120.1
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.odata.ODataMetadata
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  *
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.120.0
81
+ * @version 1.120.1
82
82
  *
83
83
  * @public
84
84
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.