@openui5/sap.ui.core 1.93.3 → 1.96.2

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 (416) hide show
  1. package/.eslintrc.json +13 -2
  2. package/.reuse/dep5 +6 -11
  3. package/THIRDPARTY.txt +10 -16
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +5 -2
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/jquery.sap.stubs.js +2 -1
  11. package/src/jquery.sap.trace.js +2 -1
  12. package/src/sap/base/i18n/ResourceBundle.js +6 -2
  13. package/src/sap/base/strings/whitespaceReplacer.js +52 -0
  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 +37 -42
  56. package/src/sap/ui/Global.js +8 -7
  57. package/src/sap/ui/base/DataType.js +14 -8
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/ExpressionParser.js +9 -6
  61. package/src/sap/ui/base/Interface.js +3 -49
  62. package/src/sap/ui/base/ManagedObject.js +12 -7
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +49 -4
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/base/syncXHRFix.js +2 -1
  68. package/src/sap/ui/core/.library +5 -5
  69. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  70. package/src/sap/ui/core/BusyIndicator.js +1 -11
  71. package/src/sap/ui/core/Component.js +300 -140
  72. package/src/sap/ui/core/ComponentContainer.js +24 -8
  73. package/src/sap/ui/core/ComponentMetadata.js +14 -3
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +67 -31
  76. package/src/sap/ui/core/Control.js +1 -1
  77. package/src/sap/ui/core/Core.js +103 -25
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
  80. package/src/sap/ui/core/DeclarativeSupport.js +3 -2
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +4 -2
  83. package/src/sap/ui/core/EnabledPropagator.js +91 -73
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +7 -14
  86. package/src/sap/ui/core/Fragment.js +30 -32
  87. package/src/sap/ui/core/HTML.js +1 -1
  88. package/src/sap/ui/core/History.js +1 -1
  89. package/src/sap/ui/core/Icon.js +7 -8
  90. package/src/sap/ui/core/IconPool.js +26 -1097
  91. package/src/sap/ui/core/IconRenderer.js +6 -6
  92. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  93. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  94. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  95. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  96. package/src/sap/ui/core/InvisibleText.js +1 -1
  97. package/src/sap/ui/core/Item.js +1 -1
  98. package/src/sap/ui/core/LabelEnablement.js +1 -1
  99. package/src/sap/ui/core/LayoutData.js +1 -1
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +26 -4
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +4 -61
  105. package/src/sap/ui/core/Message.js +1 -1
  106. package/src/sap/ui/core/Patcher.js +27 -3
  107. package/src/sap/ui/core/Placeholder.js +28 -15
  108. package/src/sap/ui/core/RenderManager.js +36 -6
  109. package/src/sap/ui/core/Renderer.js +13 -3
  110. package/src/sap/ui/core/ResizeHandler.js +1 -1
  111. package/src/sap/ui/core/ScrollBar.js +2 -2
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  114. package/src/sap/ui/core/Title.js +1 -1
  115. package/src/sap/ui/core/TooltipBase.js +1 -1
  116. package/src/sap/ui/core/UIArea.js +1 -1
  117. package/src/sap/ui/core/UIComponent.js +42 -16
  118. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  119. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  120. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  121. package/src/sap/ui/core/XMLComposite.js +2 -2
  122. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  123. package/src/sap/ui/core/XMLTemplateProcessor.js +116 -41
  124. package/src/sap/ui/core/_IconRegistry.js +1148 -0
  125. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  126. package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  129. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  131. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
  133. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
  134. package/src/sap/ui/core/library.js +3 -3
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +13 -15
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  140. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  141. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  145. package/src/sap/ui/core/mvc/Controller.js +38 -19
  146. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  147. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  148. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  149. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  150. package/src/sap/ui/core/mvc/JSView.js +2 -2
  151. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  152. package/src/sap/ui/core/mvc/View.js +58 -85
  153. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  154. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  155. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  157. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  158. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  159. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  160. package/src/sap/ui/core/routing/History.js +10 -2
  161. package/src/sap/ui/core/routing/Router.js +8 -1
  162. package/src/sap/ui/core/routing/Target.js +13 -0
  163. package/src/sap/ui/core/routing/Targets.js +13 -2
  164. package/src/sap/ui/core/routing/async/Route.js +1 -1
  165. package/src/sap/ui/core/routing/async/Target.js +353 -259
  166. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  167. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  168. package/src/sap/ui/core/service/Service.js +1 -1
  169. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  170. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  171. package/src/sap/ui/core/support/BootSupportTool.js +11 -0
  172. package/src/sap/ui/core/support/InteractionTree.css +4 -0
  173. package/src/sap/ui/core/support/Plugin.js +1 -1
  174. package/src/sap/ui/core/support/Support.js +1 -1
  175. package/src/sap/ui/core/support/ViewInfo.css +599 -0
  176. package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
  177. package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
  178. package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
  179. package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
  180. package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
  181. package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
  182. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  183. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  184. package/src/sap/ui/core/support/plugins/Performance.js +147 -75
  185. package/src/sap/ui/core/support/plugins/Selector.js +19 -24
  186. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
  187. package/src/sap/ui/core/support/plugins/Trace.js +95 -32
  188. package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
  189. package/src/sap/ui/core/support/support.css +109 -14
  190. package/src/sap/ui/core/support/support.html +6 -2
  191. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  192. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
  193. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  194. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  195. package/src/sap/ui/core/theming/Parameters.js +6 -4
  196. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  197. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  198. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  199. package/src/sap/ui/core/tmpl/Template.js +10 -28
  200. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
  201. package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
  202. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  203. package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
  204. package/src/sap/ui/core/util/Export.js +1 -1
  205. package/src/sap/ui/core/util/ExportCell.js +1 -1
  206. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  207. package/src/sap/ui/core/util/ExportRow.js +1 -1
  208. package/src/sap/ui/core/util/ExportType.js +1 -1
  209. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  210. package/src/sap/ui/core/util/File.js +1 -1
  211. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  212. package/src/sap/ui/core/util/MockServer.js +5 -5
  213. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
  214. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  215. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  216. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
  217. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
  218. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
  219. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  220. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  221. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  222. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  223. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  224. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  225. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  226. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  227. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  228. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  229. package/src/sap/ui/debug/ControlTree.js +10 -4
  230. package/src/sap/ui/debug/DebugEnv.js +3 -4
  231. package/src/sap/ui/debug/Highlighter.js +8 -2
  232. package/src/sap/ui/debug/PropertyList.css +55 -0
  233. package/src/sap/ui/debug/PropertyList.js +111 -182
  234. package/src/sap/ui/model/Binding.js +174 -118
  235. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  236. package/src/sap/ui/model/ClientListBinding.js +1 -3
  237. package/src/sap/ui/model/ClientModel.js +4 -4
  238. package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
  239. package/src/sap/ui/model/ClientTreeBinding.js +15 -9
  240. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  241. package/src/sap/ui/model/CompositeBinding.js +98 -77
  242. package/src/sap/ui/model/CompositeDataState.js +2 -2
  243. package/src/sap/ui/model/CompositeType.js +2 -2
  244. package/src/sap/ui/model/Context.js +4 -2
  245. package/src/sap/ui/model/ContextBinding.js +6 -14
  246. package/src/sap/ui/model/DataState.js +2 -2
  247. package/src/sap/ui/model/Filter.js +255 -53
  248. package/src/sap/ui/model/FilterOperator.js +1 -1
  249. package/src/sap/ui/model/FilterProcessor.js +27 -17
  250. package/src/sap/ui/model/FilterType.js +1 -1
  251. package/src/sap/ui/model/ListBinding.js +180 -117
  252. package/src/sap/ui/model/MetaModel.js +4 -9
  253. package/src/sap/ui/model/Model.js +345 -294
  254. package/src/sap/ui/model/PropertyBinding.js +92 -58
  255. package/src/sap/ui/model/SelectionModel.js +2 -2
  256. package/src/sap/ui/model/SimpleType.js +2 -2
  257. package/src/sap/ui/model/Sorter.js +1 -1
  258. package/src/sap/ui/model/SorterProcessor.js +1 -1
  259. package/src/sap/ui/model/StaticBinding.js +1 -1
  260. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  261. package/src/sap/ui/model/TreeBinding.js +1 -1
  262. package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
  263. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  264. package/src/sap/ui/model/TreeBindingUtils.js +1 -0
  265. package/src/sap/ui/model/Type.js +1 -1
  266. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
  267. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  268. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  269. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  270. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  271. package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
  272. package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
  273. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  274. package/src/sap/ui/model/json/JSONModel.js +24 -15
  275. package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
  276. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  277. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  278. package/src/sap/ui/model/message/MessageModel.js +23 -15
  279. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  280. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  281. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  282. package/src/sap/ui/model/odata/CountMode.js +1 -1
  283. package/src/sap/ui/model/odata/Filter.js +1 -1
  284. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  285. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  286. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  287. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  288. package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
  289. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  290. package/src/sap/ui/model/odata/ODataModel.js +8 -7
  291. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  292. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  293. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  294. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
  295. package/src/sap/ui/model/odata/ODataUtils.js +13 -11
  296. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  297. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  298. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  299. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  300. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  301. package/src/sap/ui/model/odata/type/Date.js +1 -1
  302. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  303. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  304. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  305. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  306. package/src/sap/ui/model/odata/type/Double.js +1 -1
  307. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  308. package/src/sap/ui/model/odata/type/Int.js +1 -1
  309. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  310. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  311. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  312. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  313. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  314. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  315. package/src/sap/ui/model/odata/type/Single.js +1 -1
  316. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  317. package/src/sap/ui/model/odata/type/String.js +1 -1
  318. package/src/sap/ui/model/odata/type/Time.js +1 -1
  319. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  320. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  321. package/src/sap/ui/model/odata/v2/Context.js +81 -9
  322. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
  323. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
  324. package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
  325. package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
  326. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
  327. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
  328. package/src/sap/ui/model/odata/v4/Context.js +6 -3
  329. package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
  330. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
  331. package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
  332. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
  333. package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
  334. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
  335. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
  336. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
  337. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
  338. package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
  339. package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
  340. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
  341. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
  342. package/src/sap/ui/model/resource/ResourceModel.js +6 -2
  343. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  344. package/src/sap/ui/model/type/Boolean.js +2 -2
  345. package/src/sap/ui/model/type/Currency.js +2 -2
  346. package/src/sap/ui/model/type/Date.js +9 -3
  347. package/src/sap/ui/model/type/DateInterval.js +4 -2
  348. package/src/sap/ui/model/type/DateTime.js +2 -2
  349. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  350. package/src/sap/ui/model/type/FileSize.js +4 -2
  351. package/src/sap/ui/model/type/Float.js +4 -2
  352. package/src/sap/ui/model/type/Integer.js +4 -2
  353. package/src/sap/ui/model/type/String.js +2 -2
  354. package/src/sap/ui/model/type/Time.js +2 -2
  355. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  356. package/src/sap/ui/model/type/Unit.js +14 -7
  357. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  358. package/src/sap/ui/model/xml/XMLModel.js +70 -41
  359. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
  360. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  361. package/src/sap/ui/performance/trace/Interaction.js +30 -15
  362. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  363. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  364. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  365. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  366. package/src/sap/ui/test/TestUtils.js +11 -4
  367. package/src/sap/ui/test/actions/Drag.js +6 -2
  368. package/src/sap/ui/test/actions/Drop.js +6 -2
  369. package/src/sap/ui/test/actions/EnterText.js +6 -0
  370. package/src/sap/ui/test/actions/Press.js +6 -0
  371. package/src/sap/ui/test/actions/Scroll.js +6 -0
  372. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
  373. package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
  374. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  375. package/src/sap/ui/test/opaQunit.js +5 -0
  376. package/src/sap/ui/thirdparty/crossroads.js +6 -4
  377. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  378. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  379. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  380. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  381. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  382. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  383. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  384. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  385. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  386. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  387. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  388. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  389. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  390. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  391. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  392. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  393. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  394. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  395. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  396. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  397. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  398. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  399. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  400. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  401. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  402. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  403. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  404. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  405. package/src/sap/ui/thirdparty/jquery.js +9 -1
  406. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  407. package/src/sap/ui/thirdparty/qunit.js +1 -1
  408. package/src/sap/ui/util/Mobile.js +2 -20
  409. package/src/sap/ui/util/Storage.js +1 -1
  410. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  411. package/src/sap-ui-core-nojQuery.js +1 -1
  412. package/src/sap-ui-core.js +1 -1
  413. package/src/sap-ui-debug.js +3 -17
  414. package/ui5.yaml +5 -2
  415. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  416. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
@@ -4,10 +4,10 @@
4
4
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
5
5
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
6
  */
7
-
7
+ /*eslint-disable max-len */
8
8
  // Provides an abstraction for list bindings
9
- sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
10
- function(Binding, Filter, Sorter, diff) {
9
+ sap.ui.define(['./Binding', './Filter', './FilterType', './Sorter', 'sap/base/util/array/diff'],
10
+ function(Binding, Filter, FilterType, Sorter, diff) {
11
11
  "use strict";
12
12
 
13
13
 
@@ -16,18 +16,23 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
16
16
  *
17
17
  * @abstract
18
18
  * @class
19
- * ListBinding is a specific binding for lists in the model, which can be used
20
- * to populate Tables or ItemLists.
21
- *
22
- * @param {sap.ui.model.Model} oModel Model instance that this binding belongs to
23
- * @param {string} sPath Binding path for this binding;
24
- * a relative path will be resolved relative to a given context
25
- * @param {sap.ui.model.Context} oContext Context to be used to resolve a relative path
26
- * @param {sap.ui.model.Sorter|sap.ui.model.Sorter[]} [aSorters] Initial sort order (can be either a sorter or an array of sorters)
27
- * @param {sap.ui.model.Filter|sap.ui.model.Filter[]} [aFilters] Predefined filter/s (can be either a filter or an array of filters)
28
- * @param {object} [mParameters] Additional, implementation-specific parameters that should be used
29
- * by the new list binding; this base class doesn't define any parameters, check the API reference
30
- * for the concrete model implementations to learn about their supported parameters (if any)
19
+ * ListBinding is a specific binding for lists in the model, which can be used to populate
20
+ * Tables or ItemLists.
21
+ *
22
+ * @param {sap.ui.model.Model} oModel
23
+ * Model instance that this binding belongs to
24
+ * @param {string} sPath
25
+ * Binding path for this binding; a relative path will be resolved relative to a given context
26
+ * @param {sap.ui.model.Context} oContext
27
+ * Context to be used to resolve a relative path
28
+ * @param {sap.ui.model.Sorter|sap.ui.model.Sorter[]} [aSorters]
29
+ * Initial sort order (can be either a sorter or an array of sorters)
30
+ * @param {sap.ui.model.Filter|sap.ui.model.Filter[]} [aFilters]
31
+ * Predefined filter/s (can be either a filter or an array of filters)
32
+ * @param {object} [mParameters]
33
+ * Additional, implementation-specific parameters that should be used by the new list binding;
34
+ * this base class doesn't define any parameters, check the API reference for the concrete
35
+ * model implementations to learn about their supported parameters (if any)
31
36
  *
32
37
  * @public
33
38
  * @alias sap.ui.model.ListBinding
@@ -69,31 +74,36 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
69
74
  * Returns an array of binding contexts for the bound target list.
70
75
  *
71
76
  * <h4>Extended Change Detection</h4>
72
- * If extended change detection is enabled using {@link sap.ui.model.ListBinding.prototype.enableExtendedChangeDetection},
73
- * the context array may carry an additional property named <code>diff</code>, which contains an array of actual changes
74
- * on the context array compared to the last call of <code>getContexts()</code>.
75
- * In case no <code>diff</code> property is available on the context array, the list is completely different and needs to
76
- * be recreated. In case the <code>diff</code> property contains an empty array, there have been no changes on the list.
77
+ * If extended change detection is enabled using
78
+ * {@link sap.ui.model.ListBinding.prototype.enableExtendedChangeDetection}, the context array
79
+ * may carry an additional property named <code>diff</code>, which contains an array of actual
80
+ * changes on the context array compared to the last call of <code>getContexts()</code>. In case
81
+ * no <code>diff</code> property is available on the context array, the list is completely
82
+ * different and needs to be recreated. In case the <code>diff</code> property contains an empty
83
+ * array, there have been no changes on the list.
77
84
  *
78
85
  * Sample diff array:
79
86
  * <code>[{index: 1, type: "delete"}, {index: 4, type: "insert}]</code>
80
87
  *
81
- * <strong>Note:</strong>The public usage of this method is deprecated, as calls from outside of controls will lead
82
- * to unexpected side effects. To avoid these side effect, use {@link sap.ui.model.ListBinding.prototype.getCurrentContexts}
83
- * instead.
88
+ * <strong>Note:</strong>The public usage of this method is deprecated, as calls from outside of
89
+ * controls will lead to unexpected side effects. To avoid these side effect, use
90
+ * {@link sap.ui.model.ListBinding.prototype.getCurrentContexts} instead.
84
91
  *
85
92
  * @function
86
93
  * @name sap.ui.model.ListBinding.prototype.getContexts
87
- * @param {int} [iStartIndex=0] the startIndex where to start the retrieval of contexts
88
- * @param {int} [iLength=length of the list] determines how many contexts to retrieve beginning from the start index.
94
+ * @param {int} [iStartIndex=0]
95
+ * The startIndex where to start the retrieval of contexts
96
+ * @param {int} [iLength=length of the list]
97
+ * Determines how many contexts to retrieve beginning from the start index.
89
98
  * @param {int} [iMaximumPrefetchSize]
90
99
  * The maximum number of contexts to read before and after the given range; with this,
91
100
  * controls can prefetch data that is likely to be needed soon, e.g. when scrolling down in a
92
- * table. This parameter is model-specific and not implemented by all models.
101
+ * table; this parameter is model-specific and not implemented by all models
93
102
  * @param {boolean} [bKeepCurrent]
94
103
  * Whether this call keeps the result of {@link #getCurrentContexts} untouched; since 1.86.0.
95
- * This parameter is model-specific and not implemented by all models.
96
- * @return {sap.ui.model.Context[]} the array of contexts for each row of the bound list
104
+ * This parameter is model-specific and not implemented by all models
105
+ * @return {sap.ui.model.Context[]}
106
+ * The array of contexts for each row of the bound list
97
107
  *
98
108
  * @protected
99
109
  */
@@ -106,27 +116,29 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
106
116
  *
107
117
  * <h4>Application and Control Filters</h4>
108
118
  * Each list binding maintains two separate lists of filters, one for filters defined by the
109
- * control that owns the binding and another list for filters that an application can define
110
- * in addition. When executing the filter operation, both sets of filters are combined.
119
+ * control that owns the binding, and another list for filters that an application can define in
120
+ * addition. When executing the filter operation, both sets of filters are combined.
111
121
  *
112
- * By using the second parameter <code>sFilterType</code> of method <code>filter</code>,
113
- * the caller can control which set of filters is modified. If no type is given, then the
122
+ * By using the <code>sFilterType</code> parameter of the <code>filter</code> method, the
123
+ * caller can control which set of filters is modified. If no type is given, then the
114
124
  * behavior depends on the model implementation and should be documented in the API reference
115
125
  * for that model.
116
126
  *
117
127
  * <h4>Auto-Grouping of Filters</h4>
118
- * Filters are first grouped according to their binding path.
119
- * All filters belonging to the same group are ORed and after that the
120
- * results of all groups are ANDed.
121
- * Usually this means, all filters applied to a single table column
122
- * are ORed, while filters on different table columns are ANDed.
123
- * Please either use the automatic grouping of filters (where applicable) or use explicit
124
- * AND/OR filters, a mixture of both is not supported.
125
- *
126
- * @param {sap.ui.model.Filter|sap.ui.model.Filter[]} aFilters Single filter object or an array of filter objects
127
- * @param {sap.ui.model.FilterType} [sFilterType=undefined] Type of the filter which should
128
- * be adjusted; if no type is given, the behavior depends on the model implementation
129
- * @return {this} returns <code>this</code> to facilitate method chaining
128
+ * Filters are first grouped according to their binding path. All filters belonging to the same
129
+ * path are ORed, and after that the results of all paths are ANDed. Usually this means that all
130
+ * filters applied to the same property are ORed, while filters on different properties are
131
+ * ANDed.
132
+ * Please use either the automatic grouping of filters (where applicable) or explicit
133
+ * AND/OR filters, as a mixture of both is not supported.
134
+ *
135
+ * @param {sap.ui.model.Filter|sap.ui.model.Filter[]} aFilters
136
+ * Single filter object or an array of filter objects
137
+ * @param {sap.ui.model.FilterType} [sFilterType=undefined]
138
+ * Type of the filter which should be adjusted; if no type is given, the behavior depends on
139
+ * the model implementation
140
+ * @return {this}
141
+ * Returns <code>this</code> to facilitate method chaining
130
142
  *
131
143
  * @function
132
144
  * @name sap.ui.model.ListBinding.prototype.filter
@@ -136,31 +148,33 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
136
148
  /**
137
149
  * Sorts the list according to the sorter object.
138
150
  *
139
- * Instead of a single sorter also an array of sorters can be passed to the sort method. In this case they
140
- * are processed in the sequence in which they are contained in the array.
151
+ * Instead of a single sorter also an array of sorters can be passed to the sort method. In this
152
+ * case they are processed in the sequence in which they are contained in the array.
141
153
  *
142
154
  * <h4>Grouping</h4>
143
- * Sorting and grouping are closely related, in case a list should be grouped, it must be sorted by the
144
- * property to group with. Grouping is enabled by setting the <code>group</code> property on the sorter object. If it is
145
- * enabled, you can get the current group of an item using {@link sap.ui.model.ListBinding.prototype.getGroup}.
146
- * In case multiple sorters are provided, grouping can only be done on the first sorter, nested grouping is
147
- * not supported.
155
+ * Sorting and grouping are closely related. In case a list should be grouped, it must be sorted
156
+ * by the property to group with. Grouping is enabled by setting the <code>group</code> property
157
+ * on the sorter object. If it is enabled, you can get the current group of an item using
158
+ * {@link sap.ui.model.ListBinding.prototype.getGroup}. In case multiple sorters are provided,
159
+ * grouping can only be done on the first sorter, nested grouping is not supported.
148
160
  *
149
161
  * @function
150
162
  * @name sap.ui.model.ListBinding.prototype.sort
151
- * @param {sap.ui.model.Sorter|Array} aSorters the Sorter object or an array of sorters which defines the sort order
152
- * @return {this} returns <code>this</code> to facilitate method chaining
163
+ * @param {sap.ui.model.Sorter|Array} aSorters
164
+ * The Sorter object or an array of sorters which defines the sort order
165
+ * @return {this}
166
+ * Returns <code>this</code> to facilitate method chaining
153
167
  * @public
154
168
  */
155
169
 
156
170
  /**
157
171
  * Returns an array of currently used binding contexts of the bound control.
158
172
  *
159
- * This method does not trigger any data requests from the backend or delta calculation, but just returns the context
160
- * array as last requested by the control. This can be used by the application to get access to the data currently
161
- * displayed by a list control.
173
+ * This method does not trigger any data requests from the back end or a delta calculation, but
174
+ * just returns the context array as last requested by the control. This can be used by the
175
+ * application to get access to the data currently displayed by a list control.
162
176
  *
163
- * @return {sap.ui.model.Context[]} the array of contexts for each row of the bound list
177
+ * @return {sap.ui.model.Context[]} The array of contexts for each row of the bound list
164
178
  * @since 1.28
165
179
  * @public
166
180
  */
@@ -190,10 +204,10 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
190
204
  /**
191
205
  * Returns the number of entries in the list.
192
206
  *
193
- * This might be an estimated or preliminary length, in case the full length is not known yet, see method
194
- * {@link #isLengthFinal}.
207
+ * This might be an estimated or preliminary length, in case the full length is not known yet,
208
+ * see method {@link #isLengthFinal}.
195
209
  *
196
- * @return {int} returns the number of entries in the list
210
+ * @return {int} Returns the number of entries in the list
197
211
  * @since 1.24
198
212
  * @public
199
213
  */
@@ -234,34 +248,41 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
234
248
  * @event
235
249
  * @param {sap.ui.base.Event} oEvent
236
250
  * @public
237
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains
238
- * a parameter <code>(reason : "sort")</code> when a sorter event is fired.
251
+ * @deprecated
252
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
253
+ * <code>(reason : "sort")</code> when a sorter event is fired.
239
254
  */
240
255
 
241
256
  /**
242
257
  * Attaches event handler <code>fnFunction</code> to the {@link #event:sort sort} event of this
243
258
  * <code>sap.ui.model.ListBinding</code>.
244
259
  *
245
- * When called, the context of the event handler (its <code>this</code>) will be bound to <code>oListener</code>
246
- * if specified, otherwise it will be bound to this <code>sap.ui.model.ListBinding</code> itself.
260
+ * When called, the context of the event handler (its <code>this</code>) will be bound to
261
+ * <code>oListener</code> if specified, otherwise it will be bound to this
262
+ * <code>sap.ui.model.ListBinding</code> itself.
247
263
  *
248
- * @param {function} fnFunction The function to be called, when the event occurs
249
- * @param {object} [oListener] Context object to call the event handler with,
250
- * defaults to this <code>ListBinding</code> itself
264
+ * @param {function} fnFunction
265
+ * The function to be called, when the event occurs
266
+ * @param {object} [oListener]
267
+ * Context object to call the event handler with; defaults to this <code>ListBinding</code>
268
+ * itself
251
269
  * @protected
252
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains
253
- * a parameter <code>(reason : "sort")</code> when a sorter event is fired.
270
+ * @deprecated
271
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
272
+ * <code>(reason : "sort")</code> when a sorter event is fired.
254
273
  */
255
274
  ListBinding.prototype.attachSort = function(fnFunction, oListener) {
256
275
  this.attachEvent("sort", fnFunction, oListener);
257
276
  };
258
277
 
259
278
  /**
260
- * Detaches event handler <code>fnFunction</code> from the {@link #event:sort sort} event of this
261
- * <code>sap.ui.model.ListBinding</code>.
279
+ * Detaches event handler <code>fnFunction</code> from the {@link #event:sort sort} event of
280
+ * this <code>sap.ui.model.ListBinding</code>.
262
281
  *
263
- * @param {function} fnFunction The function to be called, when the event occurs
264
- * @param {object} [oListener] Context object on which the given function had to be called
282
+ * @param {function} fnFunction
283
+ * The function to be called, when the event occurs
284
+ * @param {object} [oListener]
285
+ * Context object on which the given function had to be called
265
286
  * @protected
266
287
  * @deprecated As of version 1.11, use the <code>change</code> event.
267
288
  */
@@ -274,8 +295,9 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
274
295
  *
275
296
  * @param {object} [oParameters] Parameters to pass along with the event.
276
297
  * @private
277
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains
278
- * a parameter <code>(reason : "sort")</code> when a sorter event is fired.
298
+ * @deprecated
299
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
300
+ * <code>(reason : "sort")</code> when a sorter event is fired.
279
301
  */
280
302
  ListBinding.prototype._fireSort = function(oParameters) {
281
303
  this.fireEvent("sort", oParameters);
@@ -288,34 +310,39 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
288
310
  * @event
289
311
  * @param {sap.ui.base.Event} oEvent
290
312
  * @public
291
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains a parameter
292
- * <code>(reason : "filter")</code> when a filter event is fired.
313
+ * @deprecated
314
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
315
+ * <code>(reason : "filter")</code> when a filter event is fired.
293
316
  */
294
317
 
295
318
  /**
296
- * Attaches event handler <code>fnFunction</code> to the {@link #event:filter filter} event of this
297
- * <code>sap.ui.model.ListBinding</code>.
298
- *
299
- * When called, the context of the event handler (its <code>this</code>) will be bound to <code>oListener</code>
300
- * if specified, otherwise it will be bound to this <code>sap.ui.model.ListBinding</code> itself.
301
- *
302
- * @param {function} fnFunction The function to be called, when the event occurs
303
- * @param {object} [oListener] Context object to call the event handler with,
304
- * defaults to this <code>ListBinding</code> itself
319
+ * Attaches event handler <code>fnFunction</code> to the {@link #event:filter filter} event of
320
+ * this <code>sap.ui.model.ListBinding</code>.
321
+ *
322
+ * When called, the context of the event handler (its <code>this</code>) will be bound to
323
+ * <code>oListener</code> if specified, otherwise it will be bound to this
324
+ * <code>sap.ui.model.ListBinding</code> itself.
325
+ *
326
+ * @param {function} fnFunction
327
+ * The function to be called, when the event occurs
328
+ * @param {object} [oListener]
329
+ * Context object to call the event handler with; defaults to this <code>ListBinding</code>
330
+ * itself
305
331
  * @protected
306
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains a parameter
307
- * <code>(reason : "filter")</code> when a filter event is fired.
332
+ * @deprecated
333
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
334
+ * <code>(reason : "filter")</code> when a filter event is fired.
308
335
  */
309
336
  ListBinding.prototype.attachFilter = function(fnFunction, oListener) {
310
337
  this.attachEvent("filter", fnFunction, oListener);
311
338
  };
312
339
 
313
340
  /**
314
- * Detaches event handler <code>fnFunction</code> from the {@link #event:filter filter} event of this
315
- * <code>sap.ui.model.ListBinding</code>.
341
+ * Detaches event handler <code>fnFunction</code> from the {@link #event:filter filter} event of
342
+ * this <code>sap.ui.model.ListBinding</code>.
316
343
  *
317
344
  * @param {function} fnFunction The function to be called, when the event occurs
318
- * @param {object} [oListener] on which the given function had to be called
345
+ * @param {object} [oListener] On which object the given function had to be called
319
346
  * @protected
320
347
  * @deprecated As of version 1.11, use the <code>change</code> event.
321
348
  */
@@ -328,8 +355,9 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
328
355
  *
329
356
  * @param {object} [oParameters] Parameters to pass along with the event.
330
357
  * @private
331
- * @deprecated As of version 1.11, use the <code>change</code> event. It now contains a parameter
332
- * <code>(reason : "filter")</code> when a filter event is fired.
358
+ * @deprecated
359
+ * As of version 1.11, use the <code>change</code> event. It now contains a parameter
360
+ * <code>(reason : "filter")</code> when a filter event is fired.
333
361
  */
334
362
  ListBinding.prototype._fireFilter = function(oParameters) {
335
363
  this.fireEvent("filter", oParameters);
@@ -337,8 +365,8 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
337
365
 
338
366
  /**
339
367
  * Indicates whether grouping is enabled for the binding.
340
- * Grouping is enabled for a list binding, if at least one sorter exists on the binding and the first sorter
341
- * is a grouping sorter.
368
+ * Grouping is enabled for a list binding if at least one sorter exists on the binding and the
369
+ * first sorter is a grouping sorter.
342
370
  * @public
343
371
  * @returns {boolean} Whether grouping is enabled
344
372
  */
@@ -348,8 +376,9 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
348
376
 
349
377
  /**
350
378
  * Gets the group for the given context.
351
- * Must only be called if <code>isGrouped()</code> returns that grouping is enabled for this binding.
352
- * The grouping will be performed using the first sorter (in case multiple sorters are defined).
379
+ * Must only be called if <code>isGrouped()</code> returns that grouping is enabled for this
380
+ * binding. The grouping will be performed using the first sorter (in case multiple sorters are
381
+ * defined).
353
382
  * @param {sap.ui.model.Context} oContext The binding context
354
383
  * @public
355
384
  * @returns {object} The group object containing a key property and optional custom properties
@@ -375,15 +404,21 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
375
404
 
376
405
  /**
377
406
  * Enable extended change detection.
378
- * When extended change detection is enabled, the list binding provides detailed information about changes, for example
379
- * which entries have been removed or inserted. This can be utilized by a control for fine-grained update of its elements.
407
+ * When extended change detection is enabled, the list binding provides detailed information
408
+ * about changes, for example which entries have been removed or inserted. This can be utilized
409
+ * by a control for fine-grained update of its elements.
380
410
  * Please see {@link sap.ui.model.ListBinding.prototype.getContexts} for more information.
381
411
  *
382
- * For models that do not have a unique key on each entry by default, a key property or function can be set which is used to
383
- * identify entries.
412
+ * For models that do not have a unique key on each entry by default, a key property or function
413
+ * can be set which is used to identify entries.
384
414
  *
385
- * @param {boolean} bDetectUpdates Whether changes within the same entity should cause a delete and insert command
386
- * @param {function|string} vKey The path of the property containing the key or a function getting the context as only parameter to calculate a key to identify an entry
415
+ * @param {boolean} bDetectUpdates
416
+ * Whether changes within the same entity should cause a delete and insert command
417
+ * @param {function|string} vKey
418
+ * The path of the property containing the key or a function getting the context as only
419
+ * parameter to calculate a key to identify an entry
420
+ * @param {object} oExtendedChangeDetectionConfig
421
+ * The configuration for the change detection
387
422
  * @protected
388
423
  */
389
424
  ListBinding.prototype.enableExtendedChangeDetection = function(bDetectUpdates, vKey, oExtendedChangeDetectionConfig /* restricted */) {
@@ -403,11 +438,12 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
403
438
  };
404
439
 
405
440
  /**
406
- * Return the data used for the extended change detection. Dependent on the configuration this can either be a
407
- * serialization of the complete data, or just a unique key identifying the entry. If grouping is enabled, the
408
- * grouping key will also be included, to detect grouping changes.
441
+ * Return the data used for the extended change detection. Dependent on the configuration this
442
+ * can either be a serialization of the complete data, or just a unique key identifying the
443
+ * entry. If grouping is enabled, the grouping key will also be included, to detect grouping
444
+ * changes.
409
445
  *
410
- * @param {sap.ui.model.Context} oContext the context object
446
+ * @param {sap.ui.model.Context} oContext The context object
411
447
  * @returns {string} A string which is used for diff comparison
412
448
  */
413
449
  ListBinding.prototype.getContextData = function(oContext) {
@@ -424,24 +460,51 @@ sap.ui.define(['./Binding', './Filter', './Sorter', 'sap/base/util/array/diff'],
424
460
  };
425
461
 
426
462
  /**
427
- * Return the entry data serialized as a string. The default implementation assumes a JS object and uses
428
- * JSON.stringify to serialize it, subclasses may override as needed.
463
+ * Return the entry data serialized as a string. The default implementation assumes a JS object
464
+ * and uses JSON.stringify to serialize it. Subclasses may override as needed.
429
465
  *
430
- * @param {sap.ui.model.Context} oContext the context object
466
+ * @param {sap.ui.model.Context} oContext The context object
431
467
  * @returns {string} The serialized object data
432
468
  */
433
469
  ListBinding.prototype.getEntryData = function(oContext) {
434
470
  return JSON.stringify(oContext.getObject());
435
471
  };
436
472
 
473
+
437
474
  /**
438
- * Return the filter information as an AST. The default implementation checks for this.oCombinedFilter,
439
- * models not using this member may override the method.
440
- * Consumers must not rely on the origin information to be available, future filter implementations will
441
- * not provide this information.
442
- *
443
- * @param {boolean} bIncludeOrigin include information about the filter objects the tree has been created from
444
- * @returns {object} The AST of the filter tree
475
+ * Returns the filters set via the constructor or via {@link #filter} for the given
476
+ * {@link sap.ui.model.FilterType}.
477
+ *
478
+ * @param {sap.ui.model.FilterType} sFilterType
479
+ * The FilterType
480
+ * @returns {sap.ui.model.Filter[]}
481
+ * An array of filters for the given filter type.
482
+ * @throws {Error}
483
+ * If no or an invalid filter type was given
484
+ * @public
485
+ * @since 1.96.0
486
+ */
487
+ ListBinding.prototype.getFilters = function (sFilterType) {
488
+ switch (sFilterType) {
489
+ case FilterType.Application:
490
+ return this.aApplicationFilters && this.aApplicationFilters.slice() || [];
491
+ case FilterType.Control:
492
+ return this.aFilters && this.aFilters.slice() || [];
493
+ default:
494
+ throw new Error("Invalid FilterType: " + sFilterType);
495
+ }
496
+ };
497
+
498
+ /**
499
+ * Return the filter information as an AST. The default implementation checks for
500
+ * <code>this.oCombinedFilter</code>. Models not using this member may override the method.
501
+ * Consumers must not rely on the origin information to be available as future filter
502
+ * implementations will not provide this information.
503
+ *
504
+ * @param {boolean} bIncludeOrigin
505
+ * Include information about the filter objects the tree has been created from
506
+ * @returns {object}
507
+ * The AST of the filter tree
445
508
  * @private
446
509
  * @ui5-restricted sap.ui.table, sap.ui.export
447
510
  */
@@ -3,7 +3,7 @@
3
3
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
-
6
+ /*eslint-disable max-len */
7
7
  sap.ui.define(['./Model'],
8
8
  function(Model) {
9
9
  "use strict";
@@ -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.93.3
19
+ * @version 1.96.2
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -45,8 +45,6 @@ sap.ui.define(['./Model'],
45
45
  *
46
46
  */
47
47
  MetaModel.prototype.createBindingContext = function(sPath, oContext, mParameters, fnCallBack) {
48
- //TODO should come from a to be implemented read-only base class for ClientModels
49
- // optional parameter handling
50
48
  if (typeof oContext == "function") {
51
49
  fnCallBack = oContext;
52
50
  oContext = null;
@@ -68,12 +66,9 @@ sap.ui.define(['./Model'],
68
66
  };
69
67
 
70
68
  /**
71
- * @see sap.ui.model.Model.prototype.destroyBindingContext
72
- * @param {object}
73
- * oContext to destroy
69
+ * Does nothing.
74
70
  */
75
- MetaModel.prototype.destroyBindingContext = function(oContext) {
76
- // TODO: what todo here?
71
+ MetaModel.prototype.destroyBindingContext = function() {
77
72
  };
78
73
 
79
74
  return MetaModel;